From b31e18896cf44cc04b7236905d553587e213118d Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Fri, 31 Jul 2026 09:30:55 -0700 Subject: [PATCH 1/3] feat: add LocalRunService for reporting locally-orchestrated runs Adds flyteidl2.workflow.LocalRunService: clients that orchestrate actions outside the platform (e.g. on a user's machine) register a run and report action state, while the read/watch surface reuses RunService's request and response messages so existing clients and UIs work with only a service swap. Also adds the control-plane-direct dataproxy surface for local run data: UploadMetadata (signed PUT URLs for inputs.pb/outputs.pb/report.html), GetLocalActionData and CreateLocalDownloadLink, plus ArtifactType INPUTS/OUTPUTS values and RunSource.RUN_SOURCE_LOCAL. Signed-off-by: Haytham Abuelfutuh Co-Authored-By: Claude Fable 5 --- buf.yaml | 10 + flyteidl2/dataproxy/dataproxy_service.proto | 81 + flyteidl2/workflow/local_run_service.proto | 144 + flyteidl2/workflow/run_definition.proto | 4 + .../dataproxy/dataproxy_service.pb.go | 590 +- .../dataproxy_service.pb.validate.go | 389 + .../dataproxy/dataproxy_service_grpc.pb.go | 137 +- .../dataproxy_service.connect.go | 130 +- .../workflow/local_run_service.pb.go | 791 ++ .../workflow/local_run_service.pb.validate.go | 956 ++ .../workflow/local_run_service_grpc.pb.go | 579 + .../flyteidl2/workflow/run_definition.pb.go | 51 +- .../local_run_service.connect.go | 421 + .../workflow/workflowconnect/mocks/mocks.go | 1394 ++ .../workflow/local_run_service.swagger.json | 55 + .../dataproxy/dataproxy_service_connect.py | 199 + .../dataproxy/dataproxy_service_pb2.py | 34 +- .../dataproxy/dataproxy_service_pb2.pyi | 32 + .../dataproxy/dataproxy_service_pb2_grpc.py | 107 + .../workflow/local_run_service_connect.py | 725 + .../workflow/local_run_service_pb2.py | 66 + .../workflow/local_run_service_pb2.pyi | 73 + .../workflow/local_run_service_pb2_grpc.py | 397 + .../flyteidl2/workflow/run_definition_pb2.py | 6 +- .../flyteidl2/workflow/run_definition_pb2.pyi | 2 + gen/rust/src/flyteidl2.dataproxy.rs | 2010 +-- gen/rust/src/flyteidl2.dataproxy.tonic.rs | 257 + gen/rust/src/flyteidl2.workflow.rs | 11350 ++++++++-------- gen/rust/src/flyteidl2.workflow.tonic.rs | 3156 +++-- .../dataproxy/dataproxy_service_pb.ts | 172 +- .../workflow/local_run_service_pb.ts | 352 + .../flyteidl2/workflow/run_definition_pb.ts | 10 +- 32 files changed, 17277 insertions(+), 7403 deletions(-) create mode 100644 flyteidl2/workflow/local_run_service.proto create mode 100644 gen/go/flyteidl2/workflow/local_run_service.pb.go create mode 100644 gen/go/flyteidl2/workflow/local_run_service.pb.validate.go create mode 100644 gen/go/flyteidl2/workflow/local_run_service_grpc.pb.go create mode 100644 gen/go/flyteidl2/workflow/workflowconnect/local_run_service.connect.go create mode 100644 gen/go/gateway/flyteidl2/workflow/local_run_service.swagger.json create mode 100644 gen/python/flyteidl2/workflow/local_run_service_connect.py create mode 100644 gen/python/flyteidl2/workflow/local_run_service_pb2.py create mode 100644 gen/python/flyteidl2/workflow/local_run_service_pb2.pyi create mode 100644 gen/python/flyteidl2/workflow/local_run_service_pb2_grpc.py create mode 100644 gen/ts/flyteidl2/workflow/local_run_service_pb.ts diff --git a/buf.yaml b/buf.yaml index 8866b63deec..3bae457b1b9 100755 --- a/buf.yaml +++ b/buf.yaml @@ -19,11 +19,21 @@ lint: - flyteidl2/cacheservice/cacheservice.proto - flyteidl2/cacheservice/v2/cacheservice.proto - flyteidl2/project/project_service.proto + # LocalRunService deliberately reuses RunService request/response messages so clients and + # UIs work against local runs with only a service swap. The local-run dataproxy RPCs reuse + # the corresponding dataplane RPCs' messages for the same reason. + - flyteidl2/dataproxy/dataproxy_service.proto + - flyteidl2/workflow/local_run_service.proto + - flyteidl2/workflow/run_service.proto RPC_REQUEST_STANDARD_NAME: - flyteidl2/cacheservice/cacheservice.proto - flyteidl2/cacheservice/v2/cacheservice.proto + - flyteidl2/dataproxy/dataproxy_service.proto + - flyteidl2/workflow/local_run_service.proto RPC_RESPONSE_STANDARD_NAME: - flyteidl2/cacheservice/cacheservice.proto - flyteidl2/cacheservice/v2/cacheservice.proto + - flyteidl2/dataproxy/dataproxy_service.proto + - flyteidl2/workflow/local_run_service.proto SERVICE_SUFFIX: - flyteidl2/datacatalog/datacatalog.proto diff --git a/flyteidl2/dataproxy/dataproxy_service.proto b/flyteidl2/dataproxy/dataproxy_service.proto index 9dfbbd84d93..23c3fc8c7b5 100644 --- a/flyteidl2/dataproxy/dataproxy_service.proto +++ b/flyteidl2/dataproxy/dataproxy_service.proto @@ -21,6 +21,10 @@ enum ArtifactType { ARTIFACT_TYPE_REPORT = 1; // ARTIFACT_TYPE_CODE_BUNDLE refers to the code bundle (tarball) generated for an action. ARTIFACT_TYPE_CODE_BUNDLE = 2; + // ARTIFACT_TYPE_INPUTS refers to an action's serialized inputs (inputs.pb). + ARTIFACT_TYPE_INPUTS = 3; + // ARTIFACT_TYPE_OUTPUTS refers to an action's serialized outputs (outputs.pb). + ARTIFACT_TYPE_OUTPUTS = 4; } // DataProxyService provides an interface for managing data uploads and downloads. @@ -40,6 +44,22 @@ service DataProxyService { // Stream logs for an action attempt. rpc TailLogs(TailLogsRequest) returns (stream TailLogsResponse) {} + + // UploadMetadata generates a signed URL for uploading a local run's metadata artifact + // (inputs.pb / outputs.pb / report.html) directly to the control plane's storage backend. + // Local runs only; never routes to a dataplane. + rpc UploadMetadata(UploadMetadataRequest) returns (CreateUploadLocationResponse) {} + + // Get input and output data for an action of a local run, served directly from the control + // plane's storage backend. Local runs only; never routes to a dataplane. + rpc GetLocalActionData(GetActionDataRequest) returns (GetActionDataResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + + // CreateLocalDownloadLink generates signed URL(s) for downloading an artifact of a local run + // action attempt directly from the control plane's storage backend. Local runs only; never + // routes to a dataplane. + rpc CreateLocalDownloadLink(CreateLocalDownloadLinkRequest) returns (CreateDownloadLinkResponse) {} } // CreateUploadLocationRequest specifies the request for the CreateUploadLocation API. @@ -233,6 +253,67 @@ message TailLogsRequest { optional string connector_endpoint = 4; } +// UploadMetadataRequest specifies the request for the UploadMetadata API. The data proxy service +// derives the storage path from the authenticated org and the target action, following the local +// run metadata layout: //////inputs.pb for inputs and +// ///////{outputs.pb,report.html} otherwise. +message UploadMetadataRequest { + // ArtifactType is the type of artifact to upload. INPUTS targets an action; OUTPUTS and REPORT + // target an action attempt. + ArtifactType artifact_type = 1 [(buf.validate.field).enum = { + in: [ + 1, + 3, + 4 + ] + }]; + + // Target identifies the action (INPUTS) or action attempt (OUTPUTS / REPORT) the artifact + // belongs to. + oneof target { + option (buf.validate.oneof).required = true; + + common.ActionIdentifier action_id = 2; + + common.ActionAttemptIdentifier action_attempt_id = 3; + } + + // ContentMD5 restricts the upload location to the specific MD5 provided. + // +required + bytes content_md5 = 4 [(buf.validate.field).bytes.len = 16]; + + // ContentLength specifies the size of the content to be uploaded in bytes. Validated against + // the platform's maximum upload size. + // +optional + int64 content_length = 5; + + // ExpiresIn defines the requested expiration duration for the generated URL. The request will + // be rejected if this exceeds the platform's configured maximum. + // +optional. The default value comes from the global config. + google.protobuf.Duration expires_in = 6; + + // If true, the data proxy will add content_md5 to the Signed URL requirements, forcing clients + // to send this checksum with the object. Required for data integrity on backends like GCP. + bool add_content_md5_metadata = 7; +} + +// CreateLocalDownloadLinkRequest specifies the request for the CreateLocalDownloadLink API. +message CreateLocalDownloadLinkRequest { + // ArtifactType is the type of artifact to download. + // +required + ArtifactType artifact_type = 1 [(buf.validate.field).enum = { + not_in: [0] + }]; + + // ActionAttemptId identifies the local run action attempt whose artifact is to be downloaded. + common.ActionAttemptIdentifier action_attempt_id = 2 [(buf.validate.field).required = true]; + + // ExpiresIn defines the requested expiration duration for the generated URLs. The request will + // be rejected if this exceeds the platform's configured maximum. + // +optional. The default value comes from the global config. + google.protobuf.Duration expires_in = 3; +} + // Reponse message for tailing logs. message TailLogsResponse { // A batch of logs. diff --git a/flyteidl2/workflow/local_run_service.proto b/flyteidl2/workflow/local_run_service.proto new file mode 100644 index 00000000000..ed99c08d2a8 --- /dev/null +++ b/flyteidl2/workflow/local_run_service.proto @@ -0,0 +1,144 @@ +syntax = "proto3"; + +package flyteidl2.workflow; + +import "buf/validate/validate.proto"; +import "flyteidl2/common/identifier.proto"; +import "flyteidl2/common/run.proto"; +import "flyteidl2/task/common.proto"; +import "flyteidl2/task/run.proto"; +import "flyteidl2/task/task_definition.proto"; +import "flyteidl2/workflow/run_definition.proto"; +import "flyteidl2/workflow/run_service.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option go_package = "github.com/flyteorg/flyte/v2/gen/go/flyteidl2/workflow"; + +// LocalRunService manages runs that are orchestrated OUTSIDE the platform — typically on a user's +// machine — where the client executes actions itself and only reports their state here. Local runs +// are tracked separately from platform-orchestrated runs and never involve a dataplane. +// +// The read/watch surface deliberately mirrors RunService (same request/response messages) so that +// clients and UIs built against RunService work against local runs with only a service swap. +service LocalRunService { + // Register a new local run. The server creates the root action ("a0") in the reported state and + // returns the resolved run. If a run name is not provided, the server generates one. + rpc CreateRun(CreateLocalRunRequest) returns (CreateRunResponse) {} + + // Report state for one or more actions of a local run. Creates actions on first report and + // updates them on subsequent reports. Reports are idempotent: an event with an + // (attempt, version, phase) tuple that was already recorded is acknowledged as success. + rpc ReportActions(ReportLocalActionsRequest) returns (ReportLocalActionsResponse) {} + + // Get detailed information about a local run. + rpc GetRunDetails(GetRunDetailsRequest) returns (GetRunDetailsResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + + // Stream detailed information updates about a local run. The call will terminate when the run + // reaches a terminal phase. + rpc WatchRunDetails(WatchRunDetailsRequest) returns (stream WatchRunDetailsResponse) {} + + // Get detailed information about an action of a local run. + rpc GetActionDetails(GetActionDetailsRequest) returns (GetActionDetailsResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + + // Stream detailed information updates about an action of a local run. The call will terminate + // when the action reaches a terminal phase. + rpc WatchActionDetails(WatchActionDetailsRequest) returns (stream WatchActionDetailsResponse) {} + + // List local runs based on the provided filter criteria. + rpc ListRuns(ListRunsRequest) returns (ListRunsResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + + // Stream updates for local runs based on the provided filter criteria. + rpc WatchRuns(WatchRunsRequest) returns (stream WatchRunsResponse) {} + + // List all actions for a given local run. + rpc ListActions(ListActionsRequest) returns (ListActionsResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + + // Stream updates for actions of a given local run. + rpc WatchActions(WatchActionsRequest) returns (stream WatchActionsResponse) {} +} + +// Request message for creating a local run. +message CreateLocalRunRequest { + oneof id { + option (buf.validate.oneof).required = true; + + // The user provided run id. + common.RunIdentifier run_id = 1; + + // The project id for this run. Run name will be generated. + common.ProjectIdentifier project_id = 2; + } + + // The task this run executes. + oneof task { + option (buf.validate.oneof).required = true; + + // The task id to use. + task.TaskIdentifier task_id = 3; + + // The task spec to use. + task.TaskSpec task_spec = 4; + } + + // Reference to the run's inputs, previously uploaded via DataProxyService.UploadMetadata. + optional common.OffloadedInputData offloaded_input_data = 5; + + // The run spec to use. Only client-relevant fields are honored; dataplane scheduling fields + // (queue, cluster) are ignored for local runs. + task.RunSpec run_spec = 6; + + // User-defined labels attached to this run at creation time. + map labels = 7; + + // Time the local run actually started. If unset, the server defaults it to the current time. + google.protobuf.Timestamp run_start_time = 8; +} + +// A single action state report within a local run. +message LocalActionUpdate { + // The event describing this state transition. Carries the action id, attempt (starting at 1), + // phase, monotonically increasing version, timestamps, error info and output references + // (output_uri / report_uri under the control plane's storage). + ActionEvent event = 1 [(buf.validate.field).required = true]; + + // Name of the parent action if this is a nested action. Empty for the root action. Only + // honored on the first report of an action. + string parent_name = 2; + + // Group this action belongs to, if applicable. Only honored on the first report of an action. + string group = 3; + + // The action's spec. Should be provided on the first report of an action; ignored afterwards. + oneof spec { + TaskAction task = 4; + TraceAction trace = 5; + } + + // Rolled-up status of the action (attempts count, start/end time). + ActionStatus status = 6; +} + +// Request message for reporting local action state. +message ReportLocalActionsRequest { + // The run these action reports belong to. Every update's action id must reference this run. + common.RunIdentifier run_id = 1 [(buf.validate.field).required = true]; + + // The action state reports. + repeated LocalActionUpdate updates = 2 [(buf.validate.field).repeated.min_items = 1]; +} + +// Response message for reporting local action state. +message ReportLocalActionsResponse { + // Per-update results, parallel to the request's updates. Duplicate (already recorded) events + // are reported as success. + repeated google.rpc.Status statuses = 1; +} diff --git a/flyteidl2/workflow/run_definition.proto b/flyteidl2/workflow/run_definition.proto index 0e853eb6f5f..b34517183fa 100644 --- a/flyteidl2/workflow/run_definition.proto +++ b/flyteidl2/workflow/run_definition.proto @@ -477,6 +477,10 @@ enum RunSource { RUN_SOURCE_WEB = 1; RUN_SOURCE_CLI = 2; RUN_SOURCE_SCHEDULE_TRIGGER = 3; + + // The run is orchestrated outside the platform (e.g. on a user's machine) and its state is + // reported via LocalRunService. + RUN_SOURCE_LOCAL = 4; } // TaskGroup represents a group of runs for a specific task. diff --git a/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.go b/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.go index ba411032333..5eb506ddfb3 100644 --- a/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.go +++ b/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.go @@ -36,6 +36,10 @@ const ( ArtifactType_ARTIFACT_TYPE_REPORT ArtifactType = 1 // ARTIFACT_TYPE_CODE_BUNDLE refers to the code bundle (tarball) generated for an action. ArtifactType_ARTIFACT_TYPE_CODE_BUNDLE ArtifactType = 2 + // ARTIFACT_TYPE_INPUTS refers to an action's serialized inputs (inputs.pb). + ArtifactType_ARTIFACT_TYPE_INPUTS ArtifactType = 3 + // ARTIFACT_TYPE_OUTPUTS refers to an action's serialized outputs (outputs.pb). + ArtifactType_ARTIFACT_TYPE_OUTPUTS ArtifactType = 4 ) // Enum value maps for ArtifactType. @@ -44,11 +48,15 @@ var ( 0: "ARTIFACT_TYPE_UNSPECIFIED", 1: "ARTIFACT_TYPE_REPORT", 2: "ARTIFACT_TYPE_CODE_BUNDLE", + 3: "ARTIFACT_TYPE_INPUTS", + 4: "ARTIFACT_TYPE_OUTPUTS", } ArtifactType_value = map[string]int32{ "ARTIFACT_TYPE_UNSPECIFIED": 0, "ARTIFACT_TYPE_REPORT": 1, "ARTIFACT_TYPE_CODE_BUNDLE": 2, + "ARTIFACT_TYPE_INPUTS": 3, + "ARTIFACT_TYPE_OUTPUTS": 4, } ) @@ -993,6 +1001,216 @@ func (*TailLogsRequest_AllPods) isTailLogsRequest_PodSelector() {} func (*TailLogsRequest_PodName) isTailLogsRequest_PodSelector() {} +// UploadMetadataRequest specifies the request for the UploadMetadata API. The data proxy service +// derives the storage path from the authenticated org and the target action, following the local +// run metadata layout: //////inputs.pb for inputs and +// ///////{outputs.pb,report.html} otherwise. +type UploadMetadataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ArtifactType is the type of artifact to upload. INPUTS targets an action; OUTPUTS and REPORT + // target an action attempt. + ArtifactType ArtifactType `protobuf:"varint,1,opt,name=artifact_type,json=artifactType,proto3,enum=flyteidl2.dataproxy.ArtifactType" json:"artifact_type,omitempty"` + // Target identifies the action (INPUTS) or action attempt (OUTPUTS / REPORT) the artifact + // belongs to. + // + // Types that are assignable to Target: + // + // *UploadMetadataRequest_ActionId + // *UploadMetadataRequest_ActionAttemptId + Target isUploadMetadataRequest_Target `protobuf_oneof:"target"` + // ContentMD5 restricts the upload location to the specific MD5 provided. + // +required + ContentMd5 []byte `protobuf:"bytes,4,opt,name=content_md5,json=contentMd5,proto3" json:"content_md5,omitempty"` + // ContentLength specifies the size of the content to be uploaded in bytes. Validated against + // the platform's maximum upload size. + // +optional + ContentLength int64 `protobuf:"varint,5,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"` + // ExpiresIn defines the requested expiration duration for the generated URL. The request will + // be rejected if this exceeds the platform's configured maximum. + // +optional. The default value comes from the global config. + ExpiresIn *durationpb.Duration `protobuf:"bytes,6,opt,name=expires_in,json=expiresIn,proto3" json:"expires_in,omitempty"` + // If true, the data proxy will add content_md5 to the Signed URL requirements, forcing clients + // to send this checksum with the object. Required for data integrity on backends like GCP. + AddContentMd5Metadata bool `protobuf:"varint,7,opt,name=add_content_md5_metadata,json=addContentMd5Metadata,proto3" json:"add_content_md5_metadata,omitempty"` +} + +func (x *UploadMetadataRequest) Reset() { + *x = UploadMetadataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadMetadataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadMetadataRequest) ProtoMessage() {} + +func (x *UploadMetadataRequest) ProtoReflect() protoreflect.Message { + mi := &file_flyteidl2_dataproxy_dataproxy_service_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 UploadMetadataRequest.ProtoReflect.Descriptor instead. +func (*UploadMetadataRequest) Descriptor() ([]byte, []int) { + return file_flyteidl2_dataproxy_dataproxy_service_proto_rawDescGZIP(), []int{10} +} + +func (x *UploadMetadataRequest) GetArtifactType() ArtifactType { + if x != nil { + return x.ArtifactType + } + return ArtifactType_ARTIFACT_TYPE_UNSPECIFIED +} + +func (m *UploadMetadataRequest) GetTarget() isUploadMetadataRequest_Target { + if m != nil { + return m.Target + } + return nil +} + +func (x *UploadMetadataRequest) GetActionId() *common.ActionIdentifier { + if x, ok := x.GetTarget().(*UploadMetadataRequest_ActionId); ok { + return x.ActionId + } + return nil +} + +func (x *UploadMetadataRequest) GetActionAttemptId() *common.ActionAttemptIdentifier { + if x, ok := x.GetTarget().(*UploadMetadataRequest_ActionAttemptId); ok { + return x.ActionAttemptId + } + return nil +} + +func (x *UploadMetadataRequest) GetContentMd5() []byte { + if x != nil { + return x.ContentMd5 + } + return nil +} + +func (x *UploadMetadataRequest) GetContentLength() int64 { + if x != nil { + return x.ContentLength + } + return 0 +} + +func (x *UploadMetadataRequest) GetExpiresIn() *durationpb.Duration { + if x != nil { + return x.ExpiresIn + } + return nil +} + +func (x *UploadMetadataRequest) GetAddContentMd5Metadata() bool { + if x != nil { + return x.AddContentMd5Metadata + } + return false +} + +type isUploadMetadataRequest_Target interface { + isUploadMetadataRequest_Target() +} + +type UploadMetadataRequest_ActionId struct { + ActionId *common.ActionIdentifier `protobuf:"bytes,2,opt,name=action_id,json=actionId,proto3,oneof"` +} + +type UploadMetadataRequest_ActionAttemptId struct { + ActionAttemptId *common.ActionAttemptIdentifier `protobuf:"bytes,3,opt,name=action_attempt_id,json=actionAttemptId,proto3,oneof"` +} + +func (*UploadMetadataRequest_ActionId) isUploadMetadataRequest_Target() {} + +func (*UploadMetadataRequest_ActionAttemptId) isUploadMetadataRequest_Target() {} + +// CreateLocalDownloadLinkRequest specifies the request for the CreateLocalDownloadLink API. +type CreateLocalDownloadLinkRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ArtifactType is the type of artifact to download. + // +required + ArtifactType ArtifactType `protobuf:"varint,1,opt,name=artifact_type,json=artifactType,proto3,enum=flyteidl2.dataproxy.ArtifactType" json:"artifact_type,omitempty"` + // ActionAttemptId identifies the local run action attempt whose artifact is to be downloaded. + ActionAttemptId *common.ActionAttemptIdentifier `protobuf:"bytes,2,opt,name=action_attempt_id,json=actionAttemptId,proto3" json:"action_attempt_id,omitempty"` + // ExpiresIn defines the requested expiration duration for the generated URLs. The request will + // be rejected if this exceeds the platform's configured maximum. + // +optional. The default value comes from the global config. + ExpiresIn *durationpb.Duration `protobuf:"bytes,3,opt,name=expires_in,json=expiresIn,proto3" json:"expires_in,omitempty"` +} + +func (x *CreateLocalDownloadLinkRequest) Reset() { + *x = CreateLocalDownloadLinkRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateLocalDownloadLinkRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateLocalDownloadLinkRequest) ProtoMessage() {} + +func (x *CreateLocalDownloadLinkRequest) ProtoReflect() protoreflect.Message { + mi := &file_flyteidl2_dataproxy_dataproxy_service_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 CreateLocalDownloadLinkRequest.ProtoReflect.Descriptor instead. +func (*CreateLocalDownloadLinkRequest) Descriptor() ([]byte, []int) { + return file_flyteidl2_dataproxy_dataproxy_service_proto_rawDescGZIP(), []int{11} +} + +func (x *CreateLocalDownloadLinkRequest) GetArtifactType() ArtifactType { + if x != nil { + return x.ArtifactType + } + return ArtifactType_ARTIFACT_TYPE_UNSPECIFIED +} + +func (x *CreateLocalDownloadLinkRequest) GetActionAttemptId() *common.ActionAttemptIdentifier { + if x != nil { + return x.ActionAttemptId + } + return nil +} + +func (x *CreateLocalDownloadLinkRequest) GetExpiresIn() *durationpb.Duration { + if x != nil { + return x.ExpiresIn + } + return nil +} + // Reponse message for tailing logs. type TailLogsResponse struct { state protoimpl.MessageState @@ -1006,7 +1224,7 @@ type TailLogsResponse struct { func (x *TailLogsResponse) Reset() { *x = TailLogsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[10] + mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1019,7 +1237,7 @@ func (x *TailLogsResponse) String() string { func (*TailLogsResponse) ProtoMessage() {} func (x *TailLogsResponse) ProtoReflect() protoreflect.Message { - mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[10] + mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1032,7 +1250,7 @@ func (x *TailLogsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TailLogsResponse.ProtoReflect.Descriptor instead. func (*TailLogsResponse) Descriptor() ([]byte, []int) { - return file_flyteidl2_dataproxy_dataproxy_service_proto_rawDescGZIP(), []int{10} + return file_flyteidl2_dataproxy_dataproxy_service_proto_rawDescGZIP(), []int{12} } func (x *TailLogsResponse) GetLogs() []*TailLogsResponse_Logs { @@ -1057,7 +1275,7 @@ type TailLogsResponse_Logs struct { func (x *TailLogsResponse_Logs) Reset() { *x = TailLogsResponse_Logs{} if protoimpl.UnsafeEnabled { - mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[12] + mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1070,7 +1288,7 @@ func (x *TailLogsResponse_Logs) String() string { func (*TailLogsResponse_Logs) ProtoMessage() {} func (x *TailLogsResponse_Logs) ProtoReflect() protoreflect.Message { - mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[12] + mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1083,7 +1301,7 @@ func (x *TailLogsResponse_Logs) ProtoReflect() protoreflect.Message { // Deprecated: Use TailLogsResponse_Logs.ProtoReflect.Descriptor instead. func (*TailLogsResponse_Logs) Descriptor() ([]byte, []int) { - return file_flyteidl2_dataproxy_dataproxy_service_proto_rawDescGZIP(), []int{10, 0} + return file_flyteidl2_dataproxy_dataproxy_service_proto_rawDescGZIP(), []int{12, 0} } func (x *TailLogsResponse_Logs) GetLines() []*dataplane.LogLine { @@ -1277,78 +1495,151 @@ var file_flyteidl2_dataproxy_dataproxy_service_proto_rawDesc = []byte{ 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xe1, - 0x01, 0x0a, 0x10, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x04, 0x6c, - 0x6f, 0x67, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x05, - 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x05, - 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x2a, 0x66, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xde, + 0x03, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x0d, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x82, 0x01, 0x06, 0x18, 0x01, 0x18, 0x03, 0x18, 0x04, + 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, + 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x57, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x65, + 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0b, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x42, + 0x07, 0xba, 0x48, 0x04, 0x7a, 0x02, 0x68, 0x10, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x4d, 0x64, 0x35, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, + 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x0a, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x06, 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, 0x09, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0f, + 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, + 0x8b, 0x02, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, + 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xba, 0x48, + 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x5d, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, + 0x01, 0x01, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, + 0x74, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, + 0x6e, 0x18, 0x03, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x22, 0xe1, 0x01, + 0x0a, 0x10, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x04, 0x6c, 0x6f, + 0x67, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x6c, + 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x05, 0x6c, + 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x2a, 0x9b, 0x01, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x10, 0x02, 0x32, 0xbb, 0x04, 0x0a, 0x10, 0x44, - 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x7d, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, - 0x0a, 0x0c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x28, + 0x45, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x52, + 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x50, 0x55, + 0x54, 0x53, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x53, 0x10, 0x04, 0x32, + 0xa4, 0x07, 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x7d, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x2e, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, - 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5b, 0x0a, 0x08, 0x54, - 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, - 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x0c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, + 0x75, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x42, 0xd8, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, + 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x12, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, + 0x12, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, + 0x12, 0x5b, 0x0a, 0x08, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x24, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x71, 0x0a, + 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, + 0x02, 0x01, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, + 0x61, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x42, 0x15, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x02, 0x50, 0x01, 0x5a, - 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, - 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0xa2, 0x02, 0x03, 0x46, 0x44, 0x58, 0xaa, 0x02, - 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0xca, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0xe2, 0x02, 0x1f, 0x46, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x46, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xd8, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x42, 0x15, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x02, 0x50, 0x01, 0x5a, 0x37, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, + 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, + 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0xa2, 0x02, 0x03, 0x46, 0x44, 0x58, 0xaa, 0x02, 0x13, 0x46, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0xca, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x44, + 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0xe2, 0x02, 0x1f, 0x46, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x46, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1364,7 +1655,7 @@ func file_flyteidl2_dataproxy_dataproxy_service_proto_rawDescGZIP() []byte { } var file_flyteidl2_dataproxy_dataproxy_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_flyteidl2_dataproxy_dataproxy_service_proto_goTypes = []interface{}{ (ArtifactType)(0), // 0: flyteidl2.dataproxy.ArtifactType (*CreateUploadLocationRequest)(nil), // 1: flyteidl2.dataproxy.CreateUploadLocationRequest @@ -1377,65 +1668,80 @@ var file_flyteidl2_dataproxy_dataproxy_service_proto_goTypes = []interface{}{ (*GetActionDataRequest)(nil), // 8: flyteidl2.dataproxy.GetActionDataRequest (*GetActionDataResponse)(nil), // 9: flyteidl2.dataproxy.GetActionDataResponse (*TailLogsRequest)(nil), // 10: flyteidl2.dataproxy.TailLogsRequest - (*TailLogsResponse)(nil), // 11: flyteidl2.dataproxy.TailLogsResponse - nil, // 12: flyteidl2.dataproxy.CreateUploadLocationResponse.HeadersEntry - (*TailLogsResponse_Logs)(nil), // 13: flyteidl2.dataproxy.TailLogsResponse.Logs - (*durationpb.Duration)(nil), // 14: google.protobuf.Duration - (*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp - (*common.RunIdentifier)(nil), // 16: flyteidl2.common.RunIdentifier - (*common.ProjectIdentifier)(nil), // 17: flyteidl2.common.ProjectIdentifier - (*task.TaskIdentifier)(nil), // 18: flyteidl2.task.TaskIdentifier - (*task.TaskSpec)(nil), // 19: flyteidl2.task.TaskSpec - (*common.TriggerName)(nil), // 20: flyteidl2.common.TriggerName - (*task.Inputs)(nil), // 21: flyteidl2.task.Inputs - (*common.OffloadedInputData)(nil), // 22: flyteidl2.common.OffloadedInputData - (*common.ActionAttemptIdentifier)(nil), // 23: flyteidl2.common.ActionAttemptIdentifier - (*app.Identifier)(nil), // 24: flyteidl2.app.Identifier - (*common.ActionIdentifier)(nil), // 25: flyteidl2.common.ActionIdentifier - (*task.Outputs)(nil), // 26: flyteidl2.task.Outputs - (*dataplane.LogLine)(nil), // 27: flyteidl2.logs.dataplane.LogLine - (*dataplane.ContainerIdentifier)(nil), // 28: flyteidl2.logs.dataplane.ContainerIdentifier + (*UploadMetadataRequest)(nil), // 11: flyteidl2.dataproxy.UploadMetadataRequest + (*CreateLocalDownloadLinkRequest)(nil), // 12: flyteidl2.dataproxy.CreateLocalDownloadLinkRequest + (*TailLogsResponse)(nil), // 13: flyteidl2.dataproxy.TailLogsResponse + nil, // 14: flyteidl2.dataproxy.CreateUploadLocationResponse.HeadersEntry + (*TailLogsResponse_Logs)(nil), // 15: flyteidl2.dataproxy.TailLogsResponse.Logs + (*durationpb.Duration)(nil), // 16: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 17: google.protobuf.Timestamp + (*common.RunIdentifier)(nil), // 18: flyteidl2.common.RunIdentifier + (*common.ProjectIdentifier)(nil), // 19: flyteidl2.common.ProjectIdentifier + (*task.TaskIdentifier)(nil), // 20: flyteidl2.task.TaskIdentifier + (*task.TaskSpec)(nil), // 21: flyteidl2.task.TaskSpec + (*common.TriggerName)(nil), // 22: flyteidl2.common.TriggerName + (*task.Inputs)(nil), // 23: flyteidl2.task.Inputs + (*common.OffloadedInputData)(nil), // 24: flyteidl2.common.OffloadedInputData + (*common.ActionAttemptIdentifier)(nil), // 25: flyteidl2.common.ActionAttemptIdentifier + (*app.Identifier)(nil), // 26: flyteidl2.app.Identifier + (*common.ActionIdentifier)(nil), // 27: flyteidl2.common.ActionIdentifier + (*task.Outputs)(nil), // 28: flyteidl2.task.Outputs + (*dataplane.LogLine)(nil), // 29: flyteidl2.logs.dataplane.LogLine + (*dataplane.ContainerIdentifier)(nil), // 30: flyteidl2.logs.dataplane.ContainerIdentifier } var file_flyteidl2_dataproxy_dataproxy_service_proto_depIdxs = []int32{ - 14, // 0: flyteidl2.dataproxy.CreateUploadLocationRequest.expires_in:type_name -> google.protobuf.Duration - 15, // 1: flyteidl2.dataproxy.CreateUploadLocationResponse.expires_at:type_name -> google.protobuf.Timestamp - 12, // 2: flyteidl2.dataproxy.CreateUploadLocationResponse.headers:type_name -> flyteidl2.dataproxy.CreateUploadLocationResponse.HeadersEntry - 16, // 3: flyteidl2.dataproxy.UploadInputsRequest.run_id:type_name -> flyteidl2.common.RunIdentifier - 17, // 4: flyteidl2.dataproxy.UploadInputsRequest.project_id:type_name -> flyteidl2.common.ProjectIdentifier - 18, // 5: flyteidl2.dataproxy.UploadInputsRequest.task_id:type_name -> flyteidl2.task.TaskIdentifier - 19, // 6: flyteidl2.dataproxy.UploadInputsRequest.task_spec:type_name -> flyteidl2.task.TaskSpec - 20, // 7: flyteidl2.dataproxy.UploadInputsRequest.trigger_name:type_name -> flyteidl2.common.TriggerName - 21, // 8: flyteidl2.dataproxy.UploadInputsRequest.inputs:type_name -> flyteidl2.task.Inputs - 22, // 9: flyteidl2.dataproxy.UploadInputsResponse.offloaded_input_data:type_name -> flyteidl2.common.OffloadedInputData - 15, // 10: flyteidl2.dataproxy.PreSignedURLs.expires_at:type_name -> google.protobuf.Timestamp + 16, // 0: flyteidl2.dataproxy.CreateUploadLocationRequest.expires_in:type_name -> google.protobuf.Duration + 17, // 1: flyteidl2.dataproxy.CreateUploadLocationResponse.expires_at:type_name -> google.protobuf.Timestamp + 14, // 2: flyteidl2.dataproxy.CreateUploadLocationResponse.headers:type_name -> flyteidl2.dataproxy.CreateUploadLocationResponse.HeadersEntry + 18, // 3: flyteidl2.dataproxy.UploadInputsRequest.run_id:type_name -> flyteidl2.common.RunIdentifier + 19, // 4: flyteidl2.dataproxy.UploadInputsRequest.project_id:type_name -> flyteidl2.common.ProjectIdentifier + 20, // 5: flyteidl2.dataproxy.UploadInputsRequest.task_id:type_name -> flyteidl2.task.TaskIdentifier + 21, // 6: flyteidl2.dataproxy.UploadInputsRequest.task_spec:type_name -> flyteidl2.task.TaskSpec + 22, // 7: flyteidl2.dataproxy.UploadInputsRequest.trigger_name:type_name -> flyteidl2.common.TriggerName + 23, // 8: flyteidl2.dataproxy.UploadInputsRequest.inputs:type_name -> flyteidl2.task.Inputs + 24, // 9: flyteidl2.dataproxy.UploadInputsResponse.offloaded_input_data:type_name -> flyteidl2.common.OffloadedInputData + 17, // 10: flyteidl2.dataproxy.PreSignedURLs.expires_at:type_name -> google.protobuf.Timestamp 0, // 11: flyteidl2.dataproxy.CreateDownloadLinkRequest.artifact_type:type_name -> flyteidl2.dataproxy.ArtifactType - 14, // 12: flyteidl2.dataproxy.CreateDownloadLinkRequest.expires_in:type_name -> google.protobuf.Duration - 23, // 13: flyteidl2.dataproxy.CreateDownloadLinkRequest.action_attempt_id:type_name -> flyteidl2.common.ActionAttemptIdentifier - 24, // 14: flyteidl2.dataproxy.CreateDownloadLinkRequest.app_id:type_name -> flyteidl2.app.Identifier - 18, // 15: flyteidl2.dataproxy.CreateDownloadLinkRequest.task_id:type_name -> flyteidl2.task.TaskIdentifier + 16, // 12: flyteidl2.dataproxy.CreateDownloadLinkRequest.expires_in:type_name -> google.protobuf.Duration + 25, // 13: flyteidl2.dataproxy.CreateDownloadLinkRequest.action_attempt_id:type_name -> flyteidl2.common.ActionAttemptIdentifier + 26, // 14: flyteidl2.dataproxy.CreateDownloadLinkRequest.app_id:type_name -> flyteidl2.app.Identifier + 20, // 15: flyteidl2.dataproxy.CreateDownloadLinkRequest.task_id:type_name -> flyteidl2.task.TaskIdentifier 5, // 16: flyteidl2.dataproxy.CreateDownloadLinkResponse.pre_signed_urls:type_name -> flyteidl2.dataproxy.PreSignedURLs - 25, // 17: flyteidl2.dataproxy.GetActionDataRequest.action_id:type_name -> flyteidl2.common.ActionIdentifier - 21, // 18: flyteidl2.dataproxy.GetActionDataResponse.inputs:type_name -> flyteidl2.task.Inputs - 26, // 19: flyteidl2.dataproxy.GetActionDataResponse.outputs:type_name -> flyteidl2.task.Outputs - 25, // 20: flyteidl2.dataproxy.TailLogsRequest.action_id:type_name -> flyteidl2.common.ActionIdentifier - 13, // 21: flyteidl2.dataproxy.TailLogsResponse.logs:type_name -> flyteidl2.dataproxy.TailLogsResponse.Logs - 27, // 22: flyteidl2.dataproxy.TailLogsResponse.Logs.lines:type_name -> flyteidl2.logs.dataplane.LogLine - 28, // 23: flyteidl2.dataproxy.TailLogsResponse.Logs.container:type_name -> flyteidl2.logs.dataplane.ContainerIdentifier - 1, // 24: flyteidl2.dataproxy.DataProxyService.CreateUploadLocation:input_type -> flyteidl2.dataproxy.CreateUploadLocationRequest - 3, // 25: flyteidl2.dataproxy.DataProxyService.UploadInputs:input_type -> flyteidl2.dataproxy.UploadInputsRequest - 6, // 26: flyteidl2.dataproxy.DataProxyService.CreateDownloadLink:input_type -> flyteidl2.dataproxy.CreateDownloadLinkRequest - 8, // 27: flyteidl2.dataproxy.DataProxyService.GetActionData:input_type -> flyteidl2.dataproxy.GetActionDataRequest - 10, // 28: flyteidl2.dataproxy.DataProxyService.TailLogs:input_type -> flyteidl2.dataproxy.TailLogsRequest - 2, // 29: flyteidl2.dataproxy.DataProxyService.CreateUploadLocation:output_type -> flyteidl2.dataproxy.CreateUploadLocationResponse - 4, // 30: flyteidl2.dataproxy.DataProxyService.UploadInputs:output_type -> flyteidl2.dataproxy.UploadInputsResponse - 7, // 31: flyteidl2.dataproxy.DataProxyService.CreateDownloadLink:output_type -> flyteidl2.dataproxy.CreateDownloadLinkResponse - 9, // 32: flyteidl2.dataproxy.DataProxyService.GetActionData:output_type -> flyteidl2.dataproxy.GetActionDataResponse - 11, // 33: flyteidl2.dataproxy.DataProxyService.TailLogs:output_type -> flyteidl2.dataproxy.TailLogsResponse - 29, // [29:34] is the sub-list for method output_type - 24, // [24:29] is the sub-list for method input_type - 24, // [24:24] is the sub-list for extension type_name - 24, // [24:24] is the sub-list for extension extendee - 0, // [0:24] is the sub-list for field type_name + 27, // 17: flyteidl2.dataproxy.GetActionDataRequest.action_id:type_name -> flyteidl2.common.ActionIdentifier + 23, // 18: flyteidl2.dataproxy.GetActionDataResponse.inputs:type_name -> flyteidl2.task.Inputs + 28, // 19: flyteidl2.dataproxy.GetActionDataResponse.outputs:type_name -> flyteidl2.task.Outputs + 27, // 20: flyteidl2.dataproxy.TailLogsRequest.action_id:type_name -> flyteidl2.common.ActionIdentifier + 0, // 21: flyteidl2.dataproxy.UploadMetadataRequest.artifact_type:type_name -> flyteidl2.dataproxy.ArtifactType + 27, // 22: flyteidl2.dataproxy.UploadMetadataRequest.action_id:type_name -> flyteidl2.common.ActionIdentifier + 25, // 23: flyteidl2.dataproxy.UploadMetadataRequest.action_attempt_id:type_name -> flyteidl2.common.ActionAttemptIdentifier + 16, // 24: flyteidl2.dataproxy.UploadMetadataRequest.expires_in:type_name -> google.protobuf.Duration + 0, // 25: flyteidl2.dataproxy.CreateLocalDownloadLinkRequest.artifact_type:type_name -> flyteidl2.dataproxy.ArtifactType + 25, // 26: flyteidl2.dataproxy.CreateLocalDownloadLinkRequest.action_attempt_id:type_name -> flyteidl2.common.ActionAttemptIdentifier + 16, // 27: flyteidl2.dataproxy.CreateLocalDownloadLinkRequest.expires_in:type_name -> google.protobuf.Duration + 15, // 28: flyteidl2.dataproxy.TailLogsResponse.logs:type_name -> flyteidl2.dataproxy.TailLogsResponse.Logs + 29, // 29: flyteidl2.dataproxy.TailLogsResponse.Logs.lines:type_name -> flyteidl2.logs.dataplane.LogLine + 30, // 30: flyteidl2.dataproxy.TailLogsResponse.Logs.container:type_name -> flyteidl2.logs.dataplane.ContainerIdentifier + 1, // 31: flyteidl2.dataproxy.DataProxyService.CreateUploadLocation:input_type -> flyteidl2.dataproxy.CreateUploadLocationRequest + 3, // 32: flyteidl2.dataproxy.DataProxyService.UploadInputs:input_type -> flyteidl2.dataproxy.UploadInputsRequest + 6, // 33: flyteidl2.dataproxy.DataProxyService.CreateDownloadLink:input_type -> flyteidl2.dataproxy.CreateDownloadLinkRequest + 8, // 34: flyteidl2.dataproxy.DataProxyService.GetActionData:input_type -> flyteidl2.dataproxy.GetActionDataRequest + 10, // 35: flyteidl2.dataproxy.DataProxyService.TailLogs:input_type -> flyteidl2.dataproxy.TailLogsRequest + 11, // 36: flyteidl2.dataproxy.DataProxyService.UploadMetadata:input_type -> flyteidl2.dataproxy.UploadMetadataRequest + 8, // 37: flyteidl2.dataproxy.DataProxyService.GetLocalActionData:input_type -> flyteidl2.dataproxy.GetActionDataRequest + 12, // 38: flyteidl2.dataproxy.DataProxyService.CreateLocalDownloadLink:input_type -> flyteidl2.dataproxy.CreateLocalDownloadLinkRequest + 2, // 39: flyteidl2.dataproxy.DataProxyService.CreateUploadLocation:output_type -> flyteidl2.dataproxy.CreateUploadLocationResponse + 4, // 40: flyteidl2.dataproxy.DataProxyService.UploadInputs:output_type -> flyteidl2.dataproxy.UploadInputsResponse + 7, // 41: flyteidl2.dataproxy.DataProxyService.CreateDownloadLink:output_type -> flyteidl2.dataproxy.CreateDownloadLinkResponse + 9, // 42: flyteidl2.dataproxy.DataProxyService.GetActionData:output_type -> flyteidl2.dataproxy.GetActionDataResponse + 13, // 43: flyteidl2.dataproxy.DataProxyService.TailLogs:output_type -> flyteidl2.dataproxy.TailLogsResponse + 2, // 44: flyteidl2.dataproxy.DataProxyService.UploadMetadata:output_type -> flyteidl2.dataproxy.CreateUploadLocationResponse + 9, // 45: flyteidl2.dataproxy.DataProxyService.GetLocalActionData:output_type -> flyteidl2.dataproxy.GetActionDataResponse + 7, // 46: flyteidl2.dataproxy.DataProxyService.CreateLocalDownloadLink:output_type -> flyteidl2.dataproxy.CreateDownloadLinkResponse + 39, // [39:47] is the sub-list for method output_type + 31, // [31:39] is the sub-list for method input_type + 31, // [31:31] is the sub-list for extension type_name + 31, // [31:31] is the sub-list for extension extendee + 0, // [0:31] is the sub-list for field type_name } func init() { file_flyteidl2_dataproxy_dataproxy_service_proto_init() } @@ -1565,7 +1871,19 @@ func file_flyteidl2_dataproxy_dataproxy_service_proto_init() { } } file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TailLogsResponse); i { + switch v := v.(*UploadMetadataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateLocalDownloadLinkRequest); i { case 0: return &v.state case 1: @@ -1577,6 +1895,18 @@ func file_flyteidl2_dataproxy_dataproxy_service_proto_init() { } } file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TailLogsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TailLogsResponse_Logs); i { case 0: return &v.state @@ -1606,13 +1936,17 @@ func file_flyteidl2_dataproxy_dataproxy_service_proto_init() { (*TailLogsRequest_AllPods)(nil), (*TailLogsRequest_PodName)(nil), } + file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[10].OneofWrappers = []interface{}{ + (*UploadMetadataRequest_ActionId)(nil), + (*UploadMetadataRequest_ActionAttemptId)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_flyteidl2_dataproxy_dataproxy_service_proto_rawDesc, NumEnums: 1, - NumMessages: 13, + NumMessages: 15, NumExtensions: 0, NumServices: 1, }, diff --git a/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.validate.go b/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.validate.go index cfce660f645..f5aad3a175e 100644 --- a/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.validate.go +++ b/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.validate.go @@ -1791,6 +1791,395 @@ var _ interface { ErrorName() string } = TailLogsRequestValidationError{} +// Validate checks the field values on UploadMetadataRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *UploadMetadataRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UploadMetadataRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// UploadMetadataRequestMultiError, or nil if none found. +func (m *UploadMetadataRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *UploadMetadataRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtifactType + + // no validation rules for ContentMd5 + + // no validation rules for ContentLength + + if all { + switch v := interface{}(m.GetExpiresIn()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, UploadMetadataRequestValidationError{ + field: "ExpiresIn", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, UploadMetadataRequestValidationError{ + field: "ExpiresIn", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetExpiresIn()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UploadMetadataRequestValidationError{ + field: "ExpiresIn", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for AddContentMd5Metadata + + switch v := m.Target.(type) { + case *UploadMetadataRequest_ActionId: + if v == nil { + err := UploadMetadataRequestValidationError{ + field: "Target", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetActionId()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, UploadMetadataRequestValidationError{ + field: "ActionId", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, UploadMetadataRequestValidationError{ + field: "ActionId", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetActionId()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UploadMetadataRequestValidationError{ + field: "ActionId", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *UploadMetadataRequest_ActionAttemptId: + if v == nil { + err := UploadMetadataRequestValidationError{ + field: "Target", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetActionAttemptId()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, UploadMetadataRequestValidationError{ + field: "ActionAttemptId", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, UploadMetadataRequestValidationError{ + field: "ActionAttemptId", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetActionAttemptId()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UploadMetadataRequestValidationError{ + field: "ActionAttemptId", + reason: "embedded message failed validation", + cause: err, + } + } + } + + default: + _ = v // ensures v is used + } + + if len(errors) > 0 { + return UploadMetadataRequestMultiError(errors) + } + + return nil +} + +// UploadMetadataRequestMultiError is an error wrapping multiple validation +// errors returned by UploadMetadataRequest.ValidateAll() if the designated +// constraints aren't met. +type UploadMetadataRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UploadMetadataRequestMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UploadMetadataRequestMultiError) AllErrors() []error { return m } + +// UploadMetadataRequestValidationError is the validation error returned by +// UploadMetadataRequest.Validate if the designated constraints aren't met. +type UploadMetadataRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UploadMetadataRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UploadMetadataRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UploadMetadataRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UploadMetadataRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UploadMetadataRequestValidationError) ErrorName() string { + return "UploadMetadataRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UploadMetadataRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUploadMetadataRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UploadMetadataRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UploadMetadataRequestValidationError{} + +// Validate checks the field values on CreateLocalDownloadLinkRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *CreateLocalDownloadLinkRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on CreateLocalDownloadLinkRequest with +// the rules defined in the proto definition for this message. If any rules +// are violated, the result is a list of violation errors wrapped in +// CreateLocalDownloadLinkRequestMultiError, or nil if none found. +func (m *CreateLocalDownloadLinkRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *CreateLocalDownloadLinkRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtifactType + + if all { + switch v := interface{}(m.GetActionAttemptId()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, CreateLocalDownloadLinkRequestValidationError{ + field: "ActionAttemptId", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, CreateLocalDownloadLinkRequestValidationError{ + field: "ActionAttemptId", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetActionAttemptId()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CreateLocalDownloadLinkRequestValidationError{ + field: "ActionAttemptId", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetExpiresIn()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, CreateLocalDownloadLinkRequestValidationError{ + field: "ExpiresIn", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, CreateLocalDownloadLinkRequestValidationError{ + field: "ExpiresIn", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetExpiresIn()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CreateLocalDownloadLinkRequestValidationError{ + field: "ExpiresIn", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if len(errors) > 0 { + return CreateLocalDownloadLinkRequestMultiError(errors) + } + + return nil +} + +// CreateLocalDownloadLinkRequestMultiError is an error wrapping multiple +// validation errors returned by CreateLocalDownloadLinkRequest.ValidateAll() +// if the designated constraints aren't met. +type CreateLocalDownloadLinkRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m CreateLocalDownloadLinkRequestMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m CreateLocalDownloadLinkRequestMultiError) AllErrors() []error { return m } + +// CreateLocalDownloadLinkRequestValidationError is the validation error +// returned by CreateLocalDownloadLinkRequest.Validate if the designated +// constraints aren't met. +type CreateLocalDownloadLinkRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e CreateLocalDownloadLinkRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e CreateLocalDownloadLinkRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e CreateLocalDownloadLinkRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e CreateLocalDownloadLinkRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e CreateLocalDownloadLinkRequestValidationError) ErrorName() string { + return "CreateLocalDownloadLinkRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e CreateLocalDownloadLinkRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sCreateLocalDownloadLinkRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = CreateLocalDownloadLinkRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = CreateLocalDownloadLinkRequestValidationError{} + // Validate checks the field values on TailLogsResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. diff --git a/gen/go/flyteidl2/dataproxy/dataproxy_service_grpc.pb.go b/gen/go/flyteidl2/dataproxy/dataproxy_service_grpc.pb.go index 4044d8ef635..62dd554c8b4 100644 --- a/gen/go/flyteidl2/dataproxy/dataproxy_service_grpc.pb.go +++ b/gen/go/flyteidl2/dataproxy/dataproxy_service_grpc.pb.go @@ -19,11 +19,14 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - DataProxyService_CreateUploadLocation_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/CreateUploadLocation" - DataProxyService_UploadInputs_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/UploadInputs" - DataProxyService_CreateDownloadLink_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/CreateDownloadLink" - DataProxyService_GetActionData_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/GetActionData" - DataProxyService_TailLogs_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/TailLogs" + DataProxyService_CreateUploadLocation_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/CreateUploadLocation" + DataProxyService_UploadInputs_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/UploadInputs" + DataProxyService_CreateDownloadLink_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/CreateDownloadLink" + DataProxyService_GetActionData_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/GetActionData" + DataProxyService_TailLogs_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/TailLogs" + DataProxyService_UploadMetadata_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/UploadMetadata" + DataProxyService_GetLocalActionData_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/GetLocalActionData" + DataProxyService_CreateLocalDownloadLink_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink" ) // DataProxyServiceClient is the client API for DataProxyService service. @@ -39,6 +42,17 @@ type DataProxyServiceClient interface { GetActionData(ctx context.Context, in *GetActionDataRequest, opts ...grpc.CallOption) (*GetActionDataResponse, error) // Stream logs for an action attempt. TailLogs(ctx context.Context, in *TailLogsRequest, opts ...grpc.CallOption) (DataProxyService_TailLogsClient, error) + // UploadMetadata generates a signed URL for uploading a local run's metadata artifact + // (inputs.pb / outputs.pb / report.html) directly to the control plane's storage backend. + // Local runs only; never routes to a dataplane. + UploadMetadata(ctx context.Context, in *UploadMetadataRequest, opts ...grpc.CallOption) (*CreateUploadLocationResponse, error) + // Get input and output data for an action of a local run, served directly from the control + // plane's storage backend. Local runs only; never routes to a dataplane. + GetLocalActionData(ctx context.Context, in *GetActionDataRequest, opts ...grpc.CallOption) (*GetActionDataResponse, error) + // CreateLocalDownloadLink generates signed URL(s) for downloading an artifact of a local run + // action attempt directly from the control plane's storage backend. Local runs only; never + // routes to a dataplane. + CreateLocalDownloadLink(ctx context.Context, in *CreateLocalDownloadLinkRequest, opts ...grpc.CallOption) (*CreateDownloadLinkResponse, error) } type dataProxyServiceClient struct { @@ -117,6 +131,33 @@ func (x *dataProxyServiceTailLogsClient) Recv() (*TailLogsResponse, error) { return m, nil } +func (c *dataProxyServiceClient) UploadMetadata(ctx context.Context, in *UploadMetadataRequest, opts ...grpc.CallOption) (*CreateUploadLocationResponse, error) { + out := new(CreateUploadLocationResponse) + err := c.cc.Invoke(ctx, DataProxyService_UploadMetadata_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataProxyServiceClient) GetLocalActionData(ctx context.Context, in *GetActionDataRequest, opts ...grpc.CallOption) (*GetActionDataResponse, error) { + out := new(GetActionDataResponse) + err := c.cc.Invoke(ctx, DataProxyService_GetLocalActionData_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataProxyServiceClient) CreateLocalDownloadLink(ctx context.Context, in *CreateLocalDownloadLinkRequest, opts ...grpc.CallOption) (*CreateDownloadLinkResponse, error) { + out := new(CreateDownloadLinkResponse) + err := c.cc.Invoke(ctx, DataProxyService_CreateLocalDownloadLink_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // DataProxyServiceServer is the server API for DataProxyService service. // All implementations should embed UnimplementedDataProxyServiceServer // for forward compatibility @@ -130,6 +171,17 @@ type DataProxyServiceServer interface { GetActionData(context.Context, *GetActionDataRequest) (*GetActionDataResponse, error) // Stream logs for an action attempt. TailLogs(*TailLogsRequest, DataProxyService_TailLogsServer) error + // UploadMetadata generates a signed URL for uploading a local run's metadata artifact + // (inputs.pb / outputs.pb / report.html) directly to the control plane's storage backend. + // Local runs only; never routes to a dataplane. + UploadMetadata(context.Context, *UploadMetadataRequest) (*CreateUploadLocationResponse, error) + // Get input and output data for an action of a local run, served directly from the control + // plane's storage backend. Local runs only; never routes to a dataplane. + GetLocalActionData(context.Context, *GetActionDataRequest) (*GetActionDataResponse, error) + // CreateLocalDownloadLink generates signed URL(s) for downloading an artifact of a local run + // action attempt directly from the control plane's storage backend. Local runs only; never + // routes to a dataplane. + CreateLocalDownloadLink(context.Context, *CreateLocalDownloadLinkRequest) (*CreateDownloadLinkResponse, error) } // UnimplementedDataProxyServiceServer should be embedded to have forward compatible implementations. @@ -151,6 +203,15 @@ func (UnimplementedDataProxyServiceServer) GetActionData(context.Context, *GetAc func (UnimplementedDataProxyServiceServer) TailLogs(*TailLogsRequest, DataProxyService_TailLogsServer) error { return status.Errorf(codes.Unimplemented, "method TailLogs not implemented") } +func (UnimplementedDataProxyServiceServer) UploadMetadata(context.Context, *UploadMetadataRequest) (*CreateUploadLocationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UploadMetadata not implemented") +} +func (UnimplementedDataProxyServiceServer) GetLocalActionData(context.Context, *GetActionDataRequest) (*GetActionDataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetLocalActionData not implemented") +} +func (UnimplementedDataProxyServiceServer) CreateLocalDownloadLink(context.Context, *CreateLocalDownloadLinkRequest) (*CreateDownloadLinkResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateLocalDownloadLink not implemented") +} // UnsafeDataProxyServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to DataProxyServiceServer will @@ -256,6 +317,60 @@ func (x *dataProxyServiceTailLogsServer) Send(m *TailLogsResponse) error { return x.ServerStream.SendMsg(m) } +func _DataProxyService_UploadMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadMetadataRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataProxyServiceServer).UploadMetadata(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: DataProxyService_UploadMetadata_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataProxyServiceServer).UploadMetadata(ctx, req.(*UploadMetadataRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataProxyService_GetLocalActionData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetActionDataRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataProxyServiceServer).GetLocalActionData(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: DataProxyService_GetLocalActionData_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataProxyServiceServer).GetLocalActionData(ctx, req.(*GetActionDataRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataProxyService_CreateLocalDownloadLink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateLocalDownloadLinkRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataProxyServiceServer).CreateLocalDownloadLink(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: DataProxyService_CreateLocalDownloadLink_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataProxyServiceServer).CreateLocalDownloadLink(ctx, req.(*CreateLocalDownloadLinkRequest)) + } + return interceptor(ctx, in, info, handler) +} + // DataProxyService_ServiceDesc is the grpc.ServiceDesc for DataProxyService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -279,6 +394,18 @@ var DataProxyService_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetActionData", Handler: _DataProxyService_GetActionData_Handler, }, + { + MethodName: "UploadMetadata", + Handler: _DataProxyService_UploadMetadata_Handler, + }, + { + MethodName: "GetLocalActionData", + Handler: _DataProxyService_GetLocalActionData_Handler, + }, + { + MethodName: "CreateLocalDownloadLink", + Handler: _DataProxyService_CreateLocalDownloadLink_Handler, + }, }, Streams: []grpc.StreamDesc{ { diff --git a/gen/go/flyteidl2/dataproxy/dataproxyconnect/dataproxy_service.connect.go b/gen/go/flyteidl2/dataproxy/dataproxyconnect/dataproxy_service.connect.go index 87c84d03292..b4ef9a9e53c 100644 --- a/gen/go/flyteidl2/dataproxy/dataproxyconnect/dataproxy_service.connect.go +++ b/gen/go/flyteidl2/dataproxy/dataproxyconnect/dataproxy_service.connect.go @@ -48,16 +48,28 @@ const ( // DataProxyServiceTailLogsProcedure is the fully-qualified name of the DataProxyService's TailLogs // RPC. DataProxyServiceTailLogsProcedure = "/flyteidl2.dataproxy.DataProxyService/TailLogs" + // DataProxyServiceUploadMetadataProcedure is the fully-qualified name of the DataProxyService's + // UploadMetadata RPC. + DataProxyServiceUploadMetadataProcedure = "/flyteidl2.dataproxy.DataProxyService/UploadMetadata" + // DataProxyServiceGetLocalActionDataProcedure is the fully-qualified name of the DataProxyService's + // GetLocalActionData RPC. + DataProxyServiceGetLocalActionDataProcedure = "/flyteidl2.dataproxy.DataProxyService/GetLocalActionData" + // DataProxyServiceCreateLocalDownloadLinkProcedure is the fully-qualified name of the + // DataProxyService's CreateLocalDownloadLink RPC. + DataProxyServiceCreateLocalDownloadLinkProcedure = "/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink" ) // These variables are the protoreflect.Descriptor objects for the RPCs defined in this package. var ( - dataProxyServiceServiceDescriptor = dataproxy.File_flyteidl2_dataproxy_dataproxy_service_proto.Services().ByName("DataProxyService") - dataProxyServiceCreateUploadLocationMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("CreateUploadLocation") - dataProxyServiceUploadInputsMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("UploadInputs") - dataProxyServiceCreateDownloadLinkMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("CreateDownloadLink") - dataProxyServiceGetActionDataMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("GetActionData") - dataProxyServiceTailLogsMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("TailLogs") + dataProxyServiceServiceDescriptor = dataproxy.File_flyteidl2_dataproxy_dataproxy_service_proto.Services().ByName("DataProxyService") + dataProxyServiceCreateUploadLocationMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("CreateUploadLocation") + dataProxyServiceUploadInputsMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("UploadInputs") + dataProxyServiceCreateDownloadLinkMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("CreateDownloadLink") + dataProxyServiceGetActionDataMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("GetActionData") + dataProxyServiceTailLogsMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("TailLogs") + dataProxyServiceUploadMetadataMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("UploadMetadata") + dataProxyServiceGetLocalActionDataMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("GetLocalActionData") + dataProxyServiceCreateLocalDownloadLinkMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("CreateLocalDownloadLink") ) // DataProxyServiceClient is a client for the flyteidl2.dataproxy.DataProxyService service. @@ -71,6 +83,17 @@ type DataProxyServiceClient interface { GetActionData(context.Context, *connect.Request[dataproxy.GetActionDataRequest]) (*connect.Response[dataproxy.GetActionDataResponse], error) // Stream logs for an action attempt. TailLogs(context.Context, *connect.Request[dataproxy.TailLogsRequest]) (*connect.ServerStreamForClient[dataproxy.TailLogsResponse], error) + // UploadMetadata generates a signed URL for uploading a local run's metadata artifact + // (inputs.pb / outputs.pb / report.html) directly to the control plane's storage backend. + // Local runs only; never routes to a dataplane. + UploadMetadata(context.Context, *connect.Request[dataproxy.UploadMetadataRequest]) (*connect.Response[dataproxy.CreateUploadLocationResponse], error) + // Get input and output data for an action of a local run, served directly from the control + // plane's storage backend. Local runs only; never routes to a dataplane. + GetLocalActionData(context.Context, *connect.Request[dataproxy.GetActionDataRequest]) (*connect.Response[dataproxy.GetActionDataResponse], error) + // CreateLocalDownloadLink generates signed URL(s) for downloading an artifact of a local run + // action attempt directly from the control plane's storage backend. Local runs only; never + // routes to a dataplane. + CreateLocalDownloadLink(context.Context, *connect.Request[dataproxy.CreateLocalDownloadLinkRequest]) (*connect.Response[dataproxy.CreateDownloadLinkResponse], error) } // NewDataProxyServiceClient constructs a client for the flyteidl2.dataproxy.DataProxyService @@ -114,16 +137,38 @@ func NewDataProxyServiceClient(httpClient connect.HTTPClient, baseURL string, op connect.WithSchema(dataProxyServiceTailLogsMethodDescriptor), connect.WithClientOptions(opts...), ), + uploadMetadata: connect.NewClient[dataproxy.UploadMetadataRequest, dataproxy.CreateUploadLocationResponse]( + httpClient, + baseURL+DataProxyServiceUploadMetadataProcedure, + connect.WithSchema(dataProxyServiceUploadMetadataMethodDescriptor), + connect.WithClientOptions(opts...), + ), + getLocalActionData: connect.NewClient[dataproxy.GetActionDataRequest, dataproxy.GetActionDataResponse]( + httpClient, + baseURL+DataProxyServiceGetLocalActionDataProcedure, + connect.WithSchema(dataProxyServiceGetLocalActionDataMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithClientOptions(opts...), + ), + createLocalDownloadLink: connect.NewClient[dataproxy.CreateLocalDownloadLinkRequest, dataproxy.CreateDownloadLinkResponse]( + httpClient, + baseURL+DataProxyServiceCreateLocalDownloadLinkProcedure, + connect.WithSchema(dataProxyServiceCreateLocalDownloadLinkMethodDescriptor), + connect.WithClientOptions(opts...), + ), } } // dataProxyServiceClient implements DataProxyServiceClient. type dataProxyServiceClient struct { - createUploadLocation *connect.Client[dataproxy.CreateUploadLocationRequest, dataproxy.CreateUploadLocationResponse] - uploadInputs *connect.Client[dataproxy.UploadInputsRequest, dataproxy.UploadInputsResponse] - createDownloadLink *connect.Client[dataproxy.CreateDownloadLinkRequest, dataproxy.CreateDownloadLinkResponse] - getActionData *connect.Client[dataproxy.GetActionDataRequest, dataproxy.GetActionDataResponse] - tailLogs *connect.Client[dataproxy.TailLogsRequest, dataproxy.TailLogsResponse] + createUploadLocation *connect.Client[dataproxy.CreateUploadLocationRequest, dataproxy.CreateUploadLocationResponse] + uploadInputs *connect.Client[dataproxy.UploadInputsRequest, dataproxy.UploadInputsResponse] + createDownloadLink *connect.Client[dataproxy.CreateDownloadLinkRequest, dataproxy.CreateDownloadLinkResponse] + getActionData *connect.Client[dataproxy.GetActionDataRequest, dataproxy.GetActionDataResponse] + tailLogs *connect.Client[dataproxy.TailLogsRequest, dataproxy.TailLogsResponse] + uploadMetadata *connect.Client[dataproxy.UploadMetadataRequest, dataproxy.CreateUploadLocationResponse] + getLocalActionData *connect.Client[dataproxy.GetActionDataRequest, dataproxy.GetActionDataResponse] + createLocalDownloadLink *connect.Client[dataproxy.CreateLocalDownloadLinkRequest, dataproxy.CreateDownloadLinkResponse] } // CreateUploadLocation calls flyteidl2.dataproxy.DataProxyService.CreateUploadLocation. @@ -151,6 +196,21 @@ func (c *dataProxyServiceClient) TailLogs(ctx context.Context, req *connect.Requ return c.tailLogs.CallServerStream(ctx, req) } +// UploadMetadata calls flyteidl2.dataproxy.DataProxyService.UploadMetadata. +func (c *dataProxyServiceClient) UploadMetadata(ctx context.Context, req *connect.Request[dataproxy.UploadMetadataRequest]) (*connect.Response[dataproxy.CreateUploadLocationResponse], error) { + return c.uploadMetadata.CallUnary(ctx, req) +} + +// GetLocalActionData calls flyteidl2.dataproxy.DataProxyService.GetLocalActionData. +func (c *dataProxyServiceClient) GetLocalActionData(ctx context.Context, req *connect.Request[dataproxy.GetActionDataRequest]) (*connect.Response[dataproxy.GetActionDataResponse], error) { + return c.getLocalActionData.CallUnary(ctx, req) +} + +// CreateLocalDownloadLink calls flyteidl2.dataproxy.DataProxyService.CreateLocalDownloadLink. +func (c *dataProxyServiceClient) CreateLocalDownloadLink(ctx context.Context, req *connect.Request[dataproxy.CreateLocalDownloadLinkRequest]) (*connect.Response[dataproxy.CreateDownloadLinkResponse], error) { + return c.createLocalDownloadLink.CallUnary(ctx, req) +} + // DataProxyServiceHandler is an implementation of the flyteidl2.dataproxy.DataProxyService service. type DataProxyServiceHandler interface { // CreateUploadLocation generates a signed URL for uploading data to the configured storage backend. @@ -162,6 +222,17 @@ type DataProxyServiceHandler interface { GetActionData(context.Context, *connect.Request[dataproxy.GetActionDataRequest]) (*connect.Response[dataproxy.GetActionDataResponse], error) // Stream logs for an action attempt. TailLogs(context.Context, *connect.Request[dataproxy.TailLogsRequest], *connect.ServerStream[dataproxy.TailLogsResponse]) error + // UploadMetadata generates a signed URL for uploading a local run's metadata artifact + // (inputs.pb / outputs.pb / report.html) directly to the control plane's storage backend. + // Local runs only; never routes to a dataplane. + UploadMetadata(context.Context, *connect.Request[dataproxy.UploadMetadataRequest]) (*connect.Response[dataproxy.CreateUploadLocationResponse], error) + // Get input and output data for an action of a local run, served directly from the control + // plane's storage backend. Local runs only; never routes to a dataplane. + GetLocalActionData(context.Context, *connect.Request[dataproxy.GetActionDataRequest]) (*connect.Response[dataproxy.GetActionDataResponse], error) + // CreateLocalDownloadLink generates signed URL(s) for downloading an artifact of a local run + // action attempt directly from the control plane's storage backend. Local runs only; never + // routes to a dataplane. + CreateLocalDownloadLink(context.Context, *connect.Request[dataproxy.CreateLocalDownloadLinkRequest]) (*connect.Response[dataproxy.CreateDownloadLinkResponse], error) } // NewDataProxyServiceHandler builds an HTTP handler from the service implementation. It returns the @@ -201,6 +272,25 @@ func NewDataProxyServiceHandler(svc DataProxyServiceHandler, opts ...connect.Han connect.WithSchema(dataProxyServiceTailLogsMethodDescriptor), connect.WithHandlerOptions(opts...), ) + dataProxyServiceUploadMetadataHandler := connect.NewUnaryHandler( + DataProxyServiceUploadMetadataProcedure, + svc.UploadMetadata, + connect.WithSchema(dataProxyServiceUploadMetadataMethodDescriptor), + connect.WithHandlerOptions(opts...), + ) + dataProxyServiceGetLocalActionDataHandler := connect.NewUnaryHandler( + DataProxyServiceGetLocalActionDataProcedure, + svc.GetLocalActionData, + connect.WithSchema(dataProxyServiceGetLocalActionDataMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithHandlerOptions(opts...), + ) + dataProxyServiceCreateLocalDownloadLinkHandler := connect.NewUnaryHandler( + DataProxyServiceCreateLocalDownloadLinkProcedure, + svc.CreateLocalDownloadLink, + connect.WithSchema(dataProxyServiceCreateLocalDownloadLinkMethodDescriptor), + connect.WithHandlerOptions(opts...), + ) return "/flyteidl2.dataproxy.DataProxyService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { case DataProxyServiceCreateUploadLocationProcedure: @@ -213,6 +303,12 @@ func NewDataProxyServiceHandler(svc DataProxyServiceHandler, opts ...connect.Han dataProxyServiceGetActionDataHandler.ServeHTTP(w, r) case DataProxyServiceTailLogsProcedure: dataProxyServiceTailLogsHandler.ServeHTTP(w, r) + case DataProxyServiceUploadMetadataProcedure: + dataProxyServiceUploadMetadataHandler.ServeHTTP(w, r) + case DataProxyServiceGetLocalActionDataProcedure: + dataProxyServiceGetLocalActionDataHandler.ServeHTTP(w, r) + case DataProxyServiceCreateLocalDownloadLinkProcedure: + dataProxyServiceCreateLocalDownloadLinkHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } @@ -241,3 +337,15 @@ func (UnimplementedDataProxyServiceHandler) GetActionData(context.Context, *conn func (UnimplementedDataProxyServiceHandler) TailLogs(context.Context, *connect.Request[dataproxy.TailLogsRequest], *connect.ServerStream[dataproxy.TailLogsResponse]) error { return connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.dataproxy.DataProxyService.TailLogs is not implemented")) } + +func (UnimplementedDataProxyServiceHandler) UploadMetadata(context.Context, *connect.Request[dataproxy.UploadMetadataRequest]) (*connect.Response[dataproxy.CreateUploadLocationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.dataproxy.DataProxyService.UploadMetadata is not implemented")) +} + +func (UnimplementedDataProxyServiceHandler) GetLocalActionData(context.Context, *connect.Request[dataproxy.GetActionDataRequest]) (*connect.Response[dataproxy.GetActionDataResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.dataproxy.DataProxyService.GetLocalActionData is not implemented")) +} + +func (UnimplementedDataProxyServiceHandler) CreateLocalDownloadLink(context.Context, *connect.Request[dataproxy.CreateLocalDownloadLinkRequest]) (*connect.Response[dataproxy.CreateDownloadLinkResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.dataproxy.DataProxyService.CreateLocalDownloadLink is not implemented")) +} diff --git a/gen/go/flyteidl2/workflow/local_run_service.pb.go b/gen/go/flyteidl2/workflow/local_run_service.pb.go new file mode 100644 index 00000000000..9fb69acb98f --- /dev/null +++ b/gen/go/flyteidl2/workflow/local_run_service.pb.go @@ -0,0 +1,791 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc (unknown) +// source: flyteidl2/workflow/local_run_service.proto + +package workflow + +import ( + _ "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate" + common "github.com/flyteorg/flyte/v2/gen/go/flyteidl2/common" + task "github.com/flyteorg/flyte/v2/gen/go/flyteidl2/task" + status "google.golang.org/genproto/googleapis/rpc/status" + 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" +) + +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 message for creating a local run. +type CreateLocalRunRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Id: + // + // *CreateLocalRunRequest_RunId + // *CreateLocalRunRequest_ProjectId + Id isCreateLocalRunRequest_Id `protobuf_oneof:"id"` + // The task this run executes. + // + // Types that are assignable to Task: + // + // *CreateLocalRunRequest_TaskId + // *CreateLocalRunRequest_TaskSpec + Task isCreateLocalRunRequest_Task `protobuf_oneof:"task"` + // Reference to the run's inputs, previously uploaded via DataProxyService.UploadMetadata. + OffloadedInputData *common.OffloadedInputData `protobuf:"bytes,5,opt,name=offloaded_input_data,json=offloadedInputData,proto3,oneof" json:"offloaded_input_data,omitempty"` + // The run spec to use. Only client-relevant fields are honored; dataplane scheduling fields + // (queue, cluster) are ignored for local runs. + RunSpec *task.RunSpec `protobuf:"bytes,6,opt,name=run_spec,json=runSpec,proto3" json:"run_spec,omitempty"` + // User-defined labels attached to this run at creation time. + Labels map[string]string `protobuf:"bytes,7,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Time the local run actually started. If unset, the server defaults it to the current time. + RunStartTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=run_start_time,json=runStartTime,proto3" json:"run_start_time,omitempty"` +} + +func (x *CreateLocalRunRequest) Reset() { + *x = CreateLocalRunRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_flyteidl2_workflow_local_run_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateLocalRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateLocalRunRequest) ProtoMessage() {} + +func (x *CreateLocalRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_flyteidl2_workflow_local_run_service_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 CreateLocalRunRequest.ProtoReflect.Descriptor instead. +func (*CreateLocalRunRequest) Descriptor() ([]byte, []int) { + return file_flyteidl2_workflow_local_run_service_proto_rawDescGZIP(), []int{0} +} + +func (m *CreateLocalRunRequest) GetId() isCreateLocalRunRequest_Id { + if m != nil { + return m.Id + } + return nil +} + +func (x *CreateLocalRunRequest) GetRunId() *common.RunIdentifier { + if x, ok := x.GetId().(*CreateLocalRunRequest_RunId); ok { + return x.RunId + } + return nil +} + +func (x *CreateLocalRunRequest) GetProjectId() *common.ProjectIdentifier { + if x, ok := x.GetId().(*CreateLocalRunRequest_ProjectId); ok { + return x.ProjectId + } + return nil +} + +func (m *CreateLocalRunRequest) GetTask() isCreateLocalRunRequest_Task { + if m != nil { + return m.Task + } + return nil +} + +func (x *CreateLocalRunRequest) GetTaskId() *task.TaskIdentifier { + if x, ok := x.GetTask().(*CreateLocalRunRequest_TaskId); ok { + return x.TaskId + } + return nil +} + +func (x *CreateLocalRunRequest) GetTaskSpec() *task.TaskSpec { + if x, ok := x.GetTask().(*CreateLocalRunRequest_TaskSpec); ok { + return x.TaskSpec + } + return nil +} + +func (x *CreateLocalRunRequest) GetOffloadedInputData() *common.OffloadedInputData { + if x != nil { + return x.OffloadedInputData + } + return nil +} + +func (x *CreateLocalRunRequest) GetRunSpec() *task.RunSpec { + if x != nil { + return x.RunSpec + } + return nil +} + +func (x *CreateLocalRunRequest) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *CreateLocalRunRequest) GetRunStartTime() *timestamppb.Timestamp { + if x != nil { + return x.RunStartTime + } + return nil +} + +type isCreateLocalRunRequest_Id interface { + isCreateLocalRunRequest_Id() +} + +type CreateLocalRunRequest_RunId struct { + // The user provided run id. + RunId *common.RunIdentifier `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3,oneof"` +} + +type CreateLocalRunRequest_ProjectId struct { + // The project id for this run. Run name will be generated. + ProjectId *common.ProjectIdentifier `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3,oneof"` +} + +func (*CreateLocalRunRequest_RunId) isCreateLocalRunRequest_Id() {} + +func (*CreateLocalRunRequest_ProjectId) isCreateLocalRunRequest_Id() {} + +type isCreateLocalRunRequest_Task interface { + isCreateLocalRunRequest_Task() +} + +type CreateLocalRunRequest_TaskId struct { + // The task id to use. + TaskId *task.TaskIdentifier `protobuf:"bytes,3,opt,name=task_id,json=taskId,proto3,oneof"` +} + +type CreateLocalRunRequest_TaskSpec struct { + // The task spec to use. + TaskSpec *task.TaskSpec `protobuf:"bytes,4,opt,name=task_spec,json=taskSpec,proto3,oneof"` +} + +func (*CreateLocalRunRequest_TaskId) isCreateLocalRunRequest_Task() {} + +func (*CreateLocalRunRequest_TaskSpec) isCreateLocalRunRequest_Task() {} + +// A single action state report within a local run. +type LocalActionUpdate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The event describing this state transition. Carries the action id, attempt (starting at 1), + // phase, monotonically increasing version, timestamps, error info and output references + // (output_uri / report_uri under the control plane's storage). + Event *ActionEvent `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"` + // Name of the parent action if this is a nested action. Empty for the root action. Only + // honored on the first report of an action. + ParentName string `protobuf:"bytes,2,opt,name=parent_name,json=parentName,proto3" json:"parent_name,omitempty"` + // Group this action belongs to, if applicable. Only honored on the first report of an action. + Group string `protobuf:"bytes,3,opt,name=group,proto3" json:"group,omitempty"` + // The action's spec. Should be provided on the first report of an action; ignored afterwards. + // + // Types that are assignable to Spec: + // + // *LocalActionUpdate_Task + // *LocalActionUpdate_Trace + Spec isLocalActionUpdate_Spec `protobuf_oneof:"spec"` + // Rolled-up status of the action (attempts count, start/end time). + Status *ActionStatus `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *LocalActionUpdate) Reset() { + *x = LocalActionUpdate{} + if protoimpl.UnsafeEnabled { + mi := &file_flyteidl2_workflow_local_run_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LocalActionUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LocalActionUpdate) ProtoMessage() {} + +func (x *LocalActionUpdate) ProtoReflect() protoreflect.Message { + mi := &file_flyteidl2_workflow_local_run_service_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 LocalActionUpdate.ProtoReflect.Descriptor instead. +func (*LocalActionUpdate) Descriptor() ([]byte, []int) { + return file_flyteidl2_workflow_local_run_service_proto_rawDescGZIP(), []int{1} +} + +func (x *LocalActionUpdate) GetEvent() *ActionEvent { + if x != nil { + return x.Event + } + return nil +} + +func (x *LocalActionUpdate) GetParentName() string { + if x != nil { + return x.ParentName + } + return "" +} + +func (x *LocalActionUpdate) GetGroup() string { + if x != nil { + return x.Group + } + return "" +} + +func (m *LocalActionUpdate) GetSpec() isLocalActionUpdate_Spec { + if m != nil { + return m.Spec + } + return nil +} + +func (x *LocalActionUpdate) GetTask() *TaskAction { + if x, ok := x.GetSpec().(*LocalActionUpdate_Task); ok { + return x.Task + } + return nil +} + +func (x *LocalActionUpdate) GetTrace() *TraceAction { + if x, ok := x.GetSpec().(*LocalActionUpdate_Trace); ok { + return x.Trace + } + return nil +} + +func (x *LocalActionUpdate) GetStatus() *ActionStatus { + if x != nil { + return x.Status + } + return nil +} + +type isLocalActionUpdate_Spec interface { + isLocalActionUpdate_Spec() +} + +type LocalActionUpdate_Task struct { + Task *TaskAction `protobuf:"bytes,4,opt,name=task,proto3,oneof"` +} + +type LocalActionUpdate_Trace struct { + Trace *TraceAction `protobuf:"bytes,5,opt,name=trace,proto3,oneof"` +} + +func (*LocalActionUpdate_Task) isLocalActionUpdate_Spec() {} + +func (*LocalActionUpdate_Trace) isLocalActionUpdate_Spec() {} + +// Request message for reporting local action state. +type ReportLocalActionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The run these action reports belong to. Every update's action id must reference this run. + RunId *common.RunIdentifier `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The action state reports. + Updates []*LocalActionUpdate `protobuf:"bytes,2,rep,name=updates,proto3" json:"updates,omitempty"` +} + +func (x *ReportLocalActionsRequest) Reset() { + *x = ReportLocalActionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_flyteidl2_workflow_local_run_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReportLocalActionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReportLocalActionsRequest) ProtoMessage() {} + +func (x *ReportLocalActionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_flyteidl2_workflow_local_run_service_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 ReportLocalActionsRequest.ProtoReflect.Descriptor instead. +func (*ReportLocalActionsRequest) Descriptor() ([]byte, []int) { + return file_flyteidl2_workflow_local_run_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ReportLocalActionsRequest) GetRunId() *common.RunIdentifier { + if x != nil { + return x.RunId + } + return nil +} + +func (x *ReportLocalActionsRequest) GetUpdates() []*LocalActionUpdate { + if x != nil { + return x.Updates + } + return nil +} + +// Response message for reporting local action state. +type ReportLocalActionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Per-update results, parallel to the request's updates. Duplicate (already recorded) events + // are reported as success. + Statuses []*status.Status `protobuf:"bytes,1,rep,name=statuses,proto3" json:"statuses,omitempty"` +} + +func (x *ReportLocalActionsResponse) Reset() { + *x = ReportLocalActionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_flyteidl2_workflow_local_run_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReportLocalActionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReportLocalActionsResponse) ProtoMessage() {} + +func (x *ReportLocalActionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_flyteidl2_workflow_local_run_service_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 ReportLocalActionsResponse.ProtoReflect.Descriptor instead. +func (*ReportLocalActionsResponse) Descriptor() ([]byte, []int) { + return file_flyteidl2_workflow_local_run_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ReportLocalActionsResponse) GetStatuses() []*status.Status { + if x != nil { + return x.Statuses + } + return nil +} + +var File_flyteidl2_workflow_local_run_service_proto protoreflect.FileDescriptor + +var file_flyteidl2_workflow_local_run_service_proto_rawDesc = []byte{ + 0x0a, 0x2a, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1a, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, + 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, + 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 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, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x9d, 0x05, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, + 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, + 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, + 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, + 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x07, + 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, + 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x01, 0x52, + 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, + 0x53, 0x70, 0x65, 0x63, 0x48, 0x01, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x5b, 0x0a, 0x14, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x02, 0x52, 0x12, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, + 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, + 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, + 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x4d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x35, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, + 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x12, 0x40, 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x08, 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, 0x72, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0b, 0x0a, + 0x02, 0x69, 0x64, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, 0x0d, 0x0a, 0x04, 0x74, 0x61, + 0x73, 0x6b, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6f, 0x66, + 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x22, 0xba, 0x02, 0x0a, 0x11, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, + 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x34, + 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, + 0x74, 0x61, 0x73, 0x6b, 0x12, 0x37, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x38, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, + 0xa6, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, + 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, + 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x49, 0x0a, + 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, + 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0x4c, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x32, 0xb2, 0x08, 0x0a, 0x0f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x09, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x0d, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, + 0x0d, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x28, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, + 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x6e, 0x0a, 0x0f, 0x57, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2a, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x72, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2b, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x77, 0x0a, 0x12, + 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x5a, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, + 0x73, 0x12, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, + 0x01, 0x12, 0x5c, 0x0a, 0x09, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x24, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, + 0x63, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x03, 0x90, 0x02, 0x01, 0x12, 0x65, 0x0a, 0x0c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x42, 0xd1, 0x01, 0x0a, 0x16, + 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x14, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x02, 0x50, 0x01, + 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, + 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, + 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, + 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_flyteidl2_workflow_local_run_service_proto_rawDescOnce sync.Once + file_flyteidl2_workflow_local_run_service_proto_rawDescData = file_flyteidl2_workflow_local_run_service_proto_rawDesc +) + +func file_flyteidl2_workflow_local_run_service_proto_rawDescGZIP() []byte { + file_flyteidl2_workflow_local_run_service_proto_rawDescOnce.Do(func() { + file_flyteidl2_workflow_local_run_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_flyteidl2_workflow_local_run_service_proto_rawDescData) + }) + return file_flyteidl2_workflow_local_run_service_proto_rawDescData +} + +var file_flyteidl2_workflow_local_run_service_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_flyteidl2_workflow_local_run_service_proto_goTypes = []interface{}{ + (*CreateLocalRunRequest)(nil), // 0: flyteidl2.workflow.CreateLocalRunRequest + (*LocalActionUpdate)(nil), // 1: flyteidl2.workflow.LocalActionUpdate + (*ReportLocalActionsRequest)(nil), // 2: flyteidl2.workflow.ReportLocalActionsRequest + (*ReportLocalActionsResponse)(nil), // 3: flyteidl2.workflow.ReportLocalActionsResponse + nil, // 4: flyteidl2.workflow.CreateLocalRunRequest.LabelsEntry + (*common.RunIdentifier)(nil), // 5: flyteidl2.common.RunIdentifier + (*common.ProjectIdentifier)(nil), // 6: flyteidl2.common.ProjectIdentifier + (*task.TaskIdentifier)(nil), // 7: flyteidl2.task.TaskIdentifier + (*task.TaskSpec)(nil), // 8: flyteidl2.task.TaskSpec + (*common.OffloadedInputData)(nil), // 9: flyteidl2.common.OffloadedInputData + (*task.RunSpec)(nil), // 10: flyteidl2.task.RunSpec + (*timestamppb.Timestamp)(nil), // 11: google.protobuf.Timestamp + (*ActionEvent)(nil), // 12: flyteidl2.workflow.ActionEvent + (*TaskAction)(nil), // 13: flyteidl2.workflow.TaskAction + (*TraceAction)(nil), // 14: flyteidl2.workflow.TraceAction + (*ActionStatus)(nil), // 15: flyteidl2.workflow.ActionStatus + (*status.Status)(nil), // 16: google.rpc.Status + (*GetRunDetailsRequest)(nil), // 17: flyteidl2.workflow.GetRunDetailsRequest + (*WatchRunDetailsRequest)(nil), // 18: flyteidl2.workflow.WatchRunDetailsRequest + (*GetActionDetailsRequest)(nil), // 19: flyteidl2.workflow.GetActionDetailsRequest + (*WatchActionDetailsRequest)(nil), // 20: flyteidl2.workflow.WatchActionDetailsRequest + (*ListRunsRequest)(nil), // 21: flyteidl2.workflow.ListRunsRequest + (*WatchRunsRequest)(nil), // 22: flyteidl2.workflow.WatchRunsRequest + (*ListActionsRequest)(nil), // 23: flyteidl2.workflow.ListActionsRequest + (*WatchActionsRequest)(nil), // 24: flyteidl2.workflow.WatchActionsRequest + (*CreateRunResponse)(nil), // 25: flyteidl2.workflow.CreateRunResponse + (*GetRunDetailsResponse)(nil), // 26: flyteidl2.workflow.GetRunDetailsResponse + (*WatchRunDetailsResponse)(nil), // 27: flyteidl2.workflow.WatchRunDetailsResponse + (*GetActionDetailsResponse)(nil), // 28: flyteidl2.workflow.GetActionDetailsResponse + (*WatchActionDetailsResponse)(nil), // 29: flyteidl2.workflow.WatchActionDetailsResponse + (*ListRunsResponse)(nil), // 30: flyteidl2.workflow.ListRunsResponse + (*WatchRunsResponse)(nil), // 31: flyteidl2.workflow.WatchRunsResponse + (*ListActionsResponse)(nil), // 32: flyteidl2.workflow.ListActionsResponse + (*WatchActionsResponse)(nil), // 33: flyteidl2.workflow.WatchActionsResponse +} +var file_flyteidl2_workflow_local_run_service_proto_depIdxs = []int32{ + 5, // 0: flyteidl2.workflow.CreateLocalRunRequest.run_id:type_name -> flyteidl2.common.RunIdentifier + 6, // 1: flyteidl2.workflow.CreateLocalRunRequest.project_id:type_name -> flyteidl2.common.ProjectIdentifier + 7, // 2: flyteidl2.workflow.CreateLocalRunRequest.task_id:type_name -> flyteidl2.task.TaskIdentifier + 8, // 3: flyteidl2.workflow.CreateLocalRunRequest.task_spec:type_name -> flyteidl2.task.TaskSpec + 9, // 4: flyteidl2.workflow.CreateLocalRunRequest.offloaded_input_data:type_name -> flyteidl2.common.OffloadedInputData + 10, // 5: flyteidl2.workflow.CreateLocalRunRequest.run_spec:type_name -> flyteidl2.task.RunSpec + 4, // 6: flyteidl2.workflow.CreateLocalRunRequest.labels:type_name -> flyteidl2.workflow.CreateLocalRunRequest.LabelsEntry + 11, // 7: flyteidl2.workflow.CreateLocalRunRequest.run_start_time:type_name -> google.protobuf.Timestamp + 12, // 8: flyteidl2.workflow.LocalActionUpdate.event:type_name -> flyteidl2.workflow.ActionEvent + 13, // 9: flyteidl2.workflow.LocalActionUpdate.task:type_name -> flyteidl2.workflow.TaskAction + 14, // 10: flyteidl2.workflow.LocalActionUpdate.trace:type_name -> flyteidl2.workflow.TraceAction + 15, // 11: flyteidl2.workflow.LocalActionUpdate.status:type_name -> flyteidl2.workflow.ActionStatus + 5, // 12: flyteidl2.workflow.ReportLocalActionsRequest.run_id:type_name -> flyteidl2.common.RunIdentifier + 1, // 13: flyteidl2.workflow.ReportLocalActionsRequest.updates:type_name -> flyteidl2.workflow.LocalActionUpdate + 16, // 14: flyteidl2.workflow.ReportLocalActionsResponse.statuses:type_name -> google.rpc.Status + 0, // 15: flyteidl2.workflow.LocalRunService.CreateRun:input_type -> flyteidl2.workflow.CreateLocalRunRequest + 2, // 16: flyteidl2.workflow.LocalRunService.ReportActions:input_type -> flyteidl2.workflow.ReportLocalActionsRequest + 17, // 17: flyteidl2.workflow.LocalRunService.GetRunDetails:input_type -> flyteidl2.workflow.GetRunDetailsRequest + 18, // 18: flyteidl2.workflow.LocalRunService.WatchRunDetails:input_type -> flyteidl2.workflow.WatchRunDetailsRequest + 19, // 19: flyteidl2.workflow.LocalRunService.GetActionDetails:input_type -> flyteidl2.workflow.GetActionDetailsRequest + 20, // 20: flyteidl2.workflow.LocalRunService.WatchActionDetails:input_type -> flyteidl2.workflow.WatchActionDetailsRequest + 21, // 21: flyteidl2.workflow.LocalRunService.ListRuns:input_type -> flyteidl2.workflow.ListRunsRequest + 22, // 22: flyteidl2.workflow.LocalRunService.WatchRuns:input_type -> flyteidl2.workflow.WatchRunsRequest + 23, // 23: flyteidl2.workflow.LocalRunService.ListActions:input_type -> flyteidl2.workflow.ListActionsRequest + 24, // 24: flyteidl2.workflow.LocalRunService.WatchActions:input_type -> flyteidl2.workflow.WatchActionsRequest + 25, // 25: flyteidl2.workflow.LocalRunService.CreateRun:output_type -> flyteidl2.workflow.CreateRunResponse + 3, // 26: flyteidl2.workflow.LocalRunService.ReportActions:output_type -> flyteidl2.workflow.ReportLocalActionsResponse + 26, // 27: flyteidl2.workflow.LocalRunService.GetRunDetails:output_type -> flyteidl2.workflow.GetRunDetailsResponse + 27, // 28: flyteidl2.workflow.LocalRunService.WatchRunDetails:output_type -> flyteidl2.workflow.WatchRunDetailsResponse + 28, // 29: flyteidl2.workflow.LocalRunService.GetActionDetails:output_type -> flyteidl2.workflow.GetActionDetailsResponse + 29, // 30: flyteidl2.workflow.LocalRunService.WatchActionDetails:output_type -> flyteidl2.workflow.WatchActionDetailsResponse + 30, // 31: flyteidl2.workflow.LocalRunService.ListRuns:output_type -> flyteidl2.workflow.ListRunsResponse + 31, // 32: flyteidl2.workflow.LocalRunService.WatchRuns:output_type -> flyteidl2.workflow.WatchRunsResponse + 32, // 33: flyteidl2.workflow.LocalRunService.ListActions:output_type -> flyteidl2.workflow.ListActionsResponse + 33, // 34: flyteidl2.workflow.LocalRunService.WatchActions:output_type -> flyteidl2.workflow.WatchActionsResponse + 25, // [25:35] is the sub-list for method output_type + 15, // [15:25] 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_flyteidl2_workflow_local_run_service_proto_init() } +func file_flyteidl2_workflow_local_run_service_proto_init() { + if File_flyteidl2_workflow_local_run_service_proto != nil { + return + } + file_flyteidl2_workflow_run_definition_proto_init() + file_flyteidl2_workflow_run_service_proto_init() + if !protoimpl.UnsafeEnabled { + file_flyteidl2_workflow_local_run_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateLocalRunRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_flyteidl2_workflow_local_run_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LocalActionUpdate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_flyteidl2_workflow_local_run_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReportLocalActionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_flyteidl2_workflow_local_run_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReportLocalActionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_flyteidl2_workflow_local_run_service_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*CreateLocalRunRequest_RunId)(nil), + (*CreateLocalRunRequest_ProjectId)(nil), + (*CreateLocalRunRequest_TaskId)(nil), + (*CreateLocalRunRequest_TaskSpec)(nil), + } + file_flyteidl2_workflow_local_run_service_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*LocalActionUpdate_Task)(nil), + (*LocalActionUpdate_Trace)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_flyteidl2_workflow_local_run_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_flyteidl2_workflow_local_run_service_proto_goTypes, + DependencyIndexes: file_flyteidl2_workflow_local_run_service_proto_depIdxs, + MessageInfos: file_flyteidl2_workflow_local_run_service_proto_msgTypes, + }.Build() + File_flyteidl2_workflow_local_run_service_proto = out.File + file_flyteidl2_workflow_local_run_service_proto_rawDesc = nil + file_flyteidl2_workflow_local_run_service_proto_goTypes = nil + file_flyteidl2_workflow_local_run_service_proto_depIdxs = nil +} diff --git a/gen/go/flyteidl2/workflow/local_run_service.pb.validate.go b/gen/go/flyteidl2/workflow/local_run_service.pb.validate.go new file mode 100644 index 00000000000..6ccc6178c66 --- /dev/null +++ b/gen/go/flyteidl2/workflow/local_run_service.pb.validate.go @@ -0,0 +1,956 @@ +// Code generated by protoc-gen-validate. DO NOT EDIT. +// source: flyteidl2/workflow/local_run_service.proto + +package workflow + +import ( + "bytes" + "errors" + "fmt" + "net" + "net/mail" + "net/url" + "regexp" + "sort" + "strings" + "time" + "unicode/utf8" + + "google.golang.org/protobuf/types/known/anypb" +) + +// ensure the imports are used +var ( + _ = bytes.MinRead + _ = errors.New("") + _ = fmt.Print + _ = utf8.UTFMax + _ = (*regexp.Regexp)(nil) + _ = (*strings.Reader)(nil) + _ = net.IPv4len + _ = time.Duration(0) + _ = (*url.URL)(nil) + _ = (*mail.Address)(nil) + _ = anypb.Any{} + _ = sort.Sort +) + +// Validate checks the field values on CreateLocalRunRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *CreateLocalRunRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on CreateLocalRunRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// CreateLocalRunRequestMultiError, or nil if none found. +func (m *CreateLocalRunRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *CreateLocalRunRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if all { + switch v := interface{}(m.GetRunSpec()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, CreateLocalRunRequestValidationError{ + field: "RunSpec", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, CreateLocalRunRequestValidationError{ + field: "RunSpec", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetRunSpec()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CreateLocalRunRequestValidationError{ + field: "RunSpec", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Labels + + if all { + switch v := interface{}(m.GetRunStartTime()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, CreateLocalRunRequestValidationError{ + field: "RunStartTime", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, CreateLocalRunRequestValidationError{ + field: "RunStartTime", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetRunStartTime()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CreateLocalRunRequestValidationError{ + field: "RunStartTime", + reason: "embedded message failed validation", + cause: err, + } + } + } + + switch v := m.Id.(type) { + case *CreateLocalRunRequest_RunId: + if v == nil { + err := CreateLocalRunRequestValidationError{ + field: "Id", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetRunId()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, CreateLocalRunRequestValidationError{ + field: "RunId", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, CreateLocalRunRequestValidationError{ + field: "RunId", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetRunId()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CreateLocalRunRequestValidationError{ + field: "RunId", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *CreateLocalRunRequest_ProjectId: + if v == nil { + err := CreateLocalRunRequestValidationError{ + field: "Id", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetProjectId()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, CreateLocalRunRequestValidationError{ + field: "ProjectId", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, CreateLocalRunRequestValidationError{ + field: "ProjectId", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetProjectId()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CreateLocalRunRequestValidationError{ + field: "ProjectId", + reason: "embedded message failed validation", + cause: err, + } + } + } + + default: + _ = v // ensures v is used + } + switch v := m.Task.(type) { + case *CreateLocalRunRequest_TaskId: + if v == nil { + err := CreateLocalRunRequestValidationError{ + field: "Task", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetTaskId()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, CreateLocalRunRequestValidationError{ + field: "TaskId", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, CreateLocalRunRequestValidationError{ + field: "TaskId", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetTaskId()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CreateLocalRunRequestValidationError{ + field: "TaskId", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *CreateLocalRunRequest_TaskSpec: + if v == nil { + err := CreateLocalRunRequestValidationError{ + field: "Task", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetTaskSpec()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, CreateLocalRunRequestValidationError{ + field: "TaskSpec", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, CreateLocalRunRequestValidationError{ + field: "TaskSpec", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetTaskSpec()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CreateLocalRunRequestValidationError{ + field: "TaskSpec", + reason: "embedded message failed validation", + cause: err, + } + } + } + + default: + _ = v // ensures v is used + } + + if m.OffloadedInputData != nil { + + if all { + switch v := interface{}(m.GetOffloadedInputData()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, CreateLocalRunRequestValidationError{ + field: "OffloadedInputData", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, CreateLocalRunRequestValidationError{ + field: "OffloadedInputData", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetOffloadedInputData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CreateLocalRunRequestValidationError{ + field: "OffloadedInputData", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return CreateLocalRunRequestMultiError(errors) + } + + return nil +} + +// CreateLocalRunRequestMultiError is an error wrapping multiple validation +// errors returned by CreateLocalRunRequest.ValidateAll() if the designated +// constraints aren't met. +type CreateLocalRunRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m CreateLocalRunRequestMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m CreateLocalRunRequestMultiError) AllErrors() []error { return m } + +// CreateLocalRunRequestValidationError is the validation error returned by +// CreateLocalRunRequest.Validate if the designated constraints aren't met. +type CreateLocalRunRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e CreateLocalRunRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e CreateLocalRunRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e CreateLocalRunRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e CreateLocalRunRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e CreateLocalRunRequestValidationError) ErrorName() string { + return "CreateLocalRunRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e CreateLocalRunRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sCreateLocalRunRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = CreateLocalRunRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = CreateLocalRunRequestValidationError{} + +// Validate checks the field values on LocalActionUpdate with the rules defined +// in the proto definition for this message. If any rules are violated, the +// first error encountered is returned, or nil if there are no violations. +func (m *LocalActionUpdate) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on LocalActionUpdate with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// LocalActionUpdateMultiError, or nil if none found. +func (m *LocalActionUpdate) ValidateAll() error { + return m.validate(true) +} + +func (m *LocalActionUpdate) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if all { + switch v := interface{}(m.GetEvent()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, LocalActionUpdateValidationError{ + field: "Event", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, LocalActionUpdateValidationError{ + field: "Event", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetEvent()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return LocalActionUpdateValidationError{ + field: "Event", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for ParentName + + // no validation rules for Group + + if all { + switch v := interface{}(m.GetStatus()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, LocalActionUpdateValidationError{ + field: "Status", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, LocalActionUpdateValidationError{ + field: "Status", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetStatus()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return LocalActionUpdateValidationError{ + field: "Status", + reason: "embedded message failed validation", + cause: err, + } + } + } + + switch v := m.Spec.(type) { + case *LocalActionUpdate_Task: + if v == nil { + err := LocalActionUpdateValidationError{ + field: "Spec", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetTask()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, LocalActionUpdateValidationError{ + field: "Task", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, LocalActionUpdateValidationError{ + field: "Task", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetTask()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return LocalActionUpdateValidationError{ + field: "Task", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *LocalActionUpdate_Trace: + if v == nil { + err := LocalActionUpdateValidationError{ + field: "Spec", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetTrace()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, LocalActionUpdateValidationError{ + field: "Trace", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, LocalActionUpdateValidationError{ + field: "Trace", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetTrace()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return LocalActionUpdateValidationError{ + field: "Trace", + reason: "embedded message failed validation", + cause: err, + } + } + } + + default: + _ = v // ensures v is used + } + + if len(errors) > 0 { + return LocalActionUpdateMultiError(errors) + } + + return nil +} + +// LocalActionUpdateMultiError is an error wrapping multiple validation errors +// returned by LocalActionUpdate.ValidateAll() if the designated constraints +// aren't met. +type LocalActionUpdateMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m LocalActionUpdateMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m LocalActionUpdateMultiError) AllErrors() []error { return m } + +// LocalActionUpdateValidationError is the validation error returned by +// LocalActionUpdate.Validate if the designated constraints aren't met. +type LocalActionUpdateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e LocalActionUpdateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e LocalActionUpdateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e LocalActionUpdateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e LocalActionUpdateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e LocalActionUpdateValidationError) ErrorName() string { + return "LocalActionUpdateValidationError" +} + +// Error satisfies the builtin error interface +func (e LocalActionUpdateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sLocalActionUpdate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = LocalActionUpdateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = LocalActionUpdateValidationError{} + +// Validate checks the field values on ReportLocalActionsRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ReportLocalActionsRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ReportLocalActionsRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ReportLocalActionsRequestMultiError, or nil if none found. +func (m *ReportLocalActionsRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *ReportLocalActionsRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if all { + switch v := interface{}(m.GetRunId()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ReportLocalActionsRequestValidationError{ + field: "RunId", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ReportLocalActionsRequestValidationError{ + field: "RunId", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetRunId()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ReportLocalActionsRequestValidationError{ + field: "RunId", + reason: "embedded message failed validation", + cause: err, + } + } + } + + for idx, item := range m.GetUpdates() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ReportLocalActionsRequestValidationError{ + field: fmt.Sprintf("Updates[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ReportLocalActionsRequestValidationError{ + field: fmt.Sprintf("Updates[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ReportLocalActionsRequestValidationError{ + field: fmt.Sprintf("Updates[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return ReportLocalActionsRequestMultiError(errors) + } + + return nil +} + +// ReportLocalActionsRequestMultiError is an error wrapping multiple validation +// errors returned by ReportLocalActionsRequest.ValidateAll() if the +// designated constraints aren't met. +type ReportLocalActionsRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ReportLocalActionsRequestMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ReportLocalActionsRequestMultiError) AllErrors() []error { return m } + +// ReportLocalActionsRequestValidationError is the validation error returned by +// ReportLocalActionsRequest.Validate if the designated constraints aren't met. +type ReportLocalActionsRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ReportLocalActionsRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ReportLocalActionsRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ReportLocalActionsRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ReportLocalActionsRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ReportLocalActionsRequestValidationError) ErrorName() string { + return "ReportLocalActionsRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ReportLocalActionsRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sReportLocalActionsRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ReportLocalActionsRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ReportLocalActionsRequestValidationError{} + +// Validate checks the field values on ReportLocalActionsResponse with the +// rules defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ReportLocalActionsResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ReportLocalActionsResponse with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ReportLocalActionsResponseMultiError, or nil if none found. +func (m *ReportLocalActionsResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *ReportLocalActionsResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + for idx, item := range m.GetStatuses() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ReportLocalActionsResponseValidationError{ + field: fmt.Sprintf("Statuses[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ReportLocalActionsResponseValidationError{ + field: fmt.Sprintf("Statuses[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ReportLocalActionsResponseValidationError{ + field: fmt.Sprintf("Statuses[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return ReportLocalActionsResponseMultiError(errors) + } + + return nil +} + +// ReportLocalActionsResponseMultiError is an error wrapping multiple +// validation errors returned by ReportLocalActionsResponse.ValidateAll() if +// the designated constraints aren't met. +type ReportLocalActionsResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ReportLocalActionsResponseMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ReportLocalActionsResponseMultiError) AllErrors() []error { return m } + +// ReportLocalActionsResponseValidationError is the validation error returned +// by ReportLocalActionsResponse.Validate if the designated constraints aren't met. +type ReportLocalActionsResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ReportLocalActionsResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ReportLocalActionsResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ReportLocalActionsResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ReportLocalActionsResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ReportLocalActionsResponseValidationError) ErrorName() string { + return "ReportLocalActionsResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e ReportLocalActionsResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sReportLocalActionsResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ReportLocalActionsResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ReportLocalActionsResponseValidationError{} diff --git a/gen/go/flyteidl2/workflow/local_run_service_grpc.pb.go b/gen/go/flyteidl2/workflow/local_run_service_grpc.pb.go new file mode 100644 index 00000000000..f2843e97a39 --- /dev/null +++ b/gen/go/flyteidl2/workflow/local_run_service_grpc.pb.go @@ -0,0 +1,579 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: flyteidl2/workflow/local_run_service.proto + +package workflow + +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.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + LocalRunService_CreateRun_FullMethodName = "/flyteidl2.workflow.LocalRunService/CreateRun" + LocalRunService_ReportActions_FullMethodName = "/flyteidl2.workflow.LocalRunService/ReportActions" + LocalRunService_GetRunDetails_FullMethodName = "/flyteidl2.workflow.LocalRunService/GetRunDetails" + LocalRunService_WatchRunDetails_FullMethodName = "/flyteidl2.workflow.LocalRunService/WatchRunDetails" + LocalRunService_GetActionDetails_FullMethodName = "/flyteidl2.workflow.LocalRunService/GetActionDetails" + LocalRunService_WatchActionDetails_FullMethodName = "/flyteidl2.workflow.LocalRunService/WatchActionDetails" + LocalRunService_ListRuns_FullMethodName = "/flyteidl2.workflow.LocalRunService/ListRuns" + LocalRunService_WatchRuns_FullMethodName = "/flyteidl2.workflow.LocalRunService/WatchRuns" + LocalRunService_ListActions_FullMethodName = "/flyteidl2.workflow.LocalRunService/ListActions" + LocalRunService_WatchActions_FullMethodName = "/flyteidl2.workflow.LocalRunService/WatchActions" +) + +// LocalRunServiceClient is the client API for LocalRunService 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. +type LocalRunServiceClient interface { + // Register a new local run. The server creates the root action ("a0") in the reported state and + // returns the resolved run. If a run name is not provided, the server generates one. + CreateRun(ctx context.Context, in *CreateLocalRunRequest, opts ...grpc.CallOption) (*CreateRunResponse, error) + // Report state for one or more actions of a local run. Creates actions on first report and + // updates them on subsequent reports. Reports are idempotent: an event with an + // (attempt, version, phase) tuple that was already recorded is acknowledged as success. + ReportActions(ctx context.Context, in *ReportLocalActionsRequest, opts ...grpc.CallOption) (*ReportLocalActionsResponse, error) + // Get detailed information about a local run. + GetRunDetails(ctx context.Context, in *GetRunDetailsRequest, opts ...grpc.CallOption) (*GetRunDetailsResponse, error) + // Stream detailed information updates about a local run. The call will terminate when the run + // reaches a terminal phase. + WatchRunDetails(ctx context.Context, in *WatchRunDetailsRequest, opts ...grpc.CallOption) (LocalRunService_WatchRunDetailsClient, error) + // Get detailed information about an action of a local run. + GetActionDetails(ctx context.Context, in *GetActionDetailsRequest, opts ...grpc.CallOption) (*GetActionDetailsResponse, error) + // Stream detailed information updates about an action of a local run. The call will terminate + // when the action reaches a terminal phase. + WatchActionDetails(ctx context.Context, in *WatchActionDetailsRequest, opts ...grpc.CallOption) (LocalRunService_WatchActionDetailsClient, error) + // List local runs based on the provided filter criteria. + ListRuns(ctx context.Context, in *ListRunsRequest, opts ...grpc.CallOption) (*ListRunsResponse, error) + // Stream updates for local runs based on the provided filter criteria. + WatchRuns(ctx context.Context, in *WatchRunsRequest, opts ...grpc.CallOption) (LocalRunService_WatchRunsClient, error) + // List all actions for a given local run. + ListActions(ctx context.Context, in *ListActionsRequest, opts ...grpc.CallOption) (*ListActionsResponse, error) + // Stream updates for actions of a given local run. + WatchActions(ctx context.Context, in *WatchActionsRequest, opts ...grpc.CallOption) (LocalRunService_WatchActionsClient, error) +} + +type localRunServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewLocalRunServiceClient(cc grpc.ClientConnInterface) LocalRunServiceClient { + return &localRunServiceClient{cc} +} + +func (c *localRunServiceClient) CreateRun(ctx context.Context, in *CreateLocalRunRequest, opts ...grpc.CallOption) (*CreateRunResponse, error) { + out := new(CreateRunResponse) + err := c.cc.Invoke(ctx, LocalRunService_CreateRun_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *localRunServiceClient) ReportActions(ctx context.Context, in *ReportLocalActionsRequest, opts ...grpc.CallOption) (*ReportLocalActionsResponse, error) { + out := new(ReportLocalActionsResponse) + err := c.cc.Invoke(ctx, LocalRunService_ReportActions_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *localRunServiceClient) GetRunDetails(ctx context.Context, in *GetRunDetailsRequest, opts ...grpc.CallOption) (*GetRunDetailsResponse, error) { + out := new(GetRunDetailsResponse) + err := c.cc.Invoke(ctx, LocalRunService_GetRunDetails_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *localRunServiceClient) WatchRunDetails(ctx context.Context, in *WatchRunDetailsRequest, opts ...grpc.CallOption) (LocalRunService_WatchRunDetailsClient, error) { + stream, err := c.cc.NewStream(ctx, &LocalRunService_ServiceDesc.Streams[0], LocalRunService_WatchRunDetails_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &localRunServiceWatchRunDetailsClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type LocalRunService_WatchRunDetailsClient interface { + Recv() (*WatchRunDetailsResponse, error) + grpc.ClientStream +} + +type localRunServiceWatchRunDetailsClient struct { + grpc.ClientStream +} + +func (x *localRunServiceWatchRunDetailsClient) Recv() (*WatchRunDetailsResponse, error) { + m := new(WatchRunDetailsResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *localRunServiceClient) GetActionDetails(ctx context.Context, in *GetActionDetailsRequest, opts ...grpc.CallOption) (*GetActionDetailsResponse, error) { + out := new(GetActionDetailsResponse) + err := c.cc.Invoke(ctx, LocalRunService_GetActionDetails_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *localRunServiceClient) WatchActionDetails(ctx context.Context, in *WatchActionDetailsRequest, opts ...grpc.CallOption) (LocalRunService_WatchActionDetailsClient, error) { + stream, err := c.cc.NewStream(ctx, &LocalRunService_ServiceDesc.Streams[1], LocalRunService_WatchActionDetails_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &localRunServiceWatchActionDetailsClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type LocalRunService_WatchActionDetailsClient interface { + Recv() (*WatchActionDetailsResponse, error) + grpc.ClientStream +} + +type localRunServiceWatchActionDetailsClient struct { + grpc.ClientStream +} + +func (x *localRunServiceWatchActionDetailsClient) Recv() (*WatchActionDetailsResponse, error) { + m := new(WatchActionDetailsResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *localRunServiceClient) ListRuns(ctx context.Context, in *ListRunsRequest, opts ...grpc.CallOption) (*ListRunsResponse, error) { + out := new(ListRunsResponse) + err := c.cc.Invoke(ctx, LocalRunService_ListRuns_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *localRunServiceClient) WatchRuns(ctx context.Context, in *WatchRunsRequest, opts ...grpc.CallOption) (LocalRunService_WatchRunsClient, error) { + stream, err := c.cc.NewStream(ctx, &LocalRunService_ServiceDesc.Streams[2], LocalRunService_WatchRuns_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &localRunServiceWatchRunsClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type LocalRunService_WatchRunsClient interface { + Recv() (*WatchRunsResponse, error) + grpc.ClientStream +} + +type localRunServiceWatchRunsClient struct { + grpc.ClientStream +} + +func (x *localRunServiceWatchRunsClient) Recv() (*WatchRunsResponse, error) { + m := new(WatchRunsResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *localRunServiceClient) ListActions(ctx context.Context, in *ListActionsRequest, opts ...grpc.CallOption) (*ListActionsResponse, error) { + out := new(ListActionsResponse) + err := c.cc.Invoke(ctx, LocalRunService_ListActions_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *localRunServiceClient) WatchActions(ctx context.Context, in *WatchActionsRequest, opts ...grpc.CallOption) (LocalRunService_WatchActionsClient, error) { + stream, err := c.cc.NewStream(ctx, &LocalRunService_ServiceDesc.Streams[3], LocalRunService_WatchActions_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &localRunServiceWatchActionsClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type LocalRunService_WatchActionsClient interface { + Recv() (*WatchActionsResponse, error) + grpc.ClientStream +} + +type localRunServiceWatchActionsClient struct { + grpc.ClientStream +} + +func (x *localRunServiceWatchActionsClient) Recv() (*WatchActionsResponse, error) { + m := new(WatchActionsResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// LocalRunServiceServer is the server API for LocalRunService service. +// All implementations should embed UnimplementedLocalRunServiceServer +// for forward compatibility +type LocalRunServiceServer interface { + // Register a new local run. The server creates the root action ("a0") in the reported state and + // returns the resolved run. If a run name is not provided, the server generates one. + CreateRun(context.Context, *CreateLocalRunRequest) (*CreateRunResponse, error) + // Report state for one or more actions of a local run. Creates actions on first report and + // updates them on subsequent reports. Reports are idempotent: an event with an + // (attempt, version, phase) tuple that was already recorded is acknowledged as success. + ReportActions(context.Context, *ReportLocalActionsRequest) (*ReportLocalActionsResponse, error) + // Get detailed information about a local run. + GetRunDetails(context.Context, *GetRunDetailsRequest) (*GetRunDetailsResponse, error) + // Stream detailed information updates about a local run. The call will terminate when the run + // reaches a terminal phase. + WatchRunDetails(*WatchRunDetailsRequest, LocalRunService_WatchRunDetailsServer) error + // Get detailed information about an action of a local run. + GetActionDetails(context.Context, *GetActionDetailsRequest) (*GetActionDetailsResponse, error) + // Stream detailed information updates about an action of a local run. The call will terminate + // when the action reaches a terminal phase. + WatchActionDetails(*WatchActionDetailsRequest, LocalRunService_WatchActionDetailsServer) error + // List local runs based on the provided filter criteria. + ListRuns(context.Context, *ListRunsRequest) (*ListRunsResponse, error) + // Stream updates for local runs based on the provided filter criteria. + WatchRuns(*WatchRunsRequest, LocalRunService_WatchRunsServer) error + // List all actions for a given local run. + ListActions(context.Context, *ListActionsRequest) (*ListActionsResponse, error) + // Stream updates for actions of a given local run. + WatchActions(*WatchActionsRequest, LocalRunService_WatchActionsServer) error +} + +// UnimplementedLocalRunServiceServer should be embedded to have forward compatible implementations. +type UnimplementedLocalRunServiceServer struct { +} + +func (UnimplementedLocalRunServiceServer) CreateRun(context.Context, *CreateLocalRunRequest) (*CreateRunResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateRun not implemented") +} +func (UnimplementedLocalRunServiceServer) ReportActions(context.Context, *ReportLocalActionsRequest) (*ReportLocalActionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReportActions not implemented") +} +func (UnimplementedLocalRunServiceServer) GetRunDetails(context.Context, *GetRunDetailsRequest) (*GetRunDetailsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetRunDetails not implemented") +} +func (UnimplementedLocalRunServiceServer) WatchRunDetails(*WatchRunDetailsRequest, LocalRunService_WatchRunDetailsServer) error { + return status.Errorf(codes.Unimplemented, "method WatchRunDetails not implemented") +} +func (UnimplementedLocalRunServiceServer) GetActionDetails(context.Context, *GetActionDetailsRequest) (*GetActionDetailsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetActionDetails not implemented") +} +func (UnimplementedLocalRunServiceServer) WatchActionDetails(*WatchActionDetailsRequest, LocalRunService_WatchActionDetailsServer) error { + return status.Errorf(codes.Unimplemented, "method WatchActionDetails not implemented") +} +func (UnimplementedLocalRunServiceServer) ListRuns(context.Context, *ListRunsRequest) (*ListRunsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListRuns not implemented") +} +func (UnimplementedLocalRunServiceServer) WatchRuns(*WatchRunsRequest, LocalRunService_WatchRunsServer) error { + return status.Errorf(codes.Unimplemented, "method WatchRuns not implemented") +} +func (UnimplementedLocalRunServiceServer) ListActions(context.Context, *ListActionsRequest) (*ListActionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListActions not implemented") +} +func (UnimplementedLocalRunServiceServer) WatchActions(*WatchActionsRequest, LocalRunService_WatchActionsServer) error { + return status.Errorf(codes.Unimplemented, "method WatchActions not implemented") +} + +// UnsafeLocalRunServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to LocalRunServiceServer will +// result in compilation errors. +type UnsafeLocalRunServiceServer interface { + mustEmbedUnimplementedLocalRunServiceServer() +} + +func RegisterLocalRunServiceServer(s grpc.ServiceRegistrar, srv LocalRunServiceServer) { + s.RegisterService(&LocalRunService_ServiceDesc, srv) +} + +func _LocalRunService_CreateRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateLocalRunRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LocalRunServiceServer).CreateRun(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LocalRunService_CreateRun_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LocalRunServiceServer).CreateRun(ctx, req.(*CreateLocalRunRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _LocalRunService_ReportActions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReportLocalActionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LocalRunServiceServer).ReportActions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LocalRunService_ReportActions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LocalRunServiceServer).ReportActions(ctx, req.(*ReportLocalActionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _LocalRunService_GetRunDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRunDetailsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LocalRunServiceServer).GetRunDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LocalRunService_GetRunDetails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LocalRunServiceServer).GetRunDetails(ctx, req.(*GetRunDetailsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _LocalRunService_WatchRunDetails_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(WatchRunDetailsRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(LocalRunServiceServer).WatchRunDetails(m, &localRunServiceWatchRunDetailsServer{stream}) +} + +type LocalRunService_WatchRunDetailsServer interface { + Send(*WatchRunDetailsResponse) error + grpc.ServerStream +} + +type localRunServiceWatchRunDetailsServer struct { + grpc.ServerStream +} + +func (x *localRunServiceWatchRunDetailsServer) Send(m *WatchRunDetailsResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _LocalRunService_GetActionDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetActionDetailsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LocalRunServiceServer).GetActionDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LocalRunService_GetActionDetails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LocalRunServiceServer).GetActionDetails(ctx, req.(*GetActionDetailsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _LocalRunService_WatchActionDetails_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(WatchActionDetailsRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(LocalRunServiceServer).WatchActionDetails(m, &localRunServiceWatchActionDetailsServer{stream}) +} + +type LocalRunService_WatchActionDetailsServer interface { + Send(*WatchActionDetailsResponse) error + grpc.ServerStream +} + +type localRunServiceWatchActionDetailsServer struct { + grpc.ServerStream +} + +func (x *localRunServiceWatchActionDetailsServer) Send(m *WatchActionDetailsResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _LocalRunService_ListRuns_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListRunsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LocalRunServiceServer).ListRuns(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LocalRunService_ListRuns_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LocalRunServiceServer).ListRuns(ctx, req.(*ListRunsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _LocalRunService_WatchRuns_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(WatchRunsRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(LocalRunServiceServer).WatchRuns(m, &localRunServiceWatchRunsServer{stream}) +} + +type LocalRunService_WatchRunsServer interface { + Send(*WatchRunsResponse) error + grpc.ServerStream +} + +type localRunServiceWatchRunsServer struct { + grpc.ServerStream +} + +func (x *localRunServiceWatchRunsServer) Send(m *WatchRunsResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _LocalRunService_ListActions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListActionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LocalRunServiceServer).ListActions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LocalRunService_ListActions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LocalRunServiceServer).ListActions(ctx, req.(*ListActionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _LocalRunService_WatchActions_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(WatchActionsRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(LocalRunServiceServer).WatchActions(m, &localRunServiceWatchActionsServer{stream}) +} + +type LocalRunService_WatchActionsServer interface { + Send(*WatchActionsResponse) error + grpc.ServerStream +} + +type localRunServiceWatchActionsServer struct { + grpc.ServerStream +} + +func (x *localRunServiceWatchActionsServer) Send(m *WatchActionsResponse) error { + return x.ServerStream.SendMsg(m) +} + +// LocalRunService_ServiceDesc is the grpc.ServiceDesc for LocalRunService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var LocalRunService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "flyteidl2.workflow.LocalRunService", + HandlerType: (*LocalRunServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateRun", + Handler: _LocalRunService_CreateRun_Handler, + }, + { + MethodName: "ReportActions", + Handler: _LocalRunService_ReportActions_Handler, + }, + { + MethodName: "GetRunDetails", + Handler: _LocalRunService_GetRunDetails_Handler, + }, + { + MethodName: "GetActionDetails", + Handler: _LocalRunService_GetActionDetails_Handler, + }, + { + MethodName: "ListRuns", + Handler: _LocalRunService_ListRuns_Handler, + }, + { + MethodName: "ListActions", + Handler: _LocalRunService_ListActions_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "WatchRunDetails", + Handler: _LocalRunService_WatchRunDetails_Handler, + ServerStreams: true, + }, + { + StreamName: "WatchActionDetails", + Handler: _LocalRunService_WatchActionDetails_Handler, + ServerStreams: true, + }, + { + StreamName: "WatchRuns", + Handler: _LocalRunService_WatchRuns_Handler, + ServerStreams: true, + }, + { + StreamName: "WatchActions", + Handler: _LocalRunService_WatchActions_Handler, + ServerStreams: true, + }, + }, + Metadata: "flyteidl2/workflow/local_run_service.proto", +} diff --git a/gen/go/flyteidl2/workflow/run_definition.pb.go b/gen/go/flyteidl2/workflow/run_definition.pb.go index 7f797b35676..e8382615e60 100644 --- a/gen/go/flyteidl2/workflow/run_definition.pb.go +++ b/gen/go/flyteidl2/workflow/run_definition.pb.go @@ -136,6 +136,9 @@ const ( RunSource_RUN_SOURCE_WEB RunSource = 1 RunSource_RUN_SOURCE_CLI RunSource = 2 RunSource_RUN_SOURCE_SCHEDULE_TRIGGER RunSource = 3 + // The run is orchestrated outside the platform (e.g. on a user's machine) and its state is + // reported via LocalRunService. + RunSource_RUN_SOURCE_LOCAL RunSource = 4 ) // Enum value maps for RunSource. @@ -145,12 +148,14 @@ var ( 1: "RUN_SOURCE_WEB", 2: "RUN_SOURCE_CLI", 3: "RUN_SOURCE_SCHEDULE_TRIGGER", + 4: "RUN_SOURCE_LOCAL", } RunSource_value = map[string]int32{ "RUN_SOURCE_UNSPECIFIED": 0, "RUN_SOURCE_WEB": 1, "RUN_SOURCE_CLI": 2, "RUN_SOURCE_SCHEDULE_TRIGGER": 3, + "RUN_SOURCE_LOCAL": 4, } ) @@ -3196,28 +3201,30 @@ var file_flyteidl2_workflow_run_definition_proto_rawDesc = []byte{ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x70, - 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x52, - 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x55, 0x4e, 0x5f, 0x53, - 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x52, - 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x10, 0x02, 0x12, - 0x1f, 0x0a, 0x1b, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x43, - 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x10, 0x03, - 0x42, 0xcf, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x12, 0x52, 0x75, 0x6e, - 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, - 0x02, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, - 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, - 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x86, + 0x01, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x16, + 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x55, 0x4e, 0x5f, + 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, + 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x10, 0x02, + 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, + 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x10, + 0x03, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, + 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x42, 0xcf, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x42, 0x12, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x02, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, + 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, + 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/gen/go/flyteidl2/workflow/workflowconnect/local_run_service.connect.go b/gen/go/flyteidl2/workflow/workflowconnect/local_run_service.connect.go new file mode 100644 index 00000000000..3d7802c331c --- /dev/null +++ b/gen/go/flyteidl2/workflow/workflowconnect/local_run_service.connect.go @@ -0,0 +1,421 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: flyteidl2/workflow/local_run_service.proto + +package workflowconnect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + workflow "github.com/flyteorg/flyte/v2/gen/go/flyteidl2/workflow" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // LocalRunServiceName is the fully-qualified name of the LocalRunService service. + LocalRunServiceName = "flyteidl2.workflow.LocalRunService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // LocalRunServiceCreateRunProcedure is the fully-qualified name of the LocalRunService's CreateRun + // RPC. + LocalRunServiceCreateRunProcedure = "/flyteidl2.workflow.LocalRunService/CreateRun" + // LocalRunServiceReportActionsProcedure is the fully-qualified name of the LocalRunService's + // ReportActions RPC. + LocalRunServiceReportActionsProcedure = "/flyteidl2.workflow.LocalRunService/ReportActions" + // LocalRunServiceGetRunDetailsProcedure is the fully-qualified name of the LocalRunService's + // GetRunDetails RPC. + LocalRunServiceGetRunDetailsProcedure = "/flyteidl2.workflow.LocalRunService/GetRunDetails" + // LocalRunServiceWatchRunDetailsProcedure is the fully-qualified name of the LocalRunService's + // WatchRunDetails RPC. + LocalRunServiceWatchRunDetailsProcedure = "/flyteidl2.workflow.LocalRunService/WatchRunDetails" + // LocalRunServiceGetActionDetailsProcedure is the fully-qualified name of the LocalRunService's + // GetActionDetails RPC. + LocalRunServiceGetActionDetailsProcedure = "/flyteidl2.workflow.LocalRunService/GetActionDetails" + // LocalRunServiceWatchActionDetailsProcedure is the fully-qualified name of the LocalRunService's + // WatchActionDetails RPC. + LocalRunServiceWatchActionDetailsProcedure = "/flyteidl2.workflow.LocalRunService/WatchActionDetails" + // LocalRunServiceListRunsProcedure is the fully-qualified name of the LocalRunService's ListRuns + // RPC. + LocalRunServiceListRunsProcedure = "/flyteidl2.workflow.LocalRunService/ListRuns" + // LocalRunServiceWatchRunsProcedure is the fully-qualified name of the LocalRunService's WatchRuns + // RPC. + LocalRunServiceWatchRunsProcedure = "/flyteidl2.workflow.LocalRunService/WatchRuns" + // LocalRunServiceListActionsProcedure is the fully-qualified name of the LocalRunService's + // ListActions RPC. + LocalRunServiceListActionsProcedure = "/flyteidl2.workflow.LocalRunService/ListActions" + // LocalRunServiceWatchActionsProcedure is the fully-qualified name of the LocalRunService's + // WatchActions RPC. + LocalRunServiceWatchActionsProcedure = "/flyteidl2.workflow.LocalRunService/WatchActions" +) + +// These variables are the protoreflect.Descriptor objects for the RPCs defined in this package. +var ( + localRunServiceServiceDescriptor = workflow.File_flyteidl2_workflow_local_run_service_proto.Services().ByName("LocalRunService") + localRunServiceCreateRunMethodDescriptor = localRunServiceServiceDescriptor.Methods().ByName("CreateRun") + localRunServiceReportActionsMethodDescriptor = localRunServiceServiceDescriptor.Methods().ByName("ReportActions") + localRunServiceGetRunDetailsMethodDescriptor = localRunServiceServiceDescriptor.Methods().ByName("GetRunDetails") + localRunServiceWatchRunDetailsMethodDescriptor = localRunServiceServiceDescriptor.Methods().ByName("WatchRunDetails") + localRunServiceGetActionDetailsMethodDescriptor = localRunServiceServiceDescriptor.Methods().ByName("GetActionDetails") + localRunServiceWatchActionDetailsMethodDescriptor = localRunServiceServiceDescriptor.Methods().ByName("WatchActionDetails") + localRunServiceListRunsMethodDescriptor = localRunServiceServiceDescriptor.Methods().ByName("ListRuns") + localRunServiceWatchRunsMethodDescriptor = localRunServiceServiceDescriptor.Methods().ByName("WatchRuns") + localRunServiceListActionsMethodDescriptor = localRunServiceServiceDescriptor.Methods().ByName("ListActions") + localRunServiceWatchActionsMethodDescriptor = localRunServiceServiceDescriptor.Methods().ByName("WatchActions") +) + +// LocalRunServiceClient is a client for the flyteidl2.workflow.LocalRunService service. +type LocalRunServiceClient interface { + // Register a new local run. The server creates the root action ("a0") in the reported state and + // returns the resolved run. If a run name is not provided, the server generates one. + CreateRun(context.Context, *connect.Request[workflow.CreateLocalRunRequest]) (*connect.Response[workflow.CreateRunResponse], error) + // Report state for one or more actions of a local run. Creates actions on first report and + // updates them on subsequent reports. Reports are idempotent: an event with an + // (attempt, version, phase) tuple that was already recorded is acknowledged as success. + ReportActions(context.Context, *connect.Request[workflow.ReportLocalActionsRequest]) (*connect.Response[workflow.ReportLocalActionsResponse], error) + // Get detailed information about a local run. + GetRunDetails(context.Context, *connect.Request[workflow.GetRunDetailsRequest]) (*connect.Response[workflow.GetRunDetailsResponse], error) + // Stream detailed information updates about a local run. The call will terminate when the run + // reaches a terminal phase. + WatchRunDetails(context.Context, *connect.Request[workflow.WatchRunDetailsRequest]) (*connect.ServerStreamForClient[workflow.WatchRunDetailsResponse], error) + // Get detailed information about an action of a local run. + GetActionDetails(context.Context, *connect.Request[workflow.GetActionDetailsRequest]) (*connect.Response[workflow.GetActionDetailsResponse], error) + // Stream detailed information updates about an action of a local run. The call will terminate + // when the action reaches a terminal phase. + WatchActionDetails(context.Context, *connect.Request[workflow.WatchActionDetailsRequest]) (*connect.ServerStreamForClient[workflow.WatchActionDetailsResponse], error) + // List local runs based on the provided filter criteria. + ListRuns(context.Context, *connect.Request[workflow.ListRunsRequest]) (*connect.Response[workflow.ListRunsResponse], error) + // Stream updates for local runs based on the provided filter criteria. + WatchRuns(context.Context, *connect.Request[workflow.WatchRunsRequest]) (*connect.ServerStreamForClient[workflow.WatchRunsResponse], error) + // List all actions for a given local run. + ListActions(context.Context, *connect.Request[workflow.ListActionsRequest]) (*connect.Response[workflow.ListActionsResponse], error) + // Stream updates for actions of a given local run. + WatchActions(context.Context, *connect.Request[workflow.WatchActionsRequest]) (*connect.ServerStreamForClient[workflow.WatchActionsResponse], error) +} + +// NewLocalRunServiceClient constructs a client for the flyteidl2.workflow.LocalRunService service. +// By default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped +// responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewLocalRunServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) LocalRunServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + return &localRunServiceClient{ + createRun: connect.NewClient[workflow.CreateLocalRunRequest, workflow.CreateRunResponse]( + httpClient, + baseURL+LocalRunServiceCreateRunProcedure, + connect.WithSchema(localRunServiceCreateRunMethodDescriptor), + connect.WithClientOptions(opts...), + ), + reportActions: connect.NewClient[workflow.ReportLocalActionsRequest, workflow.ReportLocalActionsResponse]( + httpClient, + baseURL+LocalRunServiceReportActionsProcedure, + connect.WithSchema(localRunServiceReportActionsMethodDescriptor), + connect.WithClientOptions(opts...), + ), + getRunDetails: connect.NewClient[workflow.GetRunDetailsRequest, workflow.GetRunDetailsResponse]( + httpClient, + baseURL+LocalRunServiceGetRunDetailsProcedure, + connect.WithSchema(localRunServiceGetRunDetailsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithClientOptions(opts...), + ), + watchRunDetails: connect.NewClient[workflow.WatchRunDetailsRequest, workflow.WatchRunDetailsResponse]( + httpClient, + baseURL+LocalRunServiceWatchRunDetailsProcedure, + connect.WithSchema(localRunServiceWatchRunDetailsMethodDescriptor), + connect.WithClientOptions(opts...), + ), + getActionDetails: connect.NewClient[workflow.GetActionDetailsRequest, workflow.GetActionDetailsResponse]( + httpClient, + baseURL+LocalRunServiceGetActionDetailsProcedure, + connect.WithSchema(localRunServiceGetActionDetailsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithClientOptions(opts...), + ), + watchActionDetails: connect.NewClient[workflow.WatchActionDetailsRequest, workflow.WatchActionDetailsResponse]( + httpClient, + baseURL+LocalRunServiceWatchActionDetailsProcedure, + connect.WithSchema(localRunServiceWatchActionDetailsMethodDescriptor), + connect.WithClientOptions(opts...), + ), + listRuns: connect.NewClient[workflow.ListRunsRequest, workflow.ListRunsResponse]( + httpClient, + baseURL+LocalRunServiceListRunsProcedure, + connect.WithSchema(localRunServiceListRunsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithClientOptions(opts...), + ), + watchRuns: connect.NewClient[workflow.WatchRunsRequest, workflow.WatchRunsResponse]( + httpClient, + baseURL+LocalRunServiceWatchRunsProcedure, + connect.WithSchema(localRunServiceWatchRunsMethodDescriptor), + connect.WithClientOptions(opts...), + ), + listActions: connect.NewClient[workflow.ListActionsRequest, workflow.ListActionsResponse]( + httpClient, + baseURL+LocalRunServiceListActionsProcedure, + connect.WithSchema(localRunServiceListActionsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithClientOptions(opts...), + ), + watchActions: connect.NewClient[workflow.WatchActionsRequest, workflow.WatchActionsResponse]( + httpClient, + baseURL+LocalRunServiceWatchActionsProcedure, + connect.WithSchema(localRunServiceWatchActionsMethodDescriptor), + connect.WithClientOptions(opts...), + ), + } +} + +// localRunServiceClient implements LocalRunServiceClient. +type localRunServiceClient struct { + createRun *connect.Client[workflow.CreateLocalRunRequest, workflow.CreateRunResponse] + reportActions *connect.Client[workflow.ReportLocalActionsRequest, workflow.ReportLocalActionsResponse] + getRunDetails *connect.Client[workflow.GetRunDetailsRequest, workflow.GetRunDetailsResponse] + watchRunDetails *connect.Client[workflow.WatchRunDetailsRequest, workflow.WatchRunDetailsResponse] + getActionDetails *connect.Client[workflow.GetActionDetailsRequest, workflow.GetActionDetailsResponse] + watchActionDetails *connect.Client[workflow.WatchActionDetailsRequest, workflow.WatchActionDetailsResponse] + listRuns *connect.Client[workflow.ListRunsRequest, workflow.ListRunsResponse] + watchRuns *connect.Client[workflow.WatchRunsRequest, workflow.WatchRunsResponse] + listActions *connect.Client[workflow.ListActionsRequest, workflow.ListActionsResponse] + watchActions *connect.Client[workflow.WatchActionsRequest, workflow.WatchActionsResponse] +} + +// CreateRun calls flyteidl2.workflow.LocalRunService.CreateRun. +func (c *localRunServiceClient) CreateRun(ctx context.Context, req *connect.Request[workflow.CreateLocalRunRequest]) (*connect.Response[workflow.CreateRunResponse], error) { + return c.createRun.CallUnary(ctx, req) +} + +// ReportActions calls flyteidl2.workflow.LocalRunService.ReportActions. +func (c *localRunServiceClient) ReportActions(ctx context.Context, req *connect.Request[workflow.ReportLocalActionsRequest]) (*connect.Response[workflow.ReportLocalActionsResponse], error) { + return c.reportActions.CallUnary(ctx, req) +} + +// GetRunDetails calls flyteidl2.workflow.LocalRunService.GetRunDetails. +func (c *localRunServiceClient) GetRunDetails(ctx context.Context, req *connect.Request[workflow.GetRunDetailsRequest]) (*connect.Response[workflow.GetRunDetailsResponse], error) { + return c.getRunDetails.CallUnary(ctx, req) +} + +// WatchRunDetails calls flyteidl2.workflow.LocalRunService.WatchRunDetails. +func (c *localRunServiceClient) WatchRunDetails(ctx context.Context, req *connect.Request[workflow.WatchRunDetailsRequest]) (*connect.ServerStreamForClient[workflow.WatchRunDetailsResponse], error) { + return c.watchRunDetails.CallServerStream(ctx, req) +} + +// GetActionDetails calls flyteidl2.workflow.LocalRunService.GetActionDetails. +func (c *localRunServiceClient) GetActionDetails(ctx context.Context, req *connect.Request[workflow.GetActionDetailsRequest]) (*connect.Response[workflow.GetActionDetailsResponse], error) { + return c.getActionDetails.CallUnary(ctx, req) +} + +// WatchActionDetails calls flyteidl2.workflow.LocalRunService.WatchActionDetails. +func (c *localRunServiceClient) WatchActionDetails(ctx context.Context, req *connect.Request[workflow.WatchActionDetailsRequest]) (*connect.ServerStreamForClient[workflow.WatchActionDetailsResponse], error) { + return c.watchActionDetails.CallServerStream(ctx, req) +} + +// ListRuns calls flyteidl2.workflow.LocalRunService.ListRuns. +func (c *localRunServiceClient) ListRuns(ctx context.Context, req *connect.Request[workflow.ListRunsRequest]) (*connect.Response[workflow.ListRunsResponse], error) { + return c.listRuns.CallUnary(ctx, req) +} + +// WatchRuns calls flyteidl2.workflow.LocalRunService.WatchRuns. +func (c *localRunServiceClient) WatchRuns(ctx context.Context, req *connect.Request[workflow.WatchRunsRequest]) (*connect.ServerStreamForClient[workflow.WatchRunsResponse], error) { + return c.watchRuns.CallServerStream(ctx, req) +} + +// ListActions calls flyteidl2.workflow.LocalRunService.ListActions. +func (c *localRunServiceClient) ListActions(ctx context.Context, req *connect.Request[workflow.ListActionsRequest]) (*connect.Response[workflow.ListActionsResponse], error) { + return c.listActions.CallUnary(ctx, req) +} + +// WatchActions calls flyteidl2.workflow.LocalRunService.WatchActions. +func (c *localRunServiceClient) WatchActions(ctx context.Context, req *connect.Request[workflow.WatchActionsRequest]) (*connect.ServerStreamForClient[workflow.WatchActionsResponse], error) { + return c.watchActions.CallServerStream(ctx, req) +} + +// LocalRunServiceHandler is an implementation of the flyteidl2.workflow.LocalRunService service. +type LocalRunServiceHandler interface { + // Register a new local run. The server creates the root action ("a0") in the reported state and + // returns the resolved run. If a run name is not provided, the server generates one. + CreateRun(context.Context, *connect.Request[workflow.CreateLocalRunRequest]) (*connect.Response[workflow.CreateRunResponse], error) + // Report state for one or more actions of a local run. Creates actions on first report and + // updates them on subsequent reports. Reports are idempotent: an event with an + // (attempt, version, phase) tuple that was already recorded is acknowledged as success. + ReportActions(context.Context, *connect.Request[workflow.ReportLocalActionsRequest]) (*connect.Response[workflow.ReportLocalActionsResponse], error) + // Get detailed information about a local run. + GetRunDetails(context.Context, *connect.Request[workflow.GetRunDetailsRequest]) (*connect.Response[workflow.GetRunDetailsResponse], error) + // Stream detailed information updates about a local run. The call will terminate when the run + // reaches a terminal phase. + WatchRunDetails(context.Context, *connect.Request[workflow.WatchRunDetailsRequest], *connect.ServerStream[workflow.WatchRunDetailsResponse]) error + // Get detailed information about an action of a local run. + GetActionDetails(context.Context, *connect.Request[workflow.GetActionDetailsRequest]) (*connect.Response[workflow.GetActionDetailsResponse], error) + // Stream detailed information updates about an action of a local run. The call will terminate + // when the action reaches a terminal phase. + WatchActionDetails(context.Context, *connect.Request[workflow.WatchActionDetailsRequest], *connect.ServerStream[workflow.WatchActionDetailsResponse]) error + // List local runs based on the provided filter criteria. + ListRuns(context.Context, *connect.Request[workflow.ListRunsRequest]) (*connect.Response[workflow.ListRunsResponse], error) + // Stream updates for local runs based on the provided filter criteria. + WatchRuns(context.Context, *connect.Request[workflow.WatchRunsRequest], *connect.ServerStream[workflow.WatchRunsResponse]) error + // List all actions for a given local run. + ListActions(context.Context, *connect.Request[workflow.ListActionsRequest]) (*connect.Response[workflow.ListActionsResponse], error) + // Stream updates for actions of a given local run. + WatchActions(context.Context, *connect.Request[workflow.WatchActionsRequest], *connect.ServerStream[workflow.WatchActionsResponse]) error +} + +// NewLocalRunServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewLocalRunServiceHandler(svc LocalRunServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + localRunServiceCreateRunHandler := connect.NewUnaryHandler( + LocalRunServiceCreateRunProcedure, + svc.CreateRun, + connect.WithSchema(localRunServiceCreateRunMethodDescriptor), + connect.WithHandlerOptions(opts...), + ) + localRunServiceReportActionsHandler := connect.NewUnaryHandler( + LocalRunServiceReportActionsProcedure, + svc.ReportActions, + connect.WithSchema(localRunServiceReportActionsMethodDescriptor), + connect.WithHandlerOptions(opts...), + ) + localRunServiceGetRunDetailsHandler := connect.NewUnaryHandler( + LocalRunServiceGetRunDetailsProcedure, + svc.GetRunDetails, + connect.WithSchema(localRunServiceGetRunDetailsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithHandlerOptions(opts...), + ) + localRunServiceWatchRunDetailsHandler := connect.NewServerStreamHandler( + LocalRunServiceWatchRunDetailsProcedure, + svc.WatchRunDetails, + connect.WithSchema(localRunServiceWatchRunDetailsMethodDescriptor), + connect.WithHandlerOptions(opts...), + ) + localRunServiceGetActionDetailsHandler := connect.NewUnaryHandler( + LocalRunServiceGetActionDetailsProcedure, + svc.GetActionDetails, + connect.WithSchema(localRunServiceGetActionDetailsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithHandlerOptions(opts...), + ) + localRunServiceWatchActionDetailsHandler := connect.NewServerStreamHandler( + LocalRunServiceWatchActionDetailsProcedure, + svc.WatchActionDetails, + connect.WithSchema(localRunServiceWatchActionDetailsMethodDescriptor), + connect.WithHandlerOptions(opts...), + ) + localRunServiceListRunsHandler := connect.NewUnaryHandler( + LocalRunServiceListRunsProcedure, + svc.ListRuns, + connect.WithSchema(localRunServiceListRunsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithHandlerOptions(opts...), + ) + localRunServiceWatchRunsHandler := connect.NewServerStreamHandler( + LocalRunServiceWatchRunsProcedure, + svc.WatchRuns, + connect.WithSchema(localRunServiceWatchRunsMethodDescriptor), + connect.WithHandlerOptions(opts...), + ) + localRunServiceListActionsHandler := connect.NewUnaryHandler( + LocalRunServiceListActionsProcedure, + svc.ListActions, + connect.WithSchema(localRunServiceListActionsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithHandlerOptions(opts...), + ) + localRunServiceWatchActionsHandler := connect.NewServerStreamHandler( + LocalRunServiceWatchActionsProcedure, + svc.WatchActions, + connect.WithSchema(localRunServiceWatchActionsMethodDescriptor), + connect.WithHandlerOptions(opts...), + ) + return "/flyteidl2.workflow.LocalRunService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case LocalRunServiceCreateRunProcedure: + localRunServiceCreateRunHandler.ServeHTTP(w, r) + case LocalRunServiceReportActionsProcedure: + localRunServiceReportActionsHandler.ServeHTTP(w, r) + case LocalRunServiceGetRunDetailsProcedure: + localRunServiceGetRunDetailsHandler.ServeHTTP(w, r) + case LocalRunServiceWatchRunDetailsProcedure: + localRunServiceWatchRunDetailsHandler.ServeHTTP(w, r) + case LocalRunServiceGetActionDetailsProcedure: + localRunServiceGetActionDetailsHandler.ServeHTTP(w, r) + case LocalRunServiceWatchActionDetailsProcedure: + localRunServiceWatchActionDetailsHandler.ServeHTTP(w, r) + case LocalRunServiceListRunsProcedure: + localRunServiceListRunsHandler.ServeHTTP(w, r) + case LocalRunServiceWatchRunsProcedure: + localRunServiceWatchRunsHandler.ServeHTTP(w, r) + case LocalRunServiceListActionsProcedure: + localRunServiceListActionsHandler.ServeHTTP(w, r) + case LocalRunServiceWatchActionsProcedure: + localRunServiceWatchActionsHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedLocalRunServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedLocalRunServiceHandler struct{} + +func (UnimplementedLocalRunServiceHandler) CreateRun(context.Context, *connect.Request[workflow.CreateLocalRunRequest]) (*connect.Response[workflow.CreateRunResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.workflow.LocalRunService.CreateRun is not implemented")) +} + +func (UnimplementedLocalRunServiceHandler) ReportActions(context.Context, *connect.Request[workflow.ReportLocalActionsRequest]) (*connect.Response[workflow.ReportLocalActionsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.workflow.LocalRunService.ReportActions is not implemented")) +} + +func (UnimplementedLocalRunServiceHandler) GetRunDetails(context.Context, *connect.Request[workflow.GetRunDetailsRequest]) (*connect.Response[workflow.GetRunDetailsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.workflow.LocalRunService.GetRunDetails is not implemented")) +} + +func (UnimplementedLocalRunServiceHandler) WatchRunDetails(context.Context, *connect.Request[workflow.WatchRunDetailsRequest], *connect.ServerStream[workflow.WatchRunDetailsResponse]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.workflow.LocalRunService.WatchRunDetails is not implemented")) +} + +func (UnimplementedLocalRunServiceHandler) GetActionDetails(context.Context, *connect.Request[workflow.GetActionDetailsRequest]) (*connect.Response[workflow.GetActionDetailsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.workflow.LocalRunService.GetActionDetails is not implemented")) +} + +func (UnimplementedLocalRunServiceHandler) WatchActionDetails(context.Context, *connect.Request[workflow.WatchActionDetailsRequest], *connect.ServerStream[workflow.WatchActionDetailsResponse]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.workflow.LocalRunService.WatchActionDetails is not implemented")) +} + +func (UnimplementedLocalRunServiceHandler) ListRuns(context.Context, *connect.Request[workflow.ListRunsRequest]) (*connect.Response[workflow.ListRunsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.workflow.LocalRunService.ListRuns is not implemented")) +} + +func (UnimplementedLocalRunServiceHandler) WatchRuns(context.Context, *connect.Request[workflow.WatchRunsRequest], *connect.ServerStream[workflow.WatchRunsResponse]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.workflow.LocalRunService.WatchRuns is not implemented")) +} + +func (UnimplementedLocalRunServiceHandler) ListActions(context.Context, *connect.Request[workflow.ListActionsRequest]) (*connect.Response[workflow.ListActionsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.workflow.LocalRunService.ListActions is not implemented")) +} + +func (UnimplementedLocalRunServiceHandler) WatchActions(context.Context, *connect.Request[workflow.WatchActionsRequest], *connect.ServerStream[workflow.WatchActionsResponse]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.workflow.LocalRunService.WatchActions is not implemented")) +} diff --git a/gen/go/flyteidl2/workflow/workflowconnect/mocks/mocks.go b/gen/go/flyteidl2/workflow/workflowconnect/mocks/mocks.go index f2c253cc738..0db76e64b70 100644 --- a/gen/go/flyteidl2/workflow/workflowconnect/mocks/mocks.go +++ b/gen/go/flyteidl2/workflow/workflowconnect/mocks/mocks.go @@ -994,6 +994,1400 @@ func (_c *InternalRunServiceHandler_UpdateActionStatusStream_Call) RunAndReturn( return _c } +// NewLocalRunServiceClient creates a new instance of LocalRunServiceClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewLocalRunServiceClient(t interface { + mock.TestingT + Cleanup(func()) +}) *LocalRunServiceClient { + mock := &LocalRunServiceClient{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} + +// LocalRunServiceClient is an autogenerated mock type for the LocalRunServiceClient type +type LocalRunServiceClient struct { + mock.Mock +} + +type LocalRunServiceClient_Expecter struct { + mock *mock.Mock +} + +func (_m *LocalRunServiceClient) EXPECT() *LocalRunServiceClient_Expecter { + return &LocalRunServiceClient_Expecter{mock: &_m.Mock} +} + +// CreateRun provides a mock function for the type LocalRunServiceClient +func (_mock *LocalRunServiceClient) CreateRun(context1 context.Context, request *connect.Request[workflow.CreateLocalRunRequest]) (*connect.Response[workflow.CreateRunResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for CreateRun") + } + + var r0 *connect.Response[workflow.CreateRunResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.CreateLocalRunRequest]) (*connect.Response[workflow.CreateRunResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.CreateLocalRunRequest]) *connect.Response[workflow.CreateRunResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.Response[workflow.CreateRunResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.CreateLocalRunRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceClient_CreateRun_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CreateRun' +type LocalRunServiceClient_CreateRun_Call struct { + *mock.Call +} + +// CreateRun is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.CreateLocalRunRequest] +func (_e *LocalRunServiceClient_Expecter) CreateRun(context1 interface{}, request interface{}) *LocalRunServiceClient_CreateRun_Call { + return &LocalRunServiceClient_CreateRun_Call{Call: _e.mock.On("CreateRun", context1, request)} +} + +func (_c *LocalRunServiceClient_CreateRun_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.CreateLocalRunRequest])) *LocalRunServiceClient_CreateRun_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.CreateLocalRunRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.CreateLocalRunRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceClient_CreateRun_Call) Return(response *connect.Response[workflow.CreateRunResponse], err error) *LocalRunServiceClient_CreateRun_Call { + _c.Call.Return(response, err) + return _c +} + +func (_c *LocalRunServiceClient_CreateRun_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.CreateLocalRunRequest]) (*connect.Response[workflow.CreateRunResponse], error)) *LocalRunServiceClient_CreateRun_Call { + _c.Call.Return(run) + return _c +} + +// GetActionDetails provides a mock function for the type LocalRunServiceClient +func (_mock *LocalRunServiceClient) GetActionDetails(context1 context.Context, request *connect.Request[workflow.GetActionDetailsRequest]) (*connect.Response[workflow.GetActionDetailsResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for GetActionDetails") + } + + var r0 *connect.Response[workflow.GetActionDetailsResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.GetActionDetailsRequest]) (*connect.Response[workflow.GetActionDetailsResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.GetActionDetailsRequest]) *connect.Response[workflow.GetActionDetailsResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.Response[workflow.GetActionDetailsResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.GetActionDetailsRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceClient_GetActionDetails_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetActionDetails' +type LocalRunServiceClient_GetActionDetails_Call struct { + *mock.Call +} + +// GetActionDetails is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.GetActionDetailsRequest] +func (_e *LocalRunServiceClient_Expecter) GetActionDetails(context1 interface{}, request interface{}) *LocalRunServiceClient_GetActionDetails_Call { + return &LocalRunServiceClient_GetActionDetails_Call{Call: _e.mock.On("GetActionDetails", context1, request)} +} + +func (_c *LocalRunServiceClient_GetActionDetails_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.GetActionDetailsRequest])) *LocalRunServiceClient_GetActionDetails_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.GetActionDetailsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.GetActionDetailsRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceClient_GetActionDetails_Call) Return(response *connect.Response[workflow.GetActionDetailsResponse], err error) *LocalRunServiceClient_GetActionDetails_Call { + _c.Call.Return(response, err) + return _c +} + +func (_c *LocalRunServiceClient_GetActionDetails_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.GetActionDetailsRequest]) (*connect.Response[workflow.GetActionDetailsResponse], error)) *LocalRunServiceClient_GetActionDetails_Call { + _c.Call.Return(run) + return _c +} + +// GetRunDetails provides a mock function for the type LocalRunServiceClient +func (_mock *LocalRunServiceClient) GetRunDetails(context1 context.Context, request *connect.Request[workflow.GetRunDetailsRequest]) (*connect.Response[workflow.GetRunDetailsResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for GetRunDetails") + } + + var r0 *connect.Response[workflow.GetRunDetailsResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.GetRunDetailsRequest]) (*connect.Response[workflow.GetRunDetailsResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.GetRunDetailsRequest]) *connect.Response[workflow.GetRunDetailsResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.Response[workflow.GetRunDetailsResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.GetRunDetailsRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceClient_GetRunDetails_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetRunDetails' +type LocalRunServiceClient_GetRunDetails_Call struct { + *mock.Call +} + +// GetRunDetails is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.GetRunDetailsRequest] +func (_e *LocalRunServiceClient_Expecter) GetRunDetails(context1 interface{}, request interface{}) *LocalRunServiceClient_GetRunDetails_Call { + return &LocalRunServiceClient_GetRunDetails_Call{Call: _e.mock.On("GetRunDetails", context1, request)} +} + +func (_c *LocalRunServiceClient_GetRunDetails_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.GetRunDetailsRequest])) *LocalRunServiceClient_GetRunDetails_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.GetRunDetailsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.GetRunDetailsRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceClient_GetRunDetails_Call) Return(response *connect.Response[workflow.GetRunDetailsResponse], err error) *LocalRunServiceClient_GetRunDetails_Call { + _c.Call.Return(response, err) + return _c +} + +func (_c *LocalRunServiceClient_GetRunDetails_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.GetRunDetailsRequest]) (*connect.Response[workflow.GetRunDetailsResponse], error)) *LocalRunServiceClient_GetRunDetails_Call { + _c.Call.Return(run) + return _c +} + +// ListActions provides a mock function for the type LocalRunServiceClient +func (_mock *LocalRunServiceClient) ListActions(context1 context.Context, request *connect.Request[workflow.ListActionsRequest]) (*connect.Response[workflow.ListActionsResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for ListActions") + } + + var r0 *connect.Response[workflow.ListActionsResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.ListActionsRequest]) (*connect.Response[workflow.ListActionsResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.ListActionsRequest]) *connect.Response[workflow.ListActionsResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.Response[workflow.ListActionsResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.ListActionsRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceClient_ListActions_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ListActions' +type LocalRunServiceClient_ListActions_Call struct { + *mock.Call +} + +// ListActions is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.ListActionsRequest] +func (_e *LocalRunServiceClient_Expecter) ListActions(context1 interface{}, request interface{}) *LocalRunServiceClient_ListActions_Call { + return &LocalRunServiceClient_ListActions_Call{Call: _e.mock.On("ListActions", context1, request)} +} + +func (_c *LocalRunServiceClient_ListActions_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.ListActionsRequest])) *LocalRunServiceClient_ListActions_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.ListActionsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.ListActionsRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceClient_ListActions_Call) Return(response *connect.Response[workflow.ListActionsResponse], err error) *LocalRunServiceClient_ListActions_Call { + _c.Call.Return(response, err) + return _c +} + +func (_c *LocalRunServiceClient_ListActions_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.ListActionsRequest]) (*connect.Response[workflow.ListActionsResponse], error)) *LocalRunServiceClient_ListActions_Call { + _c.Call.Return(run) + return _c +} + +// ListRuns provides a mock function for the type LocalRunServiceClient +func (_mock *LocalRunServiceClient) ListRuns(context1 context.Context, request *connect.Request[workflow.ListRunsRequest]) (*connect.Response[workflow.ListRunsResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for ListRuns") + } + + var r0 *connect.Response[workflow.ListRunsResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.ListRunsRequest]) (*connect.Response[workflow.ListRunsResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.ListRunsRequest]) *connect.Response[workflow.ListRunsResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.Response[workflow.ListRunsResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.ListRunsRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceClient_ListRuns_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ListRuns' +type LocalRunServiceClient_ListRuns_Call struct { + *mock.Call +} + +// ListRuns is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.ListRunsRequest] +func (_e *LocalRunServiceClient_Expecter) ListRuns(context1 interface{}, request interface{}) *LocalRunServiceClient_ListRuns_Call { + return &LocalRunServiceClient_ListRuns_Call{Call: _e.mock.On("ListRuns", context1, request)} +} + +func (_c *LocalRunServiceClient_ListRuns_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.ListRunsRequest])) *LocalRunServiceClient_ListRuns_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.ListRunsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.ListRunsRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceClient_ListRuns_Call) Return(response *connect.Response[workflow.ListRunsResponse], err error) *LocalRunServiceClient_ListRuns_Call { + _c.Call.Return(response, err) + return _c +} + +func (_c *LocalRunServiceClient_ListRuns_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.ListRunsRequest]) (*connect.Response[workflow.ListRunsResponse], error)) *LocalRunServiceClient_ListRuns_Call { + _c.Call.Return(run) + return _c +} + +// ReportActions provides a mock function for the type LocalRunServiceClient +func (_mock *LocalRunServiceClient) ReportActions(context1 context.Context, request *connect.Request[workflow.ReportLocalActionsRequest]) (*connect.Response[workflow.ReportLocalActionsResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for ReportActions") + } + + var r0 *connect.Response[workflow.ReportLocalActionsResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.ReportLocalActionsRequest]) (*connect.Response[workflow.ReportLocalActionsResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.ReportLocalActionsRequest]) *connect.Response[workflow.ReportLocalActionsResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.Response[workflow.ReportLocalActionsResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.ReportLocalActionsRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceClient_ReportActions_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ReportActions' +type LocalRunServiceClient_ReportActions_Call struct { + *mock.Call +} + +// ReportActions is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.ReportLocalActionsRequest] +func (_e *LocalRunServiceClient_Expecter) ReportActions(context1 interface{}, request interface{}) *LocalRunServiceClient_ReportActions_Call { + return &LocalRunServiceClient_ReportActions_Call{Call: _e.mock.On("ReportActions", context1, request)} +} + +func (_c *LocalRunServiceClient_ReportActions_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.ReportLocalActionsRequest])) *LocalRunServiceClient_ReportActions_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.ReportLocalActionsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.ReportLocalActionsRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceClient_ReportActions_Call) Return(response *connect.Response[workflow.ReportLocalActionsResponse], err error) *LocalRunServiceClient_ReportActions_Call { + _c.Call.Return(response, err) + return _c +} + +func (_c *LocalRunServiceClient_ReportActions_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.ReportLocalActionsRequest]) (*connect.Response[workflow.ReportLocalActionsResponse], error)) *LocalRunServiceClient_ReportActions_Call { + _c.Call.Return(run) + return _c +} + +// WatchActionDetails provides a mock function for the type LocalRunServiceClient +func (_mock *LocalRunServiceClient) WatchActionDetails(context1 context.Context, request *connect.Request[workflow.WatchActionDetailsRequest]) (*connect.ServerStreamForClient[workflow.WatchActionDetailsResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for WatchActionDetails") + } + + var r0 *connect.ServerStreamForClient[workflow.WatchActionDetailsResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.WatchActionDetailsRequest]) (*connect.ServerStreamForClient[workflow.WatchActionDetailsResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.WatchActionDetailsRequest]) *connect.ServerStreamForClient[workflow.WatchActionDetailsResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.ServerStreamForClient[workflow.WatchActionDetailsResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.WatchActionDetailsRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceClient_WatchActionDetails_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'WatchActionDetails' +type LocalRunServiceClient_WatchActionDetails_Call struct { + *mock.Call +} + +// WatchActionDetails is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.WatchActionDetailsRequest] +func (_e *LocalRunServiceClient_Expecter) WatchActionDetails(context1 interface{}, request interface{}) *LocalRunServiceClient_WatchActionDetails_Call { + return &LocalRunServiceClient_WatchActionDetails_Call{Call: _e.mock.On("WatchActionDetails", context1, request)} +} + +func (_c *LocalRunServiceClient_WatchActionDetails_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.WatchActionDetailsRequest])) *LocalRunServiceClient_WatchActionDetails_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.WatchActionDetailsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.WatchActionDetailsRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceClient_WatchActionDetails_Call) Return(serverStreamForClient *connect.ServerStreamForClient[workflow.WatchActionDetailsResponse], err error) *LocalRunServiceClient_WatchActionDetails_Call { + _c.Call.Return(serverStreamForClient, err) + return _c +} + +func (_c *LocalRunServiceClient_WatchActionDetails_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.WatchActionDetailsRequest]) (*connect.ServerStreamForClient[workflow.WatchActionDetailsResponse], error)) *LocalRunServiceClient_WatchActionDetails_Call { + _c.Call.Return(run) + return _c +} + +// WatchActions provides a mock function for the type LocalRunServiceClient +func (_mock *LocalRunServiceClient) WatchActions(context1 context.Context, request *connect.Request[workflow.WatchActionsRequest]) (*connect.ServerStreamForClient[workflow.WatchActionsResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for WatchActions") + } + + var r0 *connect.ServerStreamForClient[workflow.WatchActionsResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.WatchActionsRequest]) (*connect.ServerStreamForClient[workflow.WatchActionsResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.WatchActionsRequest]) *connect.ServerStreamForClient[workflow.WatchActionsResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.ServerStreamForClient[workflow.WatchActionsResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.WatchActionsRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceClient_WatchActions_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'WatchActions' +type LocalRunServiceClient_WatchActions_Call struct { + *mock.Call +} + +// WatchActions is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.WatchActionsRequest] +func (_e *LocalRunServiceClient_Expecter) WatchActions(context1 interface{}, request interface{}) *LocalRunServiceClient_WatchActions_Call { + return &LocalRunServiceClient_WatchActions_Call{Call: _e.mock.On("WatchActions", context1, request)} +} + +func (_c *LocalRunServiceClient_WatchActions_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.WatchActionsRequest])) *LocalRunServiceClient_WatchActions_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.WatchActionsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.WatchActionsRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceClient_WatchActions_Call) Return(serverStreamForClient *connect.ServerStreamForClient[workflow.WatchActionsResponse], err error) *LocalRunServiceClient_WatchActions_Call { + _c.Call.Return(serverStreamForClient, err) + return _c +} + +func (_c *LocalRunServiceClient_WatchActions_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.WatchActionsRequest]) (*connect.ServerStreamForClient[workflow.WatchActionsResponse], error)) *LocalRunServiceClient_WatchActions_Call { + _c.Call.Return(run) + return _c +} + +// WatchRunDetails provides a mock function for the type LocalRunServiceClient +func (_mock *LocalRunServiceClient) WatchRunDetails(context1 context.Context, request *connect.Request[workflow.WatchRunDetailsRequest]) (*connect.ServerStreamForClient[workflow.WatchRunDetailsResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for WatchRunDetails") + } + + var r0 *connect.ServerStreamForClient[workflow.WatchRunDetailsResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.WatchRunDetailsRequest]) (*connect.ServerStreamForClient[workflow.WatchRunDetailsResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.WatchRunDetailsRequest]) *connect.ServerStreamForClient[workflow.WatchRunDetailsResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.ServerStreamForClient[workflow.WatchRunDetailsResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.WatchRunDetailsRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceClient_WatchRunDetails_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'WatchRunDetails' +type LocalRunServiceClient_WatchRunDetails_Call struct { + *mock.Call +} + +// WatchRunDetails is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.WatchRunDetailsRequest] +func (_e *LocalRunServiceClient_Expecter) WatchRunDetails(context1 interface{}, request interface{}) *LocalRunServiceClient_WatchRunDetails_Call { + return &LocalRunServiceClient_WatchRunDetails_Call{Call: _e.mock.On("WatchRunDetails", context1, request)} +} + +func (_c *LocalRunServiceClient_WatchRunDetails_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.WatchRunDetailsRequest])) *LocalRunServiceClient_WatchRunDetails_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.WatchRunDetailsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.WatchRunDetailsRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceClient_WatchRunDetails_Call) Return(serverStreamForClient *connect.ServerStreamForClient[workflow.WatchRunDetailsResponse], err error) *LocalRunServiceClient_WatchRunDetails_Call { + _c.Call.Return(serverStreamForClient, err) + return _c +} + +func (_c *LocalRunServiceClient_WatchRunDetails_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.WatchRunDetailsRequest]) (*connect.ServerStreamForClient[workflow.WatchRunDetailsResponse], error)) *LocalRunServiceClient_WatchRunDetails_Call { + _c.Call.Return(run) + return _c +} + +// WatchRuns provides a mock function for the type LocalRunServiceClient +func (_mock *LocalRunServiceClient) WatchRuns(context1 context.Context, request *connect.Request[workflow.WatchRunsRequest]) (*connect.ServerStreamForClient[workflow.WatchRunsResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for WatchRuns") + } + + var r0 *connect.ServerStreamForClient[workflow.WatchRunsResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.WatchRunsRequest]) (*connect.ServerStreamForClient[workflow.WatchRunsResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.WatchRunsRequest]) *connect.ServerStreamForClient[workflow.WatchRunsResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.ServerStreamForClient[workflow.WatchRunsResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.WatchRunsRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceClient_WatchRuns_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'WatchRuns' +type LocalRunServiceClient_WatchRuns_Call struct { + *mock.Call +} + +// WatchRuns is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.WatchRunsRequest] +func (_e *LocalRunServiceClient_Expecter) WatchRuns(context1 interface{}, request interface{}) *LocalRunServiceClient_WatchRuns_Call { + return &LocalRunServiceClient_WatchRuns_Call{Call: _e.mock.On("WatchRuns", context1, request)} +} + +func (_c *LocalRunServiceClient_WatchRuns_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.WatchRunsRequest])) *LocalRunServiceClient_WatchRuns_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.WatchRunsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.WatchRunsRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceClient_WatchRuns_Call) Return(serverStreamForClient *connect.ServerStreamForClient[workflow.WatchRunsResponse], err error) *LocalRunServiceClient_WatchRuns_Call { + _c.Call.Return(serverStreamForClient, err) + return _c +} + +func (_c *LocalRunServiceClient_WatchRuns_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.WatchRunsRequest]) (*connect.ServerStreamForClient[workflow.WatchRunsResponse], error)) *LocalRunServiceClient_WatchRuns_Call { + _c.Call.Return(run) + return _c +} + +// NewLocalRunServiceHandler creates a new instance of LocalRunServiceHandler. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewLocalRunServiceHandler(t interface { + mock.TestingT + Cleanup(func()) +}) *LocalRunServiceHandler { + mock := &LocalRunServiceHandler{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} + +// LocalRunServiceHandler is an autogenerated mock type for the LocalRunServiceHandler type +type LocalRunServiceHandler struct { + mock.Mock +} + +type LocalRunServiceHandler_Expecter struct { + mock *mock.Mock +} + +func (_m *LocalRunServiceHandler) EXPECT() *LocalRunServiceHandler_Expecter { + return &LocalRunServiceHandler_Expecter{mock: &_m.Mock} +} + +// CreateRun provides a mock function for the type LocalRunServiceHandler +func (_mock *LocalRunServiceHandler) CreateRun(context1 context.Context, request *connect.Request[workflow.CreateLocalRunRequest]) (*connect.Response[workflow.CreateRunResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for CreateRun") + } + + var r0 *connect.Response[workflow.CreateRunResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.CreateLocalRunRequest]) (*connect.Response[workflow.CreateRunResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.CreateLocalRunRequest]) *connect.Response[workflow.CreateRunResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.Response[workflow.CreateRunResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.CreateLocalRunRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceHandler_CreateRun_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CreateRun' +type LocalRunServiceHandler_CreateRun_Call struct { + *mock.Call +} + +// CreateRun is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.CreateLocalRunRequest] +func (_e *LocalRunServiceHandler_Expecter) CreateRun(context1 interface{}, request interface{}) *LocalRunServiceHandler_CreateRun_Call { + return &LocalRunServiceHandler_CreateRun_Call{Call: _e.mock.On("CreateRun", context1, request)} +} + +func (_c *LocalRunServiceHandler_CreateRun_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.CreateLocalRunRequest])) *LocalRunServiceHandler_CreateRun_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.CreateLocalRunRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.CreateLocalRunRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceHandler_CreateRun_Call) Return(response *connect.Response[workflow.CreateRunResponse], err error) *LocalRunServiceHandler_CreateRun_Call { + _c.Call.Return(response, err) + return _c +} + +func (_c *LocalRunServiceHandler_CreateRun_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.CreateLocalRunRequest]) (*connect.Response[workflow.CreateRunResponse], error)) *LocalRunServiceHandler_CreateRun_Call { + _c.Call.Return(run) + return _c +} + +// GetActionDetails provides a mock function for the type LocalRunServiceHandler +func (_mock *LocalRunServiceHandler) GetActionDetails(context1 context.Context, request *connect.Request[workflow.GetActionDetailsRequest]) (*connect.Response[workflow.GetActionDetailsResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for GetActionDetails") + } + + var r0 *connect.Response[workflow.GetActionDetailsResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.GetActionDetailsRequest]) (*connect.Response[workflow.GetActionDetailsResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.GetActionDetailsRequest]) *connect.Response[workflow.GetActionDetailsResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.Response[workflow.GetActionDetailsResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.GetActionDetailsRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceHandler_GetActionDetails_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetActionDetails' +type LocalRunServiceHandler_GetActionDetails_Call struct { + *mock.Call +} + +// GetActionDetails is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.GetActionDetailsRequest] +func (_e *LocalRunServiceHandler_Expecter) GetActionDetails(context1 interface{}, request interface{}) *LocalRunServiceHandler_GetActionDetails_Call { + return &LocalRunServiceHandler_GetActionDetails_Call{Call: _e.mock.On("GetActionDetails", context1, request)} +} + +func (_c *LocalRunServiceHandler_GetActionDetails_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.GetActionDetailsRequest])) *LocalRunServiceHandler_GetActionDetails_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.GetActionDetailsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.GetActionDetailsRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceHandler_GetActionDetails_Call) Return(response *connect.Response[workflow.GetActionDetailsResponse], err error) *LocalRunServiceHandler_GetActionDetails_Call { + _c.Call.Return(response, err) + return _c +} + +func (_c *LocalRunServiceHandler_GetActionDetails_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.GetActionDetailsRequest]) (*connect.Response[workflow.GetActionDetailsResponse], error)) *LocalRunServiceHandler_GetActionDetails_Call { + _c.Call.Return(run) + return _c +} + +// GetRunDetails provides a mock function for the type LocalRunServiceHandler +func (_mock *LocalRunServiceHandler) GetRunDetails(context1 context.Context, request *connect.Request[workflow.GetRunDetailsRequest]) (*connect.Response[workflow.GetRunDetailsResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for GetRunDetails") + } + + var r0 *connect.Response[workflow.GetRunDetailsResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.GetRunDetailsRequest]) (*connect.Response[workflow.GetRunDetailsResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.GetRunDetailsRequest]) *connect.Response[workflow.GetRunDetailsResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.Response[workflow.GetRunDetailsResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.GetRunDetailsRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceHandler_GetRunDetails_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetRunDetails' +type LocalRunServiceHandler_GetRunDetails_Call struct { + *mock.Call +} + +// GetRunDetails is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.GetRunDetailsRequest] +func (_e *LocalRunServiceHandler_Expecter) GetRunDetails(context1 interface{}, request interface{}) *LocalRunServiceHandler_GetRunDetails_Call { + return &LocalRunServiceHandler_GetRunDetails_Call{Call: _e.mock.On("GetRunDetails", context1, request)} +} + +func (_c *LocalRunServiceHandler_GetRunDetails_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.GetRunDetailsRequest])) *LocalRunServiceHandler_GetRunDetails_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.GetRunDetailsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.GetRunDetailsRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceHandler_GetRunDetails_Call) Return(response *connect.Response[workflow.GetRunDetailsResponse], err error) *LocalRunServiceHandler_GetRunDetails_Call { + _c.Call.Return(response, err) + return _c +} + +func (_c *LocalRunServiceHandler_GetRunDetails_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.GetRunDetailsRequest]) (*connect.Response[workflow.GetRunDetailsResponse], error)) *LocalRunServiceHandler_GetRunDetails_Call { + _c.Call.Return(run) + return _c +} + +// ListActions provides a mock function for the type LocalRunServiceHandler +func (_mock *LocalRunServiceHandler) ListActions(context1 context.Context, request *connect.Request[workflow.ListActionsRequest]) (*connect.Response[workflow.ListActionsResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for ListActions") + } + + var r0 *connect.Response[workflow.ListActionsResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.ListActionsRequest]) (*connect.Response[workflow.ListActionsResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.ListActionsRequest]) *connect.Response[workflow.ListActionsResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.Response[workflow.ListActionsResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.ListActionsRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceHandler_ListActions_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ListActions' +type LocalRunServiceHandler_ListActions_Call struct { + *mock.Call +} + +// ListActions is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.ListActionsRequest] +func (_e *LocalRunServiceHandler_Expecter) ListActions(context1 interface{}, request interface{}) *LocalRunServiceHandler_ListActions_Call { + return &LocalRunServiceHandler_ListActions_Call{Call: _e.mock.On("ListActions", context1, request)} +} + +func (_c *LocalRunServiceHandler_ListActions_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.ListActionsRequest])) *LocalRunServiceHandler_ListActions_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.ListActionsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.ListActionsRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceHandler_ListActions_Call) Return(response *connect.Response[workflow.ListActionsResponse], err error) *LocalRunServiceHandler_ListActions_Call { + _c.Call.Return(response, err) + return _c +} + +func (_c *LocalRunServiceHandler_ListActions_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.ListActionsRequest]) (*connect.Response[workflow.ListActionsResponse], error)) *LocalRunServiceHandler_ListActions_Call { + _c.Call.Return(run) + return _c +} + +// ListRuns provides a mock function for the type LocalRunServiceHandler +func (_mock *LocalRunServiceHandler) ListRuns(context1 context.Context, request *connect.Request[workflow.ListRunsRequest]) (*connect.Response[workflow.ListRunsResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for ListRuns") + } + + var r0 *connect.Response[workflow.ListRunsResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.ListRunsRequest]) (*connect.Response[workflow.ListRunsResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.ListRunsRequest]) *connect.Response[workflow.ListRunsResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.Response[workflow.ListRunsResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.ListRunsRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceHandler_ListRuns_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ListRuns' +type LocalRunServiceHandler_ListRuns_Call struct { + *mock.Call +} + +// ListRuns is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.ListRunsRequest] +func (_e *LocalRunServiceHandler_Expecter) ListRuns(context1 interface{}, request interface{}) *LocalRunServiceHandler_ListRuns_Call { + return &LocalRunServiceHandler_ListRuns_Call{Call: _e.mock.On("ListRuns", context1, request)} +} + +func (_c *LocalRunServiceHandler_ListRuns_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.ListRunsRequest])) *LocalRunServiceHandler_ListRuns_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.ListRunsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.ListRunsRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceHandler_ListRuns_Call) Return(response *connect.Response[workflow.ListRunsResponse], err error) *LocalRunServiceHandler_ListRuns_Call { + _c.Call.Return(response, err) + return _c +} + +func (_c *LocalRunServiceHandler_ListRuns_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.ListRunsRequest]) (*connect.Response[workflow.ListRunsResponse], error)) *LocalRunServiceHandler_ListRuns_Call { + _c.Call.Return(run) + return _c +} + +// ReportActions provides a mock function for the type LocalRunServiceHandler +func (_mock *LocalRunServiceHandler) ReportActions(context1 context.Context, request *connect.Request[workflow.ReportLocalActionsRequest]) (*connect.Response[workflow.ReportLocalActionsResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for ReportActions") + } + + var r0 *connect.Response[workflow.ReportLocalActionsResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.ReportLocalActionsRequest]) (*connect.Response[workflow.ReportLocalActionsResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.ReportLocalActionsRequest]) *connect.Response[workflow.ReportLocalActionsResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.Response[workflow.ReportLocalActionsResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.ReportLocalActionsRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceHandler_ReportActions_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ReportActions' +type LocalRunServiceHandler_ReportActions_Call struct { + *mock.Call +} + +// ReportActions is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.ReportLocalActionsRequest] +func (_e *LocalRunServiceHandler_Expecter) ReportActions(context1 interface{}, request interface{}) *LocalRunServiceHandler_ReportActions_Call { + return &LocalRunServiceHandler_ReportActions_Call{Call: _e.mock.On("ReportActions", context1, request)} +} + +func (_c *LocalRunServiceHandler_ReportActions_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.ReportLocalActionsRequest])) *LocalRunServiceHandler_ReportActions_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.ReportLocalActionsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.ReportLocalActionsRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceHandler_ReportActions_Call) Return(response *connect.Response[workflow.ReportLocalActionsResponse], err error) *LocalRunServiceHandler_ReportActions_Call { + _c.Call.Return(response, err) + return _c +} + +func (_c *LocalRunServiceHandler_ReportActions_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.ReportLocalActionsRequest]) (*connect.Response[workflow.ReportLocalActionsResponse], error)) *LocalRunServiceHandler_ReportActions_Call { + _c.Call.Return(run) + return _c +} + +// WatchActionDetails provides a mock function for the type LocalRunServiceHandler +func (_mock *LocalRunServiceHandler) WatchActionDetails(context1 context.Context, request *connect.Request[workflow.WatchActionDetailsRequest], serverStream *connect.ServerStream[workflow.WatchActionDetailsResponse]) error { + ret := _mock.Called(context1, request, serverStream) + + if len(ret) == 0 { + panic("no return value specified for WatchActionDetails") + } + + var r0 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.WatchActionDetailsRequest], *connect.ServerStream[workflow.WatchActionDetailsResponse]) error); ok { + r0 = returnFunc(context1, request, serverStream) + } else { + r0 = ret.Error(0) + } + return r0 +} + +// LocalRunServiceHandler_WatchActionDetails_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'WatchActionDetails' +type LocalRunServiceHandler_WatchActionDetails_Call struct { + *mock.Call +} + +// WatchActionDetails is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.WatchActionDetailsRequest] +// - serverStream *connect.ServerStream[workflow.WatchActionDetailsResponse] +func (_e *LocalRunServiceHandler_Expecter) WatchActionDetails(context1 interface{}, request interface{}, serverStream interface{}) *LocalRunServiceHandler_WatchActionDetails_Call { + return &LocalRunServiceHandler_WatchActionDetails_Call{Call: _e.mock.On("WatchActionDetails", context1, request, serverStream)} +} + +func (_c *LocalRunServiceHandler_WatchActionDetails_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.WatchActionDetailsRequest], serverStream *connect.ServerStream[workflow.WatchActionDetailsResponse])) *LocalRunServiceHandler_WatchActionDetails_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.WatchActionDetailsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.WatchActionDetailsRequest]) + } + var arg2 *connect.ServerStream[workflow.WatchActionDetailsResponse] + if args[2] != nil { + arg2 = args[2].(*connect.ServerStream[workflow.WatchActionDetailsResponse]) + } + run( + arg0, + arg1, + arg2, + ) + }) + return _c +} + +func (_c *LocalRunServiceHandler_WatchActionDetails_Call) Return(err error) *LocalRunServiceHandler_WatchActionDetails_Call { + _c.Call.Return(err) + return _c +} + +func (_c *LocalRunServiceHandler_WatchActionDetails_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.WatchActionDetailsRequest], serverStream *connect.ServerStream[workflow.WatchActionDetailsResponse]) error) *LocalRunServiceHandler_WatchActionDetails_Call { + _c.Call.Return(run) + return _c +} + +// WatchActions provides a mock function for the type LocalRunServiceHandler +func (_mock *LocalRunServiceHandler) WatchActions(context1 context.Context, request *connect.Request[workflow.WatchActionsRequest], serverStream *connect.ServerStream[workflow.WatchActionsResponse]) error { + ret := _mock.Called(context1, request, serverStream) + + if len(ret) == 0 { + panic("no return value specified for WatchActions") + } + + var r0 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.WatchActionsRequest], *connect.ServerStream[workflow.WatchActionsResponse]) error); ok { + r0 = returnFunc(context1, request, serverStream) + } else { + r0 = ret.Error(0) + } + return r0 +} + +// LocalRunServiceHandler_WatchActions_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'WatchActions' +type LocalRunServiceHandler_WatchActions_Call struct { + *mock.Call +} + +// WatchActions is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.WatchActionsRequest] +// - serverStream *connect.ServerStream[workflow.WatchActionsResponse] +func (_e *LocalRunServiceHandler_Expecter) WatchActions(context1 interface{}, request interface{}, serverStream interface{}) *LocalRunServiceHandler_WatchActions_Call { + return &LocalRunServiceHandler_WatchActions_Call{Call: _e.mock.On("WatchActions", context1, request, serverStream)} +} + +func (_c *LocalRunServiceHandler_WatchActions_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.WatchActionsRequest], serverStream *connect.ServerStream[workflow.WatchActionsResponse])) *LocalRunServiceHandler_WatchActions_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.WatchActionsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.WatchActionsRequest]) + } + var arg2 *connect.ServerStream[workflow.WatchActionsResponse] + if args[2] != nil { + arg2 = args[2].(*connect.ServerStream[workflow.WatchActionsResponse]) + } + run( + arg0, + arg1, + arg2, + ) + }) + return _c +} + +func (_c *LocalRunServiceHandler_WatchActions_Call) Return(err error) *LocalRunServiceHandler_WatchActions_Call { + _c.Call.Return(err) + return _c +} + +func (_c *LocalRunServiceHandler_WatchActions_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.WatchActionsRequest], serverStream *connect.ServerStream[workflow.WatchActionsResponse]) error) *LocalRunServiceHandler_WatchActions_Call { + _c.Call.Return(run) + return _c +} + +// WatchRunDetails provides a mock function for the type LocalRunServiceHandler +func (_mock *LocalRunServiceHandler) WatchRunDetails(context1 context.Context, request *connect.Request[workflow.WatchRunDetailsRequest], serverStream *connect.ServerStream[workflow.WatchRunDetailsResponse]) error { + ret := _mock.Called(context1, request, serverStream) + + if len(ret) == 0 { + panic("no return value specified for WatchRunDetails") + } + + var r0 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.WatchRunDetailsRequest], *connect.ServerStream[workflow.WatchRunDetailsResponse]) error); ok { + r0 = returnFunc(context1, request, serverStream) + } else { + r0 = ret.Error(0) + } + return r0 +} + +// LocalRunServiceHandler_WatchRunDetails_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'WatchRunDetails' +type LocalRunServiceHandler_WatchRunDetails_Call struct { + *mock.Call +} + +// WatchRunDetails is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.WatchRunDetailsRequest] +// - serverStream *connect.ServerStream[workflow.WatchRunDetailsResponse] +func (_e *LocalRunServiceHandler_Expecter) WatchRunDetails(context1 interface{}, request interface{}, serverStream interface{}) *LocalRunServiceHandler_WatchRunDetails_Call { + return &LocalRunServiceHandler_WatchRunDetails_Call{Call: _e.mock.On("WatchRunDetails", context1, request, serverStream)} +} + +func (_c *LocalRunServiceHandler_WatchRunDetails_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.WatchRunDetailsRequest], serverStream *connect.ServerStream[workflow.WatchRunDetailsResponse])) *LocalRunServiceHandler_WatchRunDetails_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.WatchRunDetailsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.WatchRunDetailsRequest]) + } + var arg2 *connect.ServerStream[workflow.WatchRunDetailsResponse] + if args[2] != nil { + arg2 = args[2].(*connect.ServerStream[workflow.WatchRunDetailsResponse]) + } + run( + arg0, + arg1, + arg2, + ) + }) + return _c +} + +func (_c *LocalRunServiceHandler_WatchRunDetails_Call) Return(err error) *LocalRunServiceHandler_WatchRunDetails_Call { + _c.Call.Return(err) + return _c +} + +func (_c *LocalRunServiceHandler_WatchRunDetails_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.WatchRunDetailsRequest], serverStream *connect.ServerStream[workflow.WatchRunDetailsResponse]) error) *LocalRunServiceHandler_WatchRunDetails_Call { + _c.Call.Return(run) + return _c +} + +// WatchRuns provides a mock function for the type LocalRunServiceHandler +func (_mock *LocalRunServiceHandler) WatchRuns(context1 context.Context, request *connect.Request[workflow.WatchRunsRequest], serverStream *connect.ServerStream[workflow.WatchRunsResponse]) error { + ret := _mock.Called(context1, request, serverStream) + + if len(ret) == 0 { + panic("no return value specified for WatchRuns") + } + + var r0 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.WatchRunsRequest], *connect.ServerStream[workflow.WatchRunsResponse]) error); ok { + r0 = returnFunc(context1, request, serverStream) + } else { + r0 = ret.Error(0) + } + return r0 +} + +// LocalRunServiceHandler_WatchRuns_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'WatchRuns' +type LocalRunServiceHandler_WatchRuns_Call struct { + *mock.Call +} + +// WatchRuns is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.WatchRunsRequest] +// - serverStream *connect.ServerStream[workflow.WatchRunsResponse] +func (_e *LocalRunServiceHandler_Expecter) WatchRuns(context1 interface{}, request interface{}, serverStream interface{}) *LocalRunServiceHandler_WatchRuns_Call { + return &LocalRunServiceHandler_WatchRuns_Call{Call: _e.mock.On("WatchRuns", context1, request, serverStream)} +} + +func (_c *LocalRunServiceHandler_WatchRuns_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.WatchRunsRequest], serverStream *connect.ServerStream[workflow.WatchRunsResponse])) *LocalRunServiceHandler_WatchRuns_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.WatchRunsRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.WatchRunsRequest]) + } + var arg2 *connect.ServerStream[workflow.WatchRunsResponse] + if args[2] != nil { + arg2 = args[2].(*connect.ServerStream[workflow.WatchRunsResponse]) + } + run( + arg0, + arg1, + arg2, + ) + }) + return _c +} + +func (_c *LocalRunServiceHandler_WatchRuns_Call) Return(err error) *LocalRunServiceHandler_WatchRuns_Call { + _c.Call.Return(err) + return _c +} + +func (_c *LocalRunServiceHandler_WatchRuns_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.WatchRunsRequest], serverStream *connect.ServerStream[workflow.WatchRunsResponse]) error) *LocalRunServiceHandler_WatchRuns_Call { + _c.Call.Return(run) + return _c +} + // NewQueueServiceClient creates a new instance of QueueServiceClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. // The first argument is typically a *testing.T value. func NewQueueServiceClient(t interface { diff --git a/gen/go/gateway/flyteidl2/workflow/local_run_service.swagger.json b/gen/go/gateway/flyteidl2/workflow/local_run_service.swagger.json new file mode 100644 index 00000000000..f724d52e9ba --- /dev/null +++ b/gen/go/gateway/flyteidl2/workflow/local_run_service.swagger.json @@ -0,0 +1,55 @@ +{ + "swagger": "2.0", + "info": { + "title": "flyteidl2/workflow/local_run_service.proto", + "version": "version not set" + }, + "tags": [ + { + "name": "LocalRunService" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32", + "description": "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]." + }, + "message": { + "type": "string", + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client." + }, + "details": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/protobufAny" + }, + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use." + } + }, + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors)." + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + } + }, + "additionalProperties": {}, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } +} diff --git a/gen/python/flyteidl2/dataproxy/dataproxy_service_connect.py b/gen/python/flyteidl2/dataproxy/dataproxy_service_connect.py index e8b62f43255..b7459d0de2e 100644 --- a/gen/python/flyteidl2/dataproxy/dataproxy_service_connect.py +++ b/gen/python/flyteidl2/dataproxy/dataproxy_service_connect.py @@ -32,6 +32,15 @@ async def get_action_data(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__ def tail_logs(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsRequest, ctx: RequestContext) -> AsyncIterator[flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsResponse]: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + async def upload_metadata(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, ctx: RequestContext) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def get_local_action_data(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, ctx: RequestContext) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def create_local_download_link(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, ctx: RequestContext) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + class DataProxyServiceASGIApplication(ConnectASGIApplication[DataProxyService]): def __init__(self, service: DataProxyService | AsyncGenerator[DataProxyService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None: @@ -88,6 +97,36 @@ def __init__(self, service: DataProxyService | AsyncGenerator[DataProxyService], ), function=svc.tail_logs, ), + "/flyteidl2.dataproxy.DataProxyService/UploadMetadata": Endpoint.unary( + method=MethodInfo( + name="UploadMetadata", + service_name="flyteidl2.dataproxy.DataProxyService", + input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, + output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.upload_metadata, + ), + "/flyteidl2.dataproxy.DataProxyService/GetLocalActionData": Endpoint.unary( + method=MethodInfo( + name="GetLocalActionData", + service_name="flyteidl2.dataproxy.DataProxyService", + input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, + output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + function=svc.get_local_action_data, + ), + "/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink": Endpoint.unary( + method=MethodInfo( + name="CreateLocalDownloadLink", + service_name="flyteidl2.dataproxy.DataProxyService", + input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, + output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.create_local_download_link, + ), }, interceptors=interceptors, read_max_bytes=read_max_bytes, @@ -203,6 +242,68 @@ def tail_logs( timeout_ms=timeout_ms, ) + async def upload_metadata( + self, + request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="UploadMetadata", + service_name="flyteidl2.dataproxy.DataProxyService", + input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, + output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def get_local_action_data( + self, + request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + use_get: bool = False, + ) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="GetLocalActionData", + service_name="flyteidl2.dataproxy.DataProxyService", + input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, + output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + headers=headers, + timeout_ms=timeout_ms, + use_get=use_get, + ) + + async def create_local_download_link( + self, + request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="CreateLocalDownloadLink", + service_name="flyteidl2.dataproxy.DataProxyService", + input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, + output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + class DataProxyServiceSync(Protocol): def create_upload_location(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationRequest, ctx: RequestContext) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse: @@ -215,6 +316,12 @@ def get_action_data(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__servic raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def tail_logs(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsRequest, ctx: RequestContext) -> Iterator[flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsResponse]: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def upload_metadata(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, ctx: RequestContext) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def get_local_action_data(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, ctx: RequestContext) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def create_local_download_link(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, ctx: RequestContext) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") class DataProxyServiceWSGIApplication(ConnectWSGIApplication): @@ -271,6 +378,36 @@ def __init__(self, service: DataProxyServiceSync, interceptors: Iterable[Interce ), function=service.tail_logs, ), + "/flyteidl2.dataproxy.DataProxyService/UploadMetadata": EndpointSync.unary( + method=MethodInfo( + name="UploadMetadata", + service_name="flyteidl2.dataproxy.DataProxyService", + input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, + output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.upload_metadata, + ), + "/flyteidl2.dataproxy.DataProxyService/GetLocalActionData": EndpointSync.unary( + method=MethodInfo( + name="GetLocalActionData", + service_name="flyteidl2.dataproxy.DataProxyService", + input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, + output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + function=service.get_local_action_data, + ), + "/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink": EndpointSync.unary( + method=MethodInfo( + name="CreateLocalDownloadLink", + service_name="flyteidl2.dataproxy.DataProxyService", + input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, + output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.create_local_download_link, + ), }, interceptors=interceptors, read_max_bytes=read_max_bytes, @@ -385,3 +522,65 @@ def tail_logs( headers=headers, timeout_ms=timeout_ms, ) + + def upload_metadata( + self, + request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="UploadMetadata", + service_name="flyteidl2.dataproxy.DataProxyService", + input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, + output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def get_local_action_data( + self, + request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + use_get: bool = False, + ) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="GetLocalActionData", + service_name="flyteidl2.dataproxy.DataProxyService", + input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, + output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + headers=headers, + timeout_ms=timeout_ms, + use_get=use_get, + ) + + def create_local_download_link( + self, + request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="CreateLocalDownloadLink", + service_name="flyteidl2.dataproxy.DataProxyService", + input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, + output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) diff --git a/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.py b/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.py index 727ebbd63e9..42a4ef9f30d 100644 --- a/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.py +++ b/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.py @@ -22,7 +22,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+flyteidl2/dataproxy/dataproxy_service.proto\x12\x13\x66lyteidl2.dataproxy\x1a\x1b\x62uf/validate/validate.proto\x1a\"flyteidl2/app/app_definition.proto\x1a!flyteidl2/common/identifier.proto\x1a\x1a\x66lyteidl2/common/run.proto\x1a&flyteidl2/logs/dataplane/payload.proto\x1a\x1b\x66lyteidl2/task/common.proto\x1a$flyteidl2/task/task_definition.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf8\x02\n\x1b\x43reateUploadLocationRequest\x12!\n\x07project\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x07project\x12\x1f\n\x06\x64omain\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06\x64omain\x12\x1a\n\x08\x66ilename\x18\x03 \x01(\tR\x08\x66ilename\x12\x38\n\nexpires_in\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\x12(\n\x0b\x63ontent_md5\x18\x05 \x01(\x0c\x42\x07\xbaH\x04z\x02h\x10R\ncontentMd5\x12#\n\rfilename_root\x18\x06 \x01(\tR\x0c\x66ilenameRoot\x12\x37\n\x18\x61\x64\x64_content_md5_metadata\x18\x07 \x01(\x08R\x15\x61\x64\x64\x43ontentMd5Metadata\x12\x10\n\x03org\x18\x08 \x01(\tR\x03org\x12%\n\x0e\x63ontent_length\x18\t \x01(\x03R\rcontentLength\"\xad\x02\n\x1c\x43reateUploadLocationResponse\x12\x1d\n\nsigned_url\x18\x01 \x01(\tR\tsignedUrl\x12\x1d\n\nnative_url\x18\x02 \x01(\tR\tnativeUrl\x12\x39\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12X\n\x07headers\x18\x04 \x03(\x0b\x32>.flyteidl2.dataproxy.CreateUploadLocationResponse.HeadersEntryR\x07headers\x1a:\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xb4\x03\n\x13UploadInputsRequest\x12\x38\n\x06run_id\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.common.RunIdentifierH\x00R\x05runId\x12\x44\n\nproject_id\x18\x02 \x01(\x0b\x32#.flyteidl2.common.ProjectIdentifierH\x00R\tprojectId\x12\x39\n\x07task_id\x18\x03 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierH\x01R\x06taskId\x12\x37\n\ttask_spec\x18\x04 \x01(\x0b\x32\x18.flyteidl2.task.TaskSpecH\x01R\x08taskSpec\x12\x42\n\x0ctrigger_name\x18\x05 \x01(\x0b\x32\x1d.flyteidl2.common.TriggerNameH\x01R\x0btriggerName\x12.\n\x06inputs\x18\x06 \x01(\x0b\x32\x16.flyteidl2.task.InputsR\x06inputs\x12\x19\n\x08\x62\x61se_dir\x18\x07 \x01(\tR\x07\x62\x61seDirB\x0b\n\x02id\x12\x05\xbaH\x02\x08\x01\x42\r\n\x04task\x12\x05\xbaH\x02\x08\x01\"n\n\x14UploadInputsResponse\x12V\n\x14offloaded_input_data\x18\x01 \x01(\x0b\x32$.flyteidl2.common.OffloadedInputDataR\x12offloadedInputData\"i\n\rPreSignedURLs\x12\x1d\n\nsigned_url\x18\x01 \x03(\tR\tsignedUrl\x12\x39\n\nexpires_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\"\x80\x03\n\x19\x43reateDownloadLinkRequest\x12P\n\rartifact_type\x18\x01 \x01(\x0e\x32!.flyteidl2.dataproxy.ArtifactTypeB\x08\xbaH\x05\x82\x01\x02 \x00R\x0c\x61rtifactType\x12\x38\n\nexpires_in\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\x12W\n\x11\x61\x63tion_attempt_id\x18\x03 \x01(\x0b\x32).flyteidl2.common.ActionAttemptIdentifierH\x00R\x0f\x61\x63tionAttemptId\x12\x32\n\x06\x61pp_id\x18\x04 \x01(\x0b\x32\x19.flyteidl2.app.IdentifierH\x00R\x05\x61ppId\x12\x39\n\x07task_id\x18\x05 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierH\x00R\x06taskIdB\x0f\n\x06source\x12\x05\xbaH\x02\x08\x01\"h\n\x1a\x43reateDownloadLinkResponse\x12J\n\x0fpre_signed_urls\x18\x01 \x01(\x0b\x32\".flyteidl2.dataproxy.PreSignedURLsR\rpreSignedUrls\"_\n\x14GetActionDataRequest\x12G\n\taction_id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x08\x61\x63tionId\"\xba\x01\n\x15GetActionDataResponse\x12.\n\x06inputs\x18\x01 \x01(\x0b\x32\x16.flyteidl2.task.InputsR\x06inputs\x12\x31\n\x07outputs\x18\x02 \x01(\x0b\x32\x17.flyteidl2.task.OutputsR\x07outputs\x12\x1d\n\ninputs_uri\x18\x03 \x01(\tR\tinputsUri\x12\x1f\n\x0boutputs_uri\x18\x04 \x01(\tR\noutputsUri\"\xb5\x02\n\x0fTailLogsRequest\x12G\n\taction_id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x08\x61\x63tionId\x12!\n\x07\x61ttempt\x18\x02 \x01(\rB\x07\xbaH\x04*\x02 \x00R\x07\x61ttempt\x12!\n\x0bprimary_pod\x18\x06 \x01(\x08H\x00R\nprimaryPod\x12\x1b\n\x08\x61ll_pods\x18\x05 \x01(\x08H\x00R\x07\x61llPods\x12\x1b\n\x08pod_name\x18\x03 \x01(\tH\x00R\x07podName\x12\x32\n\x12\x63onnector_endpoint\x18\x04 \x01(\tH\x01R\x11\x63onnectorEndpoint\x88\x01\x01\x42\x0e\n\x0cpod_selectorB\x15\n\x13_connector_endpoint\"\xe1\x01\n\x10TailLogsResponse\x12>\n\x04logs\x18\x01 \x03(\x0b\x32*.flyteidl2.dataproxy.TailLogsResponse.LogsR\x04logs\x1a\x8c\x01\n\x04Logs\x12\x37\n\x05lines\x18\x01 \x03(\x0b\x32!.flyteidl2.logs.dataplane.LogLineR\x05lines\x12K\n\tcontainer\x18\x02 \x01(\x0b\x32-.flyteidl2.logs.dataplane.ContainerIdentifierR\tcontainer*f\n\x0c\x41rtifactType\x12\x1d\n\x19\x41RTIFACT_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14\x41RTIFACT_TYPE_REPORT\x10\x01\x12\x1d\n\x19\x41RTIFACT_TYPE_CODE_BUNDLE\x10\x02\x32\xbb\x04\n\x10\x44\x61taProxyService\x12}\n\x14\x43reateUploadLocation\x12\x30.flyteidl2.dataproxy.CreateUploadLocationRequest\x1a\x31.flyteidl2.dataproxy.CreateUploadLocationResponse\"\x00\x12\x65\n\x0cUploadInputs\x12(.flyteidl2.dataproxy.UploadInputsRequest\x1a).flyteidl2.dataproxy.UploadInputsResponse\"\x00\x12w\n\x12\x43reateDownloadLink\x12..flyteidl2.dataproxy.CreateDownloadLinkRequest\x1a/.flyteidl2.dataproxy.CreateDownloadLinkResponse\"\x00\x12k\n\rGetActionData\x12).flyteidl2.dataproxy.GetActionDataRequest\x1a*.flyteidl2.dataproxy.GetActionDataResponse\"\x03\x90\x02\x01\x12[\n\x08TailLogs\x12$.flyteidl2.dataproxy.TailLogsRequest\x1a%.flyteidl2.dataproxy.TailLogsResponse\"\x00\x30\x01\x42\xd8\x01\n\x17\x63om.flyteidl2.dataproxyB\x15\x44\x61taproxyServiceProtoH\x02P\x01Z7github.com/flyteorg/flyte/v2/gen/go/flyteidl2/dataproxy\xa2\x02\x03\x46\x44X\xaa\x02\x13\x46lyteidl2.Dataproxy\xca\x02\x13\x46lyteidl2\\Dataproxy\xe2\x02\x1f\x46lyteidl2\\Dataproxy\\GPBMetadata\xea\x02\x14\x46lyteidl2::Dataproxyb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+flyteidl2/dataproxy/dataproxy_service.proto\x12\x13\x66lyteidl2.dataproxy\x1a\x1b\x62uf/validate/validate.proto\x1a\"flyteidl2/app/app_definition.proto\x1a!flyteidl2/common/identifier.proto\x1a\x1a\x66lyteidl2/common/run.proto\x1a&flyteidl2/logs/dataplane/payload.proto\x1a\x1b\x66lyteidl2/task/common.proto\x1a$flyteidl2/task/task_definition.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf8\x02\n\x1b\x43reateUploadLocationRequest\x12!\n\x07project\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x07project\x12\x1f\n\x06\x64omain\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06\x64omain\x12\x1a\n\x08\x66ilename\x18\x03 \x01(\tR\x08\x66ilename\x12\x38\n\nexpires_in\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\x12(\n\x0b\x63ontent_md5\x18\x05 \x01(\x0c\x42\x07\xbaH\x04z\x02h\x10R\ncontentMd5\x12#\n\rfilename_root\x18\x06 \x01(\tR\x0c\x66ilenameRoot\x12\x37\n\x18\x61\x64\x64_content_md5_metadata\x18\x07 \x01(\x08R\x15\x61\x64\x64\x43ontentMd5Metadata\x12\x10\n\x03org\x18\x08 \x01(\tR\x03org\x12%\n\x0e\x63ontent_length\x18\t \x01(\x03R\rcontentLength\"\xad\x02\n\x1c\x43reateUploadLocationResponse\x12\x1d\n\nsigned_url\x18\x01 \x01(\tR\tsignedUrl\x12\x1d\n\nnative_url\x18\x02 \x01(\tR\tnativeUrl\x12\x39\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12X\n\x07headers\x18\x04 \x03(\x0b\x32>.flyteidl2.dataproxy.CreateUploadLocationResponse.HeadersEntryR\x07headers\x1a:\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xb4\x03\n\x13UploadInputsRequest\x12\x38\n\x06run_id\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.common.RunIdentifierH\x00R\x05runId\x12\x44\n\nproject_id\x18\x02 \x01(\x0b\x32#.flyteidl2.common.ProjectIdentifierH\x00R\tprojectId\x12\x39\n\x07task_id\x18\x03 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierH\x01R\x06taskId\x12\x37\n\ttask_spec\x18\x04 \x01(\x0b\x32\x18.flyteidl2.task.TaskSpecH\x01R\x08taskSpec\x12\x42\n\x0ctrigger_name\x18\x05 \x01(\x0b\x32\x1d.flyteidl2.common.TriggerNameH\x01R\x0btriggerName\x12.\n\x06inputs\x18\x06 \x01(\x0b\x32\x16.flyteidl2.task.InputsR\x06inputs\x12\x19\n\x08\x62\x61se_dir\x18\x07 \x01(\tR\x07\x62\x61seDirB\x0b\n\x02id\x12\x05\xbaH\x02\x08\x01\x42\r\n\x04task\x12\x05\xbaH\x02\x08\x01\"n\n\x14UploadInputsResponse\x12V\n\x14offloaded_input_data\x18\x01 \x01(\x0b\x32$.flyteidl2.common.OffloadedInputDataR\x12offloadedInputData\"i\n\rPreSignedURLs\x12\x1d\n\nsigned_url\x18\x01 \x03(\tR\tsignedUrl\x12\x39\n\nexpires_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\"\x80\x03\n\x19\x43reateDownloadLinkRequest\x12P\n\rartifact_type\x18\x01 \x01(\x0e\x32!.flyteidl2.dataproxy.ArtifactTypeB\x08\xbaH\x05\x82\x01\x02 \x00R\x0c\x61rtifactType\x12\x38\n\nexpires_in\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\x12W\n\x11\x61\x63tion_attempt_id\x18\x03 \x01(\x0b\x32).flyteidl2.common.ActionAttemptIdentifierH\x00R\x0f\x61\x63tionAttemptId\x12\x32\n\x06\x61pp_id\x18\x04 \x01(\x0b\x32\x19.flyteidl2.app.IdentifierH\x00R\x05\x61ppId\x12\x39\n\x07task_id\x18\x05 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierH\x00R\x06taskIdB\x0f\n\x06source\x12\x05\xbaH\x02\x08\x01\"h\n\x1a\x43reateDownloadLinkResponse\x12J\n\x0fpre_signed_urls\x18\x01 \x01(\x0b\x32\".flyteidl2.dataproxy.PreSignedURLsR\rpreSignedUrls\"_\n\x14GetActionDataRequest\x12G\n\taction_id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x08\x61\x63tionId\"\xba\x01\n\x15GetActionDataResponse\x12.\n\x06inputs\x18\x01 \x01(\x0b\x32\x16.flyteidl2.task.InputsR\x06inputs\x12\x31\n\x07outputs\x18\x02 \x01(\x0b\x32\x17.flyteidl2.task.OutputsR\x07outputs\x12\x1d\n\ninputs_uri\x18\x03 \x01(\tR\tinputsUri\x12\x1f\n\x0boutputs_uri\x18\x04 \x01(\tR\noutputsUri\"\xb5\x02\n\x0fTailLogsRequest\x12G\n\taction_id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x08\x61\x63tionId\x12!\n\x07\x61ttempt\x18\x02 \x01(\rB\x07\xbaH\x04*\x02 \x00R\x07\x61ttempt\x12!\n\x0bprimary_pod\x18\x06 \x01(\x08H\x00R\nprimaryPod\x12\x1b\n\x08\x61ll_pods\x18\x05 \x01(\x08H\x00R\x07\x61llPods\x12\x1b\n\x08pod_name\x18\x03 \x01(\tH\x00R\x07podName\x12\x32\n\x12\x63onnector_endpoint\x18\x04 \x01(\tH\x01R\x11\x63onnectorEndpoint\x88\x01\x01\x42\x0e\n\x0cpod_selectorB\x15\n\x13_connector_endpoint\"\xde\x03\n\x15UploadMetadataRequest\x12T\n\rartifact_type\x18\x01 \x01(\x0e\x32!.flyteidl2.dataproxy.ArtifactTypeB\x0c\xbaH\t\x82\x01\x06\x18\x01\x18\x03\x18\x04R\x0c\x61rtifactType\x12\x41\n\taction_id\x18\x02 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierH\x00R\x08\x61\x63tionId\x12W\n\x11\x61\x63tion_attempt_id\x18\x03 \x01(\x0b\x32).flyteidl2.common.ActionAttemptIdentifierH\x00R\x0f\x61\x63tionAttemptId\x12(\n\x0b\x63ontent_md5\x18\x04 \x01(\x0c\x42\x07\xbaH\x04z\x02h\x10R\ncontentMd5\x12%\n\x0e\x63ontent_length\x18\x05 \x01(\x03R\rcontentLength\x12\x38\n\nexpires_in\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\x12\x37\n\x18\x61\x64\x64_content_md5_metadata\x18\x07 \x01(\x08R\x15\x61\x64\x64\x43ontentMd5MetadataB\x0f\n\x06target\x12\x05\xbaH\x02\x08\x01\"\x8b\x02\n\x1e\x43reateLocalDownloadLinkRequest\x12P\n\rartifact_type\x18\x01 \x01(\x0e\x32!.flyteidl2.dataproxy.ArtifactTypeB\x08\xbaH\x05\x82\x01\x02 \x00R\x0c\x61rtifactType\x12]\n\x11\x61\x63tion_attempt_id\x18\x02 \x01(\x0b\x32).flyteidl2.common.ActionAttemptIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x0f\x61\x63tionAttemptId\x12\x38\n\nexpires_in\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\"\xe1\x01\n\x10TailLogsResponse\x12>\n\x04logs\x18\x01 \x03(\x0b\x32*.flyteidl2.dataproxy.TailLogsResponse.LogsR\x04logs\x1a\x8c\x01\n\x04Logs\x12\x37\n\x05lines\x18\x01 \x03(\x0b\x32!.flyteidl2.logs.dataplane.LogLineR\x05lines\x12K\n\tcontainer\x18\x02 \x01(\x0b\x32-.flyteidl2.logs.dataplane.ContainerIdentifierR\tcontainer*\x9b\x01\n\x0c\x41rtifactType\x12\x1d\n\x19\x41RTIFACT_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14\x41RTIFACT_TYPE_REPORT\x10\x01\x12\x1d\n\x19\x41RTIFACT_TYPE_CODE_BUNDLE\x10\x02\x12\x18\n\x14\x41RTIFACT_TYPE_INPUTS\x10\x03\x12\x19\n\x15\x41RTIFACT_TYPE_OUTPUTS\x10\x04\x32\xa4\x07\n\x10\x44\x61taProxyService\x12}\n\x14\x43reateUploadLocation\x12\x30.flyteidl2.dataproxy.CreateUploadLocationRequest\x1a\x31.flyteidl2.dataproxy.CreateUploadLocationResponse\"\x00\x12\x65\n\x0cUploadInputs\x12(.flyteidl2.dataproxy.UploadInputsRequest\x1a).flyteidl2.dataproxy.UploadInputsResponse\"\x00\x12w\n\x12\x43reateDownloadLink\x12..flyteidl2.dataproxy.CreateDownloadLinkRequest\x1a/.flyteidl2.dataproxy.CreateDownloadLinkResponse\"\x00\x12k\n\rGetActionData\x12).flyteidl2.dataproxy.GetActionDataRequest\x1a*.flyteidl2.dataproxy.GetActionDataResponse\"\x03\x90\x02\x01\x12[\n\x08TailLogs\x12$.flyteidl2.dataproxy.TailLogsRequest\x1a%.flyteidl2.dataproxy.TailLogsResponse\"\x00\x30\x01\x12q\n\x0eUploadMetadata\x12*.flyteidl2.dataproxy.UploadMetadataRequest\x1a\x31.flyteidl2.dataproxy.CreateUploadLocationResponse\"\x00\x12p\n\x12GetLocalActionData\x12).flyteidl2.dataproxy.GetActionDataRequest\x1a*.flyteidl2.dataproxy.GetActionDataResponse\"\x03\x90\x02\x01\x12\x81\x01\n\x17\x43reateLocalDownloadLink\x12\x33.flyteidl2.dataproxy.CreateLocalDownloadLinkRequest\x1a/.flyteidl2.dataproxy.CreateDownloadLinkResponse\"\x00\x42\xd8\x01\n\x17\x63om.flyteidl2.dataproxyB\x15\x44\x61taproxyServiceProtoH\x02P\x01Z7github.com/flyteorg/flyte/v2/gen/go/flyteidl2/dataproxy\xa2\x02\x03\x46\x44X\xaa\x02\x13\x46lyteidl2.Dataproxy\xca\x02\x13\x46lyteidl2\\Dataproxy\xe2\x02\x1f\x46lyteidl2\\Dataproxy\\GPBMetadata\xea\x02\x14\x46lyteidl2::Dataproxyb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -52,10 +52,22 @@ _TAILLOGSREQUEST.fields_by_name['action_id']._serialized_options = b'\272H\003\310\001\001' _TAILLOGSREQUEST.fields_by_name['attempt']._options = None _TAILLOGSREQUEST.fields_by_name['attempt']._serialized_options = b'\272H\004*\002 \000' + _UPLOADMETADATAREQUEST.oneofs_by_name['target']._options = None + _UPLOADMETADATAREQUEST.oneofs_by_name['target']._serialized_options = b'\272H\002\010\001' + _UPLOADMETADATAREQUEST.fields_by_name['artifact_type']._options = None + _UPLOADMETADATAREQUEST.fields_by_name['artifact_type']._serialized_options = b'\272H\t\202\001\006\030\001\030\003\030\004' + _UPLOADMETADATAREQUEST.fields_by_name['content_md5']._options = None + _UPLOADMETADATAREQUEST.fields_by_name['content_md5']._serialized_options = b'\272H\004z\002h\020' + _CREATELOCALDOWNLOADLINKREQUEST.fields_by_name['artifact_type']._options = None + _CREATELOCALDOWNLOADLINKREQUEST.fields_by_name['artifact_type']._serialized_options = b'\272H\005\202\001\002 \000' + _CREATELOCALDOWNLOADLINKREQUEST.fields_by_name['action_attempt_id']._options = None + _CREATELOCALDOWNLOADLINKREQUEST.fields_by_name['action_attempt_id']._serialized_options = b'\272H\003\310\001\001' _DATAPROXYSERVICE.methods_by_name['GetActionData']._options = None _DATAPROXYSERVICE.methods_by_name['GetActionData']._serialized_options = b'\220\002\001' - _globals['_ARTIFACTTYPE']._serialized_start=3028 - _globals['_ARTIFACTTYPE']._serialized_end=3130 + _DATAPROXYSERVICE.methods_by_name['GetLocalActionData']._options = None + _DATAPROXYSERVICE.methods_by_name['GetLocalActionData']._serialized_options = b'\220\002\001' + _globals['_ARTIFACTTYPE']._serialized_start=3780 + _globals['_ARTIFACTTYPE']._serialized_end=3935 _globals['_CREATEUPLOADLOCATIONREQUEST']._serialized_start=369 _globals['_CREATEUPLOADLOCATIONREQUEST']._serialized_end=745 _globals['_CREATEUPLOADLOCATIONRESPONSE']._serialized_start=748 @@ -78,10 +90,14 @@ _globals['_GETACTIONDATARESPONSE']._serialized_end=2486 _globals['_TAILLOGSREQUEST']._serialized_start=2489 _globals['_TAILLOGSREQUEST']._serialized_end=2798 - _globals['_TAILLOGSRESPONSE']._serialized_start=2801 - _globals['_TAILLOGSRESPONSE']._serialized_end=3026 - _globals['_TAILLOGSRESPONSE_LOGS']._serialized_start=2886 - _globals['_TAILLOGSRESPONSE_LOGS']._serialized_end=3026 - _globals['_DATAPROXYSERVICE']._serialized_start=3133 - _globals['_DATAPROXYSERVICE']._serialized_end=3704 + _globals['_UPLOADMETADATAREQUEST']._serialized_start=2801 + _globals['_UPLOADMETADATAREQUEST']._serialized_end=3279 + _globals['_CREATELOCALDOWNLOADLINKREQUEST']._serialized_start=3282 + _globals['_CREATELOCALDOWNLOADLINKREQUEST']._serialized_end=3549 + _globals['_TAILLOGSRESPONSE']._serialized_start=3552 + _globals['_TAILLOGSRESPONSE']._serialized_end=3777 + _globals['_TAILLOGSRESPONSE_LOGS']._serialized_start=3637 + _globals['_TAILLOGSRESPONSE_LOGS']._serialized_end=3777 + _globals['_DATAPROXYSERVICE']._serialized_start=3938 + _globals['_DATAPROXYSERVICE']._serialized_end=4870 # @@protoc_insertion_point(module_scope) diff --git a/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.pyi b/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.pyi index cc34030dd81..69abddd6fca 100644 --- a/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.pyi +++ b/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.pyi @@ -20,9 +20,13 @@ class ArtifactType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): ARTIFACT_TYPE_UNSPECIFIED: _ClassVar[ArtifactType] ARTIFACT_TYPE_REPORT: _ClassVar[ArtifactType] ARTIFACT_TYPE_CODE_BUNDLE: _ClassVar[ArtifactType] + ARTIFACT_TYPE_INPUTS: _ClassVar[ArtifactType] + ARTIFACT_TYPE_OUTPUTS: _ClassVar[ArtifactType] ARTIFACT_TYPE_UNSPECIFIED: ArtifactType ARTIFACT_TYPE_REPORT: ArtifactType ARTIFACT_TYPE_CODE_BUNDLE: ArtifactType +ARTIFACT_TYPE_INPUTS: ArtifactType +ARTIFACT_TYPE_OUTPUTS: ArtifactType class CreateUploadLocationRequest(_message.Message): __slots__ = ["project", "domain", "filename", "expires_in", "content_md5", "filename_root", "add_content_md5_metadata", "org", "content_length"] @@ -151,6 +155,34 @@ class TailLogsRequest(_message.Message): connector_endpoint: str def __init__(self, action_id: _Optional[_Union[_identifier_pb2.ActionIdentifier, _Mapping]] = ..., attempt: _Optional[int] = ..., primary_pod: bool = ..., all_pods: bool = ..., pod_name: _Optional[str] = ..., connector_endpoint: _Optional[str] = ...) -> None: ... +class UploadMetadataRequest(_message.Message): + __slots__ = ["artifact_type", "action_id", "action_attempt_id", "content_md5", "content_length", "expires_in", "add_content_md5_metadata"] + ARTIFACT_TYPE_FIELD_NUMBER: _ClassVar[int] + ACTION_ID_FIELD_NUMBER: _ClassVar[int] + ACTION_ATTEMPT_ID_FIELD_NUMBER: _ClassVar[int] + CONTENT_MD5_FIELD_NUMBER: _ClassVar[int] + CONTENT_LENGTH_FIELD_NUMBER: _ClassVar[int] + EXPIRES_IN_FIELD_NUMBER: _ClassVar[int] + ADD_CONTENT_MD5_METADATA_FIELD_NUMBER: _ClassVar[int] + artifact_type: ArtifactType + action_id: _identifier_pb2.ActionIdentifier + action_attempt_id: _identifier_pb2.ActionAttemptIdentifier + content_md5: bytes + content_length: int + expires_in: _duration_pb2.Duration + add_content_md5_metadata: bool + def __init__(self, artifact_type: _Optional[_Union[ArtifactType, str]] = ..., action_id: _Optional[_Union[_identifier_pb2.ActionIdentifier, _Mapping]] = ..., action_attempt_id: _Optional[_Union[_identifier_pb2.ActionAttemptIdentifier, _Mapping]] = ..., content_md5: _Optional[bytes] = ..., content_length: _Optional[int] = ..., expires_in: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., add_content_md5_metadata: bool = ...) -> None: ... + +class CreateLocalDownloadLinkRequest(_message.Message): + __slots__ = ["artifact_type", "action_attempt_id", "expires_in"] + ARTIFACT_TYPE_FIELD_NUMBER: _ClassVar[int] + ACTION_ATTEMPT_ID_FIELD_NUMBER: _ClassVar[int] + EXPIRES_IN_FIELD_NUMBER: _ClassVar[int] + artifact_type: ArtifactType + action_attempt_id: _identifier_pb2.ActionAttemptIdentifier + expires_in: _duration_pb2.Duration + def __init__(self, artifact_type: _Optional[_Union[ArtifactType, str]] = ..., action_attempt_id: _Optional[_Union[_identifier_pb2.ActionAttemptIdentifier, _Mapping]] = ..., expires_in: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... + class TailLogsResponse(_message.Message): __slots__ = ["logs"] class Logs(_message.Message): diff --git a/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2_grpc.py b/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2_grpc.py index f28b619afae..6452136aa20 100644 --- a/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2_grpc.py +++ b/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2_grpc.py @@ -40,6 +40,21 @@ def __init__(self, channel): request_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsRequest.SerializeToString, response_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsResponse.FromString, ) + self.UploadMetadata = channel.unary_unary( + '/flyteidl2.dataproxy.DataProxyService/UploadMetadata', + request_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest.SerializeToString, + response_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse.FromString, + ) + self.GetLocalActionData = channel.unary_unary( + '/flyteidl2.dataproxy.DataProxyService/GetLocalActionData', + request_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest.SerializeToString, + response_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse.FromString, + ) + self.CreateLocalDownloadLink = channel.unary_unary( + '/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink', + request_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest.SerializeToString, + response_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse.FromString, + ) class DataProxyServiceServicer(object): @@ -80,6 +95,32 @@ def TailLogs(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def UploadMetadata(self, request, context): + """UploadMetadata generates a signed URL for uploading a local run's metadata artifact + (inputs.pb / outputs.pb / report.html) directly to the control plane's storage backend. + Local runs only; never routes to a dataplane. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetLocalActionData(self, request, context): + """Get input and output data for an action of a local run, served directly from the control + plane's storage backend. Local runs only; never routes to a dataplane. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateLocalDownloadLink(self, request, context): + """CreateLocalDownloadLink generates signed URL(s) for downloading an artifact of a local run + action attempt directly from the control plane's storage backend. Local runs only; never + routes to a dataplane. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_DataProxyServiceServicer_to_server(servicer, server): rpc_method_handlers = { @@ -108,6 +149,21 @@ def add_DataProxyServiceServicer_to_server(servicer, server): request_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsRequest.FromString, response_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsResponse.SerializeToString, ), + 'UploadMetadata': grpc.unary_unary_rpc_method_handler( + servicer.UploadMetadata, + request_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest.FromString, + response_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse.SerializeToString, + ), + 'GetLocalActionData': grpc.unary_unary_rpc_method_handler( + servicer.GetLocalActionData, + request_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest.FromString, + response_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse.SerializeToString, + ), + 'CreateLocalDownloadLink': grpc.unary_unary_rpc_method_handler( + servicer.CreateLocalDownloadLink, + request_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest.FromString, + response_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'flyteidl2.dataproxy.DataProxyService', rpc_method_handlers) @@ -203,3 +259,54 @@ def TailLogs(request, flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UploadMetadata(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flyteidl2.dataproxy.DataProxyService/UploadMetadata', + flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest.SerializeToString, + flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetLocalActionData(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flyteidl2.dataproxy.DataProxyService/GetLocalActionData', + flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest.SerializeToString, + flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CreateLocalDownloadLink(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink', + flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest.SerializeToString, + flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/gen/python/flyteidl2/workflow/local_run_service_connect.py b/gen/python/flyteidl2/workflow/local_run_service_connect.py new file mode 100644 index 00000000000..c8ccedfdc82 --- /dev/null +++ b/gen/python/flyteidl2/workflow/local_run_service_connect.py @@ -0,0 +1,725 @@ +# -*- coding: utf-8 -*- +# Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT! +# source: flyteidl2/workflow/local_run_service.proto + +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol + +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import flyteidl2.workflow.local_run_service_pb2 as flyteidl2_dot_workflow_dot_local__run__service__pb2 +import flyteidl2.workflow.run_service_pb2 as flyteidl2_dot_workflow_dot_run__service__pb2 + + +class LocalRunService(Protocol): + async def create_run(self, request: flyteidl2_dot_workflow_dot_local__run__service__pb2.CreateLocalRunRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_run__service__pb2.CreateRunResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def report_actions(self, request: flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def get_run_details(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + def watch_run_details(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsRequest, ctx: RequestContext) -> AsyncIterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsResponse]: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def get_action_details(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + def watch_action_details(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsRequest, ctx: RequestContext) -> AsyncIterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsResponse]: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def list_runs(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + def watch_runs(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsRequest, ctx: RequestContext) -> AsyncIterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsResponse]: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + async def list_actions(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + def watch_actions(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest, ctx: RequestContext) -> AsyncIterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse]: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + +class LocalRunServiceASGIApplication(ConnectASGIApplication[LocalRunService]): + def __init__(self, service: LocalRunService | AsyncGenerator[LocalRunService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None: + super().__init__( + service=service, + endpoints=lambda svc: { + "/flyteidl2.workflow.LocalRunService/CreateRun": Endpoint.unary( + method=MethodInfo( + name="CreateRun", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_local__run__service__pb2.CreateLocalRunRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.CreateRunResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.create_run, + ), + "/flyteidl2.workflow.LocalRunService/ReportActions": Endpoint.unary( + method=MethodInfo( + name="ReportActions", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsRequest, + output=flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.report_actions, + ), + "/flyteidl2.workflow.LocalRunService/GetRunDetails": Endpoint.unary( + method=MethodInfo( + name="GetRunDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + function=svc.get_run_details, + ), + "/flyteidl2.workflow.LocalRunService/WatchRunDetails": Endpoint.server_stream( + method=MethodInfo( + name="WatchRunDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.watch_run_details, + ), + "/flyteidl2.workflow.LocalRunService/GetActionDetails": Endpoint.unary( + method=MethodInfo( + name="GetActionDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + function=svc.get_action_details, + ), + "/flyteidl2.workflow.LocalRunService/WatchActionDetails": Endpoint.server_stream( + method=MethodInfo( + name="WatchActionDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.watch_action_details, + ), + "/flyteidl2.workflow.LocalRunService/ListRuns": Endpoint.unary( + method=MethodInfo( + name="ListRuns", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + function=svc.list_runs, + ), + "/flyteidl2.workflow.LocalRunService/WatchRuns": Endpoint.server_stream( + method=MethodInfo( + name="WatchRuns", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.watch_runs, + ), + "/flyteidl2.workflow.LocalRunService/ListActions": Endpoint.unary( + method=MethodInfo( + name="ListActions", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + function=svc.list_actions, + ), + "/flyteidl2.workflow.LocalRunService/WatchActions": Endpoint.server_stream( + method=MethodInfo( + name="WatchActions", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.watch_actions, + ), + }, + interceptors=interceptors, + read_max_bytes=read_max_bytes, + compressions=compressions, + ) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return "/flyteidl2.workflow.LocalRunService" + + +class LocalRunServiceClient(ConnectClient): + async def create_run( + self, + request: flyteidl2_dot_workflow_dot_local__run__service__pb2.CreateLocalRunRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> flyteidl2_dot_workflow_dot_run__service__pb2.CreateRunResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="CreateRun", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_local__run__service__pb2.CreateLocalRunRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.CreateRunResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def report_actions( + self, + request: flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="ReportActions", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsRequest, + output=flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def get_run_details( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + use_get: bool = False, + ) -> flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="GetRunDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + headers=headers, + timeout_ms=timeout_ms, + use_get=use_get, + ) + + def watch_run_details( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> AsyncIterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsResponse]: + return self.execute_server_stream( + request=request, + method=MethodInfo( + name="WatchRunDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def get_action_details( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + use_get: bool = False, + ) -> flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="GetActionDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + headers=headers, + timeout_ms=timeout_ms, + use_get=use_get, + ) + + def watch_action_details( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> AsyncIterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsResponse]: + return self.execute_server_stream( + request=request, + method=MethodInfo( + name="WatchActionDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def list_runs( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + use_get: bool = False, + ) -> flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="ListRuns", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + headers=headers, + timeout_ms=timeout_ms, + use_get=use_get, + ) + + def watch_runs( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> AsyncIterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsResponse]: + return self.execute_server_stream( + request=request, + method=MethodInfo( + name="WatchRuns", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + async def list_actions( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + use_get: bool = False, + ) -> flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="ListActions", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + headers=headers, + timeout_ms=timeout_ms, + use_get=use_get, + ) + + def watch_actions( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> AsyncIterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse]: + return self.execute_server_stream( + request=request, + method=MethodInfo( + name="WatchActions", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + +class LocalRunServiceSync(Protocol): + def create_run(self, request: flyteidl2_dot_workflow_dot_local__run__service__pb2.CreateLocalRunRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_run__service__pb2.CreateRunResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def report_actions(self, request: flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def get_run_details(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def watch_run_details(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsRequest, ctx: RequestContext) -> Iterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsResponse]: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def get_action_details(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def watch_action_details(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsRequest, ctx: RequestContext) -> Iterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsResponse]: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def list_runs(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def watch_runs(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsRequest, ctx: RequestContext) -> Iterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsResponse]: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def list_actions(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def watch_actions(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest, ctx: RequestContext) -> Iterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse]: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + + +class LocalRunServiceWSGIApplication(ConnectWSGIApplication): + def __init__(self, service: LocalRunServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None: + super().__init__( + endpoints={ + "/flyteidl2.workflow.LocalRunService/CreateRun": EndpointSync.unary( + method=MethodInfo( + name="CreateRun", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_local__run__service__pb2.CreateLocalRunRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.CreateRunResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.create_run, + ), + "/flyteidl2.workflow.LocalRunService/ReportActions": EndpointSync.unary( + method=MethodInfo( + name="ReportActions", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsRequest, + output=flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.report_actions, + ), + "/flyteidl2.workflow.LocalRunService/GetRunDetails": EndpointSync.unary( + method=MethodInfo( + name="GetRunDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + function=service.get_run_details, + ), + "/flyteidl2.workflow.LocalRunService/WatchRunDetails": EndpointSync.server_stream( + method=MethodInfo( + name="WatchRunDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.watch_run_details, + ), + "/flyteidl2.workflow.LocalRunService/GetActionDetails": EndpointSync.unary( + method=MethodInfo( + name="GetActionDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + function=service.get_action_details, + ), + "/flyteidl2.workflow.LocalRunService/WatchActionDetails": EndpointSync.server_stream( + method=MethodInfo( + name="WatchActionDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.watch_action_details, + ), + "/flyteidl2.workflow.LocalRunService/ListRuns": EndpointSync.unary( + method=MethodInfo( + name="ListRuns", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + function=service.list_runs, + ), + "/flyteidl2.workflow.LocalRunService/WatchRuns": EndpointSync.server_stream( + method=MethodInfo( + name="WatchRuns", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.watch_runs, + ), + "/flyteidl2.workflow.LocalRunService/ListActions": EndpointSync.unary( + method=MethodInfo( + name="ListActions", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + function=service.list_actions, + ), + "/flyteidl2.workflow.LocalRunService/WatchActions": EndpointSync.server_stream( + method=MethodInfo( + name="WatchActions", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.watch_actions, + ), + }, + interceptors=interceptors, + read_max_bytes=read_max_bytes, + compressions=compressions, + ) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return "/flyteidl2.workflow.LocalRunService" + + +class LocalRunServiceClientSync(ConnectClientSync): + def create_run( + self, + request: flyteidl2_dot_workflow_dot_local__run__service__pb2.CreateLocalRunRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> flyteidl2_dot_workflow_dot_run__service__pb2.CreateRunResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="CreateRun", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_local__run__service__pb2.CreateLocalRunRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.CreateRunResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def report_actions( + self, + request: flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="ReportActions", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsRequest, + output=flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def get_run_details( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + use_get: bool = False, + ) -> flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="GetRunDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + headers=headers, + timeout_ms=timeout_ms, + use_get=use_get, + ) + + def watch_run_details( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> Iterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsResponse]: + return self.execute_server_stream( + request=request, + method=MethodInfo( + name="WatchRunDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def get_action_details( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + use_get: bool = False, + ) -> flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="GetActionDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + headers=headers, + timeout_ms=timeout_ms, + use_get=use_get, + ) + + def watch_action_details( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> Iterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsResponse]: + return self.execute_server_stream( + request=request, + method=MethodInfo( + name="WatchActionDetails", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def list_runs( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + use_get: bool = False, + ) -> flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="ListRuns", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + headers=headers, + timeout_ms=timeout_ms, + use_get=use_get, + ) + + def watch_runs( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> Iterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsResponse]: + return self.execute_server_stream( + request=request, + method=MethodInfo( + name="WatchRuns", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + + def list_actions( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + use_get: bool = False, + ) -> flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="ListActions", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsResponse, + idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, + ), + headers=headers, + timeout_ms=timeout_ms, + use_get=use_get, + ) + + def watch_actions( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> Iterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse]: + return self.execute_server_stream( + request=request, + method=MethodInfo( + name="WatchActions", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) diff --git a/gen/python/flyteidl2/workflow/local_run_service_pb2.py b/gen/python/flyteidl2/workflow/local_run_service_pb2.py new file mode 100644 index 00000000000..a24c8526a66 --- /dev/null +++ b/gen/python/flyteidl2/workflow/local_run_service_pb2.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: flyteidl2/workflow/local_run_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 +from flyteidl2.common import identifier_pb2 as flyteidl2_dot_common_dot_identifier__pb2 +from flyteidl2.common import run_pb2 as flyteidl2_dot_common_dot_run__pb2 +from flyteidl2.task import common_pb2 as flyteidl2_dot_task_dot_common__pb2 +from flyteidl2.task import run_pb2 as flyteidl2_dot_task_dot_run__pb2 +from flyteidl2.task import task_definition_pb2 as flyteidl2_dot_task_dot_task__definition__pb2 +from flyteidl2.workflow import run_definition_pb2 as flyteidl2_dot_workflow_dot_run__definition__pb2 +from flyteidl2.workflow import run_service_pb2 as flyteidl2_dot_workflow_dot_run__service__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*flyteidl2/workflow/local_run_service.proto\x12\x12\x66lyteidl2.workflow\x1a\x1b\x62uf/validate/validate.proto\x1a!flyteidl2/common/identifier.proto\x1a\x1a\x66lyteidl2/common/run.proto\x1a\x1b\x66lyteidl2/task/common.proto\x1a\x18\x66lyteidl2/task/run.proto\x1a$flyteidl2/task/task_definition.proto\x1a\'flyteidl2/workflow/run_definition.proto\x1a$flyteidl2/workflow/run_service.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\x9d\x05\n\x15\x43reateLocalRunRequest\x12\x38\n\x06run_id\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.common.RunIdentifierH\x00R\x05runId\x12\x44\n\nproject_id\x18\x02 \x01(\x0b\x32#.flyteidl2.common.ProjectIdentifierH\x00R\tprojectId\x12\x39\n\x07task_id\x18\x03 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierH\x01R\x06taskId\x12\x37\n\ttask_spec\x18\x04 \x01(\x0b\x32\x18.flyteidl2.task.TaskSpecH\x01R\x08taskSpec\x12[\n\x14offloaded_input_data\x18\x05 \x01(\x0b\x32$.flyteidl2.common.OffloadedInputDataH\x02R\x12offloadedInputData\x88\x01\x01\x12\x32\n\x08run_spec\x18\x06 \x01(\x0b\x32\x17.flyteidl2.task.RunSpecR\x07runSpec\x12M\n\x06labels\x18\x07 \x03(\x0b\x32\x35.flyteidl2.workflow.CreateLocalRunRequest.LabelsEntryR\x06labels\x12@\n\x0erun_start_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0crunStartTime\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0b\n\x02id\x12\x05\xbaH\x02\x08\x01\x42\r\n\x04task\x12\x05\xbaH\x02\x08\x01\x42\x17\n\x15_offloaded_input_data\"\xba\x02\n\x11LocalActionUpdate\x12=\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.workflow.ActionEventB\x06\xbaH\x03\xc8\x01\x01R\x05\x65vent\x12\x1f\n\x0bparent_name\x18\x02 \x01(\tR\nparentName\x12\x14\n\x05group\x18\x03 \x01(\tR\x05group\x12\x34\n\x04task\x18\x04 \x01(\x0b\x32\x1e.flyteidl2.workflow.TaskActionH\x00R\x04task\x12\x37\n\x05trace\x18\x05 \x01(\x0b\x32\x1f.flyteidl2.workflow.TraceActionH\x00R\x05trace\x12\x38\n\x06status\x18\x06 \x01(\x0b\x32 .flyteidl2.workflow.ActionStatusR\x06statusB\x06\n\x04spec\"\xa6\x01\n\x19ReportLocalActionsRequest\x12>\n\x06run_id\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.common.RunIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x05runId\x12I\n\x07updates\x18\x02 \x03(\x0b\x32%.flyteidl2.workflow.LocalActionUpdateB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x07updates\"L\n\x1aReportLocalActionsResponse\x12.\n\x08statuses\x18\x01 \x03(\x0b\x32\x12.google.rpc.StatusR\x08statuses2\xb2\x08\n\x0fLocalRunService\x12_\n\tCreateRun\x12).flyteidl2.workflow.CreateLocalRunRequest\x1a%.flyteidl2.workflow.CreateRunResponse\"\x00\x12p\n\rReportActions\x12-.flyteidl2.workflow.ReportLocalActionsRequest\x1a..flyteidl2.workflow.ReportLocalActionsResponse\"\x00\x12i\n\rGetRunDetails\x12(.flyteidl2.workflow.GetRunDetailsRequest\x1a).flyteidl2.workflow.GetRunDetailsResponse\"\x03\x90\x02\x01\x12n\n\x0fWatchRunDetails\x12*.flyteidl2.workflow.WatchRunDetailsRequest\x1a+.flyteidl2.workflow.WatchRunDetailsResponse\"\x00\x30\x01\x12r\n\x10GetActionDetails\x12+.flyteidl2.workflow.GetActionDetailsRequest\x1a,.flyteidl2.workflow.GetActionDetailsResponse\"\x03\x90\x02\x01\x12w\n\x12WatchActionDetails\x12-.flyteidl2.workflow.WatchActionDetailsRequest\x1a..flyteidl2.workflow.WatchActionDetailsResponse\"\x00\x30\x01\x12Z\n\x08ListRuns\x12#.flyteidl2.workflow.ListRunsRequest\x1a$.flyteidl2.workflow.ListRunsResponse\"\x03\x90\x02\x01\x12\\\n\tWatchRuns\x12$.flyteidl2.workflow.WatchRunsRequest\x1a%.flyteidl2.workflow.WatchRunsResponse\"\x00\x30\x01\x12\x63\n\x0bListActions\x12&.flyteidl2.workflow.ListActionsRequest\x1a\'.flyteidl2.workflow.ListActionsResponse\"\x03\x90\x02\x01\x12\x65\n\x0cWatchActions\x12\'.flyteidl2.workflow.WatchActionsRequest\x1a(.flyteidl2.workflow.WatchActionsResponse\"\x00\x30\x01\x42\xd1\x01\n\x16\x63om.flyteidl2.workflowB\x14LocalRunServiceProtoH\x02P\x01Z6github.com/flyteorg/flyte/v2/gen/go/flyteidl2/workflow\xa2\x02\x03\x46WX\xaa\x02\x12\x46lyteidl2.Workflow\xca\x02\x12\x46lyteidl2\\Workflow\xe2\x02\x1e\x46lyteidl2\\Workflow\\GPBMetadata\xea\x02\x13\x46lyteidl2::Workflowb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flyteidl2.workflow.local_run_service_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\n\026com.flyteidl2.workflowB\024LocalRunServiceProtoH\002P\001Z6github.com/flyteorg/flyte/v2/gen/go/flyteidl2/workflow\242\002\003FWX\252\002\022Flyteidl2.Workflow\312\002\022Flyteidl2\\Workflow\342\002\036Flyteidl2\\Workflow\\GPBMetadata\352\002\023Flyteidl2::Workflow' + _CREATELOCALRUNREQUEST_LABELSENTRY._options = None + _CREATELOCALRUNREQUEST_LABELSENTRY._serialized_options = b'8\001' + _CREATELOCALRUNREQUEST.oneofs_by_name['id']._options = None + _CREATELOCALRUNREQUEST.oneofs_by_name['id']._serialized_options = b'\272H\002\010\001' + _CREATELOCALRUNREQUEST.oneofs_by_name['task']._options = None + _CREATELOCALRUNREQUEST.oneofs_by_name['task']._serialized_options = b'\272H\002\010\001' + _LOCALACTIONUPDATE.fields_by_name['event']._options = None + _LOCALACTIONUPDATE.fields_by_name['event']._serialized_options = b'\272H\003\310\001\001' + _REPORTLOCALACTIONSREQUEST.fields_by_name['run_id']._options = None + _REPORTLOCALACTIONSREQUEST.fields_by_name['run_id']._serialized_options = b'\272H\003\310\001\001' + _REPORTLOCALACTIONSREQUEST.fields_by_name['updates']._options = None + _REPORTLOCALACTIONSREQUEST.fields_by_name['updates']._serialized_options = b'\272H\005\222\001\002\010\001' + _LOCALRUNSERVICE.methods_by_name['GetRunDetails']._options = None + _LOCALRUNSERVICE.methods_by_name['GetRunDetails']._serialized_options = b'\220\002\001' + _LOCALRUNSERVICE.methods_by_name['GetActionDetails']._options = None + _LOCALRUNSERVICE.methods_by_name['GetActionDetails']._serialized_options = b'\220\002\001' + _LOCALRUNSERVICE.methods_by_name['ListRuns']._options = None + _LOCALRUNSERVICE.methods_by_name['ListRuns']._serialized_options = b'\220\002\001' + _LOCALRUNSERVICE.methods_by_name['ListActions']._options = None + _LOCALRUNSERVICE.methods_by_name['ListActions']._serialized_options = b'\220\002\001' + _globals['_CREATELOCALRUNREQUEST']._serialized_start=389 + _globals['_CREATELOCALRUNREQUEST']._serialized_end=1058 + _globals['_CREATELOCALRUNREQUEST_LABELSENTRY']._serialized_start=948 + _globals['_CREATELOCALRUNREQUEST_LABELSENTRY']._serialized_end=1005 + _globals['_LOCALACTIONUPDATE']._serialized_start=1061 + _globals['_LOCALACTIONUPDATE']._serialized_end=1375 + _globals['_REPORTLOCALACTIONSREQUEST']._serialized_start=1378 + _globals['_REPORTLOCALACTIONSREQUEST']._serialized_end=1544 + _globals['_REPORTLOCALACTIONSRESPONSE']._serialized_start=1546 + _globals['_REPORTLOCALACTIONSRESPONSE']._serialized_end=1622 + _globals['_LOCALRUNSERVICE']._serialized_start=1625 + _globals['_LOCALRUNSERVICE']._serialized_end=2699 +# @@protoc_insertion_point(module_scope) diff --git a/gen/python/flyteidl2/workflow/local_run_service_pb2.pyi b/gen/python/flyteidl2/workflow/local_run_service_pb2.pyi new file mode 100644 index 00000000000..1cbb42dcdc3 --- /dev/null +++ b/gen/python/flyteidl2/workflow/local_run_service_pb2.pyi @@ -0,0 +1,73 @@ +from buf.validate import validate_pb2 as _validate_pb2 +from flyteidl2.common import identifier_pb2 as _identifier_pb2 +from flyteidl2.common import run_pb2 as _run_pb2 +from flyteidl2.task import common_pb2 as _common_pb2 +from flyteidl2.task import run_pb2 as _run_pb2_1 +from flyteidl2.task import task_definition_pb2 as _task_definition_pb2 +from flyteidl2.workflow import run_definition_pb2 as _run_definition_pb2 +from flyteidl2.workflow import run_service_pb2 as _run_service_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.rpc import status_pb2 as _status_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class CreateLocalRunRequest(_message.Message): + __slots__ = ["run_id", "project_id", "task_id", "task_spec", "offloaded_input_data", "run_spec", "labels", "run_start_time"] + class LabelsEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + RUN_ID_FIELD_NUMBER: _ClassVar[int] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + TASK_ID_FIELD_NUMBER: _ClassVar[int] + TASK_SPEC_FIELD_NUMBER: _ClassVar[int] + OFFLOADED_INPUT_DATA_FIELD_NUMBER: _ClassVar[int] + RUN_SPEC_FIELD_NUMBER: _ClassVar[int] + LABELS_FIELD_NUMBER: _ClassVar[int] + RUN_START_TIME_FIELD_NUMBER: _ClassVar[int] + run_id: _identifier_pb2.RunIdentifier + project_id: _identifier_pb2.ProjectIdentifier + task_id: _task_definition_pb2.TaskIdentifier + task_spec: _task_definition_pb2.TaskSpec + offloaded_input_data: _run_pb2.OffloadedInputData + run_spec: _run_pb2_1.RunSpec + labels: _containers.ScalarMap[str, str] + run_start_time: _timestamp_pb2.Timestamp + def __init__(self, run_id: _Optional[_Union[_identifier_pb2.RunIdentifier, _Mapping]] = ..., project_id: _Optional[_Union[_identifier_pb2.ProjectIdentifier, _Mapping]] = ..., task_id: _Optional[_Union[_task_definition_pb2.TaskIdentifier, _Mapping]] = ..., task_spec: _Optional[_Union[_task_definition_pb2.TaskSpec, _Mapping]] = ..., offloaded_input_data: _Optional[_Union[_run_pb2.OffloadedInputData, _Mapping]] = ..., run_spec: _Optional[_Union[_run_pb2_1.RunSpec, _Mapping]] = ..., labels: _Optional[_Mapping[str, str]] = ..., run_start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class LocalActionUpdate(_message.Message): + __slots__ = ["event", "parent_name", "group", "task", "trace", "status"] + EVENT_FIELD_NUMBER: _ClassVar[int] + PARENT_NAME_FIELD_NUMBER: _ClassVar[int] + GROUP_FIELD_NUMBER: _ClassVar[int] + TASK_FIELD_NUMBER: _ClassVar[int] + TRACE_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + event: _run_definition_pb2.ActionEvent + parent_name: str + group: str + task: _run_definition_pb2.TaskAction + trace: _run_definition_pb2.TraceAction + status: _run_definition_pb2.ActionStatus + def __init__(self, event: _Optional[_Union[_run_definition_pb2.ActionEvent, _Mapping]] = ..., parent_name: _Optional[str] = ..., group: _Optional[str] = ..., task: _Optional[_Union[_run_definition_pb2.TaskAction, _Mapping]] = ..., trace: _Optional[_Union[_run_definition_pb2.TraceAction, _Mapping]] = ..., status: _Optional[_Union[_run_definition_pb2.ActionStatus, _Mapping]] = ...) -> None: ... + +class ReportLocalActionsRequest(_message.Message): + __slots__ = ["run_id", "updates"] + RUN_ID_FIELD_NUMBER: _ClassVar[int] + UPDATES_FIELD_NUMBER: _ClassVar[int] + run_id: _identifier_pb2.RunIdentifier + updates: _containers.RepeatedCompositeFieldContainer[LocalActionUpdate] + def __init__(self, run_id: _Optional[_Union[_identifier_pb2.RunIdentifier, _Mapping]] = ..., updates: _Optional[_Iterable[_Union[LocalActionUpdate, _Mapping]]] = ...) -> None: ... + +class ReportLocalActionsResponse(_message.Message): + __slots__ = ["statuses"] + STATUSES_FIELD_NUMBER: _ClassVar[int] + statuses: _containers.RepeatedCompositeFieldContainer[_status_pb2.Status] + def __init__(self, statuses: _Optional[_Iterable[_Union[_status_pb2.Status, _Mapping]]] = ...) -> None: ... diff --git a/gen/python/flyteidl2/workflow/local_run_service_pb2_grpc.py b/gen/python/flyteidl2/workflow/local_run_service_pb2_grpc.py new file mode 100644 index 00000000000..31bfec42433 --- /dev/null +++ b/gen/python/flyteidl2/workflow/local_run_service_pb2_grpc.py @@ -0,0 +1,397 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from flyteidl2.workflow import local_run_service_pb2 as flyteidl2_dot_workflow_dot_local__run__service__pb2 +from flyteidl2.workflow import run_service_pb2 as flyteidl2_dot_workflow_dot_run__service__pb2 + + +class LocalRunServiceStub(object): + """LocalRunService manages runs that are orchestrated OUTSIDE the platform — typically on a user's + machine — where the client executes actions itself and only reports their state here. Local runs + are tracked separately from platform-orchestrated runs and never involve a dataplane. + + The read/watch surface deliberately mirrors RunService (same request/response messages) so that + clients and UIs built against RunService work against local runs with only a service swap. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateRun = channel.unary_unary( + '/flyteidl2.workflow.LocalRunService/CreateRun', + request_serializer=flyteidl2_dot_workflow_dot_local__run__service__pb2.CreateLocalRunRequest.SerializeToString, + response_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.CreateRunResponse.FromString, + ) + self.ReportActions = channel.unary_unary( + '/flyteidl2.workflow.LocalRunService/ReportActions', + request_serializer=flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsRequest.SerializeToString, + response_deserializer=flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsResponse.FromString, + ) + self.GetRunDetails = channel.unary_unary( + '/flyteidl2.workflow.LocalRunService/GetRunDetails', + request_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsRequest.SerializeToString, + response_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsResponse.FromString, + ) + self.WatchRunDetails = channel.unary_stream( + '/flyteidl2.workflow.LocalRunService/WatchRunDetails', + request_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsRequest.SerializeToString, + response_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsResponse.FromString, + ) + self.GetActionDetails = channel.unary_unary( + '/flyteidl2.workflow.LocalRunService/GetActionDetails', + request_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsRequest.SerializeToString, + response_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsResponse.FromString, + ) + self.WatchActionDetails = channel.unary_stream( + '/flyteidl2.workflow.LocalRunService/WatchActionDetails', + request_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsRequest.SerializeToString, + response_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsResponse.FromString, + ) + self.ListRuns = channel.unary_unary( + '/flyteidl2.workflow.LocalRunService/ListRuns', + request_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsRequest.SerializeToString, + response_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsResponse.FromString, + ) + self.WatchRuns = channel.unary_stream( + '/flyteidl2.workflow.LocalRunService/WatchRuns', + request_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsRequest.SerializeToString, + response_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsResponse.FromString, + ) + self.ListActions = channel.unary_unary( + '/flyteidl2.workflow.LocalRunService/ListActions', + request_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsRequest.SerializeToString, + response_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsResponse.FromString, + ) + self.WatchActions = channel.unary_stream( + '/flyteidl2.workflow.LocalRunService/WatchActions', + request_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest.SerializeToString, + response_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse.FromString, + ) + + +class LocalRunServiceServicer(object): + """LocalRunService manages runs that are orchestrated OUTSIDE the platform — typically on a user's + machine — where the client executes actions itself and only reports their state here. Local runs + are tracked separately from platform-orchestrated runs and never involve a dataplane. + + The read/watch surface deliberately mirrors RunService (same request/response messages) so that + clients and UIs built against RunService work against local runs with only a service swap. + """ + + def CreateRun(self, request, context): + """Register a new local run. The server creates the root action ("a0") in the reported state and + returns the resolved run. If a run name is not provided, the server generates one. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ReportActions(self, request, context): + """Report state for one or more actions of a local run. Creates actions on first report and + updates them on subsequent reports. Reports are idempotent: an event with an + (attempt, version, phase) tuple that was already recorded is acknowledged as success. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetRunDetails(self, request, context): + """Get detailed information about a local run. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def WatchRunDetails(self, request, context): + """Stream detailed information updates about a local run. The call will terminate when the run + reaches a terminal phase. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetActionDetails(self, request, context): + """Get detailed information about an action of a local run. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def WatchActionDetails(self, request, context): + """Stream detailed information updates about an action of a local run. The call will terminate + when the action reaches a terminal phase. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListRuns(self, request, context): + """List local runs based on the provided filter criteria. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def WatchRuns(self, request, context): + """Stream updates for local runs based on the provided filter criteria. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListActions(self, request, context): + """List all actions for a given local run. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def WatchActions(self, request, context): + """Stream updates for actions of a given local run. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_LocalRunServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateRun': grpc.unary_unary_rpc_method_handler( + servicer.CreateRun, + request_deserializer=flyteidl2_dot_workflow_dot_local__run__service__pb2.CreateLocalRunRequest.FromString, + response_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.CreateRunResponse.SerializeToString, + ), + 'ReportActions': grpc.unary_unary_rpc_method_handler( + servicer.ReportActions, + request_deserializer=flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsRequest.FromString, + response_serializer=flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsResponse.SerializeToString, + ), + 'GetRunDetails': grpc.unary_unary_rpc_method_handler( + servicer.GetRunDetails, + request_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsRequest.FromString, + response_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsResponse.SerializeToString, + ), + 'WatchRunDetails': grpc.unary_stream_rpc_method_handler( + servicer.WatchRunDetails, + request_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsRequest.FromString, + response_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsResponse.SerializeToString, + ), + 'GetActionDetails': grpc.unary_unary_rpc_method_handler( + servicer.GetActionDetails, + request_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsRequest.FromString, + response_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsResponse.SerializeToString, + ), + 'WatchActionDetails': grpc.unary_stream_rpc_method_handler( + servicer.WatchActionDetails, + request_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsRequest.FromString, + response_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsResponse.SerializeToString, + ), + 'ListRuns': grpc.unary_unary_rpc_method_handler( + servicer.ListRuns, + request_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsRequest.FromString, + response_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsResponse.SerializeToString, + ), + 'WatchRuns': grpc.unary_stream_rpc_method_handler( + servicer.WatchRuns, + request_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsRequest.FromString, + response_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsResponse.SerializeToString, + ), + 'ListActions': grpc.unary_unary_rpc_method_handler( + servicer.ListActions, + request_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsRequest.FromString, + response_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsResponse.SerializeToString, + ), + 'WatchActions': grpc.unary_stream_rpc_method_handler( + servicer.WatchActions, + request_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest.FromString, + response_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'flyteidl2.workflow.LocalRunService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class LocalRunService(object): + """LocalRunService manages runs that are orchestrated OUTSIDE the platform — typically on a user's + machine — where the client executes actions itself and only reports their state here. Local runs + are tracked separately from platform-orchestrated runs and never involve a dataplane. + + The read/watch surface deliberately mirrors RunService (same request/response messages) so that + clients and UIs built against RunService work against local runs with only a service swap. + """ + + @staticmethod + def CreateRun(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flyteidl2.workflow.LocalRunService/CreateRun', + flyteidl2_dot_workflow_dot_local__run__service__pb2.CreateLocalRunRequest.SerializeToString, + flyteidl2_dot_workflow_dot_run__service__pb2.CreateRunResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReportActions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flyteidl2.workflow.LocalRunService/ReportActions', + flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsRequest.SerializeToString, + flyteidl2_dot_workflow_dot_local__run__service__pb2.ReportLocalActionsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetRunDetails(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flyteidl2.workflow.LocalRunService/GetRunDetails', + flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsRequest.SerializeToString, + flyteidl2_dot_workflow_dot_run__service__pb2.GetRunDetailsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def WatchRunDetails(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/flyteidl2.workflow.LocalRunService/WatchRunDetails', + flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsRequest.SerializeToString, + flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunDetailsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetActionDetails(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flyteidl2.workflow.LocalRunService/GetActionDetails', + flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsRequest.SerializeToString, + flyteidl2_dot_workflow_dot_run__service__pb2.GetActionDetailsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def WatchActionDetails(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/flyteidl2.workflow.LocalRunService/WatchActionDetails', + flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsRequest.SerializeToString, + flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionDetailsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListRuns(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flyteidl2.workflow.LocalRunService/ListRuns', + flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsRequest.SerializeToString, + flyteidl2_dot_workflow_dot_run__service__pb2.ListRunsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def WatchRuns(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/flyteidl2.workflow.LocalRunService/WatchRuns', + flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsRequest.SerializeToString, + flyteidl2_dot_workflow_dot_run__service__pb2.WatchRunsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListActions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flyteidl2.workflow.LocalRunService/ListActions', + flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsRequest.SerializeToString, + flyteidl2_dot_workflow_dot_run__service__pb2.ListActionsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def WatchActions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/flyteidl2.workflow.LocalRunService/WatchActions', + flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest.SerializeToString, + flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/gen/python/flyteidl2/workflow/run_definition_pb2.py b/gen/python/flyteidl2/workflow/run_definition_pb2.py index 9072de8c71d..db0cd3041de 100644 --- a/gen/python/flyteidl2/workflow/run_definition_pb2.py +++ b/gen/python/flyteidl2/workflow/run_definition_pb2.py @@ -30,7 +30,7 @@ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'flyteidl2/workflow/run_definition.proto\x12\x12\x66lyteidl2.workflow\x1a\x1b\x62uf/validate/validate.proto\x1a\x1c\x66lyteidl2/common/cache.proto\x1a!flyteidl2/common/identifier.proto\x1a\x1f\x66lyteidl2/common/identity.proto\x1a\x1c\x66lyteidl2/common/phase.proto\x1a\x1a\x66lyteidl2/common/run.proto\x1a\x1c\x66lyteidl2/core/catalog.proto\x1a\x1e\x66lyteidl2/core/execution.proto\x1a\x1d\x66lyteidl2/core/literals.proto\x1a\x1a\x66lyteidl2/core/types.proto\x1a\x1b\x66lyteidl2/task/common.proto\x1a\x18\x66lyteidl2/task/run.proto\x1a$flyteidl2/task/task_definition.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xb1\x01\n\x03Run\x12\x32\n\x06\x61\x63tion\x18\x01 \x01(\x0b\x32\x1a.flyteidl2.workflow.ActionR\x06\x61\x63tion\x12;\n\x06labels\x18\x02 \x03(\x0b\x32#.flyteidl2.workflow.Run.LabelsEntryR\x06labels\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"{\n\nRunDetails\x12\x32\n\x08run_spec\x18\x01 \x01(\x0b\x32\x17.flyteidl2.task.RunSpecR\x07runSpec\x12\x39\n\x06\x61\x63tion\x18\x02 \x01(\x0b\x32!.flyteidl2.workflow.ActionDetailsR\x06\x61\x63tion\"\xcc\x01\n\nTaskAction\x12.\n\x02id\x18\x01 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierR\x02id\x12\x34\n\x04spec\x18\x02 \x01(\x0b\x32\x18.flyteidl2.task.TaskSpecB\x06\xbaH\x03\xc8\x01\x01R\x04spec\x12\x39\n\tcache_key\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValueR\x08\x63\x61\x63heKey\x12\x14\n\x05queue\x18\x04 \x01(\tR\x05queueR\x07\x63luster\"\xd6\x02\n\x0bTraceAction\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04name\x12\x33\n\x05phase\x18\x02 \x01(\x0e\x32\x1d.flyteidl2.common.ActionPhaseR\x05phase\x12\x39\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12:\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x07\x65ndTime\x88\x01\x01\x12:\n\x07outputs\x18\x05 \x01(\x0b\x32 .flyteidl2.task.OutputReferencesR\x07outputs\x12\x35\n\x04spec\x18\x06 \x01(\x0b\x32\x19.flyteidl2.task.TraceSpecB\x06\xbaH\x03\xc8\x01\x01R\x04specB\x0b\n\t_end_time\"\x99\x03\n\x0f\x43onditionAction\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04name\x12/\n\x04type\x18\x06 \x01(\x0b\x32\x1b.flyteidl2.core.LiteralTypeR\x04type\x12 \n\x06prompt\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80 R\x06prompt\x12*\n\x0b\x64\x65scription\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x10R\x0b\x64\x65scription\x12H\n\x0bprompt_type\x18\t \x01(\x0e\x32\'.flyteidl2.workflow.ConditionPromptTypeR\npromptType\x12\x33\n\x07timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.DurationR\x07timeout\x12>\n\x07webhook\x18\x0b \x01(\x0b\x32$.flyteidl2.workflow.ConditionWebhookR\x07webhookJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05R\x06run_idR\taction_idR\x06global\"W\n\x10\x43onditionWebhook\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12\x31\n\x07payload\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x07payload\"\x80\x01\n\x12TaskActionMetadata\x12.\n\x02id\x18\x01 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierR\x02id\x12\x1b\n\ttask_type\x18\x02 \x01(\tR\x08taskType\x12\x1d\n\nshort_name\x18\x03 \x01(\tR\tshortName\")\n\x13TraceActionMetadata\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"\x8b\x01\n\x17\x43onditionActionMetadata\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x04type\x18\x05 \x01(\x0b\x32\x1b.flyteidl2.core.LiteralTypeR\x04typeJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05R\x06run_idR\taction_idR\x06global\"\xd1\x06\n\x0e\x41\x63tionMetadata\x12\x16\n\x06parent\x18\x03 \x01(\tR\x06parent\x12\x14\n\x05group\x18\x05 \x01(\tR\x05group\x12\x43\n\x0b\x65xecuted_by\x18\x06 \x01(\x0b\x32\".flyteidl2.common.EnrichedIdentityR\nexecutedBy\x12<\n\x04task\x18\x07 \x01(\x0b\x32&.flyteidl2.workflow.TaskActionMetadataH\x00R\x04task\x12?\n\x05trace\x18\x08 \x01(\x0b\x32\'.flyteidl2.workflow.TraceActionMetadataH\x00R\x05trace\x12K\n\tcondition\x18\t \x01(\x0b\x32+.flyteidl2.workflow.ConditionActionMetadataH\x00R\tcondition\x12?\n\x0b\x61\x63tion_type\x18\n \x01(\x0e\x32\x1e.flyteidl2.workflow.ActionTypeR\nactionType\x12\x42\n\ntrigger_id\x18\x0b \x01(\x0b\x32#.flyteidl2.common.TriggerIdentifierR\ttriggerId\x12)\n\x10\x65nvironment_name\x18\x0c \x01(\tR\x0f\x65nvironmentName\x12!\n\x0c\x66untion_name\x18\r \x01(\tR\x0b\x66untionName\x12!\n\x0ctrigger_name\x18\x0e \x01(\tR\x0btriggerName\x12H\n\x0ctrigger_type\x18\x0f \x01(\x0b\x32%.flyteidl2.task.TriggerAutomationSpecR\x0btriggerType\x12\x35\n\x06source\x18\x10 \x01(\x0e\x32\x1d.flyteidl2.workflow.RunSourceR\x06source\x12\x36\n\x08relation\x18\x11 \x01(\x0b\x32\x1a.flyteidl2.common.RelationR\x08relation\x12I\n\x0erecovered_from\x18\x12 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierR\rrecoveredFromB\x06\n\x04spec\"\xe9\x02\n\x0c\x41\x63tionStatus\x12\x33\n\x05phase\x18\x01 \x01(\x0e\x32\x1d.flyteidl2.common.ActionPhaseR\x05phase\x12\x39\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12:\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x07\x65ndTime\x88\x01\x01\x12#\n\x08\x61ttempts\x18\x04 \x01(\rB\x07\xbaH\x04*\x02 \x00R\x08\x61ttempts\x12\x45\n\x0c\x63\x61\x63he_status\x18\x05 \x01(\x0e\x32\".flyteidl2.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12$\n\x0b\x64uration_ms\x18\x06 \x01(\x04H\x01R\ndurationMs\x88\x01\x01\x42\x0b\n\t_end_timeB\x0e\n\x0c_duration_ms\"\xb6\x01\n\x06\x41\x63tion\x12\x32\n\x02id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierR\x02id\x12>\n\x08metadata\x18\x02 \x01(\x0b\x32\".flyteidl2.workflow.ActionMetadataR\x08metadata\x12\x38\n\x06status\x18\x03 \x01(\x0b\x32 .flyteidl2.workflow.ActionStatusR\x06status\"\xa0\x02\n\x0e\x45nrichedAction\x12\x32\n\x06\x61\x63tion\x18\x01 \x01(\x0b\x32\x1a.flyteidl2.workflow.ActionR\x06\x61\x63tion\x12!\n\x0cmeets_filter\x18\x02 \x01(\x08R\x0bmeetsFilter\x12o\n\x15\x63hildren_phase_counts\x18\x03 \x03(\x0b\x32;.flyteidl2.workflow.EnrichedAction.ChildrenPhaseCountsEntryR\x13\x63hildrenPhaseCounts\x1a\x46\n\x18\x43hildrenPhaseCountsEntry\x12\x10\n\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x05R\x05value:\x02\x38\x01\"\x9b\x01\n\tErrorInfo\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\x12\x36\n\x04kind\x18\x02 \x01(\x0e\x32\".flyteidl2.workflow.ErrorInfo.KindR\x04kind\"<\n\x04Kind\x12\x14\n\x10KIND_UNSPECIFIED\x10\x00\x12\r\n\tKIND_USER\x10\x01\x12\x0f\n\x0bKIND_SYSTEM\x10\x02\"f\n\tAbortInfo\x12\x16\n\x06reason\x18\x01 \x01(\tR\x06reason\x12\x41\n\naborted_by\x18\x02 \x01(\x0b\x32\".flyteidl2.common.EnrichedIdentityR\tabortedBy\"\x84\x01\n\nSignalInfo\x12\x45\n\x0csignalled_by\x18\x01 \x01(\x0b\x32\".flyteidl2.common.EnrichedIdentityR\x0bsignalledBy\x12/\n\x06output\x18\x02 \x01(\x0b\x32\x17.flyteidl2.core.LiteralR\x06output\"\xf9\x04\n\rActionDetails\x12\x32\n\x02id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierR\x02id\x12>\n\x08metadata\x18\x02 \x01(\x0b\x32\".flyteidl2.workflow.ActionMetadataR\x08metadata\x12\x38\n\x06status\x18\x03 \x01(\x0b\x32 .flyteidl2.workflow.ActionStatusR\x06status\x12>\n\nerror_info\x18\x04 \x01(\x0b\x32\x1d.flyteidl2.workflow.ErrorInfoH\x00R\terrorInfo\x12>\n\nabort_info\x18\x05 \x01(\x0b\x32\x1d.flyteidl2.workflow.AbortInfoH\x00R\tabortInfo\x12\x41\n\x0bsignal_info\x18\n \x01(\x0b\x32\x1e.flyteidl2.workflow.SignalInfoH\x00R\nsignalInfo\x12.\n\x04task\x18\x06 \x01(\x0b\x32\x18.flyteidl2.task.TaskSpecH\x01R\x04task\x12\x31\n\x05trace\x18\x08 \x01(\x0b\x32\x19.flyteidl2.task.TraceSpecH\x01R\x05trace\x12\x43\n\tcondition\x18\t \x01(\x0b\x32#.flyteidl2.workflow.ConditionActionH\x01R\tcondition\x12=\n\x08\x61ttempts\x18\x07 \x03(\x0b\x32!.flyteidl2.workflow.ActionAttemptR\x08\x61ttemptsB\x08\n\x06resultB\x06\n\x04spec\"\xd5\x06\n\rActionAttempt\x12\x33\n\x05phase\x18\x01 \x01(\x0e\x32\x1d.flyteidl2.common.ActionPhaseR\x05phase\x12\x39\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12:\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x07\x65ndTime\x88\x01\x01\x12\x41\n\nerror_info\x18\x04 \x01(\x0b\x32\x1d.flyteidl2.workflow.ErrorInfoH\x01R\terrorInfo\x88\x01\x01\x12!\n\x07\x61ttempt\x18\x05 \x01(\rB\x07\xbaH\x04*\x02 \x00R\x07\x61ttempt\x12\x32\n\x08log_info\x18\x06 \x03(\x0b\x32\x17.flyteidl2.core.TaskLogR\x07logInfo\x12:\n\x07outputs\x18\x07 \x01(\x0b\x32 .flyteidl2.task.OutputReferencesR\x07outputs\x12%\n\x0elogs_available\x18\x08 \x01(\x08R\rlogsAvailable\x12\x45\n\x0c\x63\x61\x63he_status\x18\t \x01(\x0e\x32\".flyteidl2.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12G\n\x0e\x63luster_events\x18\n \x03(\x0b\x32 .flyteidl2.workflow.ClusterEventR\rclusterEvents\x12P\n\x11phase_transitions\x18\x0b \x03(\x0b\x32#.flyteidl2.workflow.PhaseTransitionR\x10phaseTransitions\x12\x18\n\x07\x63luster\x18\x0c \x01(\tR\x07\x63luster\x12;\n\x0blog_context\x18\r \x01(\x0b\x32\x1a.flyteidl2.core.LogContextR\nlogContext\x12\x46\n\x0e\x63\x61\x63he_metadata\x18\x0e \x01(\x0b\x32\x1f.flyteidl2.common.CacheMetadataR\rcacheMetadataB\x0b\n\t_end_timeB\r\n\x0b_error_info\"e\n\x0c\x43lusterEvent\x12;\n\x0boccurred_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\"\xca\x01\n\x0fPhaseTransition\x12\x33\n\x05phase\x18\x01 \x01(\x0e\x32\x1d.flyteidl2.common.ActionPhaseR\x05phase\x12\x39\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12:\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x07\x65ndTime\x88\x01\x01\x42\x0b\n\t_end_time\"\xb8\x07\n\x0b\x41\x63tionEvent\x12:\n\x02id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x02id\x12!\n\x07\x61ttempt\x18\x02 \x01(\rB\x07\xbaH\x04*\x02 \x00R\x07\x61ttempt\x12\x33\n\x05phase\x18\x03 \x01(\x0e\x32\x1d.flyteidl2.common.ActionPhaseR\x05phase\x12\x18\n\x07version\x18\x04 \x01(\rR\x07version\x12=\n\nstart_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x02\x18\x01R\tstartTime\x12=\n\x0cupdated_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bupdatedTime\x12>\n\x08\x65nd_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x02\x18\x01H\x00R\x07\x65ndTime\x88\x01\x01\x12\x41\n\nerror_info\x18\x08 \x01(\x0b\x32\x1d.flyteidl2.workflow.ErrorInfoH\x01R\terrorInfo\x88\x01\x01\x12\x32\n\x08log_info\x18\t \x03(\x0b\x32\x17.flyteidl2.core.TaskLogR\x07logInfo\x12;\n\x0blog_context\x18\n \x01(\x0b\x32\x1a.flyteidl2.core.LogContextR\nlogContext\x12\x18\n\x07\x63luster\x18\x0b \x01(\tR\x07\x63luster\x12:\n\x07outputs\x18\x0c \x01(\x0b\x32 .flyteidl2.task.OutputReferencesR\x07outputs\x12\x45\n\x0c\x63\x61\x63he_status\x18\r \x01(\x0e\x32\".flyteidl2.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12G\n\x0e\x63luster_events\x18\x0e \x03(\x0b\x32 .flyteidl2.workflow.ClusterEventR\rclusterEvents\x12?\n\rreported_time\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0creportedTime\x12\x46\n\x0e\x63\x61\x63he_metadata\x18\x10 \x01(\x0b\x32\x1f.flyteidl2.common.CacheMetadataR\rcacheMetadataB\x0b\n\t_end_timeB\r\n\x0b_error_info\"\x83\x04\n\nActionSpec\x12G\n\taction_id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x08\x61\x63tionId\x12\x31\n\x12parent_action_name\x18\x02 \x01(\tH\x01R\x10parentActionName\x88\x01\x01\x12\x32\n\x08run_spec\x18\x03 \x01(\x0b\x32\x17.flyteidl2.task.RunSpecR\x07runSpec\x12$\n\tinput_uri\x18\x04 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x08inputUri\x12/\n\x0frun_output_base\x18\x05 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\rrunOutputBase\x12\x34\n\x04task\x18\x06 \x01(\x0b\x32\x1e.flyteidl2.workflow.TaskActionH\x00R\x04task\x12\x43\n\tcondition\x18\x07 \x01(\x0b\x32#.flyteidl2.workflow.ConditionActionH\x00R\tcondition\x12\x37\n\x05trace\x18\n \x01(\x0b\x32\x1f.flyteidl2.workflow.TraceActionH\x00R\x05trace\x12\x14\n\x05group\x18\x08 \x01(\tR\x05groupB\r\n\x04spec\x12\x05\xbaH\x02\x08\x01\x42\x15\n\x13_parent_action_name\"\xfe\x08\n\tTaskGroup\x12\x1b\n\ttask_name\x18\x01 \x01(\tR\x08taskName\x12)\n\x10\x65nvironment_name\x18\x02 \x01(\tR\x0f\x65nvironmentName\x12\x1d\n\ntotal_runs\x18\x03 \x01(\x03R\ttotalRuns\x12\x42\n\x0flatest_run_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\rlatestRunTime\x12S\n\x0frecent_statuses\x18\x05 \x03(\x0b\x32*.flyteidl2.workflow.TaskGroup.RecentStatusR\x0erecentStatuses\x12\x30\n\x14\x61verage_failure_rate\x18\x06 \x01(\x01R\x12\x61verageFailureRate\x12\x44\n\x10\x61verage_duration\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0f\x61verageDuration\x12L\n\x14latest_finished_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x12latestFinishedTime\x12\x41\n\ncreated_by\x18\t \x03(\x0b\x32\".flyteidl2.common.EnrichedIdentityR\tcreatedBy\x12#\n\rshould_delete\x18\n \x01(\x08R\x0cshouldDelete\x12\x1d\n\nshort_name\x18\x0b \x01(\tR\tshortName\x12L\n\x0c\x65rror_counts\x18\x0c \x01(\x0b\x32).flyteidl2.workflow.TaskGroup.ErrorCountsR\x0b\x65rrorCounts\x12L\n\x0cphase_counts\x18\r \x03(\x0b\x32).flyteidl2.workflow.TaskGroup.PhaseCountsR\x0bphaseCounts\x12P\n\x17\x61verage_time_to_running\x18\x0e \x01(\x0b\x32\x19.google.protobuf.DurationR\x14\x61verageTimeToRunning\x1a^\n\x0cRecentStatus\x12\x19\n\x08run_name\x18\x01 \x01(\tR\x07runName\x12\x33\n\x05phase\x18\x02 \x01(\x0e\x32\x1d.flyteidl2.common.ActionPhaseR\x05phase\x1a|\n\x0b\x45rrorCounts\x12\x1d\n\nuser_error\x18\x01 \x01(\x03R\tuserError\x12!\n\x0csystem_error\x18\x02 \x01(\x03R\x0bsystemError\x12+\n\x11unspecified_error\x18\x03 \x01(\x03R\x10unspecifiedError\x1aX\n\x0bPhaseCounts\x12\x33\n\x05phase\x18\x01 \x01(\x0e\x32\x1d.flyteidl2.common.ActionPhaseR\x05phase\x12\x14\n\x05\x63ount\x18\x02 \x01(\x03R\x05\x63ount*\x80\x01\n\x13\x43onditionPromptType\x12%\n!CONDITION_PROMPT_TYPE_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x43ONDITION_PROMPT_TYPE_TEXT\x10\x01\x12\"\n\x1e\x43ONDITION_PROMPT_TYPE_MARKDOWN\x10\x02*q\n\nActionType\x12\x1b\n\x17\x41\x43TION_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10\x41\x43TION_TYPE_TASK\x10\x01\x12\x15\n\x11\x41\x43TION_TYPE_TRACE\x10\x02\x12\x19\n\x15\x41\x43TION_TYPE_CONDITION\x10\x03*p\n\tRunSource\x12\x1a\n\x16RUN_SOURCE_UNSPECIFIED\x10\x00\x12\x12\n\x0eRUN_SOURCE_WEB\x10\x01\x12\x12\n\x0eRUN_SOURCE_CLI\x10\x02\x12\x1f\n\x1bRUN_SOURCE_SCHEDULE_TRIGGER\x10\x03\x42\xcf\x01\n\x16\x63om.flyteidl2.workflowB\x12RunDefinitionProtoH\x02P\x01Z6github.com/flyteorg/flyte/v2/gen/go/flyteidl2/workflow\xa2\x02\x03\x46WX\xaa\x02\x12\x46lyteidl2.Workflow\xca\x02\x12\x46lyteidl2\\Workflow\xe2\x02\x1e\x46lyteidl2\\Workflow\\GPBMetadata\xea\x02\x13\x46lyteidl2::Workflowb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'flyteidl2/workflow/run_definition.proto\x12\x12\x66lyteidl2.workflow\x1a\x1b\x62uf/validate/validate.proto\x1a\x1c\x66lyteidl2/common/cache.proto\x1a!flyteidl2/common/identifier.proto\x1a\x1f\x66lyteidl2/common/identity.proto\x1a\x1c\x66lyteidl2/common/phase.proto\x1a\x1a\x66lyteidl2/common/run.proto\x1a\x1c\x66lyteidl2/core/catalog.proto\x1a\x1e\x66lyteidl2/core/execution.proto\x1a\x1d\x66lyteidl2/core/literals.proto\x1a\x1a\x66lyteidl2/core/types.proto\x1a\x1b\x66lyteidl2/task/common.proto\x1a\x18\x66lyteidl2/task/run.proto\x1a$flyteidl2/task/task_definition.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xb1\x01\n\x03Run\x12\x32\n\x06\x61\x63tion\x18\x01 \x01(\x0b\x32\x1a.flyteidl2.workflow.ActionR\x06\x61\x63tion\x12;\n\x06labels\x18\x02 \x03(\x0b\x32#.flyteidl2.workflow.Run.LabelsEntryR\x06labels\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"{\n\nRunDetails\x12\x32\n\x08run_spec\x18\x01 \x01(\x0b\x32\x17.flyteidl2.task.RunSpecR\x07runSpec\x12\x39\n\x06\x61\x63tion\x18\x02 \x01(\x0b\x32!.flyteidl2.workflow.ActionDetailsR\x06\x61\x63tion\"\xcc\x01\n\nTaskAction\x12.\n\x02id\x18\x01 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierR\x02id\x12\x34\n\x04spec\x18\x02 \x01(\x0b\x32\x18.flyteidl2.task.TaskSpecB\x06\xbaH\x03\xc8\x01\x01R\x04spec\x12\x39\n\tcache_key\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValueR\x08\x63\x61\x63heKey\x12\x14\n\x05queue\x18\x04 \x01(\tR\x05queueR\x07\x63luster\"\xd6\x02\n\x0bTraceAction\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04name\x12\x33\n\x05phase\x18\x02 \x01(\x0e\x32\x1d.flyteidl2.common.ActionPhaseR\x05phase\x12\x39\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12:\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x07\x65ndTime\x88\x01\x01\x12:\n\x07outputs\x18\x05 \x01(\x0b\x32 .flyteidl2.task.OutputReferencesR\x07outputs\x12\x35\n\x04spec\x18\x06 \x01(\x0b\x32\x19.flyteidl2.task.TraceSpecB\x06\xbaH\x03\xc8\x01\x01R\x04specB\x0b\n\t_end_time\"\x99\x03\n\x0f\x43onditionAction\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04name\x12/\n\x04type\x18\x06 \x01(\x0b\x32\x1b.flyteidl2.core.LiteralTypeR\x04type\x12 \n\x06prompt\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80 R\x06prompt\x12*\n\x0b\x64\x65scription\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x10R\x0b\x64\x65scription\x12H\n\x0bprompt_type\x18\t \x01(\x0e\x32\'.flyteidl2.workflow.ConditionPromptTypeR\npromptType\x12\x33\n\x07timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.DurationR\x07timeout\x12>\n\x07webhook\x18\x0b \x01(\x0b\x32$.flyteidl2.workflow.ConditionWebhookR\x07webhookJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05R\x06run_idR\taction_idR\x06global\"W\n\x10\x43onditionWebhook\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12\x31\n\x07payload\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x07payload\"\x80\x01\n\x12TaskActionMetadata\x12.\n\x02id\x18\x01 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierR\x02id\x12\x1b\n\ttask_type\x18\x02 \x01(\tR\x08taskType\x12\x1d\n\nshort_name\x18\x03 \x01(\tR\tshortName\")\n\x13TraceActionMetadata\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"\x8b\x01\n\x17\x43onditionActionMetadata\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x04type\x18\x05 \x01(\x0b\x32\x1b.flyteidl2.core.LiteralTypeR\x04typeJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05R\x06run_idR\taction_idR\x06global\"\xd1\x06\n\x0e\x41\x63tionMetadata\x12\x16\n\x06parent\x18\x03 \x01(\tR\x06parent\x12\x14\n\x05group\x18\x05 \x01(\tR\x05group\x12\x43\n\x0b\x65xecuted_by\x18\x06 \x01(\x0b\x32\".flyteidl2.common.EnrichedIdentityR\nexecutedBy\x12<\n\x04task\x18\x07 \x01(\x0b\x32&.flyteidl2.workflow.TaskActionMetadataH\x00R\x04task\x12?\n\x05trace\x18\x08 \x01(\x0b\x32\'.flyteidl2.workflow.TraceActionMetadataH\x00R\x05trace\x12K\n\tcondition\x18\t \x01(\x0b\x32+.flyteidl2.workflow.ConditionActionMetadataH\x00R\tcondition\x12?\n\x0b\x61\x63tion_type\x18\n \x01(\x0e\x32\x1e.flyteidl2.workflow.ActionTypeR\nactionType\x12\x42\n\ntrigger_id\x18\x0b \x01(\x0b\x32#.flyteidl2.common.TriggerIdentifierR\ttriggerId\x12)\n\x10\x65nvironment_name\x18\x0c \x01(\tR\x0f\x65nvironmentName\x12!\n\x0c\x66untion_name\x18\r \x01(\tR\x0b\x66untionName\x12!\n\x0ctrigger_name\x18\x0e \x01(\tR\x0btriggerName\x12H\n\x0ctrigger_type\x18\x0f \x01(\x0b\x32%.flyteidl2.task.TriggerAutomationSpecR\x0btriggerType\x12\x35\n\x06source\x18\x10 \x01(\x0e\x32\x1d.flyteidl2.workflow.RunSourceR\x06source\x12\x36\n\x08relation\x18\x11 \x01(\x0b\x32\x1a.flyteidl2.common.RelationR\x08relation\x12I\n\x0erecovered_from\x18\x12 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierR\rrecoveredFromB\x06\n\x04spec\"\xe9\x02\n\x0c\x41\x63tionStatus\x12\x33\n\x05phase\x18\x01 \x01(\x0e\x32\x1d.flyteidl2.common.ActionPhaseR\x05phase\x12\x39\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12:\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x07\x65ndTime\x88\x01\x01\x12#\n\x08\x61ttempts\x18\x04 \x01(\rB\x07\xbaH\x04*\x02 \x00R\x08\x61ttempts\x12\x45\n\x0c\x63\x61\x63he_status\x18\x05 \x01(\x0e\x32\".flyteidl2.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12$\n\x0b\x64uration_ms\x18\x06 \x01(\x04H\x01R\ndurationMs\x88\x01\x01\x42\x0b\n\t_end_timeB\x0e\n\x0c_duration_ms\"\xb6\x01\n\x06\x41\x63tion\x12\x32\n\x02id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierR\x02id\x12>\n\x08metadata\x18\x02 \x01(\x0b\x32\".flyteidl2.workflow.ActionMetadataR\x08metadata\x12\x38\n\x06status\x18\x03 \x01(\x0b\x32 .flyteidl2.workflow.ActionStatusR\x06status\"\xa0\x02\n\x0e\x45nrichedAction\x12\x32\n\x06\x61\x63tion\x18\x01 \x01(\x0b\x32\x1a.flyteidl2.workflow.ActionR\x06\x61\x63tion\x12!\n\x0cmeets_filter\x18\x02 \x01(\x08R\x0bmeetsFilter\x12o\n\x15\x63hildren_phase_counts\x18\x03 \x03(\x0b\x32;.flyteidl2.workflow.EnrichedAction.ChildrenPhaseCountsEntryR\x13\x63hildrenPhaseCounts\x1a\x46\n\x18\x43hildrenPhaseCountsEntry\x12\x10\n\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x05R\x05value:\x02\x38\x01\"\x9b\x01\n\tErrorInfo\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\x12\x36\n\x04kind\x18\x02 \x01(\x0e\x32\".flyteidl2.workflow.ErrorInfo.KindR\x04kind\"<\n\x04Kind\x12\x14\n\x10KIND_UNSPECIFIED\x10\x00\x12\r\n\tKIND_USER\x10\x01\x12\x0f\n\x0bKIND_SYSTEM\x10\x02\"f\n\tAbortInfo\x12\x16\n\x06reason\x18\x01 \x01(\tR\x06reason\x12\x41\n\naborted_by\x18\x02 \x01(\x0b\x32\".flyteidl2.common.EnrichedIdentityR\tabortedBy\"\x84\x01\n\nSignalInfo\x12\x45\n\x0csignalled_by\x18\x01 \x01(\x0b\x32\".flyteidl2.common.EnrichedIdentityR\x0bsignalledBy\x12/\n\x06output\x18\x02 \x01(\x0b\x32\x17.flyteidl2.core.LiteralR\x06output\"\xf9\x04\n\rActionDetails\x12\x32\n\x02id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierR\x02id\x12>\n\x08metadata\x18\x02 \x01(\x0b\x32\".flyteidl2.workflow.ActionMetadataR\x08metadata\x12\x38\n\x06status\x18\x03 \x01(\x0b\x32 .flyteidl2.workflow.ActionStatusR\x06status\x12>\n\nerror_info\x18\x04 \x01(\x0b\x32\x1d.flyteidl2.workflow.ErrorInfoH\x00R\terrorInfo\x12>\n\nabort_info\x18\x05 \x01(\x0b\x32\x1d.flyteidl2.workflow.AbortInfoH\x00R\tabortInfo\x12\x41\n\x0bsignal_info\x18\n \x01(\x0b\x32\x1e.flyteidl2.workflow.SignalInfoH\x00R\nsignalInfo\x12.\n\x04task\x18\x06 \x01(\x0b\x32\x18.flyteidl2.task.TaskSpecH\x01R\x04task\x12\x31\n\x05trace\x18\x08 \x01(\x0b\x32\x19.flyteidl2.task.TraceSpecH\x01R\x05trace\x12\x43\n\tcondition\x18\t \x01(\x0b\x32#.flyteidl2.workflow.ConditionActionH\x01R\tcondition\x12=\n\x08\x61ttempts\x18\x07 \x03(\x0b\x32!.flyteidl2.workflow.ActionAttemptR\x08\x61ttemptsB\x08\n\x06resultB\x06\n\x04spec\"\xd5\x06\n\rActionAttempt\x12\x33\n\x05phase\x18\x01 \x01(\x0e\x32\x1d.flyteidl2.common.ActionPhaseR\x05phase\x12\x39\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12:\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x07\x65ndTime\x88\x01\x01\x12\x41\n\nerror_info\x18\x04 \x01(\x0b\x32\x1d.flyteidl2.workflow.ErrorInfoH\x01R\terrorInfo\x88\x01\x01\x12!\n\x07\x61ttempt\x18\x05 \x01(\rB\x07\xbaH\x04*\x02 \x00R\x07\x61ttempt\x12\x32\n\x08log_info\x18\x06 \x03(\x0b\x32\x17.flyteidl2.core.TaskLogR\x07logInfo\x12:\n\x07outputs\x18\x07 \x01(\x0b\x32 .flyteidl2.task.OutputReferencesR\x07outputs\x12%\n\x0elogs_available\x18\x08 \x01(\x08R\rlogsAvailable\x12\x45\n\x0c\x63\x61\x63he_status\x18\t \x01(\x0e\x32\".flyteidl2.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12G\n\x0e\x63luster_events\x18\n \x03(\x0b\x32 .flyteidl2.workflow.ClusterEventR\rclusterEvents\x12P\n\x11phase_transitions\x18\x0b \x03(\x0b\x32#.flyteidl2.workflow.PhaseTransitionR\x10phaseTransitions\x12\x18\n\x07\x63luster\x18\x0c \x01(\tR\x07\x63luster\x12;\n\x0blog_context\x18\r \x01(\x0b\x32\x1a.flyteidl2.core.LogContextR\nlogContext\x12\x46\n\x0e\x63\x61\x63he_metadata\x18\x0e \x01(\x0b\x32\x1f.flyteidl2.common.CacheMetadataR\rcacheMetadataB\x0b\n\t_end_timeB\r\n\x0b_error_info\"e\n\x0c\x43lusterEvent\x12;\n\x0boccurred_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\"\xca\x01\n\x0fPhaseTransition\x12\x33\n\x05phase\x18\x01 \x01(\x0e\x32\x1d.flyteidl2.common.ActionPhaseR\x05phase\x12\x39\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12:\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x07\x65ndTime\x88\x01\x01\x42\x0b\n\t_end_time\"\xb8\x07\n\x0b\x41\x63tionEvent\x12:\n\x02id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x02id\x12!\n\x07\x61ttempt\x18\x02 \x01(\rB\x07\xbaH\x04*\x02 \x00R\x07\x61ttempt\x12\x33\n\x05phase\x18\x03 \x01(\x0e\x32\x1d.flyteidl2.common.ActionPhaseR\x05phase\x12\x18\n\x07version\x18\x04 \x01(\rR\x07version\x12=\n\nstart_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x02\x18\x01R\tstartTime\x12=\n\x0cupdated_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bupdatedTime\x12>\n\x08\x65nd_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x02\x18\x01H\x00R\x07\x65ndTime\x88\x01\x01\x12\x41\n\nerror_info\x18\x08 \x01(\x0b\x32\x1d.flyteidl2.workflow.ErrorInfoH\x01R\terrorInfo\x88\x01\x01\x12\x32\n\x08log_info\x18\t \x03(\x0b\x32\x17.flyteidl2.core.TaskLogR\x07logInfo\x12;\n\x0blog_context\x18\n \x01(\x0b\x32\x1a.flyteidl2.core.LogContextR\nlogContext\x12\x18\n\x07\x63luster\x18\x0b \x01(\tR\x07\x63luster\x12:\n\x07outputs\x18\x0c \x01(\x0b\x32 .flyteidl2.task.OutputReferencesR\x07outputs\x12\x45\n\x0c\x63\x61\x63he_status\x18\r \x01(\x0e\x32\".flyteidl2.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12G\n\x0e\x63luster_events\x18\x0e \x03(\x0b\x32 .flyteidl2.workflow.ClusterEventR\rclusterEvents\x12?\n\rreported_time\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0creportedTime\x12\x46\n\x0e\x63\x61\x63he_metadata\x18\x10 \x01(\x0b\x32\x1f.flyteidl2.common.CacheMetadataR\rcacheMetadataB\x0b\n\t_end_timeB\r\n\x0b_error_info\"\x83\x04\n\nActionSpec\x12G\n\taction_id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x08\x61\x63tionId\x12\x31\n\x12parent_action_name\x18\x02 \x01(\tH\x01R\x10parentActionName\x88\x01\x01\x12\x32\n\x08run_spec\x18\x03 \x01(\x0b\x32\x17.flyteidl2.task.RunSpecR\x07runSpec\x12$\n\tinput_uri\x18\x04 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x08inputUri\x12/\n\x0frun_output_base\x18\x05 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\rrunOutputBase\x12\x34\n\x04task\x18\x06 \x01(\x0b\x32\x1e.flyteidl2.workflow.TaskActionH\x00R\x04task\x12\x43\n\tcondition\x18\x07 \x01(\x0b\x32#.flyteidl2.workflow.ConditionActionH\x00R\tcondition\x12\x37\n\x05trace\x18\n \x01(\x0b\x32\x1f.flyteidl2.workflow.TraceActionH\x00R\x05trace\x12\x14\n\x05group\x18\x08 \x01(\tR\x05groupB\r\n\x04spec\x12\x05\xbaH\x02\x08\x01\x42\x15\n\x13_parent_action_name\"\xfe\x08\n\tTaskGroup\x12\x1b\n\ttask_name\x18\x01 \x01(\tR\x08taskName\x12)\n\x10\x65nvironment_name\x18\x02 \x01(\tR\x0f\x65nvironmentName\x12\x1d\n\ntotal_runs\x18\x03 \x01(\x03R\ttotalRuns\x12\x42\n\x0flatest_run_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\rlatestRunTime\x12S\n\x0frecent_statuses\x18\x05 \x03(\x0b\x32*.flyteidl2.workflow.TaskGroup.RecentStatusR\x0erecentStatuses\x12\x30\n\x14\x61verage_failure_rate\x18\x06 \x01(\x01R\x12\x61verageFailureRate\x12\x44\n\x10\x61verage_duration\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0f\x61verageDuration\x12L\n\x14latest_finished_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x12latestFinishedTime\x12\x41\n\ncreated_by\x18\t \x03(\x0b\x32\".flyteidl2.common.EnrichedIdentityR\tcreatedBy\x12#\n\rshould_delete\x18\n \x01(\x08R\x0cshouldDelete\x12\x1d\n\nshort_name\x18\x0b \x01(\tR\tshortName\x12L\n\x0c\x65rror_counts\x18\x0c \x01(\x0b\x32).flyteidl2.workflow.TaskGroup.ErrorCountsR\x0b\x65rrorCounts\x12L\n\x0cphase_counts\x18\r \x03(\x0b\x32).flyteidl2.workflow.TaskGroup.PhaseCountsR\x0bphaseCounts\x12P\n\x17\x61verage_time_to_running\x18\x0e \x01(\x0b\x32\x19.google.protobuf.DurationR\x14\x61verageTimeToRunning\x1a^\n\x0cRecentStatus\x12\x19\n\x08run_name\x18\x01 \x01(\tR\x07runName\x12\x33\n\x05phase\x18\x02 \x01(\x0e\x32\x1d.flyteidl2.common.ActionPhaseR\x05phase\x1a|\n\x0b\x45rrorCounts\x12\x1d\n\nuser_error\x18\x01 \x01(\x03R\tuserError\x12!\n\x0csystem_error\x18\x02 \x01(\x03R\x0bsystemError\x12+\n\x11unspecified_error\x18\x03 \x01(\x03R\x10unspecifiedError\x1aX\n\x0bPhaseCounts\x12\x33\n\x05phase\x18\x01 \x01(\x0e\x32\x1d.flyteidl2.common.ActionPhaseR\x05phase\x12\x14\n\x05\x63ount\x18\x02 \x01(\x03R\x05\x63ount*\x80\x01\n\x13\x43onditionPromptType\x12%\n!CONDITION_PROMPT_TYPE_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x43ONDITION_PROMPT_TYPE_TEXT\x10\x01\x12\"\n\x1e\x43ONDITION_PROMPT_TYPE_MARKDOWN\x10\x02*q\n\nActionType\x12\x1b\n\x17\x41\x43TION_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10\x41\x43TION_TYPE_TASK\x10\x01\x12\x15\n\x11\x41\x43TION_TYPE_TRACE\x10\x02\x12\x19\n\x15\x41\x43TION_TYPE_CONDITION\x10\x03*\x86\x01\n\tRunSource\x12\x1a\n\x16RUN_SOURCE_UNSPECIFIED\x10\x00\x12\x12\n\x0eRUN_SOURCE_WEB\x10\x01\x12\x12\n\x0eRUN_SOURCE_CLI\x10\x02\x12\x1f\n\x1bRUN_SOURCE_SCHEDULE_TRIGGER\x10\x03\x12\x14\n\x10RUN_SOURCE_LOCAL\x10\x04\x42\xcf\x01\n\x16\x63om.flyteidl2.workflowB\x12RunDefinitionProtoH\x02P\x01Z6github.com/flyteorg/flyte/v2/gen/go/flyteidl2/workflow\xa2\x02\x03\x46WX\xaa\x02\x12\x46lyteidl2.Workflow\xca\x02\x12\x46lyteidl2\\Workflow\xe2\x02\x1e\x46lyteidl2\\Workflow\\GPBMetadata\xea\x02\x13\x46lyteidl2::Workflowb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -78,8 +78,8 @@ _globals['_CONDITIONPROMPTTYPE']._serialized_end=8907 _globals['_ACTIONTYPE']._serialized_start=8909 _globals['_ACTIONTYPE']._serialized_end=9022 - _globals['_RUNSOURCE']._serialized_start=9024 - _globals['_RUNSOURCE']._serialized_end=9136 + _globals['_RUNSOURCE']._serialized_start=9025 + _globals['_RUNSOURCE']._serialized_end=9159 _globals['_RUN']._serialized_start=590 _globals['_RUN']._serialized_end=767 _globals['_RUN_LABELSENTRY']._serialized_start=710 diff --git a/gen/python/flyteidl2/workflow/run_definition_pb2.pyi b/gen/python/flyteidl2/workflow/run_definition_pb2.pyi index 13ec21133c4..fa4ab9326eb 100644 --- a/gen/python/flyteidl2/workflow/run_definition_pb2.pyi +++ b/gen/python/flyteidl2/workflow/run_definition_pb2.pyi @@ -42,6 +42,7 @@ class RunSource(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): RUN_SOURCE_WEB: _ClassVar[RunSource] RUN_SOURCE_CLI: _ClassVar[RunSource] RUN_SOURCE_SCHEDULE_TRIGGER: _ClassVar[RunSource] + RUN_SOURCE_LOCAL: _ClassVar[RunSource] CONDITION_PROMPT_TYPE_UNSPECIFIED: ConditionPromptType CONDITION_PROMPT_TYPE_TEXT: ConditionPromptType CONDITION_PROMPT_TYPE_MARKDOWN: ConditionPromptType @@ -53,6 +54,7 @@ RUN_SOURCE_UNSPECIFIED: RunSource RUN_SOURCE_WEB: RunSource RUN_SOURCE_CLI: RunSource RUN_SOURCE_SCHEDULE_TRIGGER: RunSource +RUN_SOURCE_LOCAL: RunSource class Run(_message.Message): __slots__ = ["action", "labels"] diff --git a/gen/rust/src/flyteidl2.dataproxy.rs b/gen/rust/src/flyteidl2.dataproxy.rs index 19c7f2bfae0..d0d7f81992c 100644 --- a/gen/rust/src/flyteidl2.dataproxy.rs +++ b/gen/rust/src/flyteidl2.dataproxy.rs @@ -250,6 +250,73 @@ pub mod tail_logs_request { PodName(::prost::alloc::string::String), } } +/// UploadMetadataRequest specifies the request for the UploadMetadata API. The data proxy service +/// derives the storage path from the authenticated org and the target action, following the local +/// run metadata layout: //////inputs.pb for inputs and +/// ///////{outputs.pb,report.html} otherwise. +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UploadMetadataRequest { + /// ArtifactType is the type of artifact to upload. INPUTS targets an action; OUTPUTS and REPORT + /// target an action attempt. + #[prost(enumeration="ArtifactType", tag="1")] + pub artifact_type: i32, + /// ContentMD5 restricts the upload location to the specific MD5 provided. + /// +required + #[prost(bytes="vec", tag="4")] + pub content_md5: ::prost::alloc::vec::Vec, + /// ContentLength specifies the size of the content to be uploaded in bytes. Validated against + /// the platform's maximum upload size. + /// +optional + #[prost(int64, tag="5")] + pub content_length: i64, + /// ExpiresIn defines the requested expiration duration for the generated URL. The request will + /// be rejected if this exceeds the platform's configured maximum. + /// +optional. The default value comes from the global config. + #[prost(message, optional, tag="6")] + pub expires_in: ::core::option::Option, + /// If true, the data proxy will add content_md5 to the Signed URL requirements, forcing clients + /// to send this checksum with the object. Required for data integrity on backends like GCP. + #[prost(bool, tag="7")] + pub add_content_md5_metadata: bool, + /// Target identifies the action (INPUTS) or action attempt (OUTPUTS / REPORT) the artifact + /// belongs to. + #[prost(oneof="upload_metadata_request::Target", tags="2, 3")] + pub target: ::core::option::Option, +} +/// Nested message and enum types in `UploadMetadataRequest`. +pub mod upload_metadata_request { + /// Target identifies the action (INPUTS) or action attempt (OUTPUTS / REPORT) the artifact + /// belongs to. + #[pyo3::pyclass(dict, get_all, set_all)] + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Target { + #[prost(message, tag="2")] + ActionId(super::super::common::ActionIdentifier), + #[prost(message, tag="3")] + ActionAttemptId(super::super::common::ActionAttemptIdentifier), + } +} +/// CreateLocalDownloadLinkRequest specifies the request for the CreateLocalDownloadLink API. +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CreateLocalDownloadLinkRequest { + /// ArtifactType is the type of artifact to download. + /// +required + #[prost(enumeration="ArtifactType", tag="1")] + pub artifact_type: i32, + /// ActionAttemptId identifies the local run action attempt whose artifact is to be downloaded. + #[prost(message, optional, tag="2")] + pub action_attempt_id: ::core::option::Option, + /// ExpiresIn defines the requested expiration duration for the generated URLs. The request will + /// be rejected if this exceeds the platform's configured maximum. + /// +optional. The default value comes from the global config. + #[prost(message, optional, tag="3")] + pub expires_in: ::core::option::Option, +} /// Reponse message for tailing logs. #[pyo3::pyclass(dict, get_all, set_all)] #[allow(clippy::derive_partial_eq_without_eq)] @@ -284,6 +351,10 @@ pub enum ArtifactType { Report = 1, /// ARTIFACT_TYPE_CODE_BUNDLE refers to the code bundle (tarball) generated for an action. CodeBundle = 2, + /// ARTIFACT_TYPE_INPUTS refers to an action's serialized inputs (inputs.pb). + Inputs = 3, + /// ARTIFACT_TYPE_OUTPUTS refers to an action's serialized outputs (outputs.pb). + Outputs = 4, } impl ArtifactType { /// String value of the enum field names used in the ProtoBuf definition. @@ -295,6 +366,8 @@ impl ArtifactType { ArtifactType::Unspecified => "ARTIFACT_TYPE_UNSPECIFIED", ArtifactType::Report => "ARTIFACT_TYPE_REPORT", ArtifactType::CodeBundle => "ARTIFACT_TYPE_CODE_BUNDLE", + ArtifactType::Inputs => "ARTIFACT_TYPE_INPUTS", + ArtifactType::Outputs => "ARTIFACT_TYPE_OUTPUTS", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -303,188 +376,237 @@ impl ArtifactType { "ARTIFACT_TYPE_UNSPECIFIED" => Some(Self::Unspecified), "ARTIFACT_TYPE_REPORT" => Some(Self::Report), "ARTIFACT_TYPE_CODE_BUNDLE" => Some(Self::CodeBundle), + "ARTIFACT_TYPE_INPUTS" => Some(Self::Inputs), + "ARTIFACT_TYPE_OUTPUTS" => Some(Self::Outputs), _ => None, } } } /// Encoded file descriptor set for the `flyteidl2.dataproxy` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xd5, 0x6a, 0x0a, 0x2b, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x13, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x22, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x61, 0x70, - 0x70, 0x2f, 0x61, 0x70, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x75, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x5f, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x22, 0xf8, 0x02, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, - 0x04, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x28, 0x0a, 0x0b, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, - 0x42, 0x07, 0xba, 0x48, 0x04, 0x7a, 0x02, 0x68, 0x10, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x69, - 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x64, - 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x64, - 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xad, 0x02, 0x0a, - 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, - 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x58, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, - 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb4, 0x03, 0x0a, - 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x44, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, - 0x37, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, - 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x48, 0x01, 0x52, 0x08, - 0x74, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x42, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x01, 0x52, - 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x06, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x73, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x62, 0x61, 0x73, 0x65, 0x44, 0x69, 0x72, 0x42, 0x0b, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x05, 0xba, - 0x48, 0x02, 0x08, 0x01, 0x42, 0x0d, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x05, 0xba, 0x48, - 0x02, 0x08, 0x01, 0x22, 0x6e, 0x0a, 0x14, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, - 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x14, 0x6f, - 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x66, 0x66, - 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x12, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x22, 0x69, 0x0a, 0x0d, 0x50, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x55, 0x52, 0x4c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, - 0x72, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x55, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, - 0x74, 0x18, 0x02, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x22, 0x80, - 0x03, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0d, + 0x0a, 0xea, 0x90, 0x01, 0x0a, 0x2b, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x13, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x61, + 0x70, 0x70, 0x2f, 0x61, 0x70, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x75, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x61, 0x73, 0x6b, + 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x22, 0xf8, 0x02, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, + 0x18, 0x04, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x28, 0x0a, 0x0b, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0c, 0x42, 0x07, 0xba, 0x48, 0x04, 0x7a, 0x02, 0x68, 0x10, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, + 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x61, + 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, + 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xad, 0x02, + 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, + 0x0a, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x0a, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x58, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb4, 0x03, + 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, + 0x44, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, + 0x12, 0x37, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x48, 0x01, 0x52, + 0x08, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x42, 0x0a, 0x0c, 0x74, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x01, + 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, + 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x19, 0x0a, + 0x08, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x62, 0x61, 0x73, 0x65, 0x44, 0x69, 0x72, 0x42, 0x0b, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x05, + 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, 0x0d, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x05, 0xba, + 0x48, 0x02, 0x08, 0x01, 0x22, 0x6e, 0x0a, 0x14, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x14, + 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x66, + 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x12, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x22, 0x69, 0x0a, 0x0d, 0x50, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x55, 0x52, 0x4c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, + 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x55, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, + 0x61, 0x74, 0x18, 0x02, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x22, + 0x80, 0x03, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, + 0x0d, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xba, 0x48, 0x05, 0x82, 0x01, 0x02, 0x20, + 0x00, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x38, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x02, 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, 0x09, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x57, 0x0a, 0x11, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, + 0x00, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x49, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, + 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, + 0x64, 0x42, 0x0f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x05, 0xba, 0x48, 0x02, + 0x08, 0x01, 0x22, 0x68, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4a, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, + 0x72, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, + 0x50, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x0d, 0x70, + 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x73, 0x22, 0x5f, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, + 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xba, 0x01, + 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, + 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x73, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, 0x22, 0xb5, 0x02, 0x0a, 0x0f, 0x54, + 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, + 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x20, + 0x00, 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x6f, 0x64, 0x12, 0x1b, 0x0a, + 0x08, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x08, 0x70, 0x6f, + 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, + 0x70, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x70, + 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x22, 0xde, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xba, 0x48, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, - 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, - 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x02, 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, 0x09, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x57, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x82, 0x01, 0x06, 0x18, 0x01, + 0x18, 0x03, 0x18, 0x04, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, + 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x28, + 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0c, 0x42, 0x07, 0xba, 0x48, 0x04, 0x7a, 0x02, 0x68, 0x10, 0x52, 0x0a, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, + 0x38, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x06, 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, 0x09, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x64, 0x64, + 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x64, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x42, 0x0f, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x05, 0xba, 0x48, + 0x02, 0x08, 0x01, 0x22, 0x8b, 0x02, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x42, 0x08, 0xba, 0x48, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5d, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, - 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, - 0x64, 0x12, 0x32, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, - 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, - 0x42, 0x0f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, - 0x01, 0x22, 0x68, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4a, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, - 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, - 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x0d, 0x70, 0x72, - 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x73, 0x22, 0x5f, 0x0a, 0x14, 0x47, - 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, - 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xba, 0x01, 0x0a, - 0x15, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x06, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, - 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, - 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, - 0x6e, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, 0x22, 0xb5, 0x02, 0x0a, 0x0f, 0x54, 0x61, - 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, - 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x20, 0x00, - 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, 0x69, - 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, - 0x52, 0x0a, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x6f, 0x64, 0x12, 0x1b, 0x0a, 0x08, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, - 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x08, 0x70, 0x6f, 0x64, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x70, - 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, - 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x22, 0xe1, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, + 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, + 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x03, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, + 0x6e, 0x22, 0xe1, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, @@ -498,480 +620,891 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2a, 0x66, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, - 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x01, 0x12, 0x1d, - 0x0a, 0x19, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x10, 0x02, 0x32, 0xbb, 0x04, - 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x7d, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x65, 0x0a, 0x0c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x73, 0x12, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2a, 0x9b, 0x01, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, + 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, + 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x01, 0x12, + 0x1d, 0x0a, 0x19, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x18, + 0x0a, 0x14, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x49, 0x4e, 0x50, 0x55, 0x54, 0x53, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x52, 0x54, 0x49, + 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, + 0x53, 0x10, 0x04, 0x32, 0xa4, 0x07, 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7d, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x30, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x0c, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x2e, - 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, - 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x6b, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5b, - 0x0a, 0x08, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x24, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, + 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, + 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x03, 0x90, 0x02, 0x01, 0x12, 0x5b, 0x0a, 0x08, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, + 0x12, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x42, 0xd6, 0x01, 0x0a, 0x17, - 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x15, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, - 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0xa2, 0x02, 0x03, 0x46, 0x44, 0x58, 0xaa, - 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0xca, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0xe2, 0x02, 0x1f, 0x46, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, - 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x4a, 0xf9, 0x4b, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xf7, 0x01, 0x01, - 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, - 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, - 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, - 0x12, 0x03, 0x06, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x24, - 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x30, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x05, 0x12, 0x03, 0x09, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, 0x00, - 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, 0x03, 0x0b, 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, - 0x03, 0x08, 0x12, 0x03, 0x0c, 0x00, 0x29, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x0e, 0x00, - 0x4e, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x0e, 0x00, 0x4e, 0x0a, 0x49, 0x0a, 0x02, - 0x05, 0x00, 0x12, 0x04, 0x11, 0x00, 0x17, 0x01, 0x1a, 0x3d, 0x20, 0x41, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, - 0x11, 0x05, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x12, 0x02, 0x20, - 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x12, 0x02, 0x1b, 0x0a, 0x0c, - 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x12, 0x1e, 0x1f, 0x0a, 0x78, 0x0a, 0x04, - 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, 0x14, 0x02, 0x1b, 0x1a, 0x6b, 0x20, 0x41, 0x52, 0x54, 0x49, - 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, - 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, - 0x54, 0x4d, 0x4c, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x61, 0x20, 0x74, 0x61, 0x73, - 0x6b, 0x20, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x73, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, - 0x03, 0x14, 0x02, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x14, - 0x19, 0x1a, 0x0a, 0x65, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x16, 0x02, 0x20, 0x1a, - 0x58, 0x20, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x20, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x62, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x28, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x29, 0x20, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, - 0x02, 0x01, 0x12, 0x03, 0x16, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, - 0x12, 0x03, 0x16, 0x1e, 0x1f, 0x0a, 0x5d, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x1a, 0x00, 0x2a, - 0x01, 0x1a, 0x51, 0x20, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, - 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x75, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x1a, 0x08, 0x18, - 0x0a, 0x70, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, 0x1c, 0x02, 0x61, 0x1a, 0x63, 0x20, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, + 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, + 0x01, 0x12, 0x71, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x31, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, + 0x6e, 0x6b, 0x12, 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, + 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xd6, 0x01, 0x0a, 0x17, 0x63, + 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x15, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, + 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0xa2, 0x02, 0x03, 0x46, 0x44, 0x58, 0xaa, 0x02, + 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0xca, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0xe2, 0x02, 0x1f, 0x46, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x46, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x4a, 0x80, 0x69, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xc8, 0x02, 0x01, 0x0a, + 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, + 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, + 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, + 0x03, 0x06, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x24, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x30, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, + 0x12, 0x03, 0x09, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, 0x00, 0x2e, + 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, 0x03, 0x0b, 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, + 0x08, 0x12, 0x03, 0x0c, 0x00, 0x29, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x0e, 0x00, 0x4e, + 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x0e, 0x00, 0x4e, 0x0a, 0x49, 0x0a, 0x02, 0x05, + 0x00, 0x12, 0x04, 0x11, 0x00, 0x1b, 0x01, 0x1a, 0x3d, 0x20, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x11, + 0x05, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x12, 0x02, 0x20, 0x0a, + 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x12, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, + 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x12, 0x1e, 0x1f, 0x0a, 0x78, 0x0a, 0x04, 0x05, + 0x00, 0x02, 0x01, 0x12, 0x03, 0x14, 0x02, 0x1b, 0x1a, 0x6b, 0x20, 0x41, 0x52, 0x54, 0x49, 0x46, + 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x20, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, 0x54, + 0x4d, 0x4c, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x61, 0x20, 0x74, 0x61, 0x73, 0x6b, + 0x20, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x73, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, + 0x14, 0x02, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x14, 0x19, + 0x1a, 0x0a, 0x65, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x16, 0x02, 0x20, 0x1a, 0x58, + 0x20, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x28, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x29, 0x20, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, + 0x01, 0x12, 0x03, 0x16, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, + 0x03, 0x16, 0x1e, 0x1f, 0x0a, 0x58, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x03, 0x18, 0x02, + 0x1b, 0x1a, 0x4b, 0x20, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x53, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, + 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x73, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, + 0x20, 0x28, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x70, 0x62, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x18, 0x02, 0x16, 0x0a, 0x0c, 0x0a, 0x05, + 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x18, 0x19, 0x1a, 0x0a, 0x5b, 0x0a, 0x04, 0x05, 0x00, + 0x02, 0x04, 0x12, 0x03, 0x1a, 0x02, 0x1c, 0x1a, 0x4e, 0x20, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, + 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x53, 0x20, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, + 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x20, 0x28, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x73, 0x2e, 0x70, 0x62, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x01, + 0x12, 0x03, 0x1a, 0x02, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, + 0x1a, 0x1a, 0x1b, 0x0a, 0x5d, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x1e, 0x00, 0x3e, 0x01, 0x1a, + 0x51, 0x20, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x73, + 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x1e, 0x08, 0x18, 0x0a, 0x70, + 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, 0x20, 0x02, 0x61, 0x1a, 0x63, 0x20, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x20, 0x06, 0x1a, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x20, 0x1b, 0x36, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x20, 0x41, 0x5d, 0x0a, 0x0b, 0x0a, 0x04, 0x06, 0x00, + 0x02, 0x01, 0x12, 0x03, 0x22, 0x02, 0x49, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, + 0x12, 0x03, 0x22, 0x06, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, + 0x22, 0x13, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x22, 0x31, + 0x45, 0x0a, 0x5b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x03, 0x25, 0x02, 0x5b, 0x1a, 0x4e, + 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, + 0x69, 0x6e, 0x6b, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x28, 0x73, 0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x67, 0x69, + 0x76, 0x65, 0x6e, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x25, 0x06, 0x18, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x25, 0x19, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x02, 0x03, 0x12, 0x03, 0x25, 0x3d, 0x57, 0x0a, 0x38, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, + 0x12, 0x04, 0x28, 0x02, 0x2a, 0x03, 0x1a, 0x2a, 0x20, 0x47, 0x65, 0x74, 0x20, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, + 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x28, 0x06, 0x13, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x28, 0x14, 0x28, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x28, 0x33, 0x48, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x03, 0x29, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, + 0x02, 0x03, 0x04, 0x22, 0x12, 0x03, 0x29, 0x04, 0x2f, 0x0a, 0x31, 0x0a, 0x04, 0x06, 0x00, 0x02, + 0x04, 0x12, 0x03, 0x2d, 0x02, 0x44, 0x1a, 0x24, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, + 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x2d, 0x06, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x04, 0x02, 0x12, 0x03, 0x2d, 0x0f, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, + 0x06, 0x12, 0x03, 0x2d, 0x29, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, + 0x03, 0x2d, 0x30, 0x40, 0x0a, 0xeb, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x05, 0x12, 0x03, 0x32, + 0x02, 0x55, 0x1a, 0xdd, 0x01, 0x20, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, - 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, + 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x27, 0x73, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x0a, 0x20, 0x28, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x73, 0x2e, 0x70, 0x62, 0x20, 0x2f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x2e, + 0x70, 0x62, 0x20, 0x2f, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x68, 0x74, 0x6d, 0x6c, + 0x29, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x27, + 0x73, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x2e, 0x0a, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x6f, + 0x6e, 0x6c, 0x79, 0x3b, 0x20, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x20, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x32, 0x06, 0x14, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x32, 0x15, 0x2a, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x32, 0x35, 0x51, 0x0a, 0xb1, 0x01, 0x0a, + 0x04, 0x06, 0x00, 0x02, 0x06, 0x12, 0x04, 0x36, 0x02, 0x38, 0x03, 0x1a, 0xa2, 0x01, 0x20, 0x47, + 0x65, 0x74, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x0a, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x27, 0x73, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x1c, 0x06, 0x1a, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x1c, 0x1b, 0x36, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1c, 0x41, 0x5d, 0x0a, 0x0b, 0x0a, 0x04, - 0x06, 0x00, 0x02, 0x01, 0x12, 0x03, 0x1e, 0x02, 0x49, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x01, 0x01, 0x12, 0x03, 0x1e, 0x06, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, - 0x12, 0x03, 0x1e, 0x13, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, - 0x1e, 0x31, 0x45, 0x0a, 0x5b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x03, 0x21, 0x02, 0x5b, - 0x1a, 0x4e, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x28, 0x73, 0x29, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, - 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x21, 0x06, 0x18, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x21, 0x19, 0x32, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x21, 0x3d, 0x57, 0x0a, 0x38, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x03, 0x12, 0x04, 0x24, 0x02, 0x26, 0x03, 0x1a, 0x2a, 0x20, 0x47, 0x65, 0x74, 0x20, 0x69, - 0x6e, 0x70, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, - 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x24, - 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x24, 0x14, 0x28, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x24, 0x33, 0x48, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x03, 0x25, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, - 0x06, 0x00, 0x02, 0x03, 0x04, 0x22, 0x12, 0x03, 0x25, 0x04, 0x2f, 0x0a, 0x31, 0x0a, 0x04, 0x06, - 0x00, 0x02, 0x04, 0x12, 0x03, 0x29, 0x02, 0x44, 0x1a, 0x24, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x29, 0x06, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x29, 0x0f, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x04, 0x06, 0x12, 0x03, 0x29, 0x29, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, - 0x03, 0x12, 0x03, 0x29, 0x30, 0x40, 0x0a, 0xaa, 0x03, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x31, - 0x00, 0x5c, 0x01, 0x1a, 0x9d, 0x03, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x2e, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x6f, 0x6e, 0x6c, + 0x79, 0x3b, 0x20, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x20, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x20, + 0x74, 0x6f, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x36, 0x06, 0x18, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x36, 0x19, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x36, 0x38, 0x4d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x06, 0x04, 0x12, 0x03, 0x37, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x06, + 0x04, 0x22, 0x12, 0x03, 0x37, 0x04, 0x2f, 0x0a, 0xdc, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x07, + 0x12, 0x03, 0x3d, 0x02, 0x65, 0x1a, 0xce, 0x01, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, + 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, + 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x55, 0x52, 0x4c, 0x28, 0x73, 0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x64, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x72, 0x75, 0x6e, 0x0a, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, + 0x6d, 0x70, 0x74, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x66, 0x72, 0x6f, + 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x27, 0x73, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, + 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x3b, 0x20, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x0a, 0x20, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x01, 0x12, + 0x03, 0x3d, 0x06, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x3d, + 0x1e, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x3d, 0x47, 0x61, + 0x0a, 0xaa, 0x03, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x45, 0x00, 0x70, 0x01, 0x1a, 0x9d, 0x03, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x20, 0x61, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, - 0x73, 0x69, 0x64, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, - 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x66, 0x6f, - 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x3a, 0x0a, 0x20, 0x20, 0x20, - 0x2d, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x2f, 0x28, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x20, - 0x68, 0x61, 0x73, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, - 0x6d, 0x64, 0x35, 0x29, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x28, 0x69, - 0x66, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, - 0x65, 0x73, 0x65, 0x6e, 0x74, 0x29, 0x3b, 0x20, 0x4f, 0x52, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x20, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2f, 0x66, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x2f, 0x66, 0x69, 0x6c, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x28, 0x69, 0x66, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, - 0x29, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x31, 0x08, 0x23, 0x0a, - 0x44, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x34, 0x02, 0x3f, 0x1a, 0x37, 0x20, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x77, 0x69, 0x6c, + 0x6c, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x73, 0x69, 0x64, 0x65, 0x20, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, + 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x73, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x20, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2f, 0x28, 0x64, 0x65, 0x74, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x20, 0x68, 0x61, 0x73, 0x68, 0x20, 0x6f, + 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x29, 0x2f, 0x66, + 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x28, 0x69, 0x66, 0x20, 0x66, 0x69, 0x6c, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x29, + 0x3b, 0x20, 0x4f, 0x52, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x28, 0x69, 0x66, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x61, + 0x72, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x29, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, + 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x45, 0x08, 0x23, 0x0a, 0x44, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x00, 0x12, 0x03, 0x48, 0x02, 0x3f, 0x1a, 0x37, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, + 0x6f, 0x72, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x48, 0x02, 0x08, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x48, 0x09, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x48, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x00, 0x08, 0x12, 0x03, 0x48, 0x15, 0x3e, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x00, 0x08, + 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x48, 0x16, 0x3d, 0x0a, 0x43, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x01, 0x12, 0x03, 0x4c, 0x02, 0x3e, 0x1a, 0x36, 0x20, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, + 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, + 0x72, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x4c, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x4c, 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x01, 0x03, 0x12, 0x03, 0x4c, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, + 0x08, 0x12, 0x03, 0x4c, 0x14, 0x3d, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x01, 0x08, 0x87, + 0x09, 0x0e, 0x02, 0x12, 0x03, 0x4c, 0x15, 0x3c, 0x0a, 0xfc, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x02, 0x12, 0x03, 0x50, 0x02, 0x16, 0x1a, 0xee, 0x01, 0x20, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x20, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x45, 0x2e, 0x67, 0x2e, + 0x20, 0x60, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x79, 0x60, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x70, + 0x72, 0x65, 0x2f, 0x66, 0x69, 0x78, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x7a, 0x69, 0x70, 0x60, + 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x42, 0x79, + 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, + 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, + 0x12, 0x03, 0x50, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, + 0x50, 0x09, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x50, 0x14, + 0x15, 0x0a, 0xe7, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x55, 0x02, 0x2a, 0x1a, + 0xd9, 0x01, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x20, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x2e, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, + 0x65, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x0a, 0x20, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x27, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x2e, 0x0a, 0x20, + 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6d, + 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x55, 0x02, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x03, 0x01, 0x12, 0x03, 0x55, 0x1b, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, + 0x12, 0x03, 0x55, 0x28, 0x29, 0x0a, 0xa8, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, + 0x5a, 0x02, 0x3e, 0x1a, 0x9a, 0x01, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x44, + 0x35, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, + 0x4d, 0x44, 0x35, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x4d, 0x44, 0x35, 0x20, 0x68, 0x61, 0x73, 0x68, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, + 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x20, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x0a, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x70, 0x61, + 0x74, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, 0x12, 0x03, 0x5a, 0x02, 0x07, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x5a, 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x5a, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x04, 0x08, 0x12, 0x03, 0x5a, 0x18, 0x3d, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x04, + 0x08, 0x87, 0x09, 0x0f, 0x0d, 0x12, 0x03, 0x5a, 0x19, 0x3c, 0x0a, 0xd2, 0x02, 0x0a, 0x04, 0x04, + 0x00, 0x02, 0x05, 0x12, 0x03, 0x60, 0x02, 0x1b, 0x1a, 0xc4, 0x02, 0x20, 0x46, 0x69, 0x6c, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x70, 0x72, 0x65, + 0x73, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x4d, 0x44, 0x35, 0x20, 0x68, 0x61, 0x73, 0x68, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x63, 0x6f, 0x6d, + 0x62, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x6e, + 0x61, 0x6d, 0x65, 0x2c, 0x0a, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, - 0x34, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x34, 0x09, - 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x34, 0x13, 0x14, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x34, 0x15, 0x3e, 0x0a, 0x10, 0x0a, - 0x09, 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x34, 0x16, 0x3d, 0x0a, - 0x43, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x38, 0x02, 0x3e, 0x1a, 0x36, 0x20, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x38, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x38, 0x09, 0x0f, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x38, 0x12, 0x13, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x38, 0x14, 0x3d, 0x0a, 0x10, 0x0a, 0x09, - 0x04, 0x00, 0x02, 0x01, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x38, 0x15, 0x3c, 0x0a, 0xfc, - 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x3c, 0x02, 0x16, 0x1a, 0xee, 0x01, 0x20, - 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x20, 0x73, - 0x75, 0x66, 0x66, 0x69, 0x78, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x20, 0x45, 0x2e, 0x67, 0x2e, 0x20, 0x60, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x79, 0x60, - 0x20, 0x6f, 0x72, 0x20, 0x60, 0x70, 0x72, 0x65, 0x2f, 0x66, 0x69, 0x78, 0x2f, 0x66, 0x69, 0x6c, - 0x65, 0x2e, 0x7a, 0x69, 0x70, 0x60, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x2e, 0x20, 0x42, 0x79, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2c, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x66, 0x69, 0x6c, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x3c, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x3c, 0x09, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x02, 0x03, 0x12, 0x03, 0x3c, 0x14, 0x15, 0x0a, 0xe7, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, - 0x12, 0x03, 0x41, 0x02, 0x2a, 0x1a, 0xd9, 0x01, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, - 0x49, 0x6e, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x55, - 0x52, 0x4c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, - 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x0a, 0x20, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x27, 0x73, - 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x69, - 0x6d, 0x75, 0x6d, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x41, 0x02, 0x1a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x41, 0x1b, 0x25, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x41, 0x28, 0x29, 0x0a, 0xa8, 0x01, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x46, 0x02, 0x3e, 0x1a, 0x9a, 0x01, 0x20, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x44, 0x35, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x4d, 0x44, 0x35, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x4d, 0x44, 0x35, 0x20, 0x68, 0x61, 0x73, 0x68, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, - 0x72, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x76, 0x65, 0x72, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, 0x12, - 0x03, 0x46, 0x02, 0x07, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x46, - 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x46, 0x16, 0x17, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x03, 0x46, 0x18, 0x3d, 0x0a, 0x10, - 0x0a, 0x09, 0x04, 0x00, 0x02, 0x04, 0x08, 0x87, 0x09, 0x0f, 0x0d, 0x12, 0x03, 0x46, 0x19, 0x3c, - 0x0a, 0xd2, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x4c, 0x02, 0x1b, 0x1a, 0xc4, - 0x02, 0x20, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x2c, 0x20, - 0x69, 0x66, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4d, 0x44, 0x35, 0x20, 0x68, 0x61, 0x73, 0x68, - 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x20, 0x57, 0x68, - 0x65, 0x6e, 0x20, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x20, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x0a, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, - 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x73, 0x74, - 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x64, 0x20, - 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x0a, 0x20, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x20, 0x54, 0x68, 0x69, - 0x73, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x66, - 0x75, 0x6c, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, - 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, 0x12, 0x03, - 0x4c, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x4c, 0x09, - 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x4c, 0x19, 0x1a, 0x0a, - 0x89, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x52, 0x02, 0x24, 0x1a, 0xfb, 0x01, - 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x64, - 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x20, 0x74, 0x6f, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2c, 0x0a, 0x20, 0x66, - 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, - 0x6f, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x73, 0x75, 0x6d, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x6e, 0x66, 0x6f, 0x72, - 0x63, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, - 0x79, 0x20, 0x6f, 0x6e, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x20, 0x6c, 0x69, - 0x6b, 0x65, 0x20, 0x47, 0x43, 0x50, 0x2c, 0x20, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x69, 0x6e, 0x67, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x61, 0x73, 0x68, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x06, 0x05, 0x12, 0x03, 0x52, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x06, 0x01, 0x12, 0x03, 0x52, 0x07, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, - 0x12, 0x03, 0x52, 0x22, 0x23, 0x0a, 0x4e, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x56, - 0x02, 0x11, 0x1a, 0x41, 0x20, 0x4f, 0x72, 0x67, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6b, 0x65, 0x79, - 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x05, 0x12, 0x03, - 0x56, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x56, 0x09, - 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x56, 0x0f, 0x10, 0x0a, - 0xae, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x5b, 0x02, 0x1b, 0x1a, 0xa0, 0x01, - 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x7a, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, - 0x69, 0x6e, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, - 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, - 0x69, 0x6e, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x27, 0x73, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x75, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x69, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x05, 0x12, 0x03, 0x5b, 0x02, 0x07, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x5b, 0x08, 0x16, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x5b, 0x19, 0x1a, 0x0a, 0x63, 0x0a, 0x02, 0x04, 0x01, - 0x12, 0x04, 0x5f, 0x00, 0x6b, 0x01, 0x1a, 0x57, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x0a, - 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x5f, 0x08, 0x24, 0x0a, 0x89, 0x01, 0x0a, 0x04, - 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x61, 0x02, 0x18, 0x1a, 0x7c, 0x20, 0x53, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x55, 0x72, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x52, 0x4c, - 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x28, 0x65, - 0x2e, 0x67, 0x2e, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x6d, 0x79, 0x2d, 0x62, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x73, 0x33, 0x2e, 0x61, 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x61, - 0x77, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x2f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x2e, 0x74, 0x61, 0x72, 0x3f, 0x58, - 0x2d, 0x2e, 0x2e, 0x2e, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, - 0x12, 0x03, 0x61, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, - 0x61, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x61, 0x16, - 0x17, 0x0a, 0x83, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x64, 0x02, 0x18, 0x1a, - 0x76, 0x20, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x55, 0x72, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x73, 0x33, - 0x3a, 0x2f, 0x2f, 0x6d, 0x79, 0x2d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x72, 0x61, 0x6e, - 0x64, 0x6f, 0x6d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, - 0x2e, 0x74, 0x61, 0x72, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x05, - 0x12, 0x03, 0x64, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, - 0x64, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x64, 0x16, - 0x17, 0x0a, 0x41, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x03, 0x67, 0x02, 0x2b, 0x1a, 0x34, - 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x06, 0x12, 0x03, 0x67, - 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x67, 0x1c, 0x26, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, 0x03, 0x67, 0x29, 0x2a, 0x0a, 0x80, - 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x03, 0x12, 0x03, 0x6a, 0x02, 0x22, 0x1a, 0x73, 0x20, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, - 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x20, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x73, - 0x65, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x06, 0x12, 0x03, 0x6a, 0x02, 0x15, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x03, 0x6a, 0x16, 0x1d, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x03, 0x6a, 0x20, 0x21, 0x0a, 0x0b, 0x0a, 0x02, 0x04, - 0x02, 0x12, 0x05, 0x6d, 0x00, 0x90, 0x01, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, - 0x03, 0x6d, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x08, 0x00, 0x12, 0x04, 0x6e, 0x02, - 0x76, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x00, 0x01, 0x12, 0x03, 0x6e, 0x08, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x00, 0x02, 0x12, 0x03, 0x6f, 0x04, 0x30, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x02, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x6f, 0x04, 0x30, 0x0a, - 0x28, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x72, 0x04, 0x24, 0x1a, 0x1b, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, - 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x00, 0x06, 0x12, 0x03, 0x72, 0x04, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, - 0x12, 0x03, 0x72, 0x19, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, - 0x72, 0x22, 0x23, 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x75, 0x04, 0x2c, - 0x1a, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x69, - 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, - 0x52, 0x75, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, 0x03, 0x75, 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x01, 0x01, 0x12, 0x03, 0x75, 0x1d, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, - 0x03, 0x12, 0x03, 0x75, 0x2a, 0x2b, 0x0a, 0xba, 0x01, 0x0a, 0x04, 0x04, 0x02, 0x08, 0x01, 0x12, - 0x05, 0x7a, 0x02, 0x85, 0x01, 0x03, 0x1a, 0xaa, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, - 0x73, 0x6b, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, - 0x61, 0x72, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x2e, 0x0a, 0x20, 0x54, - 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, - 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, - 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x65, 0x78, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, - 0x61, 0x73, 0x68, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x61, 0x63, - 0x68, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x74, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x20, 0x63, 0x61, 0x6c, - 0x6c, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x01, 0x01, 0x12, 0x03, 0x7a, 0x08, - 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x01, 0x02, 0x12, 0x03, 0x7b, 0x04, 0x30, 0x0a, - 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x08, 0x01, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x7b, 0x04, 0x30, - 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x02, 0x12, 0x03, 0x7e, 0x04, 0x24, 0x1a, 0x15, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x69, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x75, - 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x06, 0x12, 0x03, 0x7e, - 0x04, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x01, 0x12, 0x03, 0x7e, 0x18, 0x1f, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x03, 0x12, 0x03, 0x7e, 0x22, 0x23, 0x0a, 0x25, - 0x0a, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x04, 0x81, 0x01, 0x04, 0x20, 0x1a, 0x17, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, 0x6f, 0x20, - 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x06, 0x12, 0x04, - 0x81, 0x01, 0x04, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x01, 0x12, 0x04, 0x81, - 0x01, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x03, 0x12, 0x04, 0x81, 0x01, - 0x1e, 0x1f, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x04, 0x12, 0x04, 0x84, 0x01, 0x04, 0x28, - 0x1a, 0x1a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x04, 0x06, 0x12, 0x04, 0x84, 0x01, 0x04, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x04, 0x01, 0x12, 0x04, 0x84, 0x01, 0x17, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x04, 0x03, 0x12, 0x04, 0x84, 0x01, 0x26, 0x27, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x02, 0x02, - 0x05, 0x12, 0x04, 0x88, 0x01, 0x02, 0x19, 0x1a, 0x14, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, - 0x74, 0x75, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x05, 0x06, 0x12, 0x04, 0x88, 0x01, 0x02, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x05, 0x01, 0x12, 0x04, 0x88, 0x01, 0x0e, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x05, 0x03, 0x12, 0x04, 0x88, 0x01, 0x17, 0x18, 0x0a, 0xde, 0x02, 0x0a, 0x04, 0x04, - 0x02, 0x02, 0x06, 0x12, 0x04, 0x8f, 0x01, 0x02, 0x16, 0x1a, 0xcf, 0x02, 0x20, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x20, 0x62, - 0x61, 0x73, 0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x75, 0x6e, - 0x64, 0x65, 0x72, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, - 0x73, 0x20, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x72, 0x75, 0x6e, 0x5f, 0x62, 0x61, - 0x73, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x0a, 0x20, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x73, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x72, - 0x65, 0x61, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, - 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x77, 0x65, 0x72, 0x65, - 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, - 0x61, 0x73, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x2c, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x06, 0x05, 0x12, 0x04, 0x8f, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x06, 0x01, 0x12, 0x04, 0x8f, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x06, 0x03, 0x12, 0x04, 0x8f, 0x01, 0x14, 0x15, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, - 0x92, 0x01, 0x00, 0x94, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, 0x92, - 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, 0x93, 0x01, 0x02, - 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x04, 0x93, 0x01, 0x02, 0x1b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0x93, 0x01, 0x1c, 0x30, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0x93, 0x01, 0x33, 0x34, 0x0a, 0x57, - 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0x97, 0x01, 0x00, 0x9d, 0x01, 0x01, 0x1a, 0x49, 0x20, 0x50, - 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, - 0x97, 0x01, 0x08, 0x15, 0x0a, 0x4f, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, 0x99, 0x01, - 0x02, 0x21, 0x1a, 0x41, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x04, 0x12, 0x04, - 0x99, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x04, 0x99, - 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x04, 0x99, 0x01, - 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, 0x99, 0x01, 0x1f, - 0x20, 0x0a, 0x43, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x2b, 0x1a, - 0x35, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x20, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x06, 0x12, - 0x04, 0x9c, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x04, - 0x9c, 0x01, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x04, 0x9c, - 0x01, 0x29, 0x2a, 0x0a, 0x5f, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0xa0, 0x01, 0x00, 0xb5, 0x01, - 0x01, 0x1a, 0x51, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x55, + 0x52, 0x4c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, + 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x66, 0x75, 0x6c, 0x20, 0x77, 0x68, 0x65, + 0x6e, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, + 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, + 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, 0x12, 0x03, 0x60, 0x02, 0x08, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x60, 0x09, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x60, 0x19, 0x1a, 0x0a, 0x89, 0x02, 0x0a, 0x04, 0x04, 0x00, + 0x02, 0x06, 0x12, 0x03, 0x66, 0x02, 0x24, 0x1a, 0xfb, 0x01, 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, + 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2c, 0x0a, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, + 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x6e, 0x64, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, + 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x20, 0x64, 0x61, 0x74, + 0x61, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x6e, 0x20, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x47, 0x43, 0x50, + 0x2c, 0x20, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x0a, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, + 0x6c, 0x65, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, + 0x61, 0x73, 0x68, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x05, 0x12, 0x03, + 0x66, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x66, 0x07, + 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x66, 0x22, 0x23, 0x0a, + 0x4e, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x6a, 0x02, 0x11, 0x1a, 0x41, 0x20, 0x4f, + 0x72, 0x67, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x05, 0x12, 0x03, 0x6a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x6a, 0x09, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x6a, 0x0f, 0x10, 0x0a, 0xae, 0x01, 0x0a, 0x04, 0x04, 0x00, + 0x02, 0x08, 0x12, 0x03, 0x6f, 0x02, 0x1b, 0x1a, 0xa0, 0x01, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, + 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x27, 0x73, 0x20, 0x6d, 0x61, + 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x73, 0x69, 0x7a, + 0x65, 0x20, 0x69, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x20, + 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x08, 0x05, 0x12, 0x03, 0x6f, 0x02, 0x07, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, + 0x01, 0x12, 0x03, 0x6f, 0x08, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, + 0x03, 0x6f, 0x19, 0x1a, 0x0a, 0x63, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x73, 0x00, 0x7f, 0x01, + 0x1a, 0x57, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, + 0x12, 0x03, 0x73, 0x08, 0x24, 0x0a, 0x89, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, + 0x75, 0x02, 0x18, 0x1a, 0x7c, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x20, + 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x6d, 0x79, 0x2d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, + 0x73, 0x33, 0x2e, 0x61, 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x61, 0x77, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x73, 0x75, + 0x66, 0x66, 0x69, 0x78, 0x2e, 0x74, 0x61, 0x72, 0x3f, 0x58, 0x2d, 0x2e, 0x2e, 0x2e, 0x29, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x03, 0x75, 0x02, 0x08, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x75, 0x09, 0x13, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x75, 0x16, 0x17, 0x0a, 0x83, 0x01, 0x0a, 0x04, + 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x78, 0x02, 0x18, 0x1a, 0x76, 0x20, 0x4e, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x55, 0x72, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x52, 0x4c, + 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, + 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x73, 0x33, 0x3a, 0x2f, 0x2f, 0x6d, 0x79, 0x2d, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x2f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x2e, 0x74, 0x61, 0x72, 0x29, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x05, 0x12, 0x03, 0x78, 0x02, 0x08, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x78, 0x09, 0x13, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x78, 0x16, 0x17, 0x0a, 0x41, 0x0a, 0x04, 0x04, + 0x01, 0x02, 0x02, 0x12, 0x03, 0x7b, 0x02, 0x2b, 0x1a, 0x34, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x73, 0x41, 0x74, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, + 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x06, 0x12, 0x03, 0x7b, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x7b, 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x02, 0x03, 0x12, 0x03, 0x7b, 0x29, 0x2a, 0x0a, 0x80, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, + 0x03, 0x12, 0x03, 0x7e, 0x02, 0x22, 0x1a, 0x73, 0x20, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x20, 0x61, 0x72, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, + 0x20, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x03, 0x06, 0x12, 0x03, 0x7e, 0x02, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x03, 0x01, 0x12, 0x03, 0x7e, 0x16, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x03, + 0x12, 0x03, 0x7e, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0x81, 0x01, 0x00, + 0xa4, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0x81, 0x01, 0x08, 0x1b, + 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x02, 0x08, 0x00, 0x12, 0x06, 0x82, 0x01, 0x02, 0x8a, 0x01, 0x03, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x00, 0x01, 0x12, 0x04, 0x82, 0x01, 0x08, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x00, 0x02, 0x12, 0x04, 0x83, 0x01, 0x04, 0x30, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x02, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0x83, 0x01, 0x04, 0x30, + 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0x86, 0x01, 0x04, 0x24, 0x1a, 0x1b, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x00, 0x06, 0x12, 0x04, 0x86, 0x01, 0x04, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x00, 0x01, 0x12, 0x04, 0x86, 0x01, 0x19, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, + 0x00, 0x03, 0x12, 0x04, 0x86, 0x01, 0x22, 0x23, 0x0a, 0x48, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, + 0x12, 0x04, 0x89, 0x01, 0x04, 0x2c, 0x1a, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x20, 0x69, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x77, + 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, 0x04, 0x89, 0x01, 0x04, + 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0x89, 0x01, 0x1d, 0x27, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x04, 0x89, 0x01, 0x2a, 0x2b, 0x0a, + 0xbb, 0x01, 0x0a, 0x04, 0x04, 0x02, 0x08, 0x01, 0x12, 0x06, 0x8e, 0x01, 0x02, 0x99, 0x01, 0x03, + 0x1a, 0xaa, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x74, 0x68, 0x65, + 0x73, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x75, 0x73, + 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, + 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x65, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, + 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x61, 0x73, 0x68, 0x20, 0x75, 0x73, + 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x20, 0x6b, 0x65, 0x79, + 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x20, + 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x02, 0x08, 0x01, 0x01, 0x12, 0x04, 0x8e, 0x01, 0x08, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x02, 0x08, 0x01, 0x02, 0x12, 0x04, 0x8f, 0x01, 0x04, 0x30, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x02, 0x08, 0x01, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0x8f, 0x01, 0x04, 0x30, 0x0a, 0x23, 0x0a, + 0x04, 0x04, 0x02, 0x02, 0x02, 0x12, 0x04, 0x92, 0x01, 0x04, 0x24, 0x1a, 0x15, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x69, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x06, 0x12, 0x04, 0x92, 0x01, 0x04, + 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x01, 0x12, 0x04, 0x92, 0x01, 0x18, 0x1f, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x03, 0x12, 0x04, 0x92, 0x01, 0x22, 0x23, 0x0a, + 0x25, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x04, 0x95, 0x01, 0x04, 0x20, 0x1a, 0x17, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, 0x6f, + 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x06, 0x12, + 0x04, 0x95, 0x01, 0x04, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x01, 0x12, 0x04, + 0x95, 0x01, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x03, 0x12, 0x04, 0x95, + 0x01, 0x1e, 0x1f, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x04, 0x12, 0x04, 0x98, 0x01, 0x04, + 0x28, 0x1a, 0x1a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x04, 0x06, 0x12, 0x04, 0x98, 0x01, 0x04, 0x16, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x04, 0x01, 0x12, 0x04, 0x98, 0x01, 0x17, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x04, 0x03, 0x12, 0x04, 0x98, 0x01, 0x26, 0x27, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x02, + 0x02, 0x05, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x19, 0x1a, 0x14, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, + 0x63, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x05, 0x06, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x0d, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x05, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x0e, 0x14, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x05, 0x03, 0x12, 0x04, 0x9c, 0x01, 0x17, 0x18, 0x0a, 0xde, 0x02, 0x0a, 0x04, + 0x04, 0x02, 0x02, 0x06, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x16, 0x1a, 0xcf, 0x02, 0x20, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x20, + 0x62, 0x61, 0x73, 0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x75, + 0x6e, 0x64, 0x65, 0x72, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x4d, 0x69, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x20, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x72, 0x75, 0x6e, 0x5f, 0x62, + 0x61, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x0a, + 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, + 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x66, 0x72, 0x6f, + 0x6d, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x77, 0x65, 0x72, + 0x65, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, + 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x62, 0x61, 0x73, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x73, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2c, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x06, 0x05, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x06, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x06, 0x03, 0x12, 0x04, 0xa3, 0x01, 0x14, 0x15, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x03, 0x12, + 0x06, 0xa6, 0x01, 0x00, 0xa8, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, + 0xa6, 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, 0xa7, 0x01, + 0x02, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa7, 0x01, 0x02, + 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa7, 0x01, 0x1c, 0x30, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa7, 0x01, 0x33, 0x34, 0x0a, + 0x57, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0xab, 0x01, 0x00, 0xb1, 0x01, 0x01, 0x1a, 0x49, 0x20, + 0x50, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, + 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, + 0x04, 0xab, 0x01, 0x08, 0x15, 0x0a, 0x4f, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, 0xad, + 0x01, 0x02, 0x21, 0x1a, 0x41, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x20, + 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x64, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x04, 0x12, + 0x04, 0xad, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x04, + 0xad, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x04, 0xad, + 0x01, 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, 0xad, 0x01, + 0x1f, 0x20, 0x0a, 0x43, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x04, 0xb0, 0x01, 0x02, 0x2b, + 0x1a, 0x35, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x20, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x06, + 0x12, 0x04, 0xb0, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xb0, 0x01, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xb0, 0x01, 0x29, 0x2a, 0x0a, 0x5f, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0xb4, 0x01, 0x00, 0xc9, + 0x01, 0x01, 0x1a, 0x51, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x20, + 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0xb4, 0x01, + 0x08, 0x21, 0x0a, 0x4e, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x06, 0xb7, 0x01, 0x02, 0xb9, + 0x01, 0x05, 0x1a, 0x3e, 0x20, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x04, 0xb7, 0x01, 0x02, + 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb7, 0x01, 0x0f, 0x1c, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb7, 0x01, 0x1f, 0x20, 0x0a, + 0x0f, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x06, 0xb7, 0x01, 0x21, 0xb9, 0x01, 0x04, + 0x0a, 0x12, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, 0x12, 0x06, 0xb7, 0x01, + 0x22, 0xb9, 0x01, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, + 0x04, 0x00, 0x12, 0x04, 0xb8, 0x01, 0x0d, 0x0e, 0x0a, 0xe9, 0x01, 0x0a, 0x04, 0x04, 0x05, 0x02, + 0x01, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x2a, 0x1a, 0xda, 0x01, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x73, 0x49, 0x6e, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x55, 0x52, 0x4c, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x72, 0x65, 0x6a, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x65, 0x78, 0x63, + 0x65, 0x65, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x27, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x6d, + 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x06, 0x12, 0x04, 0xbe, + 0x01, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbe, 0x01, + 0x1b, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x04, 0xbe, 0x01, 0x28, + 0x29, 0x0a, 0x5a, 0x0a, 0x04, 0x04, 0x05, 0x08, 0x00, 0x12, 0x06, 0xc1, 0x01, 0x02, 0xc8, 0x01, + 0x03, 0x1a, 0x4a, 0x20, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x61, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x20, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, + 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x08, 0x00, 0x01, 0x12, 0x04, 0xc1, 0x01, 0x08, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x08, 0x00, 0x02, 0x12, 0x04, 0xc2, 0x01, 0x04, 0x30, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x05, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0xc2, 0x01, 0x04, 0x30, 0x0a, 0x6b, 0x0a, + 0x04, 0x04, 0x05, 0x02, 0x02, 0x12, 0x04, 0xc5, 0x01, 0x04, 0x39, 0x1a, 0x5d, 0x20, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x20, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x6f, 0x66, + 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x02, 0x06, 0x12, 0x04, 0xc5, 0x01, 0x04, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x02, 0x01, 0x12, 0x04, 0xc5, 0x01, 0x23, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, + 0x03, 0x12, 0x04, 0xc5, 0x01, 0x37, 0x38, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x03, 0x12, + 0x04, 0xc6, 0x01, 0x04, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x06, 0x12, 0x04, + 0xc6, 0x01, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc6, + 0x01, 0x1d, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, 0x12, 0x04, 0xc6, 0x01, + 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x04, 0x12, 0x04, 0xc7, 0x01, 0x04, 0x2e, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x06, 0x12, 0x04, 0xc7, 0x01, 0x04, 0x21, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x22, 0x29, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x03, 0x12, 0x04, 0xc7, 0x01, 0x2c, 0x2d, 0x0a, 0x61, 0x0a, + 0x02, 0x04, 0x06, 0x12, 0x06, 0xcc, 0x01, 0x00, 0xcf, 0x01, 0x01, 0x1a, 0x53, 0x20, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x0a, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0xcc, 0x01, 0x08, 0x22, 0x0a, 0x51, 0x0a, + 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0xce, 0x01, 0x02, 0x24, 0x1a, 0x43, 0x20, 0x50, 0x72, + 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x55, 0x52, 0x4c, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x04, 0xce, 0x01, 0x02, 0x0f, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0xce, 0x01, 0x10, 0x1f, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0xce, 0x01, 0x22, 0x23, 0x0a, 0x39, 0x0a, + 0x02, 0x04, 0x07, 0x12, 0x06, 0xd2, 0x01, 0x00, 0xd5, 0x01, 0x01, 0x1a, 0x2b, 0x20, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, + 0x04, 0xd2, 0x01, 0x08, 0x1c, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0xd4, + 0x01, 0x02, 0x4f, 0x1a, 0x12, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, + 0x12, 0x04, 0xd4, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, + 0x04, 0xd4, 0x01, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, + 0xd4, 0x01, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd4, + 0x01, 0x28, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, + 0x04, 0xd4, 0x01, 0x29, 0x4d, 0x0a, 0x3a, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xd8, 0x01, 0x00, + 0xe6, 0x01, 0x01, 0x1a, 0x2c, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xd8, 0x01, 0x08, 0x1d, 0x0a, 0x26, + 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xda, 0x01, 0x02, 0x19, 0x1a, 0x18, 0x20, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, + 0x04, 0xda, 0x01, 0x02, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, + 0xda, 0x01, 0x0e, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xda, + 0x01, 0x17, 0x18, 0x0a, 0x27, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0xdd, 0x01, 0x02, + 0x1b, 0x1a, 0x19, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x08, 0x02, 0x01, 0x06, 0x12, 0x04, 0xdd, 0x01, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0xdd, 0x01, 0x0f, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xdd, 0x01, 0x19, 0x1a, 0x0a, 0xa8, 0x01, 0x0a, 0x04, 0x04, 0x08, + 0x02, 0x02, 0x12, 0x04, 0xe1, 0x01, 0x02, 0x18, 0x1a, 0x99, 0x01, 0x20, 0x52, 0x61, 0x77, 0x20, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x55, 0x52, 0x49, + 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x73, 0x33, 0x3a, 0x2f, 0x2f, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x2f, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, + 0x61, 0x72, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x05, 0x12, 0x04, 0xe1, + 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe1, 0x01, + 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x03, 0x12, 0x04, 0xe1, 0x01, 0x16, + 0x17, 0x0a, 0xaa, 0x01, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x03, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x19, + 0x1a, 0x9b, 0x01, 0x20, 0x52, 0x61, 0x77, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x20, 0x55, 0x52, 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, + 0x64, 0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x68, 0x61, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, + 0x65, 0x64, 0x2c, 0x20, 0x68, 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x73, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x05, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x08, 0x02, 0x03, 0x01, 0x12, 0x04, 0xe5, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x08, 0x02, 0x03, 0x03, 0x12, 0x04, 0xe5, 0x01, 0x17, 0x18, 0x0a, 0x31, 0x0a, 0x02, 0x04, + 0x09, 0x12, 0x06, 0xe9, 0x01, 0x00, 0xfd, 0x01, 0x01, 0x1a, 0x23, 0x20, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x74, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xe9, 0x01, 0x08, 0x17, 0x0a, 0x1e, 0x0a, 0x04, 0x04, + 0x09, 0x02, 0x00, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x4f, 0x1a, 0x10, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xeb, 0x01, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xeb, 0x01, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, + 0x08, 0x12, 0x04, 0xeb, 0x01, 0x28, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, + 0x87, 0x09, 0x19, 0x12, 0x04, 0xeb, 0x01, 0x29, 0x4d, 0x0a, 0x23, 0x0a, 0x04, 0x04, 0x09, 0x02, + 0x01, 0x12, 0x04, 0xee, 0x01, 0x02, 0x3a, 0x1a, 0x15, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x05, 0x12, 0x04, 0xee, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x09, 0x02, 0x01, 0x01, 0x12, 0x04, 0xee, 0x01, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x01, 0x03, 0x12, 0x04, 0xee, 0x01, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x01, 0x08, 0x12, 0x04, 0xee, 0x01, 0x15, 0x39, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x09, + 0x02, 0x01, 0x08, 0x87, 0x09, 0x05, 0x04, 0x12, 0x04, 0xee, 0x01, 0x16, 0x38, 0x0a, 0x52, 0x0a, + 0x04, 0x04, 0x09, 0x08, 0x00, 0x12, 0x06, 0xf1, 0x01, 0x02, 0xf8, 0x01, 0x03, 0x1a, 0x42, 0x20, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x73, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x70, 0x6f, + 0x64, 0x28, 0x73, 0x29, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x20, 0x49, 0x66, + 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, + 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x64, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x08, 0x00, 0x01, 0x12, 0x04, 0xf1, 0x01, 0x08, 0x14, + 0x0a, 0x64, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x02, 0x12, 0x04, 0xf3, 0x01, 0x04, 0x19, 0x1a, 0x56, + 0x20, 0x54, 0x61, 0x69, 0x6c, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x70, 0x6f, 0x64, 0x20, + 0x6f, 0x6e, 0x6c, 0x79, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x70, + 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x75, + 0x6e, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x05, 0x12, + 0x04, 0xf3, 0x01, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x01, 0x12, 0x04, + 0xf3, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x03, 0x12, 0x04, 0xf3, + 0x01, 0x17, 0x18, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x03, 0x12, 0x04, 0xf5, 0x01, 0x04, + 0x16, 0x1a, 0x1a, 0x20, 0x54, 0x61, 0x69, 0x6c, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x72, + 0x6f, 0x6d, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x70, 0x6f, 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x09, 0x02, 0x03, 0x05, 0x12, 0x04, 0xf5, 0x01, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x03, 0x01, 0x12, 0x04, 0xf5, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x03, 0x03, 0x12, 0x04, 0xf5, 0x01, 0x14, 0x15, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x09, + 0x02, 0x04, 0x12, 0x04, 0xf7, 0x01, 0x04, 0x18, 0x1a, 0x24, 0x20, 0x54, 0x61, 0x69, 0x6c, 0x20, + 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x20, 0x70, 0x6f, 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, 0x05, 0x12, 0x04, 0xf7, 0x01, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x09, 0x02, 0x04, 0x01, 0x12, 0x04, 0xf7, 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x04, 0x03, 0x12, 0x04, 0xf7, 0x01, 0x16, 0x17, 0x0a, 0x91, 0x01, 0x0a, 0x04, + 0x04, 0x09, 0x02, 0x05, 0x12, 0x04, 0xfc, 0x01, 0x02, 0x29, 0x1a, 0x82, 0x01, 0x20, 0x2b, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20, 0x75, 0x73, 0x65, 0x73, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x20, 0x76, 0x69, 0x61, 0x0a, 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, + 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, + 0x64, 0x20, 0x6f, 0x66, 0x20, 0x70, 0x6f, 0x64, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, 0x04, 0x12, 0x04, 0xfc, 0x01, 0x02, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, 0x05, 0x12, 0x04, 0xfc, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x09, 0x02, 0x05, 0x01, 0x12, 0x04, 0xfc, 0x01, 0x12, 0x24, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x05, 0x03, 0x12, 0x04, 0xfc, 0x01, 0x27, 0x28, 0x0a, 0x8f, 0x03, 0x0a, 0x02, + 0x04, 0x0a, 0x12, 0x06, 0x83, 0x02, 0x00, 0xa9, 0x02, 0x01, 0x1a, 0x80, 0x03, 0x20, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x20, 0x41, 0x50, 0x49, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x20, 0x64, 0x65, + 0x72, 0x69, 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x72, + 0x67, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x0a, 0x20, 0x72, 0x75, + 0x6e, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6c, 0x61, 0x79, 0x6f, 0x75, + 0x74, 0x3a, 0x20, 0x3c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x3e, 0x2f, 0x3c, 0x6f, 0x72, 0x67, + 0x3e, 0x2f, 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x2f, 0x3c, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x3e, 0x2f, 0x3c, 0x72, 0x75, 0x6e, 0x3e, 0x2f, 0x3c, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x3e, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x70, 0x62, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x3c, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x3e, 0x2f, 0x3c, 0x6f, 0x72, 0x67, 0x3e, 0x2f, 0x3c, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x2f, 0x3c, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x3e, 0x2f, + 0x3c, 0x72, 0x75, 0x6e, 0x3e, 0x2f, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x2f, 0x3c, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x3e, 0x2f, 0x7b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x73, 0x2e, 0x70, 0x62, 0x2c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x68, 0x74, 0x6d, 0x6c, + 0x7d, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0x83, 0x02, 0x08, 0x1d, 0x0a, 0x89, 0x01, 0x0a, 0x04, 0x04, + 0x0a, 0x02, 0x00, 0x12, 0x06, 0x86, 0x02, 0x02, 0x8c, 0x02, 0x05, 0x1a, 0x79, 0x20, 0x41, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x20, 0x49, 0x4e, + 0x50, 0x55, 0x54, 0x53, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x20, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x53, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x0a, 0x20, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, + 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, + 0x04, 0x86, 0x02, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, + 0x86, 0x02, 0x0f, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0x86, + 0x02, 0x1f, 0x20, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x06, 0x86, 0x02, + 0x21, 0x8c, 0x02, 0x04, 0x0a, 0x12, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, + 0x12, 0x06, 0x86, 0x02, 0x22, 0x8c, 0x02, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x00, + 0x08, 0x87, 0x09, 0x10, 0x03, 0x00, 0x12, 0x04, 0x88, 0x02, 0x06, 0x07, 0x0a, 0x12, 0x0a, 0x0a, + 0x04, 0x0a, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, 0x03, 0x01, 0x12, 0x04, 0x89, 0x02, 0x06, 0x07, + 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, 0x03, 0x02, 0x12, 0x04, + 0x8a, 0x02, 0x06, 0x07, 0x0a, 0x76, 0x0a, 0x04, 0x04, 0x0a, 0x08, 0x00, 0x12, 0x06, 0x90, 0x02, + 0x02, 0x96, 0x02, 0x03, 0x1a, 0x66, 0x20, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x53, 0x29, 0x20, 0x6f, 0x72, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x28, + 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x53, 0x20, 0x2f, 0x20, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, + 0x29, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x0a, 0x20, + 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0a, 0x08, 0x00, 0x01, 0x12, 0x04, 0x90, 0x02, 0x08, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0a, 0x08, 0x00, 0x02, 0x12, 0x04, 0x91, 0x02, 0x04, 0x30, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, + 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0x91, 0x02, 0x04, 0x30, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0x93, 0x02, 0x04, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, + 0x02, 0x01, 0x06, 0x12, 0x04, 0x93, 0x02, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, + 0x01, 0x01, 0x12, 0x04, 0x93, 0x02, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, + 0x03, 0x12, 0x04, 0x93, 0x02, 0x28, 0x29, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x02, 0x12, + 0x04, 0x95, 0x02, 0x04, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x06, 0x12, 0x04, + 0x95, 0x02, 0x04, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x01, 0x12, 0x04, 0x95, + 0x02, 0x23, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x03, 0x12, 0x04, 0x95, 0x02, + 0x37, 0x38, 0x0a, 0x61, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x03, 0x12, 0x04, 0x9a, 0x02, 0x02, 0x3e, + 0x1a, 0x53, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x44, 0x35, 0x20, 0x72, 0x65, + 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x4d, 0x44, 0x35, 0x20, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x64, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x04, + 0x9a, 0x02, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x04, 0x9a, + 0x02, 0x08, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x04, 0x9a, 0x02, + 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x12, 0x04, 0x9a, 0x02, 0x18, + 0x3d, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x87, 0x09, 0x0f, 0x0d, 0x12, 0x04, + 0x9a, 0x02, 0x19, 0x3c, 0x0a, 0x9b, 0x01, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x04, 0x12, 0x04, 0x9f, + 0x02, 0x02, 0x1b, 0x1a, 0x8c, 0x01, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x20, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, + 0x74, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x27, + 0x73, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x20, 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x9f, 0x02, 0x02, + 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x9f, 0x02, 0x08, 0x16, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x9f, 0x02, 0x19, 0x1a, 0x0a, + 0xe8, 0x01, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x05, 0x12, 0x04, 0xa4, 0x02, 0x02, 0x2a, 0x1a, 0xd9, + 0x01, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x20, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x0a, 0x20, 0x62, + 0x65, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x27, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x2e, 0x0a, 0x20, 0x2b, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x65, + 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, + 0x02, 0x05, 0x06, 0x12, 0x04, 0xa4, 0x02, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, + 0x05, 0x01, 0x12, 0x04, 0xa4, 0x02, 0x1b, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x05, + 0x03, 0x12, 0x04, 0xa4, 0x02, 0x28, 0x29, 0x0a, 0xc7, 0x01, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x06, + 0x12, 0x04, 0xa8, 0x02, 0x02, 0x24, 0x1a, 0xb8, 0x01, 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, 0x75, + 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2c, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x20, 0x52, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x64, 0x61, 0x74, 0x61, + 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x6e, 0x20, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x47, 0x43, 0x50, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x06, 0x05, 0x12, 0x04, 0xa8, 0x02, 0x02, 0x06, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x06, 0x01, 0x12, 0x04, 0xa8, 0x02, 0x07, 0x1f, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x06, 0x03, 0x12, 0x04, 0xa8, 0x02, 0x22, 0x23, 0x0a, 0x69, + 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xac, 0x02, 0x00, 0xba, 0x02, 0x01, 0x1a, 0x5b, 0x20, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x41, - 0x50, 0x49, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0xa0, 0x01, 0x08, - 0x21, 0x0a, 0x4e, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x06, 0xa3, 0x01, 0x02, 0xa5, 0x01, - 0x05, 0x1a, 0x3e, 0x20, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x0e, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x0f, 0x1c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa3, 0x01, 0x1f, 0x20, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x06, 0xa3, 0x01, 0x21, 0xa5, 0x01, 0x04, 0x0a, - 0x12, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, 0x12, 0x06, 0xa3, 0x01, 0x22, - 0xa5, 0x01, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, 0x04, - 0x00, 0x12, 0x04, 0xa4, 0x01, 0x0d, 0x0e, 0x0a, 0xe9, 0x01, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, - 0x12, 0x04, 0xaa, 0x01, 0x02, 0x2a, 0x1a, 0xda, 0x01, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, + 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, + 0x69, 0x6e, 0x6b, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, + 0x12, 0x04, 0xac, 0x02, 0x08, 0x26, 0x0a, 0x4e, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x06, + 0xaf, 0x02, 0x02, 0xb1, 0x02, 0x05, 0x1a, 0x3e, 0x20, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x20, 0x74, 0x6f, + 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x06, 0x12, + 0x04, 0xaf, 0x02, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, + 0xaf, 0x02, 0x0f, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xaf, + 0x02, 0x1f, 0x20, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x06, 0xaf, 0x02, + 0x21, 0xb1, 0x02, 0x04, 0x0a, 0x12, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, + 0x12, 0x06, 0xaf, 0x02, 0x22, 0xb1, 0x02, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x00, + 0x08, 0x87, 0x09, 0x10, 0x04, 0x00, 0x12, 0x04, 0xb0, 0x02, 0x0d, 0x0e, 0x0a, 0x6b, 0x0a, 0x04, + 0x04, 0x0b, 0x02, 0x01, 0x12, 0x04, 0xb4, 0x02, 0x02, 0x5e, 0x1a, 0x5d, 0x20, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x20, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, + 0x65, 0x6d, 0x70, 0x74, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x20, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x64, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, + 0x01, 0x06, 0x12, 0x04, 0xb4, 0x02, 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, + 0x01, 0x12, 0x04, 0xb4, 0x02, 0x21, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x03, + 0x12, 0x04, 0xb4, 0x02, 0x35, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x08, 0x12, + 0x04, 0xb4, 0x02, 0x37, 0x5d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x01, 0x08, 0x87, 0x09, + 0x19, 0x12, 0x04, 0xb4, 0x02, 0x38, 0x5c, 0x0a, 0xe9, 0x01, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x02, + 0x12, 0x04, 0xb9, 0x02, 0x02, 0x2a, 0x1a, 0xda, 0x01, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, + 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x0a, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x27, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x6d, 0x61, @@ -979,190 +1512,37 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x06, 0x12, 0x04, 0xaa, 0x01, - 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x04, 0xaa, 0x01, 0x1b, - 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x04, 0xaa, 0x01, 0x28, 0x29, - 0x0a, 0x5a, 0x0a, 0x04, 0x04, 0x05, 0x08, 0x00, 0x12, 0x06, 0xad, 0x01, 0x02, 0xb4, 0x01, 0x03, - 0x1a, 0x4a, 0x20, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x61, 0x72, - 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x20, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, - 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x08, 0x00, 0x01, 0x12, 0x04, 0xad, 0x01, 0x08, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x08, 0x00, 0x02, 0x12, 0x04, 0xae, 0x01, 0x04, 0x30, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, - 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0xae, 0x01, 0x04, 0x30, 0x0a, 0x6b, 0x0a, 0x04, - 0x04, 0x05, 0x02, 0x02, 0x12, 0x04, 0xb1, 0x01, 0x04, 0x39, 0x1a, 0x5d, 0x20, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x20, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x6f, 0x66, 0x20, - 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, - 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, - 0x02, 0x06, 0x12, 0x04, 0xb1, 0x01, 0x04, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, - 0x01, 0x12, 0x04, 0xb1, 0x01, 0x23, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x03, - 0x12, 0x04, 0xb1, 0x01, 0x37, 0x38, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x03, 0x12, 0x04, - 0xb2, 0x01, 0x04, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x06, 0x12, 0x04, 0xb2, - 0x01, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x01, 0x12, 0x04, 0xb2, 0x01, - 0x1d, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, 0x12, 0x04, 0xb2, 0x01, 0x26, - 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x04, 0x12, 0x04, 0xb3, 0x01, 0x04, 0x2e, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x06, 0x12, 0x04, 0xb3, 0x01, 0x04, 0x21, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x01, 0x12, 0x04, 0xb3, 0x01, 0x22, 0x29, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x04, 0x03, 0x12, 0x04, 0xb3, 0x01, 0x2c, 0x2d, 0x0a, 0x61, 0x0a, 0x02, - 0x04, 0x06, 0x12, 0x06, 0xb8, 0x01, 0x00, 0xbb, 0x01, 0x01, 0x1a, 0x53, 0x20, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0xb8, 0x01, 0x08, 0x22, 0x0a, 0x51, 0x0a, 0x04, - 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0xba, 0x01, 0x02, 0x24, 0x1a, 0x43, 0x20, 0x50, 0x72, 0x65, - 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, - 0x52, 0x4c, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x04, 0xba, 0x01, 0x02, 0x0f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0xba, 0x01, 0x10, 0x1f, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0xba, 0x01, 0x22, 0x23, 0x0a, 0x39, 0x0a, 0x02, - 0x04, 0x07, 0x12, 0x06, 0xbe, 0x01, 0x00, 0xc1, 0x01, 0x01, 0x1a, 0x2b, 0x20, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, - 0xbe, 0x01, 0x08, 0x1c, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0xc0, 0x01, - 0x02, 0x4f, 0x1a, 0x12, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, 0x12, - 0x04, 0xc0, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xc0, 0x01, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc0, - 0x01, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc0, 0x01, - 0x28, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, - 0xc0, 0x01, 0x29, 0x4d, 0x0a, 0x3a, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xc4, 0x01, 0x00, 0xd2, - 0x01, 0x01, 0x1a, 0x2c, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, - 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xc4, 0x01, 0x08, 0x1d, 0x0a, 0x26, 0x0a, - 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xc6, 0x01, 0x02, 0x19, 0x1a, 0x18, 0x20, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, - 0xc6, 0x01, 0x02, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc6, - 0x01, 0x0e, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc6, 0x01, - 0x17, 0x18, 0x0a, 0x27, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0xc9, 0x01, 0x02, 0x1b, - 0x1a, 0x19, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc9, 0x01, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xc9, 0x01, 0x0f, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xc9, 0x01, 0x19, 0x1a, 0x0a, 0xa8, 0x01, 0x0a, 0x04, 0x04, 0x08, 0x02, - 0x02, 0x12, 0x04, 0xcd, 0x01, 0x02, 0x18, 0x1a, 0x99, 0x01, 0x20, 0x52, 0x61, 0x77, 0x20, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x55, 0x52, 0x49, 0x20, - 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x73, 0x33, 0x3a, 0x2f, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x2f, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, - 0x65, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x63, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x05, 0x12, 0x04, 0xcd, 0x01, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x01, 0x12, 0x04, 0xcd, 0x01, 0x09, - 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x03, 0x12, 0x04, 0xcd, 0x01, 0x16, 0x17, - 0x0a, 0xaa, 0x01, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x03, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x19, 0x1a, - 0x9b, 0x01, 0x20, 0x52, 0x61, 0x77, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x20, 0x55, 0x52, 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, - 0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x68, 0x61, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, - 0x64, 0x2c, 0x20, 0x68, 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x73, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x08, 0x02, 0x03, 0x05, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x03, 0x03, 0x12, 0x04, 0xd1, 0x01, 0x17, 0x18, 0x0a, 0x31, 0x0a, 0x02, 0x04, 0x09, - 0x12, 0x06, 0xd5, 0x01, 0x00, 0xe9, 0x01, 0x01, 0x1a, 0x23, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, - 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xd5, 0x01, 0x08, 0x17, 0x0a, 0x1e, 0x0a, 0x04, 0x04, 0x09, - 0x02, 0x00, 0x12, 0x04, 0xd7, 0x01, 0x02, 0x4f, 0x1a, 0x10, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, - 0x02, 0x00, 0x06, 0x12, 0x04, 0xd7, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xd7, 0x01, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xd7, 0x01, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, - 0x12, 0x04, 0xd7, 0x01, 0x28, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, 0x87, - 0x09, 0x19, 0x12, 0x04, 0xd7, 0x01, 0x29, 0x4d, 0x0a, 0x23, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x01, - 0x12, 0x04, 0xda, 0x01, 0x02, 0x3a, 0x1a, 0x15, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x01, 0x05, 0x12, 0x04, 0xda, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x01, 0x01, 0x12, 0x04, 0xda, 0x01, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x01, 0x03, 0x12, 0x04, 0xda, 0x01, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, - 0x02, 0x01, 0x08, 0x12, 0x04, 0xda, 0x01, 0x15, 0x39, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x09, 0x02, - 0x01, 0x08, 0x87, 0x09, 0x05, 0x04, 0x12, 0x04, 0xda, 0x01, 0x16, 0x38, 0x0a, 0x52, 0x0a, 0x04, - 0x04, 0x09, 0x08, 0x00, 0x12, 0x06, 0xdd, 0x01, 0x02, 0xe4, 0x01, 0x03, 0x1a, 0x42, 0x20, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x73, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x70, 0x6f, 0x64, - 0x28, 0x73, 0x29, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x64, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x08, 0x00, 0x01, 0x12, 0x04, 0xdd, 0x01, 0x08, 0x14, 0x0a, - 0x64, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x02, 0x12, 0x04, 0xdf, 0x01, 0x04, 0x19, 0x1a, 0x56, 0x20, - 0x54, 0x61, 0x69, 0x6c, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x70, 0x6f, 0x64, 0x20, 0x6f, - 0x6e, 0x6c, 0x79, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x6f, - 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x75, 0x6e, - 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x05, 0x12, 0x04, - 0xdf, 0x01, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x01, 0x12, 0x04, 0xdf, - 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x03, 0x12, 0x04, 0xdf, 0x01, - 0x17, 0x18, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x03, 0x12, 0x04, 0xe1, 0x01, 0x04, 0x16, - 0x1a, 0x1a, 0x20, 0x54, 0x61, 0x69, 0x6c, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x70, 0x6f, 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x03, 0x05, 0x12, 0x04, 0xe1, 0x01, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x03, 0x01, 0x12, 0x04, 0xe1, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, - 0x02, 0x03, 0x03, 0x12, 0x04, 0xe1, 0x01, 0x14, 0x15, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x09, 0x02, - 0x04, 0x12, 0x04, 0xe3, 0x01, 0x04, 0x18, 0x1a, 0x24, 0x20, 0x54, 0x61, 0x69, 0x6c, 0x20, 0x6c, - 0x6f, 0x67, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x64, 0x20, 0x70, 0x6f, 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x04, 0x05, 0x12, 0x04, 0xe3, 0x01, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x04, 0x01, 0x12, 0x04, 0xe3, 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x04, 0x03, 0x12, 0x04, 0xe3, 0x01, 0x16, 0x17, 0x0a, 0x91, 0x01, 0x0a, 0x04, 0x04, - 0x09, 0x02, 0x05, 0x12, 0x04, 0xe8, 0x01, 0x02, 0x29, 0x1a, 0x82, 0x01, 0x20, 0x2b, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20, 0x75, 0x73, 0x65, 0x73, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, - 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x20, 0x76, 0x69, 0x61, 0x0a, 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, - 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, - 0x20, 0x6f, 0x66, 0x20, 0x70, 0x6f, 0x64, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, 0x04, 0x12, 0x04, 0xe8, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x05, 0x05, 0x12, 0x04, 0xe8, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x05, 0x01, 0x12, 0x04, 0xe8, 0x01, 0x12, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x05, 0x03, 0x12, 0x04, 0xe8, 0x01, 0x27, 0x28, 0x0a, 0x31, 0x0a, 0x02, 0x04, 0x0a, - 0x12, 0x06, 0xec, 0x01, 0x00, 0xf7, 0x01, 0x01, 0x1a, 0x23, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, - 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xec, 0x01, 0x08, 0x18, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x0a, - 0x03, 0x00, 0x12, 0x06, 0xee, 0x01, 0x02, 0xf3, 0x01, 0x03, 0x1a, 0x12, 0x20, 0x41, 0x20, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x03, 0x00, 0x01, 0x12, 0x04, 0xee, 0x01, 0x0a, 0x0e, 0x0a, 0x27, 0x0a, - 0x06, 0x04, 0x0a, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, 0xf0, 0x01, 0x04, 0x38, 0x1a, 0x17, 0x20, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x6c, - 0x69, 0x6e, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0a, 0x03, 0x00, 0x02, 0x00, - 0x04, 0x12, 0x04, 0xf0, 0x01, 0x04, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0a, 0x03, 0x00, 0x02, - 0x00, 0x06, 0x12, 0x04, 0xf0, 0x01, 0x0d, 0x2d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0a, 0x03, 0x00, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xf0, 0x01, 0x2e, 0x33, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0a, 0x03, - 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf0, 0x01, 0x36, 0x37, 0x0a, 0x37, 0x0a, 0x06, 0x04, 0x0a, - 0x03, 0x00, 0x02, 0x01, 0x12, 0x04, 0xf2, 0x01, 0x04, 0x3f, 0x1a, 0x27, 0x20, 0x57, 0x68, 0x69, - 0x63, 0x68, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, - 0x73, 0x65, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0a, 0x03, 0x00, 0x02, 0x01, 0x06, 0x12, 0x04, - 0xf2, 0x01, 0x04, 0x30, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0a, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xf2, 0x01, 0x31, 0x3a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0a, 0x03, 0x00, 0x02, 0x01, 0x03, - 0x12, 0x04, 0xf2, 0x01, 0x3d, 0x3e, 0x0a, 0x2c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, - 0xf6, 0x01, 0x02, 0x19, 0x1a, 0x1e, 0x20, 0x4f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, - 0x72, 0x65, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, - 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x04, 0x12, 0x04, 0xf6, - 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf6, 0x01, - 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf6, 0x01, 0x10, - 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf6, 0x01, 0x17, 0x18, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x06, 0x12, 0x04, 0xb9, 0x02, + 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x01, 0x12, 0x04, 0xb9, 0x02, 0x1b, + 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x03, 0x12, 0x04, 0xb9, 0x02, 0x28, 0x29, + 0x0a, 0x31, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xbd, 0x02, 0x00, 0xc8, 0x02, 0x01, 0x1a, 0x23, + 0x20, 0x52, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, + 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xbd, 0x02, 0x08, 0x18, + 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x0c, 0x03, 0x00, 0x12, 0x06, 0xbf, 0x02, 0x02, 0xc4, 0x02, 0x03, + 0x1a, 0x12, 0x20, 0x41, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, + 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x03, 0x00, 0x01, 0x12, 0x04, 0xbf, + 0x02, 0x0a, 0x0e, 0x0a, 0x27, 0x0a, 0x06, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, 0xc1, + 0x02, 0x04, 0x38, 0x1a, 0x17, 0x20, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, + 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, + 0x04, 0x0c, 0x03, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0xc1, 0x02, 0x04, 0x0c, 0x0a, 0x0f, 0x0a, + 0x07, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc1, 0x02, 0x0d, 0x2d, 0x0a, 0x0f, + 0x0a, 0x07, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc1, 0x02, 0x2e, 0x33, 0x0a, + 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc1, 0x02, 0x36, 0x37, + 0x0a, 0x37, 0x0a, 0x06, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x01, 0x12, 0x04, 0xc3, 0x02, 0x04, 0x3f, + 0x1a, 0x27, 0x20, 0x57, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x61, + 0x72, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x03, + 0x00, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc3, 0x02, 0x04, 0x30, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, + 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc3, 0x02, 0x31, 0x3a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, + 0x0c, 0x03, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc3, 0x02, 0x3d, 0x3e, 0x0a, 0x2c, 0x0a, 0x04, + 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0xc7, 0x02, 0x02, 0x19, 0x1a, 0x1e, 0x20, 0x4f, 0x6e, 0x65, + 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, + 0x02, 0x00, 0x04, 0x12, 0x04, 0xc7, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, + 0x00, 0x06, 0x12, 0x04, 0xc7, 0x02, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, + 0x01, 0x12, 0x04, 0xc7, 0x02, 0x10, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, + 0x12, 0x04, 0xc7, 0x02, 0x17, 0x18, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("flyteidl2.dataproxy.tonic.rs"); // @@protoc_insertion_point(module) \ No newline at end of file diff --git a/gen/rust/src/flyteidl2.dataproxy.tonic.rs b/gen/rust/src/flyteidl2.dataproxy.tonic.rs index b894ae54073..5c208680cd1 100644 --- a/gen/rust/src/flyteidl2.dataproxy.tonic.rs +++ b/gen/rust/src/flyteidl2.dataproxy.tonic.rs @@ -231,6 +231,96 @@ pub mod data_proxy_service_client { ); self.inner.server_streaming(req, path, codec).await } + pub async fn upload_metadata( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.dataproxy.DataProxyService/UploadMetadata", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "flyteidl2.dataproxy.DataProxyService", + "UploadMetadata", + ), + ); + self.inner.unary(req, path, codec).await + } + pub async fn get_local_action_data( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.dataproxy.DataProxyService/GetLocalActionData", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "flyteidl2.dataproxy.DataProxyService", + "GetLocalActionData", + ), + ); + self.inner.unary(req, path, codec).await + } + pub async fn create_local_download_link( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "flyteidl2.dataproxy.DataProxyService", + "CreateLocalDownloadLink", + ), + ); + self.inner.unary(req, path, codec).await + } } } /// Generated server implementations. @@ -278,6 +368,27 @@ pub mod data_proxy_service_server { &self, request: tonic::Request, ) -> std::result::Result, tonic::Status>; + async fn upload_metadata( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn get_local_action_data( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn create_local_download_link( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; } #[derive(Debug)] pub struct DataProxyServiceServer { @@ -591,6 +702,152 @@ pub mod data_proxy_service_server { }; Box::pin(fut) } + "/flyteidl2.dataproxy.DataProxyService/UploadMetadata" => { + #[allow(non_camel_case_types)] + struct UploadMetadataSvc(pub Arc); + impl< + T: DataProxyService, + > tonic::server::UnaryService + for UploadMetadataSvc { + type Response = super::CreateUploadLocationResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::upload_metadata(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = UploadMetadataSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.dataproxy.DataProxyService/GetLocalActionData" => { + #[allow(non_camel_case_types)] + struct GetLocalActionDataSvc(pub Arc); + impl< + T: DataProxyService, + > tonic::server::UnaryService + for GetLocalActionDataSvc { + type Response = super::GetActionDataResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_local_action_data( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = GetLocalActionDataSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink" => { + #[allow(non_camel_case_types)] + struct CreateLocalDownloadLinkSvc(pub Arc); + impl< + T: DataProxyService, + > tonic::server::UnaryService + for CreateLocalDownloadLinkSvc { + type Response = super::CreateDownloadLinkResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::CreateLocalDownloadLinkRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::create_local_download_link( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = CreateLocalDownloadLinkSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } _ => { Box::pin(async move { Ok( diff --git a/gen/rust/src/flyteidl2.workflow.rs b/gen/rust/src/flyteidl2.workflow.rs index f4b16faf53a..fa967518f2a 100644 --- a/gen/rust/src/flyteidl2.workflow.rs +++ b/gen/rust/src/flyteidl2.workflow.rs @@ -706,6 +706,9 @@ pub enum RunSource { Web = 1, Cli = 2, ScheduleTrigger = 3, + /// The run is orchestrated outside the platform (e.g. on a user's machine) and its state is + /// reported via LocalRunService. + Local = 4, } impl RunSource { /// String value of the enum field names used in the ProtoBuf definition. @@ -718,6 +721,7 @@ impl RunSource { RunSource::Web => "RUN_SOURCE_WEB", RunSource::Cli => "RUN_SOURCE_CLI", RunSource::ScheduleTrigger => "RUN_SOURCE_SCHEDULE_TRIGGER", + RunSource::Local => "RUN_SOURCE_LOCAL", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -727,6 +731,7 @@ impl RunSource { "RUN_SOURCE_WEB" => Some(Self::Web), "RUN_SOURCE_CLI" => Some(Self::Cli), "RUN_SOURCE_SCHEDULE_TRIGGER" => Some(Self::ScheduleTrigger), + "RUN_SOURCE_LOCAL" => Some(Self::Local), _ => None, } } @@ -1077,153 +1082,6 @@ pub struct RecordActionEventStreamResponse { #[prost(int64, tag="2")] pub nonce: i64, } -/// request message for queuing an action. -#[pyo3::pyclass(dict, get_all, set_all)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct EnqueueActionRequest { - /// the unique identifier for the action. - #[prost(message, optional, tag="1")] - pub action_id: ::core::option::Option, - /// an optional name for the parent action, if it exists. the remaining run metadata (ex. org, - /// project, domain) will be the same as the action_id defined above. - #[prost(string, optional, tag="2")] - pub parent_action_name: ::core::option::Option<::prost::alloc::string::String>, - /// Optional run spec passed in by the root action to be utilized by all downstream actions in the run. - #[prost(message, optional, tag="3")] - pub run_spec: ::core::option::Option, - /// the path to the input data for this action. - #[prost(string, tag="6")] - pub input_uri: ::prost::alloc::string::String, - /// the run base path this action should write its output to. - #[prost(string, tag="7")] - pub run_output_base: ::prost::alloc::string::String, - /// group this action belongs to, if applicable. - #[prost(string, tag="8")] - pub group: ::prost::alloc::string::String, - /// subject that created the run, if known. - #[prost(string, tag="9")] - pub subject: ::prost::alloc::string::String, - #[prost(oneof="enqueue_action_request::Spec", tags="10, 11, 12")] - pub spec: ::core::option::Option, -} -/// Nested message and enum types in `EnqueueActionRequest`. -pub mod enqueue_action_request { - #[pyo3::pyclass(dict, get_all, set_all)] - #[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Spec { - #[prost(message, tag="10")] - Task(super::TaskAction), - #[prost(message, tag="11")] - Trace(super::TraceAction), - #[prost(message, tag="12")] - Condition(super::ConditionAction), - } -} -/// response message for queuing an action. -#[pyo3::pyclass(dict, get_all, set_all)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] -pub struct EnqueueActionResponse { -} -/// request message for aborting a run. -#[pyo3::pyclass(dict, get_all, set_all)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AbortQueuedRunRequest { - /// the unique identifier for the run to be aborted. - #[prost(message, optional, tag="1")] - pub run_id: ::core::option::Option, - /// Reason for aborting the run, if applicable. - #[prost(string, optional, tag="2")] - pub reason: ::core::option::Option<::prost::alloc::string::String>, -} -/// response message for aborting a run. -#[pyo3::pyclass(dict, get_all, set_all)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] -pub struct AbortQueuedRunResponse { -} -#[pyo3::pyclass(dict, get_all, set_all)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AbortQueuedActionRequest { - /// ActionId is the unique identifier for the action to be aborted - #[prost(message, optional, tag="1")] - pub action_id: ::core::option::Option, - /// Reason for aborting the action, if applicable. - #[prost(string, optional, tag="2")] - pub reason: ::core::option::Option<::prost::alloc::string::String>, -} -#[pyo3::pyclass(dict, get_all, set_all)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] -pub struct AbortQueuedActionResponse { -} -/// RunInfo contains detailed metadata about an action/run, stored as serialized -/// bytes in the actions table's detailed_info column. -#[pyo3::pyclass(dict, get_all, set_all)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct RunInfo { - /// Task spec digest. Used to look up the full task spec from the task_specs table. - #[prost(string, tag="1")] - pub task_spec_digest: ::prost::alloc::string::String, - /// Inputs uri. - #[prost(string, tag="2")] - pub inputs_uri: ::prost::alloc::string::String, - /// Outputs uri. - #[prost(string, tag="3")] - pub outputs_uri: ::prost::alloc::string::String, - /// Run spec. - #[prost(message, optional, tag="4")] - pub run_spec: ::core::option::Option, - /// For ACTION_TYPE_CONDITION actions: the condition spec, so details can be - /// rendered (prompt/description/type) after the CR is GC'd. - #[prost(message, optional, tag="5")] - pub condition: ::core::option::Option, - /// For ACTION_TYPE_CONDITION actions: the resolved signal value, stored - /// inline (never an outputs.pb). The long-term record once the CR is GC'd. - #[prost(message, optional, tag="6")] - pub output: ::core::option::Option, - /// Identity of the actor that signalled (or aborted) the action. - #[prost(message, optional, tag="7")] - pub principal: ::core::option::Option, -} -/// Request message for tailing logs. -#[pyo3::pyclass(dict, get_all, set_all)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TailLogsRequest { - /// The action id. - #[prost(message, optional, tag="1")] - pub action_id: ::core::option::Option, - /// The attempt number. - #[prost(uint32, tag="2")] - pub attempt: u32, -} -/// Reponse message for tailing logs. -#[pyo3::pyclass(dict, get_all, set_all)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TailLogsResponse { - /// One or more batches of logs. - #[prost(message, repeated, tag="1")] - pub logs: ::prost::alloc::vec::Vec, -} -/// Nested message and enum types in `TailLogsResponse`. -pub mod tail_logs_response { - /// A batch of logs. - #[pyo3::pyclass(dict, get_all, set_all)] - #[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] - pub struct Logs { - /// Structured log lines. - #[prost(message, repeated, tag="1")] - pub lines: ::prost::alloc::vec::Vec, - } -} /// Request message for creating a run. #[pyo3::pyclass(dict, get_all, set_all)] #[allow(clippy::derive_partial_eq_without_eq)] @@ -2033,99 +1891,355 @@ pub struct WatchGroupsResponse { #[prost(bool, tag="2")] pub sentinel: bool, } +/// Request message for creating a local run. #[pyo3::pyclass(dict, get_all, set_all)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct LiteralsToLaunchFormJsonRequest { - /// The literals to convert to JSON. Ignored when literals_uri is set. - #[prost(message, repeated, tag="1")] - pub literals: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag="2")] - pub variables: ::core::option::Option, - /// Raw object store URI for offloaded action literals, as returned by - /// DataProxyService.GetActionData (inputs_uri / outputs_uri). Only used with - /// action_id: when set, the service reads the literals from storage instead of - /// requiring them inline, avoiding a round trip of potentially large payloads - /// through the client. Ignored when trigger_id is set. - #[prost(string, tag="3")] - pub literals_uri: ::prost::alloc::string::String, - /// Identifies the owner of the offloaded literals to convert. Leave unset to - /// convert the inline `literals` instead. - #[prost(oneof="literals_to_launch_form_json_request::Owner", tags="4, 5")] - pub owner: ::core::option::Option, -} -/// Nested message and enum types in `LiteralsToLaunchFormJsonRequest`. -pub mod literals_to_launch_form_json_request { - /// Identifies the owner of the offloaded literals to convert. Leave unset to - /// convert the inline `literals` instead. +pub struct CreateLocalRunRequest { + /// Reference to the run's inputs, previously uploaded via DataProxyService.UploadMetadata. + #[prost(message, optional, tag="5")] + pub offloaded_input_data: ::core::option::Option, + /// The run spec to use. Only client-relevant fields are honored; dataplane scheduling fields + /// (queue, cluster) are ignored for local runs. + #[prost(message, optional, tag="6")] + pub run_spec: ::core::option::Option, + /// User-defined labels attached to this run at creation time. + #[prost(map="string, string", tag="7")] + pub labels: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, + /// Time the local run actually started. If unset, the server defaults it to the current time. + #[prost(message, optional, tag="8")] + pub run_start_time: ::core::option::Option, + #[prost(oneof="create_local_run_request::Id", tags="1, 2")] + pub id: ::core::option::Option, + /// The task this run executes. + #[prost(oneof="create_local_run_request::Task", tags="3, 4")] + pub task: ::core::option::Option, +} +/// Nested message and enum types in `CreateLocalRunRequest`. +pub mod create_local_run_request { #[pyo3::pyclass(dict, get_all, set_all)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Owner { - /// Identifies the action that owns literals_uri. Required when literals_uri - /// is set; the URI is validated against the action's data URIs before being - /// read. + pub enum Id { + /// The user provided run id. + #[prost(message, tag="1")] + RunId(super::super::common::RunIdentifier), + /// The project id for this run. Run name will be generated. + #[prost(message, tag="2")] + ProjectId(super::super::common::ProjectIdentifier), + } + /// The task this run executes. + #[pyo3::pyclass(dict, get_all, set_all)] + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Task { + /// The task id to use. + #[prost(message, tag="3")] + TaskId(super::super::task::TaskIdentifier), + /// The task spec to use. #[prost(message, tag="4")] - ActionId(super::super::common::ActionIdentifier), - /// Identifies a trigger whose offloaded inputs should be converted. The - /// service looks up the trigger's offloaded input URI from its spec and - /// reads it directly, so literals and literals_uri are ignored. - #[prost(message, tag="5")] - TriggerId(super::super::common::TriggerIdentifier), + TaskSpec(super::super::task::TaskSpec), } } +/// A single action state report within a local run. #[pyo3::pyclass(dict, get_all, set_all)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct LiteralsToLaunchFormJsonResponse { - /// The JSON for the literals. - #[prost(message, optional, tag="1")] - pub json: ::core::option::Option, -} -#[pyo3::pyclass(dict, get_all, set_all)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct LaunchFormJsonToLiteralsRequest { - /// The JSON schema to convert to literals. +pub struct LocalActionUpdate { + /// The event describing this state transition. Carries the action id, attempt (starting at 1), + /// phase, monotonically increasing version, timestamps, error info and output references + /// (output_uri / report_uri under the control plane's storage). #[prost(message, optional, tag="1")] - pub json: ::core::option::Option, + pub event: ::core::option::Option, + /// Name of the parent action if this is a nested action. Empty for the root action. Only + /// honored on the first report of an action. + #[prost(string, tag="2")] + pub parent_name: ::prost::alloc::string::String, + /// Group this action belongs to, if applicable. Only honored on the first report of an action. + #[prost(string, tag="3")] + pub group: ::prost::alloc::string::String, + /// Rolled-up status of the action (attempts count, start/end time). + #[prost(message, optional, tag="6")] + pub status: ::core::option::Option, + /// The action's spec. Should be provided on the first report of an action; ignored afterwards. + #[prost(oneof="local_action_update::Spec", tags="4, 5")] + pub spec: ::core::option::Option, } -#[pyo3::pyclass(dict, get_all, set_all)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct LaunchFormJsonToLiteralsResponse { - /// The literals generated from the JSON schema. - #[prost(message, repeated, tag="1")] - pub literals: ::prost::alloc::vec::Vec, +/// Nested message and enum types in `LocalActionUpdate`. +pub mod local_action_update { + /// The action's spec. Should be provided on the first report of an action; ignored afterwards. + #[pyo3::pyclass(dict, get_all, set_all)] + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Spec { + #[prost(message, tag="4")] + Task(super::TaskAction), + #[prost(message, tag="5")] + Trace(super::TraceAction), + } } +/// Request message for reporting local action state. #[pyo3::pyclass(dict, get_all, set_all)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct TaskSpecToLaunchFormJsonRequest { - /// The task spec to convert to JSON. - /// Merges the VariableMap and the default inputs +pub struct ReportLocalActionsRequest { + /// The run these action reports belong to. Every update's action id must reference this run. #[prost(message, optional, tag="1")] - pub task_spec: ::core::option::Option, + pub run_id: ::core::option::Option, + /// The action state reports. + #[prost(message, repeated, tag="2")] + pub updates: ::prost::alloc::vec::Vec, } +/// Response message for reporting local action state. #[pyo3::pyclass(dict, get_all, set_all)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct TaskSpecToLaunchFormJsonResponse { - /// The JSON for the variables. - #[prost(message, optional, tag="1")] - pub json: ::core::option::Option, +pub struct ReportLocalActionsResponse { + /// Per-update results, parallel to the request's updates. Duplicate (already recorded) events + /// are reported as success. + #[prost(message, repeated, tag="1")] + pub statuses: ::prost::alloc::vec::Vec, } +/// request message for queuing an action. #[pyo3::pyclass(dict, get_all, set_all)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct JsonValuesToLiteralsRequest { - /// The type definitions (VariableMap) describing the expected structure. +pub struct EnqueueActionRequest { + /// the unique identifier for the action. #[prost(message, optional, tag="1")] - pub variables: ::core::option::Option, - /// The raw JSON values to convert to literals. - #[prost(message, optional, tag="2")] - pub values: ::core::option::Option, -} + pub action_id: ::core::option::Option, + /// an optional name for the parent action, if it exists. the remaining run metadata (ex. org, + /// project, domain) will be the same as the action_id defined above. + #[prost(string, optional, tag="2")] + pub parent_action_name: ::core::option::Option<::prost::alloc::string::String>, + /// Optional run spec passed in by the root action to be utilized by all downstream actions in the run. + #[prost(message, optional, tag="3")] + pub run_spec: ::core::option::Option, + /// the path to the input data for this action. + #[prost(string, tag="6")] + pub input_uri: ::prost::alloc::string::String, + /// the run base path this action should write its output to. + #[prost(string, tag="7")] + pub run_output_base: ::prost::alloc::string::String, + /// group this action belongs to, if applicable. + #[prost(string, tag="8")] + pub group: ::prost::alloc::string::String, + /// subject that created the run, if known. + #[prost(string, tag="9")] + pub subject: ::prost::alloc::string::String, + #[prost(oneof="enqueue_action_request::Spec", tags="10, 11, 12")] + pub spec: ::core::option::Option, +} +/// Nested message and enum types in `EnqueueActionRequest`. +pub mod enqueue_action_request { + #[pyo3::pyclass(dict, get_all, set_all)] + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Spec { + #[prost(message, tag="10")] + Task(super::TaskAction), + #[prost(message, tag="11")] + Trace(super::TraceAction), + #[prost(message, tag="12")] + Condition(super::ConditionAction), + } +} +/// response message for queuing an action. +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct EnqueueActionResponse { +} +/// request message for aborting a run. +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AbortQueuedRunRequest { + /// the unique identifier for the run to be aborted. + #[prost(message, optional, tag="1")] + pub run_id: ::core::option::Option, + /// Reason for aborting the run, if applicable. + #[prost(string, optional, tag="2")] + pub reason: ::core::option::Option<::prost::alloc::string::String>, +} +/// response message for aborting a run. +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct AbortQueuedRunResponse { +} +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AbortQueuedActionRequest { + /// ActionId is the unique identifier for the action to be aborted + #[prost(message, optional, tag="1")] + pub action_id: ::core::option::Option, + /// Reason for aborting the action, if applicable. + #[prost(string, optional, tag="2")] + pub reason: ::core::option::Option<::prost::alloc::string::String>, +} +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct AbortQueuedActionResponse { +} +/// RunInfo contains detailed metadata about an action/run, stored as serialized +/// bytes in the actions table's detailed_info column. +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RunInfo { + /// Task spec digest. Used to look up the full task spec from the task_specs table. + #[prost(string, tag="1")] + pub task_spec_digest: ::prost::alloc::string::String, + /// Inputs uri. + #[prost(string, tag="2")] + pub inputs_uri: ::prost::alloc::string::String, + /// Outputs uri. + #[prost(string, tag="3")] + pub outputs_uri: ::prost::alloc::string::String, + /// Run spec. + #[prost(message, optional, tag="4")] + pub run_spec: ::core::option::Option, + /// For ACTION_TYPE_CONDITION actions: the condition spec, so details can be + /// rendered (prompt/description/type) after the CR is GC'd. + #[prost(message, optional, tag="5")] + pub condition: ::core::option::Option, + /// For ACTION_TYPE_CONDITION actions: the resolved signal value, stored + /// inline (never an outputs.pb). The long-term record once the CR is GC'd. + #[prost(message, optional, tag="6")] + pub output: ::core::option::Option, + /// Identity of the actor that signalled (or aborted) the action. + #[prost(message, optional, tag="7")] + pub principal: ::core::option::Option, +} +/// Request message for tailing logs. +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TailLogsRequest { + /// The action id. + #[prost(message, optional, tag="1")] + pub action_id: ::core::option::Option, + /// The attempt number. + #[prost(uint32, tag="2")] + pub attempt: u32, +} +/// Reponse message for tailing logs. +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TailLogsResponse { + /// One or more batches of logs. + #[prost(message, repeated, tag="1")] + pub logs: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `TailLogsResponse`. +pub mod tail_logs_response { + /// A batch of logs. + #[pyo3::pyclass(dict, get_all, set_all)] + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct Logs { + /// Structured log lines. + #[prost(message, repeated, tag="1")] + pub lines: ::prost::alloc::vec::Vec, + } +} +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LiteralsToLaunchFormJsonRequest { + /// The literals to convert to JSON. Ignored when literals_uri is set. + #[prost(message, repeated, tag="1")] + pub literals: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag="2")] + pub variables: ::core::option::Option, + /// Raw object store URI for offloaded action literals, as returned by + /// DataProxyService.GetActionData (inputs_uri / outputs_uri). Only used with + /// action_id: when set, the service reads the literals from storage instead of + /// requiring them inline, avoiding a round trip of potentially large payloads + /// through the client. Ignored when trigger_id is set. + #[prost(string, tag="3")] + pub literals_uri: ::prost::alloc::string::String, + /// Identifies the owner of the offloaded literals to convert. Leave unset to + /// convert the inline `literals` instead. + #[prost(oneof="literals_to_launch_form_json_request::Owner", tags="4, 5")] + pub owner: ::core::option::Option, +} +/// Nested message and enum types in `LiteralsToLaunchFormJsonRequest`. +pub mod literals_to_launch_form_json_request { + /// Identifies the owner of the offloaded literals to convert. Leave unset to + /// convert the inline `literals` instead. + #[pyo3::pyclass(dict, get_all, set_all)] + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Owner { + /// Identifies the action that owns literals_uri. Required when literals_uri + /// is set; the URI is validated against the action's data URIs before being + /// read. + #[prost(message, tag="4")] + ActionId(super::super::common::ActionIdentifier), + /// Identifies a trigger whose offloaded inputs should be converted. The + /// service looks up the trigger's offloaded input URI from its spec and + /// reads it directly, so literals and literals_uri are ignored. + #[prost(message, tag="5")] + TriggerId(super::super::common::TriggerIdentifier), + } +} +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LiteralsToLaunchFormJsonResponse { + /// The JSON for the literals. + #[prost(message, optional, tag="1")] + pub json: ::core::option::Option, +} +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LaunchFormJsonToLiteralsRequest { + /// The JSON schema to convert to literals. + #[prost(message, optional, tag="1")] + pub json: ::core::option::Option, +} +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LaunchFormJsonToLiteralsResponse { + /// The literals generated from the JSON schema. + #[prost(message, repeated, tag="1")] + pub literals: ::prost::alloc::vec::Vec, +} +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TaskSpecToLaunchFormJsonRequest { + /// The task spec to convert to JSON. + /// Merges the VariableMap and the default inputs + #[prost(message, optional, tag="1")] + pub task_spec: ::core::option::Option, +} +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TaskSpecToLaunchFormJsonResponse { + /// The JSON for the variables. + #[prost(message, optional, tag="1")] + pub json: ::core::option::Option, +} +#[pyo3::pyclass(dict, get_all, set_all)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct JsonValuesToLiteralsRequest { + /// The type definitions (VariableMap) describing the expected structure. + #[prost(message, optional, tag="1")] + pub variables: ::core::option::Option, + /// The raw JSON values to convert to literals. + #[prost(message, optional, tag="2")] + pub values: ::core::option::Option, +} #[pyo3::pyclass(dict, get_all, set_all)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -2136,7 +2250,7 @@ pub struct JsonValuesToLiteralsResponse { } /// Encoded file descriptor set for the `flyteidl2.workflow` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0x8b, 0xdd, 0x01, 0x0a, 0x27, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, + 0x0a, 0xca, 0xde, 0x01, 0x0a, 0x27, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, @@ -2700,2670 +2814,2445 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0x03, 0x2a, 0x70, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x1a, 0x0a, 0x16, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x52, - 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x10, 0x01, 0x12, - 0x12, 0x0a, 0x0e, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x4c, - 0x49, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, - 0x45, 0x52, 0x10, 0x03, 0x42, 0xcd, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, - 0x12, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, - 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, - 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xff, 0x93, 0x01, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0x9a, 0x04, - 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, - 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, - 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x02, 0x12, 0x03, 0x06, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, - 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, - 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x24, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, - 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, 0x03, 0x0b, 0x00, 0x28, 0x0a, 0x09, 0x0a, - 0x02, 0x03, 0x08, 0x12, 0x03, 0x0c, 0x00, 0x27, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x09, 0x12, 0x03, - 0x0d, 0x00, 0x24, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x0a, 0x12, 0x03, 0x0e, 0x00, 0x25, 0x0a, 0x09, - 0x0a, 0x02, 0x03, 0x0b, 0x12, 0x03, 0x0f, 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x0c, 0x12, - 0x03, 0x10, 0x00, 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x0d, 0x12, 0x03, 0x11, 0x00, 0x28, 0x0a, - 0x09, 0x0a, 0x02, 0x03, 0x0e, 0x12, 0x03, 0x12, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x0f, - 0x12, 0x03, 0x13, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x10, 0x12, 0x03, 0x14, 0x00, 0x28, - 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x16, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, - 0x12, 0x03, 0x16, 0x00, 0x4d, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x18, 0x00, 0x23, - 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x18, 0x08, 0x0b, 0x0a, 0x3d, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x1a, 0x02, 0x14, 0x1a, 0x30, 0x20, 0x4c, 0x69, 0x67, - 0x68, 0x74, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x1a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x00, 0x01, 0x12, 0x03, 0x1a, 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, - 0x03, 0x12, 0x03, 0x1a, 0x12, 0x13, 0x0a, 0xcb, 0x03, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, - 0x03, 0x22, 0x02, 0x21, 0x1a, 0xbd, 0x03, 0x20, 0x55, 0x73, 0x65, 0x72, 0x2d, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, - 0x20, 0x61, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x61, 0x6d, 0x65, 0x0a, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, 0x61, 0x73, - 0x20, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, - 0x28, 0x74, 0x68, 0x65, 0x20, 0x6b, 0x38, 0x73, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x64, 0x73, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x20, 0x61, 0x74, - 0x0a, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, - 0x2c, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x62, 0x6c, 0x65, 0x20, 0x76, 0x69, 0x61, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x29, 0x2e, 0x20, 0x4f, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x2c, 0x20, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x6f, 0x6e, - 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x73, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x20, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x2c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x0a, 0x20, 0x70, 0x72, 0x65, 0x63, 0x65, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x2c, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x20, 0x73, 0x65, - 0x74, 0x20, 0x69, 0x73, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x68, 0x65, 0x72, 0x65, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x52, 0x75, 0x6e, 0x53, - 0x70, 0x65, 0x63, 0x2e, 0x0a, 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, - 0x20, 0x6f, 0x66, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x69, 0x74, 0x20, 0x67, 0x65, 0x74, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x22, - 0x02, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x22, 0x16, 0x1c, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x22, 0x1f, 0x20, 0x0a, 0x0a, - 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x25, 0x00, 0x2b, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, - 0x01, 0x12, 0x03, 0x25, 0x08, 0x12, 0x0a, 0x18, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, - 0x27, 0x02, 0x1c, 0x1a, 0x0b, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x27, 0x02, 0x0e, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x27, 0x0f, 0x17, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x27, 0x1a, 0x1b, 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x01, - 0x02, 0x01, 0x12, 0x03, 0x2a, 0x02, 0x1b, 0x1a, 0x2d, 0x20, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, - 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x06, 0x12, - 0x03, 0x2a, 0x02, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x2a, - 0x10, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x2a, 0x19, 0x1a, - 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x2d, 0x00, 0x3b, 0x01, 0x0a, 0x0a, 0x0a, 0x03, - 0x04, 0x02, 0x01, 0x12, 0x03, 0x2d, 0x08, 0x12, 0x0a, 0x5e, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, - 0x12, 0x03, 0x2f, 0x02, 0x1d, 0x1a, 0x51, 0x20, 0x61, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, - 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, - 0x06, 0x12, 0x03, 0x2f, 0x02, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x2f, 0x16, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x2f, - 0x1b, 0x1c, 0x0a, 0x39, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x32, 0x02, 0x40, 0x1a, - 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x74, 0x6f, 0x20, - 0x62, 0x65, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, 0x03, 0x32, 0x02, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x32, 0x10, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x01, 0x03, 0x12, 0x03, 0x32, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x08, - 0x12, 0x03, 0x32, 0x19, 0x3f, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x01, 0x08, 0x87, 0x09, - 0x19, 0x12, 0x03, 0x32, 0x1a, 0x3e, 0x0a, 0x4f, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x02, 0x12, 0x03, - 0x35, 0x02, 0x2c, 0x1a, 0x42, 0x20, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x20, 0x63, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, - 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x06, - 0x12, 0x03, 0x35, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x01, 0x12, 0x03, - 0x35, 0x1e, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x03, 0x12, 0x03, 0x35, 0x2a, - 0x2b, 0x0a, 0x81, 0x01, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x03, 0x39, 0x02, 0x13, 0x1a, - 0x74, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x71, - 0x75, 0x65, 0x75, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x49, 0x66, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x71, 0x75, - 0x65, 0x75, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x52, 0x75, - 0x6e, 0x53, 0x70, 0x65, 0x63, 0x60, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x05, 0x12, 0x03, - 0x39, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x01, 0x12, 0x03, 0x39, 0x09, - 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x03, 0x12, 0x03, 0x39, 0x11, 0x12, 0x0a, - 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x0a, 0x12, 0x03, 0x3a, 0x02, 0x15, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x02, 0x0a, 0x00, 0x12, 0x03, 0x3a, 0x0b, 0x14, 0x0a, 0xfc, 0x01, 0x0a, 0x02, 0x04, 0x03, 0x12, - 0x04, 0x40, 0x00, 0x51, 0x01, 0x1a, 0xef, 0x01, 0x20, 0x54, 0x72, 0x61, 0x63, 0x65, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x20, 0x74, 0x72, 0x61, 0x63, 0x65, 0x20, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, - 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, - 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x27, - 0x73, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x0a, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x20, - 0x54, 0x68, 0x69, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, - 0x69, 0x6e, 0x69, 0x73, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x27, 0x73, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x20, 0x6e, - 0x6f, 0x74, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x0a, 0x20, - 0x74, 0x69, 0x6d, 0x65, 0x29, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, - 0x40, 0x08, 0x13, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x41, 0x02, 0x3c, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x03, 0x41, 0x02, 0x08, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x41, 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x41, 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x00, 0x08, 0x12, 0x03, 0x41, 0x12, 0x3b, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x03, 0x02, 0x00, - 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x41, 0x13, 0x3a, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x03, - 0x02, 0x01, 0x12, 0x03, 0x44, 0x02, 0x1f, 0x1a, 0x13, 0x20, 0x4c, 0x61, 0x73, 0x74, 0x20, 0x6b, - 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x01, 0x06, 0x12, 0x03, 0x44, 0x02, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x01, 0x01, 0x12, 0x03, 0x44, 0x15, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, - 0x03, 0x12, 0x03, 0x44, 0x1d, 0x1e, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x02, 0x12, 0x03, - 0x47, 0x02, 0x2b, 0x1a, 0x1b, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, - 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x06, 0x12, 0x03, 0x47, 0x02, 0x1b, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x12, 0x03, 0x47, 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, 0x03, 0x47, 0x29, 0x2a, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x03, - 0x02, 0x03, 0x12, 0x03, 0x4a, 0x02, 0x32, 0x1a, 0x28, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x65, 0x6e, 0x64, 0x65, 0x64, - 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x04, 0x12, 0x03, 0x4a, 0x02, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x06, 0x12, 0x03, 0x4a, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x03, 0x02, 0x03, 0x01, 0x12, 0x03, 0x4a, 0x25, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x03, 0x02, 0x03, 0x03, 0x12, 0x03, 0x4a, 0x30, 0x31, 0x0a, 0x21, 0x0a, 0x04, 0x04, 0x03, 0x02, - 0x04, 0x12, 0x03, 0x4d, 0x02, 0x24, 0x1a, 0x14, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x04, 0x06, 0x12, 0x03, 0x4d, 0x02, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x04, 0x01, 0x12, 0x03, 0x4d, 0x18, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, - 0x03, 0x12, 0x03, 0x4d, 0x22, 0x23, 0x0a, 0x4e, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x05, 0x12, 0x03, - 0x50, 0x02, 0x41, 0x1a, 0x41, 0x20, 0x54, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2c, 0x20, 0x75, - 0x73, 0x65, 0x66, 0x75, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, - 0x73, 0x69, 0x64, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x06, 0x12, - 0x03, 0x50, 0x02, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x01, 0x12, 0x03, 0x50, - 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x03, 0x12, 0x03, 0x50, 0x18, 0x19, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x08, 0x12, 0x03, 0x50, 0x1a, 0x40, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x03, 0x02, 0x05, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x50, 0x1b, 0x3f, 0x0a, - 0xaf, 0x01, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x55, 0x00, 0x70, 0x01, 0x1a, 0xa2, 0x01, 0x20, - 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x65, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x61, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x20, - 0x49, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, - 0x6f, 0x0a, 0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, 0x61, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x61, - 0x6e, 0x20, 0x63, 0x61, 0x72, 0x72, 0x79, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, - 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x55, 0x08, 0x17, 0x0a, 0x3c, 0x0a, - 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x57, 0x02, 0x3c, 0x1a, 0x2f, 0x20, 0x4e, 0x61, 0x6d, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x00, 0x05, 0x12, 0x03, 0x57, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x00, 0x01, 0x12, 0x03, 0x57, 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, - 0x12, 0x03, 0x57, 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, - 0x57, 0x12, 0x3b, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x04, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x02, - 0x12, 0x03, 0x57, 0x13, 0x3a, 0x0a, 0x54, 0x0a, 0x03, 0x04, 0x04, 0x09, 0x12, 0x03, 0x5a, 0x02, - 0x13, 0x1a, 0x48, 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x32, 0x2d, 0x34, 0x20, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x28, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x6c, - 0x79, 0x20, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x3a, 0x20, 0x72, - 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x2c, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x2c, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x29, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x04, 0x09, 0x00, 0x12, 0x03, 0x5a, 0x0b, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x00, - 0x01, 0x12, 0x03, 0x5a, 0x0b, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x00, 0x02, 0x12, - 0x03, 0x5a, 0x0b, 0x0c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x09, 0x01, 0x12, 0x03, 0x5a, 0x0e, - 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x01, 0x01, 0x12, 0x03, 0x5a, 0x0e, 0x0f, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x01, 0x02, 0x12, 0x03, 0x5a, 0x0e, 0x0f, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x04, 0x09, 0x02, 0x12, 0x03, 0x5a, 0x11, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x09, 0x02, 0x01, 0x12, 0x03, 0x5a, 0x11, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x02, - 0x02, 0x12, 0x03, 0x5a, 0x11, 0x12, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x0a, 0x12, 0x03, 0x5b, - 0x02, 0x2b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x0a, 0x00, 0x12, 0x03, 0x5b, 0x0b, 0x13, 0x0a, - 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x0a, 0x01, 0x12, 0x03, 0x5b, 0x15, 0x20, 0x0a, 0x0b, 0x0a, 0x04, - 0x04, 0x04, 0x0a, 0x02, 0x12, 0x03, 0x5b, 0x22, 0x2a, 0x0a, 0x41, 0x0a, 0x04, 0x04, 0x04, 0x02, - 0x01, 0x12, 0x03, 0x5e, 0x02, 0x26, 0x1a, 0x34, 0x20, 0x54, 0x79, 0x70, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x01, 0x06, 0x12, 0x03, 0x5e, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x01, 0x01, 0x12, 0x03, 0x5e, 0x1d, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, - 0x03, 0x12, 0x03, 0x5e, 0x24, 0x25, 0x0a, 0x46, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, 0x12, 0x03, - 0x61, 0x02, 0x41, 0x1a, 0x39, 0x20, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x20, 0x73, 0x68, 0x6f, - 0x77, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x77, - 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x05, 0x12, 0x03, 0x61, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x61, 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x02, 0x03, 0x12, 0x03, 0x61, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, - 0x08, 0x12, 0x03, 0x61, 0x14, 0x40, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x04, 0x02, 0x02, 0x08, 0x87, - 0x09, 0x0e, 0x03, 0x12, 0x03, 0x61, 0x15, 0x3f, 0x0a, 0x2c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x03, - 0x12, 0x03, 0x64, 0x02, 0x46, 0x1a, 0x1f, 0x20, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x05, 0x12, - 0x03, 0x64, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x01, 0x12, 0x03, 0x64, - 0x09, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x03, 0x12, 0x03, 0x64, 0x17, 0x18, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x08, 0x12, 0x03, 0x64, 0x19, 0x45, 0x0a, 0x10, - 0x0a, 0x09, 0x04, 0x04, 0x02, 0x03, 0x08, 0x87, 0x09, 0x0e, 0x03, 0x12, 0x03, 0x64, 0x1a, 0x44, - 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x04, 0x12, 0x03, 0x67, 0x02, 0x26, 0x1a, 0x1b, 0x20, - 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x04, 0x06, 0x12, 0x03, 0x67, 0x02, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, - 0x01, 0x12, 0x03, 0x67, 0x16, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x03, 0x12, - 0x03, 0x67, 0x24, 0x25, 0x0a, 0xed, 0x01, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x05, 0x12, 0x03, 0x6c, - 0x02, 0x28, 0x1a, 0xdf, 0x01, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x65, - 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x0a, 0x20, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x54, 0x49, 0x4d, 0x45, 0x44, 0x5f, - 0x4f, 0x55, 0x54, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x0a, 0x20, 0x4d, 0x75, 0x73, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x76, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x3b, 0x20, 0x7a, - 0x65, 0x72, 0x6f, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x06, 0x12, 0x03, 0x6c, - 0x02, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x01, 0x12, 0x03, 0x6c, 0x1b, 0x22, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x03, 0x12, 0x03, 0x6c, 0x25, 0x27, 0x0a, 0x4d, - 0x0a, 0x04, 0x04, 0x04, 0x02, 0x06, 0x12, 0x03, 0x6f, 0x02, 0x20, 0x1a, 0x40, 0x20, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x20, 0x74, - 0x6f, 0x20, 0x66, 0x69, 0x72, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x69, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x06, 0x06, 0x12, 0x03, 0x6f, 0x02, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x06, 0x01, 0x12, 0x03, 0x6f, 0x13, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x06, 0x03, 0x12, 0x03, 0x6f, 0x1d, 0x1f, 0x0a, 0x0a, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, 0x72, - 0x00, 0x76, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x72, 0x05, 0x18, 0x0a, - 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x73, 0x02, 0x28, 0x0a, 0x0c, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x73, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, - 0x02, 0x00, 0x02, 0x12, 0x03, 0x73, 0x26, 0x27, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, - 0x12, 0x03, 0x74, 0x02, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, - 0x74, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x74, 0x1f, - 0x20, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x75, 0x02, 0x25, 0x0a, 0x0c, - 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x75, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x75, 0x23, 0x24, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x05, - 0x12, 0x04, 0x78, 0x00, 0x7f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x78, - 0x08, 0x18, 0x0a, 0x51, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, 0x7a, 0x02, 0x11, 0x1a, - 0x44, 0x20, 0x54, 0x68, 0x65, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x74, 0x6f, 0x20, 0x77, - 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x03, - 0x7a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x7a, 0x09, - 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x7a, 0x0f, 0x10, 0x0a, - 0x95, 0x01, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x03, 0x7e, 0x02, 0x25, 0x1a, 0x87, 0x01, - 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x20, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x20, 0x22, 0x7b, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x75, 0x72, 0x69, - 0x7d, 0x22, 0x0a, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x20, 0x77, - 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x55, - 0x52, 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x06, - 0x12, 0x03, 0x7e, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x03, - 0x7e, 0x19, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x03, 0x7e, 0x23, - 0x24, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0x81, 0x01, 0x00, 0x8a, 0x01, 0x01, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0x81, 0x01, 0x08, 0x1a, 0x0a, 0x3e, 0x0a, 0x04, - 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0x83, 0x01, 0x02, 0x1d, 0x1a, 0x30, 0x20, 0x49, 0x64, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x04, 0x83, 0x01, 0x02, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0x83, 0x01, 0x16, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x00, 0x03, 0x12, 0x04, 0x83, 0x01, 0x1b, 0x1c, 0x0a, 0x25, 0x0a, 0x04, 0x04, 0x06, 0x02, - 0x01, 0x12, 0x04, 0x86, 0x01, 0x02, 0x17, 0x1a, 0x17, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, - 0x69, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, 0x86, 0x01, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0x86, 0x01, 0x09, 0x12, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0x86, 0x01, 0x15, 0x16, 0x0a, 0x2d, 0x0a, - 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x04, 0x89, 0x01, 0x02, 0x18, 0x1a, 0x1f, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x02, 0x05, 0x12, 0x04, 0x89, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x02, 0x01, 0x12, 0x04, 0x89, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x02, 0x03, 0x12, 0x04, 0x89, 0x01, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x07, 0x12, - 0x06, 0x8c, 0x01, 0x00, 0x8e, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, - 0x8c, 0x01, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0x8d, 0x01, - 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8d, 0x01, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8d, 0x01, 0x09, 0x0d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8d, 0x01, 0x10, 0x11, 0x0a, - 0x0c, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0x90, 0x01, 0x00, 0x9c, 0x01, 0x01, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0x90, 0x01, 0x08, 0x1f, 0x0a, 0x45, 0x0a, 0x04, 0x04, 0x08, - 0x02, 0x00, 0x12, 0x04, 0x92, 0x01, 0x02, 0x12, 0x1a, 0x37, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x28, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x61, 0x73, 0x20, 0x64, 0x65, 0x63, 0x6c, - 0x61, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x44, 0x4b, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x05, 0x12, 0x04, 0x92, 0x01, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0x92, 0x01, 0x09, 0x0d, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0x92, 0x01, 0x10, 0x11, 0x0a, 0x93, - 0x02, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0x98, 0x01, 0x02, 0x1c, 0x1a, 0x84, 0x02, - 0x20, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, - 0x44, 0x4b, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x63, - 0x61, 0x6c, 0x6c, 0x2e, 0x20, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x75, 0x73, 0x65, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x0a, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2d, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x20, 0x2f, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, - 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x73, 0x6f, 0x0a, 0x20, 0x60, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x20, 0x3c, 0x72, 0x75, 0x6e, 0x3e, 0x20, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x3e, 0x20, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x60, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x70, - 0x69, 0x63, 0x6b, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x0a, 0x20, 0x70, - 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, - 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, - 0x72, 0x20, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x60, 0x2d, 0x2d, 0x74, 0x79, 0x70, - 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x06, 0x12, 0x04, 0x98, - 0x01, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0x98, 0x01, - 0x13, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x04, 0x98, 0x01, 0x1a, - 0x1b, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x09, 0x12, 0x04, 0x9a, 0x01, 0x02, 0x13, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x08, 0x09, 0x00, 0x12, 0x04, 0x9a, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x09, 0x00, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x09, 0x00, 0x02, 0x12, 0x04, 0x9a, 0x01, 0x0b, 0x0c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, - 0x09, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x0e, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x09, 0x01, - 0x01, 0x12, 0x04, 0x9a, 0x01, 0x0e, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x09, 0x01, 0x02, - 0x12, 0x04, 0x9a, 0x01, 0x0e, 0x0f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x09, 0x02, 0x12, 0x04, - 0x9a, 0x01, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x09, 0x02, 0x01, 0x12, 0x04, 0x9a, - 0x01, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x09, 0x02, 0x02, 0x12, 0x04, 0x9a, 0x01, - 0x11, 0x12, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x0a, 0x12, 0x04, 0x9b, 0x01, 0x02, 0x2b, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x0a, 0x00, 0x12, 0x04, 0x9b, 0x01, 0x0b, 0x13, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x08, 0x0a, 0x01, 0x12, 0x04, 0x9b, 0x01, 0x15, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x08, 0x0a, 0x02, 0x12, 0x04, 0x9b, 0x01, 0x22, 0x2a, 0x0a, 0x3d, 0x0a, 0x02, 0x04, 0x09, 0x12, - 0x06, 0x9f, 0x01, 0x00, 0xd0, 0x01, 0x01, 0x1a, 0x2f, 0x20, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x2c, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, - 0x04, 0x9f, 0x01, 0x08, 0x16, 0x0a, 0x2e, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0xa1, - 0x01, 0x02, 0x14, 0x1a, 0x20, 0x20, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x6f, 0x6f, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x05, 0x12, 0x04, - 0xa1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa1, - 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa1, 0x01, - 0x12, 0x13, 0x0a, 0x3c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x01, 0x12, 0x04, 0xa4, 0x01, 0x02, 0x13, - 0x1a, 0x2e, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x2c, - 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa4, 0x01, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa4, 0x01, 0x09, 0x0e, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa4, 0x01, 0x11, 0x12, 0x0a, 0x30, 0x0a, - 0x04, 0x04, 0x09, 0x02, 0x02, 0x12, 0x04, 0xa7, 0x01, 0x02, 0x2a, 0x1a, 0x22, 0x20, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x06, 0x12, 0x04, 0xa7, 0x01, 0x02, 0x19, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa7, 0x01, 0x1a, 0x25, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x02, 0x03, 0x12, 0x04, 0xa7, 0x01, 0x28, 0x29, 0x0a, 0x0e, 0x0a, 0x04, - 0x04, 0x09, 0x08, 0x00, 0x12, 0x06, 0xa9, 0x01, 0x02, 0xb2, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x08, 0x00, 0x01, 0x12, 0x04, 0xa9, 0x01, 0x08, 0x0c, 0x0a, 0x1c, 0x0a, 0x04, 0x04, - 0x09, 0x02, 0x03, 0x12, 0x04, 0xab, 0x01, 0x04, 0x20, 0x1a, 0x0e, 0x20, 0x54, 0x61, 0x73, 0x6b, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x03, 0x06, 0x12, 0x04, 0xab, 0x01, 0x04, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, - 0x01, 0x12, 0x04, 0xab, 0x01, 0x17, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x03, - 0x12, 0x04, 0xab, 0x01, 0x1e, 0x1f, 0x0a, 0x1d, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x04, 0x12, 0x04, - 0xae, 0x01, 0x04, 0x22, 0x1a, 0x0f, 0x20, 0x54, 0x72, 0x61, 0x63, 0x65, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, 0x06, 0x12, 0x04, - 0xae, 0x01, 0x04, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, 0x01, 0x12, 0x04, 0xae, - 0x01, 0x18, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, 0x03, 0x12, 0x04, 0xae, 0x01, - 0x20, 0x21, 0x0a, 0x21, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x05, 0x12, 0x04, 0xb1, 0x01, 0x04, 0x2a, - 0x1a, 0x13, 0x20, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, 0x06, 0x12, 0x04, - 0xb1, 0x01, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, 0x01, 0x12, 0x04, 0xb1, - 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, 0x03, 0x12, 0x04, 0xb1, 0x01, - 0x28, 0x29, 0x0a, 0x1c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x06, 0x12, 0x04, 0xb5, 0x01, 0x02, 0x1e, - 0x1a, 0x0e, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, 0x06, 0x12, 0x04, 0xb5, 0x01, 0x02, 0x0c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, 0x01, 0x12, 0x04, 0xb5, 0x01, 0x0d, 0x18, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, 0x03, 0x12, 0x04, 0xb5, 0x01, 0x1b, 0x1d, 0x0a, 0x5f, 0x0a, - 0x04, 0x04, 0x09, 0x02, 0x07, 0x12, 0x04, 0xb8, 0x01, 0x02, 0x2b, 0x1a, 0x51, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x77, 0x61, 0x73, 0x20, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x07, 0x06, 0x12, 0x04, 0xb8, 0x01, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x07, 0x01, 0x12, 0x04, 0xb8, 0x01, 0x1b, 0x25, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x07, 0x03, 0x12, 0x04, 0xb8, 0x01, 0x28, 0x2a, 0x0a, 0x20, 0x0a, 0x04, 0x04, - 0x09, 0x02, 0x08, 0x12, 0x04, 0xbb, 0x01, 0x02, 0x1f, 0x1a, 0x12, 0x20, 0x45, 0x6e, 0x76, 0x69, - 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x08, 0x05, 0x12, 0x04, 0xbb, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x08, 0x01, 0x12, 0x04, 0xbb, 0x01, 0x09, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x08, 0x03, 0x12, 0x04, 0xbb, 0x01, 0x1c, 0x1e, 0x0a, 0x1d, 0x0a, 0x04, 0x04, 0x09, - 0x02, 0x09, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x1b, 0x1a, 0x0f, 0x20, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x09, 0x05, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x09, - 0x01, 0x12, 0x04, 0xbe, 0x01, 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x09, 0x03, - 0x12, 0x04, 0xbe, 0x01, 0x18, 0x1a, 0x0a, 0x1c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x0a, 0x12, 0x04, - 0xc1, 0x01, 0x02, 0x1b, 0x1a, 0x0e, 0x20, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0a, 0x05, 0x12, 0x04, 0xc1, - 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0a, 0x01, 0x12, 0x04, 0xc1, 0x01, - 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0a, 0x03, 0x12, 0x04, 0xc1, 0x01, 0x18, - 0x1a, 0x0a, 0x1c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x0b, 0x12, 0x04, 0xc4, 0x01, 0x02, 0x2f, 0x1a, - 0x0e, 0x20, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, 0x54, 0x79, 0x70, 0x65, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0b, 0x06, 0x12, 0x04, 0xc4, 0x01, 0x02, 0x1c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xc4, 0x01, 0x1d, 0x29, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xc4, 0x01, 0x2c, 0x2e, 0x0a, 0x26, 0x0a, 0x04, - 0x04, 0x09, 0x02, 0x0c, 0x12, 0x04, 0xc7, 0x01, 0x02, 0x18, 0x1a, 0x18, 0x20, 0x57, 0x68, 0x6f, - 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x72, 0x75, 0x6e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0c, 0x06, 0x12, 0x04, 0xc7, - 0x01, 0x02, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xc7, 0x01, - 0x0c, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xc7, 0x01, 0x15, - 0x17, 0x0a, 0x9f, 0x01, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x0d, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x20, - 0x1a, 0x90, 0x01, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6c, - 0x69, 0x6e, 0x6b, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, - 0x6f, 0x6d, 0x20, 0x28, 0x72, 0x65, 0x2d, 0x72, 0x75, 0x6e, 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x72, - 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x29, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x6e, 0x79, 0x2e, - 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x6e, 0x20, 0x72, 0x6f, 0x6f, - 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0d, 0x06, 0x12, 0x04, 0xcb, 0x01, - 0x02, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0d, 0x01, 0x12, 0x04, 0xcb, 0x01, 0x12, - 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0d, 0x03, 0x12, 0x04, 0xcb, 0x01, 0x1d, 0x1f, - 0x0a, 0xad, 0x01, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x0e, 0x12, 0x04, 0xcf, 0x01, 0x02, 0x2e, 0x1a, - 0x9e, 0x01, 0x20, 0x53, 0x65, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x77, 0x68, 0x65, 0x6e, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x73, - 0x20, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, - 0x61, 0x20, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x6e, 0x73, 0x74, - 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x0a, - 0x20, 0x68, 0x65, 0x72, 0x65, 0x3a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x20, 0x2b, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0e, 0x06, 0x12, 0x04, 0xcf, 0x01, 0x02, 0x19, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0e, 0x01, 0x12, 0x04, 0xcf, 0x01, 0x1a, 0x28, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0e, 0x03, 0x12, 0x04, 0xcf, 0x01, 0x2b, 0x2d, 0x0a, 0x0c, 0x0a, - 0x02, 0x05, 0x01, 0x12, 0x06, 0xd2, 0x01, 0x00, 0xd7, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, - 0x01, 0x01, 0x12, 0x04, 0xd2, 0x01, 0x05, 0x0f, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x00, - 0x12, 0x04, 0xd3, 0x01, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xd3, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x02, 0x12, 0x04, - 0xd3, 0x01, 0x1c, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x01, 0x12, 0x04, 0xd4, 0x01, - 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd4, 0x01, 0x02, - 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x02, 0x12, 0x04, 0xd4, 0x01, 0x15, 0x16, - 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x02, 0x12, 0x04, 0xd5, 0x01, 0x02, 0x18, 0x0a, 0x0d, - 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0xd5, 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, - 0x05, 0x05, 0x01, 0x02, 0x02, 0x02, 0x12, 0x04, 0xd5, 0x01, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, - 0x05, 0x01, 0x02, 0x03, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, - 0x02, 0x03, 0x01, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, - 0x03, 0x02, 0x12, 0x04, 0xd6, 0x01, 0x1a, 0x1b, 0x0a, 0x5c, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, - 0xda, 0x01, 0x00, 0xec, 0x01, 0x01, 0x1a, 0x4e, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x77, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, - 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, - 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x20, 0x73, 0x65, 0x65, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xda, - 0x01, 0x08, 0x14, 0x0a, 0x21, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xdc, 0x01, 0x02, - 0x1f, 0x1a, 0x13, 0x20, 0x4c, 0x61, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x70, - 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, - 0x04, 0xdc, 0x01, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xdc, 0x01, 0x15, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdc, - 0x01, 0x1d, 0x1e, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0xdf, 0x01, 0x02, - 0x2b, 0x1a, 0x1a, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x01, 0x06, 0x12, 0x04, 0xdf, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xdf, 0x01, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xdf, 0x01, 0x29, 0x2a, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x0a, - 0x02, 0x02, 0x12, 0x04, 0xe2, 0x01, 0x02, 0x32, 0x1a, 0x27, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x6e, 0x64, 0x65, 0x64, - 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x04, 0x12, 0x04, 0xe2, 0x01, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x06, 0x12, 0x04, 0xe2, 0x01, 0x0b, 0x24, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe2, 0x01, 0x25, 0x2d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x03, 0x12, 0x04, 0xe2, 0x01, 0x30, 0x31, 0x0a, 0x2a, 0x0a, - 0x04, 0x04, 0x0a, 0x02, 0x03, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x3b, 0x1a, 0x1c, 0x20, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, - 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, - 0x03, 0x05, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, - 0x01, 0x12, 0x04, 0xe5, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x03, - 0x12, 0x04, 0xe5, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x12, - 0x04, 0xe5, 0x01, 0x16, 0x3a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x87, 0x09, - 0x05, 0x04, 0x12, 0x04, 0xe5, 0x01, 0x17, 0x39, 0x0a, 0x3b, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x04, - 0x12, 0x04, 0xe8, 0x01, 0x02, 0x35, 0x1a, 0x2d, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x20, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x04, - 0xe8, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0xe8, - 0x01, 0x24, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0xe8, 0x01, - 0x33, 0x34, 0x0a, 0x37, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x05, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x22, - 0x1a, 0x29, 0x20, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x6d, 0x69, 0x6c, - 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x05, 0x04, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x05, 0x05, 0x12, 0x04, 0xeb, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, - 0x05, 0x01, 0x12, 0x04, 0xeb, 0x01, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x05, - 0x03, 0x12, 0x04, 0xeb, 0x01, 0x20, 0x21, 0x0a, 0x38, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xef, - 0x01, 0x00, 0xf8, 0x01, 0x01, 0x1a, 0x2a, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x77, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xef, 0x01, 0x08, 0x0e, 0x0a, 0x23, - 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, 0xf1, 0x01, 0x02, 0x21, 0x1a, 0x15, 0x20, 0x49, - 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf1, 0x01, - 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf1, 0x01, 0x1a, - 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf1, 0x01, 0x1f, 0x20, - 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x01, 0x12, 0x04, 0xf4, 0x01, 0x02, 0x1e, 0x1a, 0x1b, - 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0b, 0x02, 0x01, 0x06, 0x12, 0x04, 0xf4, 0x01, 0x02, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xf4, 0x01, 0x11, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xf4, 0x01, 0x1c, 0x1d, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x02, - 0x12, 0x04, 0xf7, 0x01, 0x02, 0x1a, 0x1a, 0x14, 0x20, 0x4c, 0x61, 0x73, 0x74, 0x20, 0x6b, 0x6e, - 0x6f, 0x77, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0b, 0x02, 0x02, 0x06, 0x12, 0x04, 0xf7, 0x01, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0b, 0x02, 0x02, 0x01, 0x12, 0x04, 0xf7, 0x01, 0x0f, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, - 0x02, 0x02, 0x03, 0x12, 0x04, 0xf7, 0x01, 0x18, 0x19, 0x0a, 0x5e, 0x0a, 0x02, 0x04, 0x0c, 0x12, - 0x06, 0xfb, 0x01, 0x00, 0x85, 0x02, 0x01, 0x1a, 0x50, 0x20, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, - 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x77, 0x72, - 0x61, 0x70, 0x70, 0x65, 0x72, 0x20, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x73, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, - 0x12, 0x04, 0xfb, 0x01, 0x08, 0x16, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, - 0xfd, 0x01, 0x02, 0x14, 0x1a, 0x14, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x69, 0x74, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x00, 0x06, 0x12, 0x04, 0xfd, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xfd, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xfd, 0x01, 0x12, 0x13, 0x0a, 0xc5, 0x01, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x01, - 0x12, 0x04, 0x81, 0x02, 0x02, 0x18, 0x1a, 0xb6, 0x01, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, - 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x65, - 0x65, 0x74, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x2e, 0x0a, 0x20, 0x49, 0x66, - 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x77, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x20, 0x6d, - 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6e, 0x6f, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x20, - 0x64, 0x6f, 0x65, 0x73, 0x2c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, - 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x6c, 0x61, - 0x67, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x05, 0x12, 0x04, 0x81, 0x02, 0x02, 0x06, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x01, 0x12, 0x04, 0x81, 0x02, 0x07, 0x13, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0c, 0x02, 0x01, 0x03, 0x12, 0x04, 0x81, 0x02, 0x16, 0x17, 0x0a, 0x64, 0x0a, 0x04, - 0x04, 0x0c, 0x02, 0x02, 0x12, 0x04, 0x84, 0x02, 0x02, 0x2e, 0x1a, 0x56, 0x20, 0x43, 0x68, 0x69, - 0x6c, 0x64, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x4d, - 0x61, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, - 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, - 0x29, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, 0x06, 0x12, 0x04, 0x84, 0x02, 0x02, - 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, 0x01, 0x12, 0x04, 0x84, 0x02, 0x14, 0x29, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, 0x03, 0x12, 0x04, 0x84, 0x02, 0x2c, 0x2d, 0x0a, - 0x37, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0x88, 0x02, 0x00, 0x94, 0x02, 0x01, 0x1a, 0x29, 0x20, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, - 0x04, 0x88, 0x02, 0x08, 0x11, 0x0a, 0x1e, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, 0x8a, - 0x02, 0x02, 0x15, 0x1a, 0x10, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, - 0x8a, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8a, - 0x02, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8a, 0x02, - 0x13, 0x14, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0d, 0x04, 0x00, 0x12, 0x06, 0x8c, 0x02, 0x02, 0x90, - 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x04, 0x00, 0x01, 0x12, 0x04, 0x8c, 0x02, 0x07, - 0x0b, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0d, 0x04, 0x00, 0x02, 0x00, 0x12, 0x04, 0x8d, 0x02, 0x04, - 0x19, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0d, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8d, 0x02, - 0x04, 0x14, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0d, 0x04, 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, 0x8d, - 0x02, 0x17, 0x18, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0d, 0x04, 0x00, 0x02, 0x01, 0x12, 0x04, 0x8e, - 0x02, 0x04, 0x12, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0d, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, - 0x8e, 0x02, 0x04, 0x0d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0d, 0x04, 0x00, 0x02, 0x01, 0x02, 0x12, - 0x04, 0x8e, 0x02, 0x10, 0x11, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0d, 0x04, 0x00, 0x02, 0x02, 0x12, - 0x04, 0x8f, 0x02, 0x04, 0x14, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0d, 0x04, 0x00, 0x02, 0x02, 0x01, - 0x12, 0x04, 0x8f, 0x02, 0x04, 0x0f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0d, 0x04, 0x00, 0x02, 0x02, - 0x02, 0x12, 0x04, 0x8f, 0x02, 0x12, 0x13, 0x0a, 0x1b, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x01, 0x12, - 0x04, 0x93, 0x02, 0x02, 0x10, 0x1a, 0x0d, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6b, 0x69, - 0x6e, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x06, 0x12, 0x04, 0x93, - 0x02, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x01, 0x12, 0x04, 0x93, 0x02, - 0x07, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x03, 0x12, 0x04, 0x93, 0x02, 0x0e, - 0x0f, 0x0a, 0x3d, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, 0x97, 0x02, 0x00, 0x9d, 0x02, 0x01, 0x1a, - 0x2f, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x63, 0x61, 0x70, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, - 0x61, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0x97, 0x02, 0x08, 0x11, 0x0a, 0x2e, 0x0a, - 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0x99, 0x02, 0x02, 0x14, 0x1a, 0x20, 0x20, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0e, 0x02, 0x00, 0x05, 0x12, 0x04, 0x99, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0x99, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0x99, 0x02, 0x12, 0x13, 0x0a, 0x2e, 0x0a, 0x04, 0x04, 0x0e, - 0x02, 0x01, 0x12, 0x04, 0x9c, 0x02, 0x02, 0x29, 0x1a, 0x20, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, - 0x02, 0x01, 0x06, 0x12, 0x04, 0x9c, 0x02, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, - 0x01, 0x01, 0x12, 0x04, 0x9c, 0x02, 0x1a, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, - 0x03, 0x12, 0x04, 0x9c, 0x02, 0x27, 0x28, 0x0a, 0x56, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xa0, - 0x02, 0x00, 0xa7, 0x02, 0x01, 0x1a, 0x48, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x6e, + 0x10, 0x03, 0x2a, 0x86, 0x01, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, + 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x10, 0x01, + 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, + 0x4c, 0x49, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, + 0x43, 0x45, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x47, + 0x47, 0x45, 0x52, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x4f, 0x55, + 0x52, 0x43, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x42, 0xcd, 0x01, 0x0a, 0x16, + 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x12, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, + 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, + 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, + 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xa7, 0x95, 0x01, 0x0a, + 0x07, 0x12, 0x05, 0x00, 0x00, 0x9e, 0x04, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, + 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, + 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, + 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x2b, 0x0a, 0x09, 0x0a, + 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, + 0x08, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x24, 0x0a, 0x09, + 0x0a, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, + 0x03, 0x0b, 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x08, 0x12, 0x03, 0x0c, 0x00, 0x27, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x09, 0x12, 0x03, 0x0d, 0x00, 0x24, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x0a, + 0x12, 0x03, 0x0e, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x0b, 0x12, 0x03, 0x0f, 0x00, 0x22, + 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x0c, 0x12, 0x03, 0x10, 0x00, 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x03, + 0x0d, 0x12, 0x03, 0x11, 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x0e, 0x12, 0x03, 0x12, 0x00, + 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x0f, 0x12, 0x03, 0x13, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, + 0x03, 0x10, 0x12, 0x03, 0x14, 0x00, 0x28, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x16, 0x00, + 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x16, 0x00, 0x4d, 0x0a, 0x0a, 0x0a, 0x02, + 0x04, 0x00, 0x12, 0x04, 0x18, 0x00, 0x23, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, + 0x03, 0x18, 0x08, 0x0b, 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x1a, 0x02, + 0x14, 0x1a, 0x30, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, + 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x1a, 0x02, + 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x1a, 0x09, 0x0f, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1a, 0x12, 0x13, 0x0a, 0xcb, 0x03, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x22, 0x02, 0x21, 0x1a, 0xbd, 0x03, 0x20, 0x55, + 0x73, 0x65, 0x72, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x20, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, + 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x0a, 0x20, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x20, 0x61, 0x73, 0x20, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, 0x28, 0x74, 0x68, 0x65, 0x20, 0x6b, 0x38, 0x73, 0x20, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x64, 0x73, 0x2f, + 0x6a, 0x6f, 0x62, 0x73, 0x20, 0x61, 0x74, 0x0a, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x69, 0x61, 0x20, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x29, 0x2e, 0x20, 0x4f, 0x6e, 0x20, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x2c, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, 0x73, 0x75, 0x70, 0x70, + 0x6c, 0x69, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x52, 0x75, + 0x6e, 0x53, 0x70, 0x65, 0x63, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x2c, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x20, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x70, 0x72, 0x65, 0x63, 0x65, 0x64, + 0x65, 0x6e, 0x63, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x65, + 0x72, 0x67, 0x65, 0x64, 0x20, 0x73, 0x65, 0x74, 0x20, 0x69, 0x73, 0x20, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x64, 0x20, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x0a, 0x20, 0x49, 0x74, 0x20, + 0x69, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x73, + 0x6f, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x74, 0x20, 0x67, 0x65, 0x74, 0x73, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, + 0x74, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x22, 0x02, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x01, 0x01, 0x12, 0x03, 0x22, 0x16, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, + 0x12, 0x03, 0x22, 0x1f, 0x20, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x25, 0x00, 0x2b, + 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x25, 0x08, 0x12, 0x0a, 0x18, 0x0a, + 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x27, 0x02, 0x1c, 0x1a, 0x0b, 0x20, 0x52, 0x75, 0x6e, + 0x20, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, + 0x12, 0x03, 0x27, 0x02, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, + 0x27, 0x0f, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x27, 0x1a, + 0x1b, 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x2a, 0x02, 0x1b, 0x1a, 0x2d, + 0x20, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x01, 0x06, 0x12, 0x03, 0x2a, 0x02, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x2a, 0x10, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x01, 0x03, 0x12, 0x03, 0x2a, 0x19, 0x1a, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x2d, + 0x00, 0x3b, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x2d, 0x08, 0x12, 0x0a, + 0x5e, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x2f, 0x02, 0x1d, 0x1a, 0x51, 0x20, 0x61, + 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, + 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x2c, 0x20, + 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x2f, 0x02, 0x15, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x2f, 0x16, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x2f, 0x1b, 0x1c, 0x0a, 0x39, 0x0a, 0x04, 0x04, 0x02, 0x02, + 0x01, 0x12, 0x03, 0x32, 0x02, 0x40, 0x1a, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, + 0x61, 0x73, 0x6b, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, 0x03, 0x32, + 0x02, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x32, 0x10, 0x14, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x32, 0x17, 0x18, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, 0x03, 0x32, 0x19, 0x3f, 0x0a, 0x0f, 0x0a, 0x08, + 0x04, 0x02, 0x02, 0x01, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x32, 0x1a, 0x3e, 0x0a, 0x4f, 0x0a, + 0x04, 0x04, 0x02, 0x02, 0x02, 0x12, 0x03, 0x35, 0x02, 0x2c, 0x1a, 0x42, 0x20, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x20, 0x63, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x68, 0x65, + 0x6e, 0x20, 0x73, 0x65, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x20, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x06, 0x12, 0x03, 0x35, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x02, 0x01, 0x12, 0x03, 0x35, 0x1e, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x02, 0x03, 0x12, 0x03, 0x35, 0x2a, 0x2b, 0x0a, 0x81, 0x01, 0x0a, 0x04, 0x04, 0x02, 0x02, + 0x03, 0x12, 0x03, 0x39, 0x02, 0x13, 0x1a, 0x74, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x71, 0x75, 0x65, 0x75, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x68, 0x6f, + 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x20, + 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x65, 0x74, 0x2c, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x71, 0x75, 0x65, 0x75, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x60, 0x20, 0x77, 0x69, + 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x03, 0x05, 0x12, 0x03, 0x39, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x03, 0x01, 0x12, 0x03, 0x39, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, + 0x03, 0x12, 0x03, 0x39, 0x11, 0x12, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x0a, 0x12, 0x03, 0x3a, + 0x02, 0x15, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x0a, 0x00, 0x12, 0x03, 0x3a, 0x0b, 0x14, 0x0a, + 0xfc, 0x01, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x40, 0x00, 0x51, 0x01, 0x1a, 0xef, 0x01, 0x20, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x75, + 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x20, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x27, 0x73, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, + 0x0a, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x77, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, + 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x72, 0x69, 0x6e, 0x67, + 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x6d, 0x20, 0x74, 0x6f, 0x20, + 0x63, 0x6f, 0x64, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x27, 0x73, 0x20, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x77, 0x69, 0x73, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x29, 0x2e, 0x0a, 0x0a, 0x0a, + 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x40, 0x08, 0x13, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, + 0x02, 0x00, 0x12, 0x03, 0x41, 0x02, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, + 0x12, 0x03, 0x41, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, + 0x41, 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x41, 0x10, + 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x03, 0x41, 0x12, 0x3b, 0x0a, + 0x10, 0x0a, 0x09, 0x04, 0x03, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x41, 0x13, + 0x3a, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x03, 0x44, 0x02, 0x1f, 0x1a, 0x13, + 0x20, 0x4c, 0x61, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x70, 0x68, 0x61, 0x73, + 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x06, 0x12, 0x03, 0x44, 0x02, + 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x03, 0x44, 0x15, 0x1a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x44, 0x1d, 0x1e, 0x0a, 0x28, 0x0a, + 0x04, 0x04, 0x03, 0x02, 0x02, 0x12, 0x03, 0x47, 0x02, 0x2b, 0x1a, 0x1b, 0x20, 0x54, 0x69, 0x6d, + 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x06, + 0x12, 0x03, 0x47, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x12, 0x03, + 0x47, 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, 0x03, 0x47, 0x29, + 0x2a, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x03, 0x12, 0x03, 0x4a, 0x02, 0x32, 0x1a, 0x28, + 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, + 0x74, 0x20, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, + 0x04, 0x12, 0x03, 0x4a, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x06, 0x12, + 0x03, 0x4a, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x01, 0x12, 0x03, 0x4a, + 0x25, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x03, 0x12, 0x03, 0x4a, 0x30, 0x31, + 0x0a, 0x21, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x04, 0x12, 0x03, 0x4d, 0x02, 0x24, 0x1a, 0x14, 0x20, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x06, 0x12, 0x03, 0x4d, 0x02, + 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x01, 0x12, 0x03, 0x4d, 0x18, 0x1f, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x03, 0x12, 0x03, 0x4d, 0x22, 0x23, 0x0a, 0x4e, 0x0a, + 0x04, 0x04, 0x03, 0x02, 0x05, 0x12, 0x03, 0x50, 0x02, 0x41, 0x1a, 0x41, 0x20, 0x54, 0x61, 0x73, + 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, + 0x72, 0x61, 0x63, 0x65, 0x2c, 0x20, 0x75, 0x73, 0x65, 0x66, 0x75, 0x6c, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x66, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x03, 0x02, 0x05, 0x06, 0x12, 0x03, 0x50, 0x02, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x05, 0x01, 0x12, 0x03, 0x50, 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, + 0x05, 0x03, 0x12, 0x03, 0x50, 0x18, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x08, + 0x12, 0x03, 0x50, 0x1a, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x05, 0x08, 0x87, 0x09, + 0x19, 0x12, 0x03, 0x50, 0x1b, 0x3f, 0x0a, 0xaf, 0x01, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x55, + 0x00, 0x70, 0x01, 0x1a, 0xa2, 0x01, 0x20, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, + 0x6f, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, + 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x74, 0x20, 0x72, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, + 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, + 0x61, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x6e, + 0x20, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x63, 0x61, 0x72, 0x72, 0x79, 0x20, 0x61, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, + 0x03, 0x55, 0x08, 0x17, 0x0a, 0x3c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x57, 0x02, + 0x3c, 0x1a, 0x2f, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x03, 0x57, 0x02, 0x08, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x57, 0x09, 0x0d, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x57, 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x57, 0x12, 0x3b, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x04, + 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x57, 0x13, 0x3a, 0x0a, 0x54, 0x0a, 0x03, + 0x04, 0x04, 0x09, 0x12, 0x03, 0x5a, 0x02, 0x13, 0x1a, 0x48, 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x20, 0x32, 0x2d, 0x34, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x28, + 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x6c, 0x79, 0x20, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x20, 0x6f, + 0x6e, 0x65, 0x6f, 0x66, 0x3a, 0x20, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x2c, 0x20, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x2c, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x29, + 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x09, 0x00, 0x12, 0x03, 0x5a, 0x0b, 0x0c, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x00, 0x01, 0x12, 0x03, 0x5a, 0x0b, 0x0c, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x04, 0x09, 0x00, 0x02, 0x12, 0x03, 0x5a, 0x0b, 0x0c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, + 0x04, 0x09, 0x01, 0x12, 0x03, 0x5a, 0x0e, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x01, + 0x01, 0x12, 0x03, 0x5a, 0x0e, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x01, 0x02, 0x12, + 0x03, 0x5a, 0x0e, 0x0f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x09, 0x02, 0x12, 0x03, 0x5a, 0x11, + 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x02, 0x01, 0x12, 0x03, 0x5a, 0x11, 0x12, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x02, 0x02, 0x12, 0x03, 0x5a, 0x11, 0x12, 0x0a, 0x0a, 0x0a, + 0x03, 0x04, 0x04, 0x0a, 0x12, 0x03, 0x5b, 0x02, 0x2b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x0a, + 0x00, 0x12, 0x03, 0x5b, 0x0b, 0x13, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x0a, 0x01, 0x12, 0x03, + 0x5b, 0x15, 0x20, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x0a, 0x02, 0x12, 0x03, 0x5b, 0x22, 0x2a, + 0x0a, 0x41, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x5e, 0x02, 0x26, 0x1a, 0x34, 0x20, + 0x54, 0x79, 0x70, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x06, 0x12, 0x03, 0x5e, 0x02, + 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x03, 0x5e, 0x1d, 0x21, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x03, 0x5e, 0x24, 0x25, 0x0a, 0x46, 0x0a, + 0x04, 0x04, 0x04, 0x02, 0x02, 0x12, 0x03, 0x61, 0x02, 0x41, 0x1a, 0x39, 0x20, 0x50, 0x72, 0x6f, + 0x6d, 0x70, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x77, 0x61, 0x69, + 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x05, 0x12, 0x03, + 0x61, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x61, 0x09, + 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x03, 0x61, 0x12, 0x13, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x08, 0x12, 0x03, 0x61, 0x14, 0x40, 0x0a, 0x10, 0x0a, + 0x09, 0x04, 0x04, 0x02, 0x02, 0x08, 0x87, 0x09, 0x0e, 0x03, 0x12, 0x03, 0x61, 0x15, 0x3f, 0x0a, + 0x2c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x03, 0x12, 0x03, 0x64, 0x02, 0x46, 0x1a, 0x1f, 0x20, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x04, 0x02, 0x03, 0x05, 0x12, 0x03, 0x64, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x04, 0x02, 0x03, 0x01, 0x12, 0x03, 0x64, 0x09, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x03, 0x03, 0x12, 0x03, 0x64, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x08, + 0x12, 0x03, 0x64, 0x19, 0x45, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x04, 0x02, 0x03, 0x08, 0x87, 0x09, + 0x0e, 0x03, 0x12, 0x03, 0x64, 0x1a, 0x44, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x04, 0x12, + 0x03, 0x67, 0x02, 0x26, 0x1a, 0x1b, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x06, 0x12, 0x03, 0x67, 0x02, 0x15, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x01, 0x12, 0x03, 0x67, 0x16, 0x21, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x04, 0x02, 0x04, 0x03, 0x12, 0x03, 0x67, 0x24, 0x25, 0x0a, 0xed, 0x01, 0x0a, 0x04, + 0x04, 0x04, 0x02, 0x05, 0x12, 0x03, 0x6c, 0x02, 0x28, 0x1a, 0xdf, 0x01, 0x20, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x20, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x0a, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, + 0x66, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x69, + 0x74, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x54, 0x49, 0x4d, 0x45, 0x44, 0x5f, 0x4f, 0x55, 0x54, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, + 0x61, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, + 0x0a, 0x20, 0x4d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x6c, 0x79, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, + 0x20, 0x73, 0x65, 0x74, 0x3b, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, + 0x65, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x04, 0x02, 0x05, 0x06, 0x12, 0x03, 0x6c, 0x02, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x05, 0x01, 0x12, 0x03, 0x6c, 0x1b, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x03, + 0x12, 0x03, 0x6c, 0x25, 0x27, 0x0a, 0x4d, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x06, 0x12, 0x03, 0x6f, + 0x02, 0x20, 0x1a, 0x40, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x77, 0x65, + 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x72, 0x65, 0x20, 0x77, 0x68, + 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x06, 0x06, 0x12, 0x03, 0x6f, + 0x02, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x06, 0x01, 0x12, 0x03, 0x6f, 0x13, 0x1a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x06, 0x03, 0x12, 0x03, 0x6f, 0x1d, 0x1f, 0x0a, 0x0a, + 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, 0x72, 0x00, 0x76, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, + 0x01, 0x12, 0x03, 0x72, 0x05, 0x18, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, + 0x73, 0x02, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x73, 0x02, + 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x73, 0x26, 0x27, 0x0a, + 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, 0x74, 0x02, 0x21, 0x0a, 0x0c, 0x0a, 0x05, + 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x74, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x01, 0x02, 0x12, 0x03, 0x74, 0x1f, 0x20, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, + 0x12, 0x03, 0x75, 0x02, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, + 0x75, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x75, 0x23, + 0x24, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x78, 0x00, 0x7f, 0x01, 0x0a, 0x0a, 0x0a, + 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x78, 0x08, 0x18, 0x0a, 0x51, 0x0a, 0x04, 0x04, 0x05, 0x02, + 0x00, 0x12, 0x03, 0x7a, 0x02, 0x11, 0x1a, 0x44, 0x20, 0x54, 0x68, 0x65, 0x20, 0x48, 0x54, 0x54, + 0x50, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x50, 0x4f, + 0x53, 0x54, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x69, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x03, 0x7a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x7a, 0x09, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, + 0x03, 0x12, 0x03, 0x7a, 0x0f, 0x10, 0x0a, 0x95, 0x01, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, + 0x03, 0x7e, 0x02, 0x25, 0x1a, 0x87, 0x01, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x20, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x79, + 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x22, 0x7b, 0x63, 0x61, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x5f, 0x75, 0x72, 0x69, 0x7d, 0x22, 0x0a, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x55, 0x52, 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x06, 0x12, 0x03, 0x7e, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x03, 0x7e, 0x19, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x01, 0x03, 0x12, 0x03, 0x7e, 0x23, 0x24, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, + 0x81, 0x01, 0x00, 0x8a, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0x81, + 0x01, 0x08, 0x1a, 0x0a, 0x3e, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0x83, 0x01, 0x02, + 0x1d, 0x1a, 0x30, 0x20, 0x49, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, + 0x73, 0x6b, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, + 0x73, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x04, 0x83, 0x01, + 0x02, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0x83, 0x01, 0x16, + 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0x83, 0x01, 0x1b, 0x1c, + 0x0a, 0x25, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, 0x86, 0x01, 0x02, 0x17, 0x1a, 0x17, + 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, + 0x12, 0x04, 0x86, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, + 0x04, 0x86, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, + 0x86, 0x01, 0x15, 0x16, 0x0a, 0x2d, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x04, 0x89, 0x01, + 0x02, 0x18, 0x1a, 0x1f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x61, 0x73, + 0x6b, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x05, 0x12, 0x04, 0x89, 0x01, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x01, 0x12, 0x04, 0x89, 0x01, 0x09, + 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x03, 0x12, 0x04, 0x89, 0x01, 0x16, 0x17, + 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0x8c, 0x01, 0x00, 0x8e, 0x01, 0x01, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x07, 0x02, 0x00, 0x12, 0x04, 0x8d, 0x01, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, + 0x00, 0x05, 0x12, 0x04, 0x8d, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, + 0x01, 0x12, 0x04, 0x8d, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, + 0x12, 0x04, 0x8d, 0x01, 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0x90, 0x01, + 0x00, 0x9c, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0x90, 0x01, 0x08, + 0x1f, 0x0a, 0x45, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0x92, 0x01, 0x02, 0x12, 0x1a, + 0x37, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x29, 0x20, + 0x61, 0x73, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x53, 0x44, 0x4b, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, + 0x05, 0x12, 0x04, 0x92, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, + 0x12, 0x04, 0x92, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, + 0x04, 0x92, 0x01, 0x10, 0x11, 0x0a, 0x93, 0x02, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, + 0x98, 0x01, 0x02, 0x1c, 0x1a, 0x84, 0x02, 0x20, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x20, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x44, 0x4b, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x20, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x73, 0x20, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x0a, 0x20, 0x74, 0x6f, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x2d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x20, 0x2f, 0x20, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x69, 0x6e, + 0x67, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x20, 0x73, 0x6f, 0x0a, 0x20, 0x60, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x20, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x6c, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x3c, 0x72, 0x75, 0x6e, 0x3e, 0x20, + 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x20, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, + 0x60, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x70, 0x69, 0x63, 0x6b, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x0a, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x20, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x20, 0x60, 0x2d, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x08, 0x02, 0x01, 0x06, 0x12, 0x04, 0x98, 0x01, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, + 0x02, 0x01, 0x01, 0x12, 0x04, 0x98, 0x01, 0x13, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, + 0x01, 0x03, 0x12, 0x04, 0x98, 0x01, 0x1a, 0x1b, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x09, 0x12, + 0x04, 0x9a, 0x01, 0x02, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x09, 0x00, 0x12, 0x04, 0x9a, + 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x09, 0x00, 0x01, 0x12, 0x04, 0x9a, 0x01, + 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x09, 0x00, 0x02, 0x12, 0x04, 0x9a, 0x01, 0x0b, + 0x0c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x09, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x0e, 0x0f, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x09, 0x01, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x0e, 0x0f, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x08, 0x09, 0x01, 0x02, 0x12, 0x04, 0x9a, 0x01, 0x0e, 0x0f, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x08, 0x09, 0x02, 0x12, 0x04, 0x9a, 0x01, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x08, 0x09, 0x02, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, + 0x09, 0x02, 0x02, 0x12, 0x04, 0x9a, 0x01, 0x11, 0x12, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x0a, + 0x12, 0x04, 0x9b, 0x01, 0x02, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x0a, 0x00, 0x12, 0x04, + 0x9b, 0x01, 0x0b, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x0a, 0x01, 0x12, 0x04, 0x9b, 0x01, + 0x15, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x0a, 0x02, 0x12, 0x04, 0x9b, 0x01, 0x22, 0x2a, + 0x0a, 0x3d, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0x9f, 0x01, 0x00, 0xd0, 0x01, 0x01, 0x1a, 0x2f, + 0x20, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x2c, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x77, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x62, + 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0x9f, 0x01, 0x08, 0x16, 0x0a, 0x2e, 0x0a, 0x04, + 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x14, 0x1a, 0x20, 0x20, 0x50, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, + 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa1, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x00, 0x03, 0x12, 0x04, 0xa1, 0x01, 0x12, 0x13, 0x0a, 0x3c, 0x0a, 0x04, 0x04, 0x09, 0x02, + 0x01, 0x12, 0x04, 0xa4, 0x01, 0x02, 0x13, 0x1a, 0x2e, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x6c, 0x6f, + 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x05, + 0x12, 0x04, 0xa4, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xa4, 0x01, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xa4, 0x01, 0x11, 0x12, 0x0a, 0x30, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x02, 0x12, 0x04, 0xa7, 0x01, + 0x02, 0x2a, 0x1a, 0x22, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x06, 0x12, + 0x04, 0xa7, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x01, 0x12, 0x04, + 0xa7, 0x01, 0x1a, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x03, 0x12, 0x04, 0xa7, + 0x01, 0x28, 0x29, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x09, 0x08, 0x00, 0x12, 0x06, 0xa9, 0x01, 0x02, + 0xb2, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x08, 0x00, 0x01, 0x12, 0x04, 0xa9, 0x01, + 0x08, 0x0c, 0x0a, 0x1c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x03, 0x12, 0x04, 0xab, 0x01, 0x04, 0x20, + 0x1a, 0x0e, 0x20, 0x54, 0x61, 0x73, 0x6b, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x06, 0x12, 0x04, 0xab, 0x01, 0x04, 0x16, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x01, 0x12, 0x04, 0xab, 0x01, 0x17, 0x1b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x03, 0x12, 0x04, 0xab, 0x01, 0x1e, 0x1f, 0x0a, 0x1d, 0x0a, + 0x04, 0x04, 0x09, 0x02, 0x04, 0x12, 0x04, 0xae, 0x01, 0x04, 0x22, 0x1a, 0x0f, 0x20, 0x54, 0x72, + 0x61, 0x63, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x04, 0x06, 0x12, 0x04, 0xae, 0x01, 0x04, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x04, 0x01, 0x12, 0x04, 0xae, 0x01, 0x18, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x04, 0x03, 0x12, 0x04, 0xae, 0x01, 0x20, 0x21, 0x0a, 0x21, 0x0a, 0x04, 0x04, 0x09, 0x02, + 0x05, 0x12, 0x04, 0xb1, 0x01, 0x04, 0x2a, 0x1a, 0x13, 0x20, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x05, 0x06, 0x12, 0x04, 0xb1, 0x01, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x05, 0x01, 0x12, 0x04, 0xb1, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x05, 0x03, 0x12, 0x04, 0xb1, 0x01, 0x28, 0x29, 0x0a, 0x1c, 0x0a, 0x04, 0x04, 0x09, 0x02, + 0x06, 0x12, 0x04, 0xb5, 0x01, 0x02, 0x1e, 0x1a, 0x0e, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, 0x06, + 0x12, 0x04, 0xb5, 0x01, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, 0x01, 0x12, + 0x04, 0xb5, 0x01, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, 0x03, 0x12, 0x04, + 0xb5, 0x01, 0x1b, 0x1d, 0x0a, 0x5f, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x07, 0x12, 0x04, 0xb8, 0x01, + 0x02, 0x2b, 0x1a, 0x51, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, + 0x20, 0x77, 0x61, 0x73, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x20, 0x61, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2c, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x07, 0x06, 0x12, 0x04, + 0xb8, 0x01, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x07, 0x01, 0x12, 0x04, 0xb8, + 0x01, 0x1b, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x07, 0x03, 0x12, 0x04, 0xb8, 0x01, + 0x28, 0x2a, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x08, 0x12, 0x04, 0xbb, 0x01, 0x02, 0x1f, + 0x1a, 0x12, 0x20, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x08, 0x05, 0x12, 0x04, 0xbb, + 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x08, 0x01, 0x12, 0x04, 0xbb, 0x01, + 0x09, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x08, 0x03, 0x12, 0x04, 0xbb, 0x01, 0x1c, + 0x1e, 0x0a, 0x1d, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x09, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x1b, 0x1a, + 0x0f, 0x20, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x09, 0x05, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x09, 0x01, 0x12, 0x04, 0xbe, 0x01, 0x09, 0x15, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x09, 0x02, 0x09, 0x03, 0x12, 0x04, 0xbe, 0x01, 0x18, 0x1a, 0x0a, 0x1c, 0x0a, + 0x04, 0x04, 0x09, 0x02, 0x0a, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x1b, 0x1a, 0x0e, 0x20, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x0a, 0x05, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x0a, 0x01, 0x12, 0x04, 0xc1, 0x01, 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, + 0x0a, 0x03, 0x12, 0x04, 0xc1, 0x01, 0x18, 0x1a, 0x0a, 0x1c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x0b, + 0x12, 0x04, 0xc4, 0x01, 0x02, 0x2f, 0x1a, 0x0e, 0x20, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x20, 0x54, 0x79, 0x70, 0x65, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0b, 0x06, 0x12, + 0x04, 0xc4, 0x01, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0b, 0x01, 0x12, 0x04, + 0xc4, 0x01, 0x1d, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xc4, + 0x01, 0x2c, 0x2e, 0x0a, 0x26, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x0c, 0x12, 0x04, 0xc7, 0x01, 0x02, + 0x18, 0x1a, 0x18, 0x20, 0x57, 0x68, 0x6f, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x0c, 0x06, 0x12, 0x04, 0xc7, 0x01, 0x02, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x0c, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x0c, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, + 0x0c, 0x03, 0x12, 0x04, 0xc7, 0x01, 0x15, 0x17, 0x0a, 0x9f, 0x01, 0x0a, 0x04, 0x04, 0x09, 0x02, + 0x0d, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x20, 0x1a, 0x90, 0x01, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x28, 0x72, 0x65, 0x2d, 0x72, 0x75, + 0x6e, 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x29, 0x2c, 0x20, + 0x69, 0x66, 0x20, 0x61, 0x6e, 0x79, 0x2e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x73, 0x65, 0x74, + 0x20, 0x6f, 0x6e, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x0d, 0x06, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, + 0x0d, 0x01, 0x12, 0x04, 0xcb, 0x01, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0d, + 0x03, 0x12, 0x04, 0xcb, 0x01, 0x1d, 0x1f, 0x0a, 0xad, 0x01, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x0e, + 0x12, 0x04, 0xcf, 0x01, 0x02, 0x2e, 0x1a, 0x9e, 0x01, 0x20, 0x53, 0x65, 0x74, 0x20, 0x6f, 0x6e, + 0x6c, 0x79, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, + 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x20, 0x72, + 0x75, 0x6e, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x0a, 0x20, 0x68, 0x65, 0x72, 0x65, 0x3a, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x28, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x20, 0x2b, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x20, 0x77, 0x68, + 0x6f, 0x73, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, + 0x65, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0e, 0x06, + 0x12, 0x04, 0xcf, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0e, 0x01, 0x12, + 0x04, 0xcf, 0x01, 0x1a, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x0e, 0x03, 0x12, 0x04, + 0xcf, 0x01, 0x2b, 0x2d, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x01, 0x12, 0x06, 0xd2, 0x01, 0x00, 0xd7, + 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x01, 0x01, 0x12, 0x04, 0xd2, 0x01, 0x05, 0x0f, 0x0a, + 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x00, 0x12, 0x04, 0xd3, 0x01, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, + 0x05, 0x05, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd3, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, + 0x05, 0x01, 0x02, 0x00, 0x02, 0x12, 0x04, 0xd3, 0x01, 0x1c, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x05, + 0x01, 0x02, 0x01, 0x12, 0x04, 0xd4, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, + 0x01, 0x01, 0x12, 0x04, 0xd4, 0x01, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, + 0x02, 0x12, 0x04, 0xd4, 0x01, 0x15, 0x16, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x02, 0x12, + 0x04, 0xd5, 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, + 0xd5, 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x02, 0x12, 0x04, 0xd5, + 0x01, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x03, 0x12, 0x04, 0xd6, 0x01, 0x02, + 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x17, + 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, 0x02, 0x12, 0x04, 0xd6, 0x01, 0x1a, 0x1b, 0x0a, + 0x5c, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xda, 0x01, 0x00, 0xec, 0x01, 0x01, 0x1a, 0x4e, 0x20, + 0x4c, 0x69, 0x67, 0x68, 0x74, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x73, 0x65, 0x65, 0x20, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xda, 0x01, 0x08, 0x14, 0x0a, 0x21, 0x0a, 0x04, 0x04, 0x0a, + 0x02, 0x00, 0x12, 0x04, 0xdc, 0x01, 0x02, 0x1f, 0x1a, 0x13, 0x20, 0x4c, 0x61, 0x73, 0x74, 0x20, + 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, 0x04, 0xdc, 0x01, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdc, 0x01, 0x15, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdc, 0x01, 0x1d, 0x1e, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x0a, + 0x02, 0x01, 0x12, 0x04, 0xdf, 0x01, 0x02, 0x2b, 0x1a, 0x1a, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x06, 0x12, 0x04, 0xdf, + 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xdf, 0x01, + 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xdf, 0x01, 0x29, + 0x2a, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x02, 0x12, 0x04, 0xe2, 0x01, 0x02, 0x32, 0x1a, + 0x27, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, + 0x04, 0x12, 0x04, 0xe2, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x06, + 0x12, 0x04, 0xe2, 0x01, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x01, 0x12, + 0x04, 0xe2, 0x01, 0x25, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x03, 0x12, 0x04, + 0xe2, 0x01, 0x30, 0x31, 0x0a, 0x2a, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x03, 0x12, 0x04, 0xe5, 0x01, + 0x02, 0x3b, 0x1a, 0x1c, 0x20, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x04, 0xe5, 0x01, 0x09, 0x11, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x04, 0xe5, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x12, 0x04, 0xe5, 0x01, 0x16, 0x3a, 0x0a, 0x11, 0x0a, 0x09, + 0x04, 0x0a, 0x02, 0x03, 0x08, 0x87, 0x09, 0x05, 0x04, 0x12, 0x04, 0xe5, 0x01, 0x17, 0x39, 0x0a, + 0x3b, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x04, 0x12, 0x04, 0xe8, 0x01, 0x02, 0x35, 0x1a, 0x2d, 0x20, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x04, 0xe8, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0xe8, 0x01, 0x24, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, + 0x02, 0x04, 0x03, 0x12, 0x04, 0xe8, 0x01, 0x33, 0x34, 0x0a, 0x37, 0x0a, 0x04, 0x04, 0x0a, 0x02, + 0x05, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x22, 0x1a, 0x29, 0x20, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x69, 0x6e, 0x20, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x05, 0x04, 0x12, 0x04, 0xeb, 0x01, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x05, 0x05, 0x12, 0x04, 0xeb, 0x01, 0x0b, 0x11, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x05, 0x01, 0x12, 0x04, 0xeb, 0x01, 0x12, 0x1d, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x05, 0x03, 0x12, 0x04, 0xeb, 0x01, 0x20, 0x21, 0x0a, 0x38, + 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xef, 0x01, 0x00, 0xf8, 0x01, 0x01, 0x1a, 0x2a, 0x20, 0x4c, + 0x69, 0x67, 0x68, 0x74, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, + 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, + 0x04, 0xef, 0x01, 0x08, 0x0e, 0x0a, 0x23, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, 0xf1, + 0x01, 0x02, 0x21, 0x1a, 0x15, 0x20, 0x49, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, + 0x02, 0x00, 0x06, 0x12, 0x04, 0xf1, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, + 0x00, 0x01, 0x12, 0x04, 0xf1, 0x01, 0x1a, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, + 0x03, 0x12, 0x04, 0xf1, 0x01, 0x1f, 0x20, 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x01, 0x12, + 0x04, 0xf4, 0x01, 0x02, 0x1e, 0x1a, 0x1b, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x06, 0x12, 0x04, 0xf4, 0x01, 0x02, + 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf4, 0x01, 0x11, 0x19, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf4, 0x01, 0x1c, 0x1d, 0x0a, + 0x22, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x02, 0x12, 0x04, 0xf7, 0x01, 0x02, 0x1a, 0x1a, 0x14, 0x20, + 0x4c, 0x61, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x06, 0x12, 0x04, 0xf7, 0x01, + 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x01, 0x12, 0x04, 0xf7, 0x01, 0x0f, + 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x03, 0x12, 0x04, 0xf7, 0x01, 0x18, 0x19, + 0x0a, 0x5e, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xfb, 0x01, 0x00, 0x85, 0x02, 0x01, 0x1a, 0x50, + 0x20, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x69, 0x73, 0x20, 0x61, 0x20, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x20, 0x61, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xfb, 0x01, 0x08, 0x16, 0x0a, 0x22, 0x0a, + 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0xfd, 0x01, 0x02, 0x14, 0x1a, 0x14, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x74, 0x73, 0x65, 0x6c, 0x66, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x06, 0x12, 0x04, 0xfd, 0x01, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfd, 0x01, 0x09, 0x0f, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfd, 0x01, 0x12, 0x13, 0x0a, 0xc5, + 0x01, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x01, 0x12, 0x04, 0x81, 0x02, 0x02, 0x18, 0x1a, 0xb6, 0x01, + 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x6e, + 0x6f, 0x74, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, + 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6e, 0x6f, 0x20, + 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x2c, 0x20, 0x77, 0x69, 0x6c, + 0x6c, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, + 0x66, 0x61, 0x6c, 0x73, 0x65, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x05, 0x12, + 0x04, 0x81, 0x02, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x01, 0x12, 0x04, + 0x81, 0x02, 0x07, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x03, 0x12, 0x04, 0x81, + 0x02, 0x16, 0x17, 0x0a, 0x64, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x02, 0x12, 0x04, 0x84, 0x02, 0x02, + 0x2e, 0x1a, 0x56, 0x20, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, + 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x4d, 0x61, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x70, 0x68, 0x61, + 0x73, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x69, 0x76, 0x65, + 0x6e, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x29, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, + 0x02, 0x06, 0x12, 0x04, 0x84, 0x02, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, + 0x01, 0x12, 0x04, 0x84, 0x02, 0x14, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, 0x03, + 0x12, 0x04, 0x84, 0x02, 0x2c, 0x2d, 0x0a, 0x37, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0x88, 0x02, + 0x00, 0x94, 0x02, 0x01, 0x1a, 0x29, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x20, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x73, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x0a, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0x88, 0x02, 0x08, 0x11, 0x0a, 0x1e, 0x0a, 0x04, + 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, 0x8a, 0x02, 0x02, 0x15, 0x1a, 0x10, 0x20, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8a, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8a, 0x02, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, + 0x02, 0x00, 0x03, 0x12, 0x04, 0x8a, 0x02, 0x13, 0x14, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0d, 0x04, + 0x00, 0x12, 0x06, 0x8c, 0x02, 0x02, 0x90, 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x04, + 0x00, 0x01, 0x12, 0x04, 0x8c, 0x02, 0x07, 0x0b, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0d, 0x04, 0x00, + 0x02, 0x00, 0x12, 0x04, 0x8d, 0x02, 0x04, 0x19, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0d, 0x04, 0x00, + 0x02, 0x00, 0x01, 0x12, 0x04, 0x8d, 0x02, 0x04, 0x14, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0d, 0x04, + 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, 0x8d, 0x02, 0x17, 0x18, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0d, + 0x04, 0x00, 0x02, 0x01, 0x12, 0x04, 0x8e, 0x02, 0x04, 0x12, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0d, + 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8e, 0x02, 0x04, 0x0d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, + 0x0d, 0x04, 0x00, 0x02, 0x01, 0x02, 0x12, 0x04, 0x8e, 0x02, 0x10, 0x11, 0x0a, 0x0e, 0x0a, 0x06, + 0x04, 0x0d, 0x04, 0x00, 0x02, 0x02, 0x12, 0x04, 0x8f, 0x02, 0x04, 0x14, 0x0a, 0x0f, 0x0a, 0x07, + 0x04, 0x0d, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0x8f, 0x02, 0x04, 0x0f, 0x0a, 0x0f, 0x0a, + 0x07, 0x04, 0x0d, 0x04, 0x00, 0x02, 0x02, 0x02, 0x12, 0x04, 0x8f, 0x02, 0x12, 0x13, 0x0a, 0x1b, + 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x01, 0x12, 0x04, 0x93, 0x02, 0x02, 0x10, 0x1a, 0x0d, 0x20, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6b, 0x69, 0x6e, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0d, 0x02, 0x01, 0x06, 0x12, 0x04, 0x93, 0x02, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, + 0x02, 0x01, 0x01, 0x12, 0x04, 0x93, 0x02, 0x07, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, + 0x01, 0x03, 0x12, 0x04, 0x93, 0x02, 0x0e, 0x0f, 0x0a, 0x3d, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, + 0x97, 0x02, 0x00, 0x9d, 0x02, 0x01, 0x1a, 0x2f, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x73, 0x20, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xa0, 0x02, 0x08, 0x12, 0x0a, 0x36, 0x0a, 0x04, - 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xa2, 0x02, 0x02, 0x2b, 0x1a, 0x28, 0x20, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa2, - 0x02, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa2, 0x02, - 0x1a, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa2, 0x02, 0x29, - 0x2a, 0x0a, 0x94, 0x01, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x01, 0x12, 0x04, 0xa6, 0x02, 0x02, 0x24, - 0x1a, 0x85, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x62, - 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x0a, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x20, - 0x74, 0x79, 0x70, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x61, 0x6d, 0x65, 0x20, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x65, 0x78, 0x70, - 0x6f, 0x73, 0x65, 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, - 0x06, 0x12, 0x04, 0xa6, 0x02, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x01, - 0x12, 0x04, 0xa6, 0x02, 0x19, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x03, 0x12, - 0x04, 0xa6, 0x02, 0x22, 0x23, 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xaa, 0x02, 0x00, - 0xc6, 0x02, 0x01, 0x1a, 0x31, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x20, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xaa, - 0x02, 0x08, 0x15, 0x0a, 0x23, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x00, 0x12, 0x04, 0xac, 0x02, 0x02, - 0x21, 0x1a, 0x15, 0x20, 0x49, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, - 0x06, 0x12, 0x04, 0xac, 0x02, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xac, 0x02, 0x1a, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xac, 0x02, 0x1f, 0x20, 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x01, 0x12, 0x04, 0xaf, - 0x02, 0x02, 0x1e, 0x1a, 0x1b, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x06, 0x12, 0x04, 0xaf, 0x02, 0x02, 0x10, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x01, 0x12, 0x04, 0xaf, 0x02, 0x11, 0x19, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x03, 0x12, 0x04, 0xaf, 0x02, 0x1c, 0x1d, 0x0a, 0x22, 0x0a, - 0x04, 0x04, 0x10, 0x02, 0x02, 0x12, 0x04, 0xb2, 0x02, 0x02, 0x1a, 0x1a, 0x14, 0x20, 0x4c, 0x61, - 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x06, 0x12, 0x04, 0xb2, 0x02, 0x02, 0x0e, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x01, 0x12, 0x04, 0xb2, 0x02, 0x0f, 0x15, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x03, 0x12, 0x04, 0xb2, 0x02, 0x18, 0x19, 0x0a, 0x0e, - 0x0a, 0x04, 0x04, 0x10, 0x08, 0x00, 0x12, 0x06, 0xb4, 0x02, 0x02, 0xbb, 0x02, 0x03, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x10, 0x08, 0x00, 0x01, 0x12, 0x04, 0xb4, 0x02, 0x08, 0x0e, 0x0a, 0x35, 0x0a, - 0x04, 0x04, 0x10, 0x02, 0x03, 0x12, 0x04, 0xb6, 0x02, 0x04, 0x1d, 0x1a, 0x27, 0x20, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x66, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x03, 0x06, 0x12, 0x04, 0xb6, - 0x02, 0x04, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x03, 0x01, 0x12, 0x04, 0xb6, 0x02, - 0x0e, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x03, 0x03, 0x12, 0x04, 0xb6, 0x02, 0x1b, - 0x1c, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x04, 0x12, 0x04, 0xb8, 0x02, 0x04, 0x1d, 0x1a, - 0x28, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, - 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, - 0x04, 0x06, 0x12, 0x04, 0xb8, 0x02, 0x04, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, - 0x01, 0x12, 0x04, 0xb8, 0x02, 0x0e, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x03, - 0x12, 0x04, 0xb8, 0x02, 0x1b, 0x1c, 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x05, 0x12, 0x04, - 0xba, 0x02, 0x04, 0x20, 0x1a, 0x39, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x69, 0x6e, - 0x66, 0x6f, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x05, 0x06, 0x12, 0x04, 0xba, 0x02, 0x04, 0x0e, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x10, 0x02, 0x05, 0x01, 0x12, 0x04, 0xba, 0x02, 0x0f, 0x1a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x05, 0x03, 0x12, 0x04, 0xba, 0x02, 0x1d, 0x1f, 0x0a, 0x6c, 0x0a, 0x04, - 0x04, 0x10, 0x08, 0x01, 0x12, 0x06, 0xbe, 0x02, 0x02, 0xc2, 0x02, 0x03, 0x1a, 0x5c, 0x20, 0x46, - 0x75, 0x6c, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x20, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x73, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x73, 0x75, - 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x20, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, - 0x08, 0x01, 0x01, 0x12, 0x04, 0xbe, 0x02, 0x08, 0x0c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, - 0x06, 0x12, 0x04, 0xbf, 0x02, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x06, 0x06, - 0x12, 0x04, 0xbf, 0x02, 0x04, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x06, 0x01, 0x12, - 0x04, 0xbf, 0x02, 0x12, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x06, 0x03, 0x12, 0x04, - 0xbf, 0x02, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x07, 0x12, 0x04, 0xc0, 0x02, - 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x07, 0x06, 0x12, 0x04, 0xc0, 0x02, 0x04, - 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x07, 0x01, 0x12, 0x04, 0xc0, 0x02, 0x13, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x07, 0x03, 0x12, 0x04, 0xc0, 0x02, 0x1b, 0x1c, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x08, 0x12, 0x04, 0xc1, 0x02, 0x04, 0x22, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x08, 0x06, 0x12, 0x04, 0xc1, 0x02, 0x04, 0x13, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x08, 0x01, 0x12, 0x04, 0xc1, 0x02, 0x14, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x10, 0x02, 0x08, 0x03, 0x12, 0x04, 0xc1, 0x02, 0x20, 0x21, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x10, - 0x02, 0x09, 0x12, 0x04, 0xc5, 0x02, 0x02, 0x26, 0x1a, 0x1a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, - 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x09, 0x04, 0x12, 0x04, 0xc5, - 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x09, 0x06, 0x12, 0x04, 0xc5, 0x02, - 0x0b, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x09, 0x01, 0x12, 0x04, 0xc5, 0x02, 0x19, - 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x09, 0x03, 0x12, 0x04, 0xc5, 0x02, 0x24, 0x25, - 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x11, 0x12, 0x06, 0xc9, 0x02, 0x00, 0xf4, 0x02, 0x01, 0x1a, 0x31, - 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x69, - 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, 0x04, 0xc9, 0x02, 0x08, 0x15, 0x0a, 0x21, - 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, 0xcb, 0x02, 0x02, 0x1f, 0x1a, 0x13, 0x20, 0x4c, - 0x61, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x06, 0x12, 0x04, 0xcb, 0x02, 0x02, 0x14, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcb, 0x02, 0x15, 0x1a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcb, 0x02, 0x1d, 0x1e, 0x0a, 0x29, - 0x0a, 0x04, 0x04, 0x11, 0x02, 0x01, 0x12, 0x04, 0xce, 0x02, 0x02, 0x2b, 0x1a, 0x1b, 0x20, 0x54, - 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, - 0x01, 0x06, 0x12, 0x04, 0xce, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, - 0x01, 0x12, 0x04, 0xce, 0x02, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x03, - 0x12, 0x04, 0xce, 0x02, 0x29, 0x2a, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x02, 0x12, 0x04, - 0xd1, 0x02, 0x02, 0x32, 0x1a, 0x28, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x69, - 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x04, 0x12, 0x04, 0xd1, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x11, 0x02, 0x02, 0x06, 0x12, 0x04, 0xd1, 0x02, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x11, 0x02, 0x02, 0x01, 0x12, 0x04, 0xd1, 0x02, 0x25, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x11, 0x02, 0x02, 0x03, 0x12, 0x04, 0xd1, 0x02, 0x30, 0x31, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x11, - 0x02, 0x03, 0x12, 0x04, 0xd4, 0x02, 0x02, 0x24, 0x1a, 0x28, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x04, 0x12, 0x04, 0xd4, 0x02, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x06, 0x12, 0x04, 0xd4, 0x02, 0x0b, 0x14, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd4, 0x02, 0x15, 0x1f, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x03, 0x12, 0x04, 0xd4, 0x02, 0x22, 0x23, 0x0a, 0x34, - 0x0a, 0x04, 0x04, 0x11, 0x02, 0x04, 0x12, 0x04, 0xd7, 0x02, 0x02, 0x3a, 0x1a, 0x26, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x20, 0x31, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x04, 0x05, 0x12, 0x04, 0xd7, - 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x04, 0x01, 0x12, 0x04, 0xd7, 0x02, - 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x04, 0x03, 0x12, 0x04, 0xd7, 0x02, 0x13, - 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x04, 0x08, 0x12, 0x04, 0xd7, 0x02, 0x15, 0x39, - 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x11, 0x02, 0x04, 0x08, 0x87, 0x09, 0x05, 0x04, 0x12, 0x04, 0xd7, - 0x02, 0x16, 0x38, 0x0a, 0x1f, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x05, 0x12, 0x04, 0xda, 0x02, 0x02, - 0x2f, 0x1a, 0x11, 0x20, 0x4c, 0x6f, 0x67, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x05, 0x04, 0x12, 0x04, 0xda, - 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x05, 0x06, 0x12, 0x04, 0xda, 0x02, - 0x0b, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x05, 0x01, 0x12, 0x04, 0xda, 0x02, 0x22, - 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x05, 0x03, 0x12, 0x04, 0xda, 0x02, 0x2d, 0x2e, - 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x06, 0x12, 0x04, 0xdd, 0x02, 0x02, 0x2e, 0x1a, 0x14, - 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x06, 0x06, 0x12, 0x04, 0xdd, - 0x02, 0x02, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x06, 0x01, 0x12, 0x04, 0xdd, 0x02, - 0x22, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x06, 0x03, 0x12, 0x04, 0xdd, 0x02, 0x2c, - 0x2d, 0x0a, 0xac, 0x01, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x07, 0x12, 0x04, 0xe1, 0x02, 0x02, 0x1a, - 0x1a, 0x9d, 0x01, 0x20, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x77, 0x68, - 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x69, - 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, - 0x20, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x69, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x64, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x0a, 0x20, 0x77, 0x65, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x77, 0x65, 0x20, 0x6e, 0x65, 0x65, 0x64, 0x20, 0x74, - 0x6f, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x20, 0x75, 0x70, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x07, 0x05, 0x12, 0x04, 0xe1, 0x02, 0x02, 0x06, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x07, 0x01, 0x12, 0x04, 0xe1, 0x02, 0x07, 0x15, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x11, 0x02, 0x07, 0x03, 0x12, 0x04, 0xe1, 0x02, 0x18, 0x19, 0x0a, 0x32, 0x0a, - 0x04, 0x04, 0x11, 0x02, 0x08, 0x12, 0x04, 0xe4, 0x02, 0x02, 0x35, 0x1a, 0x24, 0x20, 0x63, 0x61, - 0x63, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x08, 0x06, 0x12, 0x04, 0xe4, 0x02, 0x02, 0x23, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x08, 0x01, 0x12, 0x04, 0xe4, 0x02, 0x24, 0x30, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x08, 0x03, 0x12, 0x04, 0xe4, 0x02, 0x33, 0x34, 0x0a, 0x48, - 0x0a, 0x04, 0x04, 0x11, 0x02, 0x09, 0x12, 0x04, 0xe7, 0x02, 0x02, 0x2c, 0x1a, 0x3a, 0x20, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6c, 0x69, - 0x6b, 0x65, 0x20, 0x6b, 0x38, 0x73, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, - 0x20, 0x61, 0x20, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x2d, 0x72, 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, - 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x09, - 0x04, 0x12, 0x04, 0xe7, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x09, 0x06, - 0x12, 0x04, 0xe7, 0x02, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x09, 0x01, 0x12, - 0x04, 0xe7, 0x02, 0x18, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x09, 0x03, 0x12, 0x04, - 0xe7, 0x02, 0x29, 0x2b, 0x0a, 0x2d, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x0a, 0x12, 0x04, 0xea, 0x02, - 0x02, 0x32, 0x1a, 0x1f, 0x20, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, - 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0a, 0x04, 0x12, 0x04, 0xea, 0x02, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0a, 0x06, 0x12, 0x04, 0xea, 0x02, 0x0b, - 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0a, 0x01, 0x12, 0x04, 0xea, 0x02, 0x1b, 0x2c, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0a, 0x03, 0x12, 0x04, 0xea, 0x02, 0x2f, 0x31, 0x0a, - 0x38, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x0b, 0x12, 0x04, 0xed, 0x02, 0x02, 0x16, 0x1a, 0x2a, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x69, 0x73, 0x20, 0x61, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, - 0x0b, 0x05, 0x12, 0x04, 0xed, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0b, - 0x01, 0x12, 0x04, 0xed, 0x02, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0b, 0x03, - 0x12, 0x04, 0xed, 0x02, 0x13, 0x15, 0x0a, 0x63, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x0c, 0x12, 0x04, - 0xf0, 0x02, 0x02, 0x2d, 0x1a, 0x55, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, - 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6b, 0x38, - 0x73, 0x20, 0x70, 0x6f, 0x64, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x11, 0x02, 0x0c, 0x06, 0x12, 0x04, 0xf0, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, - 0x02, 0x0c, 0x01, 0x12, 0x04, 0xf0, 0x02, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, - 0x0c, 0x03, 0x12, 0x04, 0xf0, 0x02, 0x2a, 0x2c, 0x0a, 0x49, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x0d, - 0x12, 0x04, 0xf3, 0x02, 0x02, 0x2b, 0x1a, 0x3b, 0x20, 0x43, 0x61, 0x63, 0x68, 0x65, 0x20, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2c, 0x20, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x6e, - 0x6c, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x20, 0x68, 0x69, 0x74, - 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0d, 0x06, 0x12, 0x04, 0xf3, 0x02, - 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0d, 0x01, 0x12, 0x04, 0xf3, 0x02, 0x17, - 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0d, 0x03, 0x12, 0x04, 0xf3, 0x02, 0x28, 0x2a, - 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x12, 0x12, 0x06, 0xf6, 0x02, 0x00, 0xfe, 0x02, 0x01, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x12, 0x01, 0x12, 0x04, 0xf6, 0x02, 0x08, 0x14, 0x0a, 0x5e, 0x0a, 0x04, 0x04, - 0x12, 0x02, 0x00, 0x12, 0x04, 0xf8, 0x02, 0x02, 0x2c, 0x1a, 0x50, 0x20, 0x6f, 0x63, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x20, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x12, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf8, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xf8, 0x02, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xf8, 0x02, 0x2a, 0x2b, 0x0a, 0x61, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x01, - 0x12, 0x04, 0xfb, 0x02, 0x02, 0x15, 0x1a, 0x53, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, - 0x20, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x12, 0x02, 0x01, 0x05, 0x12, 0x04, 0xfb, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xfb, 0x02, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xfb, 0x02, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, - 0x80, 0x03, 0x00, 0x89, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x13, 0x01, 0x12, 0x04, 0x80, - 0x03, 0x08, 0x17, 0x0a, 0x1a, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x00, 0x12, 0x04, 0x82, 0x03, 0x02, - 0x1f, 0x1a, 0x0c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x06, 0x12, 0x04, 0x82, 0x03, 0x02, 0x14, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, 0x12, 0x04, 0x82, 0x03, 0x15, 0x1a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, 0x04, 0x82, 0x03, 0x1d, 0x1e, 0x0a, 0x28, 0x0a, 0x04, - 0x04, 0x13, 0x02, 0x01, 0x12, 0x04, 0x85, 0x03, 0x02, 0x2b, 0x1a, 0x1a, 0x20, 0x54, 0x69, 0x6d, - 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x06, 0x12, - 0x04, 0x85, 0x03, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x01, 0x12, 0x04, - 0x85, 0x03, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x03, 0x12, 0x04, 0x85, - 0x03, 0x29, 0x2a, 0x0a, 0x6a, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x02, 0x12, 0x04, 0x88, 0x03, 0x02, - 0x32, 0x1a, 0x5c, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x68, - 0x61, 0x73, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x74, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x73, 0x2c, 0x20, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x04, 0x12, 0x04, 0x88, 0x03, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x06, 0x12, 0x04, 0x88, 0x03, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x13, 0x02, 0x02, 0x01, 0x12, 0x04, 0x88, 0x03, 0x25, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x13, 0x02, 0x02, 0x03, 0x12, 0x04, 0x88, 0x03, 0x30, 0x31, 0x0a, 0x2b, 0x0a, 0x02, 0x04, - 0x14, 0x12, 0x06, 0x8c, 0x03, 0x00, 0xbc, 0x03, 0x01, 0x1a, 0x1d, 0x20, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x20, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, - 0x04, 0x8c, 0x03, 0x08, 0x13, 0x0a, 0x1e, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x00, 0x12, 0x04, 0x8e, - 0x03, 0x02, 0x48, 0x1a, 0x10, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x06, 0x12, 0x04, - 0x8e, 0x03, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8e, - 0x03, 0x1a, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8e, 0x03, - 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8e, 0x03, 0x21, - 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0x8e, - 0x03, 0x22, 0x46, 0x0a, 0x23, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x01, 0x12, 0x04, 0x91, 0x03, 0x02, - 0x3a, 0x1a, 0x15, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, - 0x05, 0x12, 0x04, 0x91, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x01, - 0x12, 0x04, 0x91, 0x03, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x03, 0x12, - 0x04, 0x91, 0x03, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x08, 0x12, 0x04, - 0x91, 0x03, 0x15, 0x39, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x14, 0x02, 0x01, 0x08, 0x87, 0x09, 0x05, - 0x04, 0x12, 0x04, 0x91, 0x03, 0x16, 0x38, 0x0a, 0x2b, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x02, 0x12, - 0x04, 0x94, 0x03, 0x02, 0x1f, 0x1a, 0x1d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x68, 0x61, 0x73, - 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x06, 0x12, 0x04, 0x94, - 0x03, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x01, 0x12, 0x04, 0x94, 0x03, - 0x15, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x03, 0x12, 0x04, 0x94, 0x03, 0x1d, - 0x1e, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x03, 0x12, 0x04, 0x97, 0x03, 0x02, 0x15, 0x1a, - 0x28, 0x20, 0x54, 0x68, 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, - 0x03, 0x05, 0x12, 0x04, 0x97, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, - 0x01, 0x12, 0x04, 0x97, 0x03, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x03, - 0x12, 0x04, 0x97, 0x03, 0x13, 0x14, 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x04, 0x12, 0x04, - 0x9a, 0x03, 0x02, 0x3f, 0x1a, 0x1b, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, 0x06, 0x12, 0x04, 0x9a, 0x03, 0x02, 0x1b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, 0x01, 0x12, 0x04, 0x9a, 0x03, 0x1c, 0x26, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, 0x03, 0x12, 0x04, 0x9a, 0x03, 0x29, 0x2a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, 0x08, 0x12, 0x04, 0x9a, 0x03, 0x2b, 0x3e, 0x0a, 0x0e, 0x0a, - 0x06, 0x04, 0x14, 0x02, 0x04, 0x08, 0x03, 0x12, 0x04, 0x9a, 0x03, 0x2c, 0x3d, 0x0a, 0x6c, 0x0a, - 0x04, 0x04, 0x14, 0x02, 0x05, 0x12, 0x04, 0x9d, 0x03, 0x02, 0x2d, 0x1a, 0x5e, 0x20, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x64, 0x2c, - 0x20, 0x61, 0x73, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x4b, 0x75, - 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x14, 0x02, 0x05, 0x06, 0x12, 0x04, 0x9d, 0x03, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, - 0x02, 0x05, 0x01, 0x12, 0x04, 0x9d, 0x03, 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, - 0x05, 0x03, 0x12, 0x04, 0x9d, 0x03, 0x2b, 0x2c, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x06, - 0x12, 0x04, 0xa0, 0x03, 0x02, 0x46, 0x1a, 0x28, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x2c, - 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x06, 0x04, 0x12, 0x04, 0xa0, 0x03, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x06, 0x06, 0x12, 0x04, 0xa0, 0x03, 0x0b, 0x24, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x06, 0x01, 0x12, 0x04, 0xa0, 0x03, 0x25, 0x2d, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x06, 0x03, 0x12, 0x04, 0xa0, 0x03, 0x30, 0x31, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x14, 0x02, 0x06, 0x08, 0x12, 0x04, 0xa0, 0x03, 0x32, 0x45, 0x0a, 0x0e, 0x0a, 0x06, 0x04, - 0x14, 0x02, 0x06, 0x08, 0x03, 0x12, 0x04, 0xa0, 0x03, 0x33, 0x44, 0x0a, 0x36, 0x0a, 0x04, 0x04, - 0x14, 0x02, 0x07, 0x12, 0x04, 0xa3, 0x03, 0x02, 0x24, 0x1a, 0x28, 0x20, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, - 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x07, 0x04, 0x12, 0x04, 0xa3, 0x03, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x07, 0x06, 0x12, 0x04, 0xa3, 0x03, 0x0b, - 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x07, 0x01, 0x12, 0x04, 0xa3, 0x03, 0x15, 0x1f, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x07, 0x03, 0x12, 0x04, 0xa3, 0x03, 0x22, 0x23, 0x0a, - 0x1f, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x08, 0x12, 0x04, 0xa6, 0x03, 0x02, 0x2f, 0x1a, 0x11, 0x20, - 0x4c, 0x6f, 0x67, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x08, 0x04, 0x12, 0x04, 0xa6, 0x03, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x08, 0x06, 0x12, 0x04, 0xa6, 0x03, 0x0b, 0x21, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x08, 0x01, 0x12, 0x04, 0xa6, 0x03, 0x22, 0x2a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x08, 0x03, 0x12, 0x04, 0xa6, 0x03, 0x2d, 0x2e, 0x0a, 0x3b, 0x0a, 0x04, - 0x04, 0x14, 0x02, 0x09, 0x12, 0x04, 0xa9, 0x03, 0x02, 0x2d, 0x1a, 0x2d, 0x20, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x20, 0x77, 0x69, - 0x74, 0x68, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, - 0x09, 0x06, 0x12, 0x04, 0xa9, 0x03, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x09, - 0x01, 0x12, 0x04, 0xa9, 0x03, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x09, 0x03, - 0x12, 0x04, 0xa9, 0x03, 0x2a, 0x2c, 0x0a, 0x37, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x0a, 0x12, 0x04, - 0xac, 0x03, 0x02, 0x16, 0x1a, 0x29, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, + 0x97, 0x02, 0x08, 0x11, 0x0a, 0x2e, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0x99, 0x02, + 0x02, 0x14, 0x1a, 0x20, 0x20, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x62, 0x6f, + 0x72, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x05, 0x12, 0x04, 0x99, + 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0x99, 0x02, + 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0x99, 0x02, 0x12, + 0x13, 0x0a, 0x2e, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x01, 0x12, 0x04, 0x9c, 0x02, 0x02, 0x29, 0x1a, + 0x20, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x06, 0x12, 0x04, 0x9c, 0x02, 0x02, 0x19, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x01, 0x12, 0x04, 0x9c, 0x02, 0x1a, 0x24, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x03, 0x12, 0x04, 0x9c, 0x02, 0x27, 0x28, 0x0a, 0x56, + 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xa0, 0x02, 0x00, 0xa7, 0x02, 0x01, 0x1a, 0x48, 0x20, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xa0, + 0x02, 0x08, 0x12, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xa2, 0x02, 0x02, + 0x2b, 0x1a, 0x28, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0f, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa2, 0x02, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xa2, 0x02, 0x1a, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xa2, 0x02, 0x29, 0x2a, 0x0a, 0x94, 0x01, 0x0a, 0x04, 0x04, 0x0f, 0x02, + 0x01, 0x12, 0x04, 0xa6, 0x02, 0x02, 0x24, 0x1a, 0x85, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, + 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x73, 0x75, 0x70, + 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x0a, 0x20, 0x64, 0x65, + 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x20, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, + 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x06, 0x12, 0x04, 0xa6, 0x02, 0x02, 0x18, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa6, 0x02, 0x19, 0x1f, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0f, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa6, 0x02, 0x22, 0x23, 0x0a, 0x3f, 0x0a, 0x02, + 0x04, 0x10, 0x12, 0x06, 0xaa, 0x02, 0x00, 0xc6, 0x02, 0x01, 0x1a, 0x31, 0x20, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, + 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xaa, 0x02, 0x08, 0x15, 0x0a, 0x23, 0x0a, 0x04, 0x04, 0x10, + 0x02, 0x00, 0x12, 0x04, 0xac, 0x02, 0x02, 0x21, 0x1a, 0x15, 0x20, 0x49, 0x64, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x06, 0x12, 0x04, 0xac, 0x02, 0x02, 0x19, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, 0xac, 0x02, 0x1a, 0x1c, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0xac, 0x02, 0x1f, 0x20, 0x0a, 0x29, 0x0a, 0x04, + 0x04, 0x10, 0x02, 0x01, 0x12, 0x04, 0xaf, 0x02, 0x02, 0x1e, 0x1a, 0x1b, 0x20, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x06, + 0x12, 0x04, 0xaf, 0x02, 0x02, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xaf, 0x02, 0x11, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xaf, 0x02, 0x1c, 0x1d, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x02, 0x12, 0x04, 0xb2, 0x02, + 0x02, 0x1a, 0x1a, 0x14, 0x20, 0x4c, 0x61, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, + 0x06, 0x12, 0x04, 0xb2, 0x02, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x01, + 0x12, 0x04, 0xb2, 0x02, 0x0f, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x03, 0x12, + 0x04, 0xb2, 0x02, 0x18, 0x19, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x10, 0x08, 0x00, 0x12, 0x06, 0xb4, + 0x02, 0x02, 0xbb, 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x08, 0x00, 0x01, 0x12, 0x04, + 0xb4, 0x02, 0x08, 0x0e, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x03, 0x12, 0x04, 0xb6, 0x02, + 0x04, 0x1d, 0x1a, 0x27, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, + 0x69, 0x66, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x10, 0x02, 0x03, 0x06, 0x12, 0x04, 0xb6, 0x02, 0x04, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, + 0x02, 0x03, 0x01, 0x12, 0x04, 0xb6, 0x02, 0x0e, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, + 0x03, 0x03, 0x12, 0x04, 0xb6, 0x02, 0x1b, 0x1c, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x04, + 0x12, 0x04, 0xb8, 0x02, 0x04, 0x1d, 0x1a, 0x28, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x20, 0x69, + 0x6e, 0x66, 0x6f, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x06, 0x12, 0x04, 0xb8, 0x02, 0x04, 0x0d, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x01, 0x12, 0x04, 0xb8, 0x02, 0x0e, 0x18, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x03, 0x12, 0x04, 0xb8, 0x02, 0x1b, 0x1c, 0x0a, 0x47, 0x0a, + 0x04, 0x04, 0x10, 0x02, 0x05, 0x12, 0x04, 0xba, 0x02, 0x04, 0x20, 0x1a, 0x39, 0x20, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x05, 0x06, 0x12, + 0x04, 0xba, 0x02, 0x04, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x05, 0x01, 0x12, 0x04, + 0xba, 0x02, 0x0f, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x05, 0x03, 0x12, 0x04, 0xba, + 0x02, 0x1d, 0x1f, 0x0a, 0x6c, 0x0a, 0x04, 0x04, 0x10, 0x08, 0x01, 0x12, 0x06, 0xbe, 0x02, 0x02, + 0xc2, 0x02, 0x03, 0x1a, 0x5c, 0x20, 0x46, 0x75, 0x6c, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x64, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x73, 0x20, + 0x75, 0x73, 0x65, 0x72, 0x20, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x74, + 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x08, 0x01, 0x01, 0x12, 0x04, 0xbe, 0x02, 0x08, 0x0c, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x06, 0x12, 0x04, 0xbf, 0x02, 0x04, 0x1b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x10, 0x02, 0x06, 0x06, 0x12, 0x04, 0xbf, 0x02, 0x04, 0x11, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x10, 0x02, 0x06, 0x01, 0x12, 0x04, 0xbf, 0x02, 0x12, 0x16, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x10, 0x02, 0x06, 0x03, 0x12, 0x04, 0xbf, 0x02, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x10, 0x02, 0x07, 0x12, 0x04, 0xc0, 0x02, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, + 0x07, 0x06, 0x12, 0x04, 0xc0, 0x02, 0x04, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x07, + 0x01, 0x12, 0x04, 0xc0, 0x02, 0x13, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x07, 0x03, + 0x12, 0x04, 0xc0, 0x02, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x08, 0x12, 0x04, + 0xc1, 0x02, 0x04, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x08, 0x06, 0x12, 0x04, 0xc1, + 0x02, 0x04, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x08, 0x01, 0x12, 0x04, 0xc1, 0x02, + 0x14, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x08, 0x03, 0x12, 0x04, 0xc1, 0x02, 0x20, + 0x21, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x09, 0x12, 0x04, 0xc5, 0x02, 0x02, 0x26, 0x1a, + 0x1a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x10, 0x02, 0x09, 0x04, 0x12, 0x04, 0xc5, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, + 0x02, 0x09, 0x06, 0x12, 0x04, 0xc5, 0x02, 0x0b, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, + 0x09, 0x01, 0x12, 0x04, 0xc5, 0x02, 0x19, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x09, + 0x03, 0x12, 0x04, 0xc5, 0x02, 0x24, 0x25, 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x11, 0x12, 0x06, 0xc9, + 0x02, 0x00, 0xf4, 0x02, 0x01, 0x1a, 0x31, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, + 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, + 0x04, 0xc9, 0x02, 0x08, 0x15, 0x0a, 0x21, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, 0xcb, + 0x02, 0x02, 0x1f, 0x1a, 0x13, 0x20, 0x4c, 0x61, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, + 0x06, 0x12, 0x04, 0xcb, 0x02, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xcb, 0x02, 0x15, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xcb, 0x02, 0x1d, 0x1e, 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x01, 0x12, 0x04, 0xce, + 0x02, 0x02, 0x2b, 0x1a, 0x1b, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x06, 0x12, 0x04, 0xce, 0x02, 0x02, 0x1b, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x01, 0x12, 0x04, 0xce, 0x02, 0x1c, 0x26, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x03, 0x12, 0x04, 0xce, 0x02, 0x29, 0x2a, 0x0a, 0x36, 0x0a, + 0x04, 0x04, 0x11, 0x02, 0x02, 0x12, 0x04, 0xd1, 0x02, 0x02, 0x32, 0x1a, 0x28, 0x20, 0x54, 0x69, + 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x65, + 0x6e, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x04, 0x12, 0x04, + 0xd1, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x06, 0x12, 0x04, 0xd1, + 0x02, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x01, 0x12, 0x04, 0xd1, 0x02, + 0x25, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x03, 0x12, 0x04, 0xd1, 0x02, 0x30, + 0x31, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x03, 0x12, 0x04, 0xd4, 0x02, 0x02, 0x24, 0x1a, + 0x28, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2c, 0x20, 0x69, 0x66, + 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, + 0x03, 0x04, 0x12, 0x04, 0xd4, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, + 0x06, 0x12, 0x04, 0xd4, 0x02, 0x0b, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x01, + 0x12, 0x04, 0xd4, 0x02, 0x15, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x03, 0x12, + 0x04, 0xd4, 0x02, 0x22, 0x23, 0x0a, 0x34, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x04, 0x12, 0x04, 0xd7, + 0x02, 0x02, 0x3a, 0x1a, 0x26, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, + 0x74, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, + 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x31, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x11, 0x02, 0x04, 0x05, 0x12, 0x04, 0xd7, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, + 0x02, 0x04, 0x01, 0x12, 0x04, 0xd7, 0x02, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, + 0x04, 0x03, 0x12, 0x04, 0xd7, 0x02, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x04, + 0x08, 0x12, 0x04, 0xd7, 0x02, 0x15, 0x39, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x11, 0x02, 0x04, 0x08, + 0x87, 0x09, 0x05, 0x04, 0x12, 0x04, 0xd7, 0x02, 0x16, 0x38, 0x0a, 0x1f, 0x0a, 0x04, 0x04, 0x11, + 0x02, 0x05, 0x12, 0x04, 0xda, 0x02, 0x02, 0x2f, 0x1a, 0x11, 0x20, 0x4c, 0x6f, 0x67, 0x20, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x11, 0x02, 0x05, 0x04, 0x12, 0x04, 0xda, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, + 0x02, 0x05, 0x06, 0x12, 0x04, 0xda, 0x02, 0x0b, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, + 0x05, 0x01, 0x12, 0x04, 0xda, 0x02, 0x22, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x05, + 0x03, 0x12, 0x04, 0xda, 0x02, 0x2d, 0x2e, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x06, 0x12, + 0x04, 0xdd, 0x02, 0x02, 0x2e, 0x1a, 0x14, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x11, 0x02, 0x06, 0x06, 0x12, 0x04, 0xdd, 0x02, 0x02, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, + 0x02, 0x06, 0x01, 0x12, 0x04, 0xdd, 0x02, 0x22, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, + 0x06, 0x03, 0x12, 0x04, 0xdd, 0x02, 0x2c, 0x2d, 0x0a, 0xac, 0x01, 0x0a, 0x04, 0x04, 0x11, 0x02, + 0x07, 0x12, 0x04, 0xe1, 0x02, 0x02, 0x1a, 0x1a, 0x9d, 0x01, 0x20, 0x49, 0x6e, 0x64, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6c, 0x6f, 0x67, + 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x20, 0x49, 0x74, 0x20, + 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, + 0x69, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x74, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x0a, 0x20, 0x77, 0x65, 0x20, + 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x77, 0x65, + 0x20, 0x6e, 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x20, 0x74, 0x68, + 0x65, 0x6d, 0x20, 0x75, 0x70, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x07, 0x05, + 0x12, 0x04, 0xe1, 0x02, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x07, 0x01, 0x12, + 0x04, 0xe1, 0x02, 0x07, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x07, 0x03, 0x12, 0x04, + 0xe1, 0x02, 0x18, 0x19, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x08, 0x12, 0x04, 0xe4, 0x02, + 0x02, 0x35, 0x1a, 0x24, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x08, + 0x06, 0x12, 0x04, 0xe4, 0x02, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x08, 0x01, + 0x12, 0x04, 0xe4, 0x02, 0x24, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x08, 0x03, 0x12, + 0x04, 0xe4, 0x02, 0x33, 0x34, 0x0a, 0x48, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x09, 0x12, 0x04, 0xe7, + 0x02, 0x02, 0x2c, 0x1a, 0x3a, 0x20, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x6b, 0x38, 0x73, 0x20, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x2d, + 0x72, 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x09, 0x04, 0x12, 0x04, 0xe7, 0x02, 0x02, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x11, 0x02, 0x09, 0x06, 0x12, 0x04, 0xe7, 0x02, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x11, 0x02, 0x09, 0x01, 0x12, 0x04, 0xe7, 0x02, 0x18, 0x26, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x11, 0x02, 0x09, 0x03, 0x12, 0x04, 0xe7, 0x02, 0x29, 0x2b, 0x0a, 0x2d, 0x0a, 0x04, 0x04, + 0x11, 0x02, 0x0a, 0x12, 0x04, 0xea, 0x02, 0x02, 0x32, 0x1a, 0x1f, 0x20, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, + 0x02, 0x0a, 0x04, 0x12, 0x04, 0xea, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, + 0x0a, 0x06, 0x12, 0x04, 0xea, 0x02, 0x0b, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0a, + 0x01, 0x12, 0x04, 0xea, 0x02, 0x1b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0a, 0x03, + 0x12, 0x04, 0xea, 0x02, 0x2f, 0x31, 0x0a, 0x38, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x0b, 0x12, 0x04, + 0xed, 0x02, 0x02, 0x16, 0x1a, 0x2a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, - 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0a, 0x05, 0x12, 0x04, 0xac, 0x03, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0a, 0x01, 0x12, 0x04, 0xac, 0x03, 0x09, 0x10, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x0a, 0x03, 0x12, 0x04, 0xac, 0x03, 0x13, 0x15, 0x0a, 0x22, 0x0a, 0x04, - 0x04, 0x14, 0x02, 0x0b, 0x12, 0x04, 0xaf, 0x03, 0x02, 0x2f, 0x1a, 0x14, 0x20, 0x4f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0b, 0x06, 0x12, 0x04, 0xaf, 0x03, 0x02, 0x21, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xaf, 0x03, 0x22, 0x29, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xaf, 0x03, 0x2c, 0x2e, 0x0a, 0x32, 0x0a, - 0x04, 0x04, 0x14, 0x02, 0x0c, 0x12, 0x04, 0xb2, 0x03, 0x02, 0x36, 0x1a, 0x24, 0x20, 0x63, 0x61, - 0x63, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0c, 0x06, 0x12, 0x04, 0xb2, 0x03, 0x02, 0x23, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xb2, 0x03, 0x24, 0x30, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xb2, 0x03, 0x33, 0x35, 0x0a, 0x48, - 0x0a, 0x04, 0x04, 0x14, 0x02, 0x0d, 0x12, 0x04, 0xb5, 0x03, 0x02, 0x2c, 0x1a, 0x3a, 0x20, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6c, 0x69, - 0x6b, 0x65, 0x20, 0x6b, 0x38, 0x73, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, - 0x20, 0x61, 0x20, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x2d, 0x72, 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, - 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0d, - 0x04, 0x12, 0x04, 0xb5, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0d, 0x06, - 0x12, 0x04, 0xb5, 0x03, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0d, 0x01, 0x12, - 0x04, 0xb5, 0x03, 0x18, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0d, 0x03, 0x12, 0x04, - 0xb5, 0x03, 0x29, 0x2b, 0x0a, 0x52, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x0e, 0x12, 0x04, 0xb8, 0x03, - 0x02, 0x2f, 0x1a, 0x44, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x77, - 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x61, - 0x73, 0x20, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0e, - 0x06, 0x12, 0x04, 0xb8, 0x03, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0e, 0x01, - 0x12, 0x04, 0xb8, 0x03, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0e, 0x03, 0x12, - 0x04, 0xb8, 0x03, 0x2c, 0x2e, 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x0f, 0x12, 0x04, 0xbb, - 0x03, 0x02, 0x2b, 0x1a, 0x39, 0x20, 0x43, 0x61, 0x63, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x20, 0x68, 0x69, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0f, 0x06, 0x12, 0x04, 0xbb, 0x03, 0x02, 0x16, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x0f, 0x01, 0x12, 0x04, 0xbb, 0x03, 0x17, 0x25, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x14, 0x02, 0x0f, 0x03, 0x12, 0x04, 0xbb, 0x03, 0x28, 0x2a, 0x0a, 0x0c, 0x0a, 0x02, 0x04, - 0x15, 0x12, 0x06, 0xbe, 0x03, 0x00, 0xd8, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x15, 0x01, - 0x12, 0x04, 0xbe, 0x03, 0x08, 0x12, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x00, 0x12, 0x04, - 0xc0, 0x03, 0x02, 0x59, 0x1a, 0x27, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, - 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x15, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc0, 0x03, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x15, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc0, 0x03, 0x24, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x15, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc0, 0x03, 0x30, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, - 0x02, 0x00, 0x08, 0x12, 0x04, 0xc0, 0x03, 0x32, 0x58, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, - 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xc0, 0x03, 0x33, 0x57, 0x0a, 0xae, 0x01, 0x0a, 0x04, - 0x04, 0x15, 0x02, 0x01, 0x12, 0x04, 0xc4, 0x03, 0x02, 0x29, 0x1a, 0x9f, 0x01, 0x20, 0x61, 0x6e, - 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, - 0x74, 0x73, 0x2e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, - 0x67, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x28, - 0x65, 0x78, 0x2e, 0x20, 0x6f, 0x72, 0x67, 0x2c, 0x0a, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x29, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x20, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x65, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x15, 0x02, 0x01, 0x04, 0x12, 0x04, 0xc4, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x15, 0x02, 0x01, 0x05, 0x12, 0x04, 0xc4, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xc4, 0x03, 0x12, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xc4, 0x03, 0x27, 0x28, 0x0a, 0x2c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x02, - 0x12, 0x04, 0xc7, 0x03, 0x02, 0x26, 0x1a, 0x1e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x02, 0x06, 0x12, - 0x04, 0xc7, 0x03, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x02, 0x01, 0x12, 0x04, - 0xc7, 0x03, 0x19, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x02, 0x03, 0x12, 0x04, 0xc7, - 0x03, 0x24, 0x25, 0x0a, 0x3b, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x03, 0x12, 0x04, 0xca, 0x03, 0x02, - 0x41, 0x1a, 0x2d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x03, 0x05, 0x12, 0x04, 0xca, 0x03, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x03, 0x01, 0x12, 0x04, 0xca, 0x03, 0x09, 0x12, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x15, 0x02, 0x03, 0x03, 0x12, 0x04, 0xca, 0x03, 0x15, 0x16, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x15, 0x02, 0x03, 0x08, 0x12, 0x04, 0xca, 0x03, 0x17, 0x40, 0x0a, 0x11, 0x0a, 0x09, - 0x04, 0x15, 0x02, 0x03, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x04, 0xca, 0x03, 0x18, 0x3f, 0x0a, - 0x49, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x04, 0x12, 0x04, 0xcd, 0x03, 0x02, 0x47, 0x1a, 0x3b, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x62, 0x61, 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, - 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x69, 0x74, 0x73, 0x20, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x74, 0x6f, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, - 0x02, 0x04, 0x05, 0x12, 0x04, 0xcd, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, - 0x04, 0x01, 0x12, 0x04, 0xcd, 0x03, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x04, - 0x03, 0x12, 0x04, 0xcd, 0x03, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x04, 0x08, - 0x12, 0x04, 0xcd, 0x03, 0x1d, 0x46, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x15, 0x02, 0x04, 0x08, 0x87, - 0x09, 0x0e, 0x02, 0x12, 0x04, 0xcd, 0x03, 0x1e, 0x45, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x15, 0x08, - 0x00, 0x12, 0x06, 0xcf, 0x03, 0x02, 0xd4, 0x03, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x08, - 0x00, 0x01, 0x12, 0x04, 0xcf, 0x03, 0x08, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x08, 0x00, - 0x02, 0x12, 0x04, 0xd0, 0x03, 0x04, 0x30, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, 0x08, 0x00, 0x02, - 0x87, 0x09, 0x01, 0x12, 0x04, 0xd0, 0x03, 0x04, 0x30, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, - 0x05, 0x12, 0x04, 0xd1, 0x03, 0x04, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x05, 0x06, - 0x12, 0x04, 0xd1, 0x03, 0x04, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x05, 0x01, 0x12, - 0x04, 0xd1, 0x03, 0x0f, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x05, 0x03, 0x12, 0x04, - 0xd1, 0x03, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x06, 0x12, 0x04, 0xd2, 0x03, - 0x04, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x06, 0x06, 0x12, 0x04, 0xd2, 0x03, 0x04, - 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x06, 0x01, 0x12, 0x04, 0xd2, 0x03, 0x14, 0x1d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x06, 0x03, 0x12, 0x04, 0xd2, 0x03, 0x20, 0x21, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x07, 0x12, 0x04, 0xd3, 0x03, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x15, 0x02, 0x07, 0x06, 0x12, 0x04, 0xd3, 0x03, 0x04, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x15, 0x02, 0x07, 0x01, 0x12, 0x04, 0xd3, 0x03, 0x10, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x15, 0x02, 0x07, 0x03, 0x12, 0x04, 0xd3, 0x03, 0x18, 0x1a, 0x0a, 0x3c, 0x0a, 0x04, 0x04, 0x15, - 0x02, 0x08, 0x12, 0x04, 0xd7, 0x03, 0x02, 0x13, 0x1a, 0x2e, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x6c, - 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x08, - 0x05, 0x12, 0x04, 0xd7, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x08, 0x01, - 0x12, 0x04, 0xd7, 0x03, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x08, 0x03, 0x12, - 0x04, 0xd7, 0x03, 0x11, 0x12, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x02, 0x12, 0x06, 0xda, 0x03, 0x00, - 0xdf, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x02, 0x01, 0x12, 0x04, 0xda, 0x03, 0x05, 0x0e, - 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x00, 0x12, 0x04, 0xdb, 0x03, 0x02, 0x1d, 0x0a, 0x0d, - 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdb, 0x03, 0x02, 0x18, 0x0a, 0x0d, 0x0a, - 0x05, 0x05, 0x02, 0x02, 0x00, 0x02, 0x12, 0x04, 0xdb, 0x03, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, - 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0xdc, 0x03, 0x02, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xdc, 0x03, 0x02, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, - 0x01, 0x02, 0x12, 0x04, 0xdc, 0x03, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x02, - 0x12, 0x04, 0xdd, 0x03, 0x02, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x02, 0x01, 0x12, - 0x04, 0xdd, 0x03, 0x02, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x02, 0x02, 0x12, 0x04, - 0xdd, 0x03, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x04, 0xde, 0x03, - 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x03, 0x01, 0x12, 0x04, 0xde, 0x03, 0x02, - 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x03, 0x02, 0x12, 0x04, 0xde, 0x03, 0x20, 0x21, - 0x0a, 0x49, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, 0xe2, 0x03, 0x00, 0x9a, 0x04, 0x01, 0x1a, 0x3b, - 0x20, 0x54, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, - 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x6f, 0x66, - 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x16, 0x01, 0x12, 0x04, 0xe2, 0x03, 0x08, 0x11, 0x0a, 0x1a, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x00, - 0x12, 0x04, 0xe4, 0x03, 0x02, 0x17, 0x1a, 0x0c, 0x20, 0x54, 0x61, 0x73, 0x6b, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe4, - 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe4, 0x03, - 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe4, 0x03, 0x15, - 0x16, 0x0a, 0x21, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x01, 0x12, 0x04, 0xe7, 0x03, 0x02, 0x1e, 0x1a, - 0x13, 0x20, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x05, 0x12, 0x04, 0xe7, - 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe7, 0x03, - 0x09, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe7, 0x03, 0x1c, - 0x1d, 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x02, 0x12, 0x04, 0xea, 0x03, 0x02, 0x17, 0x1a, - 0x25, 0x20, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, - 0x66, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x05, 0x12, - 0x04, 0xea, 0x03, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x01, 0x12, 0x04, - 0xea, 0x03, 0x08, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x03, 0x12, 0x04, 0xea, - 0x03, 0x15, 0x16, 0x0a, 0x31, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x03, 0x12, 0x04, 0xed, 0x03, 0x02, - 0x30, 0x1a, 0x23, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x03, 0x06, 0x12, - 0x04, 0xed, 0x03, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x03, 0x01, 0x12, 0x04, - 0xed, 0x03, 0x1c, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x03, 0x03, 0x12, 0x04, 0xed, - 0x03, 0x2e, 0x2f, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x16, 0x03, 0x00, 0x12, 0x06, 0xef, 0x03, 0x02, - 0xf2, 0x03, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x03, 0x00, 0x01, 0x12, 0x04, 0xef, 0x03, - 0x0a, 0x16, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x16, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, 0xf0, 0x03, - 0x04, 0x18, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf0, - 0x03, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xf0, 0x03, 0x0b, 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xf0, 0x03, 0x16, 0x17, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x16, 0x03, 0x00, 0x02, 0x01, 0x12, - 0x04, 0xf1, 0x03, 0x04, 0x21, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x00, 0x02, 0x01, 0x06, - 0x12, 0x04, 0xf1, 0x03, 0x04, 0x16, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x00, 0x02, 0x01, - 0x01, 0x12, 0x04, 0xf1, 0x03, 0x17, 0x1c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x00, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xf1, 0x03, 0x1f, 0x20, 0x0a, 0x6d, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x04, - 0x12, 0x04, 0xf5, 0x03, 0x02, 0x2c, 0x1a, 0x5f, 0x20, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, - 0x72, 0x75, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x2c, 0x20, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6e, 0x65, 0x77, 0x65, 0x73, - 0x74, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x2e, 0x20, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x20, - 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x04, 0x04, - 0x12, 0x04, 0xf5, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x04, 0x06, 0x12, - 0x04, 0xf5, 0x03, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x04, 0x01, 0x12, 0x04, - 0xf5, 0x03, 0x18, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x04, 0x03, 0x12, 0x04, 0xf5, - 0x03, 0x2a, 0x2b, 0x0a, 0x9e, 0x01, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x05, 0x12, 0x04, 0xf9, 0x03, - 0x02, 0x22, 0x1a, 0x8f, 0x01, 0x20, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x20, 0x66, 0x61, - 0x69, 0x6c, 0x75, 0x72, 0x65, 0x20, 0x72, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, - 0x6e, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x20, 0x28, 0x30, 0x2e, 0x30, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x2e, 0x0a, 0x20, - 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x20, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x05, 0x05, 0x12, 0x04, 0xf9, - 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x05, 0x01, 0x12, 0x04, 0xf9, 0x03, - 0x09, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x05, 0x03, 0x12, 0x04, 0xf9, 0x03, 0x20, - 0x21, 0x0a, 0x37, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x06, 0x12, 0x04, 0xfc, 0x03, 0x02, 0x30, 0x1a, - 0x29, 0x20, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, - 0x02, 0x06, 0x06, 0x12, 0x04, 0xfc, 0x03, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, - 0x06, 0x01, 0x12, 0x04, 0xfc, 0x03, 0x1b, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x06, - 0x03, 0x12, 0x04, 0xfc, 0x03, 0x2e, 0x2f, 0x0a, 0x4b, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x07, 0x12, - 0x04, 0xff, 0x03, 0x02, 0x35, 0x1a, 0x3d, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x72, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x72, 0x75, - 0x6e, 0x20, 0x28, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, - 0x65, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x07, 0x06, 0x12, 0x04, 0xff, - 0x03, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x07, 0x01, 0x12, 0x04, 0xff, 0x03, - 0x1c, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x07, 0x03, 0x12, 0x04, 0xff, 0x03, 0x33, - 0x34, 0x0a, 0x5d, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x08, 0x12, 0x04, 0x82, 0x04, 0x02, 0x32, 0x1a, - 0x4f, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x65, 0x6e, 0x72, - 0x69, 0x63, 0x68, 0x65, 0x64, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x73, - 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x08, 0x04, 0x12, 0x04, 0x82, 0x04, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x08, 0x06, 0x12, 0x04, 0x82, 0x04, 0x0b, 0x22, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x16, 0x02, 0x08, 0x01, 0x12, 0x04, 0x82, 0x04, 0x23, 0x2d, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x16, 0x02, 0x08, 0x03, 0x12, 0x04, 0x82, 0x04, 0x30, 0x31, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x16, 0x02, 0x09, 0x12, 0x04, 0x84, 0x04, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, - 0x02, 0x09, 0x05, 0x12, 0x04, 0x84, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, - 0x09, 0x01, 0x12, 0x04, 0x84, 0x04, 0x07, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x09, - 0x03, 0x12, 0x04, 0x84, 0x04, 0x17, 0x19, 0x0a, 0x37, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x0a, 0x12, - 0x04, 0x87, 0x04, 0x02, 0x19, 0x1a, 0x29, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x20, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x29, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0a, 0x05, 0x12, 0x04, 0x87, 0x04, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0a, 0x01, 0x12, 0x04, 0x87, 0x04, 0x09, 0x13, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0a, 0x03, 0x12, 0x04, 0x87, 0x04, 0x16, 0x18, 0x0a, 0x0e, 0x0a, - 0x04, 0x04, 0x16, 0x03, 0x01, 0x12, 0x06, 0x89, 0x04, 0x02, 0x8d, 0x04, 0x03, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x16, 0x03, 0x01, 0x01, 0x12, 0x04, 0x89, 0x04, 0x0a, 0x15, 0x0a, 0x0e, 0x0a, 0x06, - 0x04, 0x16, 0x03, 0x01, 0x02, 0x00, 0x12, 0x04, 0x8a, 0x04, 0x04, 0x19, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x16, 0x03, 0x01, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8a, 0x04, 0x04, 0x09, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8a, 0x04, 0x0a, 0x14, 0x0a, 0x0f, - 0x0a, 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8a, 0x04, 0x17, 0x18, 0x0a, - 0x0e, 0x0a, 0x06, 0x04, 0x16, 0x03, 0x01, 0x02, 0x01, 0x12, 0x04, 0x8b, 0x04, 0x04, 0x1b, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8b, 0x04, 0x04, 0x09, - 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8b, 0x04, 0x0a, - 0x16, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8b, 0x04, - 0x19, 0x1a, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x16, 0x03, 0x01, 0x02, 0x02, 0x12, 0x04, 0x8c, 0x04, - 0x04, 0x20, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x02, 0x05, 0x12, 0x04, 0x8c, - 0x04, 0x04, 0x09, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, - 0x8c, 0x04, 0x0a, 0x1b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x02, 0x03, 0x12, - 0x04, 0x8c, 0x04, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x0b, 0x12, 0x04, 0x8f, - 0x04, 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0b, 0x06, 0x12, 0x04, 0x8f, 0x04, - 0x02, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0b, 0x01, 0x12, 0x04, 0x8f, 0x04, 0x0e, - 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0b, 0x03, 0x12, 0x04, 0x8f, 0x04, 0x1d, 0x1f, - 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x16, 0x03, 0x02, 0x12, 0x06, 0x91, 0x04, 0x02, 0x94, 0x04, 0x03, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x03, 0x02, 0x01, 0x12, 0x04, 0x91, 0x04, 0x0a, 0x15, 0x0a, - 0x0e, 0x0a, 0x06, 0x04, 0x16, 0x03, 0x02, 0x02, 0x00, 0x12, 0x04, 0x92, 0x04, 0x04, 0x21, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x02, 0x02, 0x00, 0x06, 0x12, 0x04, 0x92, 0x04, 0x04, 0x16, - 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0x92, 0x04, 0x17, - 0x1c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0x92, 0x04, - 0x1f, 0x20, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x16, 0x03, 0x02, 0x02, 0x01, 0x12, 0x04, 0x93, 0x04, - 0x04, 0x14, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x02, 0x02, 0x01, 0x05, 0x12, 0x04, 0x93, - 0x04, 0x04, 0x09, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, - 0x93, 0x04, 0x0a, 0x0f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x02, 0x02, 0x01, 0x03, 0x12, - 0x04, 0x93, 0x04, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x0c, 0x12, 0x04, 0x96, - 0x04, 0x02, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0c, 0x04, 0x12, 0x04, 0x96, 0x04, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0c, 0x06, 0x12, 0x04, 0x96, 0x04, 0x0b, - 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0c, 0x01, 0x12, 0x04, 0x96, 0x04, 0x17, 0x23, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0c, 0x03, 0x12, 0x04, 0x96, 0x04, 0x26, 0x28, 0x0a, - 0x49, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x0d, 0x12, 0x04, 0x99, 0x04, 0x02, 0x38, 0x1a, 0x3b, 0x20, - 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, - 0x6f, 0x20, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x52, 0x55, 0x4e, 0x4e, 0x49, - 0x4e, 0x47, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, - 0x02, 0x0d, 0x06, 0x12, 0x04, 0x99, 0x04, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, - 0x0d, 0x01, 0x12, 0x04, 0x99, 0x04, 0x1b, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0d, - 0x03, 0x12, 0x04, 0x99, 0x04, 0x35, 0x37, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, - 0xfa, 0x2d, 0x0a, 0x26, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x1a, 0x1b, - 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x6c, 0x69, 0x74, - 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x01, 0x0a, 0x0a, 0x50, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, - 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x12, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x1d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x15, - 0x0a, 0x13, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x0b, 0x50, 0x75, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, - 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x32, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x55, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, - 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x0b, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, + 0x69, 0x73, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0b, 0x05, 0x12, 0x04, 0xed, 0x02, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xed, 0x02, 0x09, 0x10, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xed, 0x02, 0x13, 0x15, 0x0a, 0x63, 0x0a, + 0x04, 0x04, 0x11, 0x02, 0x0c, 0x12, 0x04, 0xf0, 0x02, 0x02, 0x2d, 0x1a, 0x55, 0x20, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6b, 0x38, 0x73, 0x20, 0x70, 0x6f, 0x64, 0x73, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0c, 0x06, 0x12, 0x04, 0xf0, 0x02, 0x02, + 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xf0, 0x02, 0x1c, 0x27, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xf0, 0x02, 0x2a, 0x2c, 0x0a, + 0x49, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x0d, 0x12, 0x04, 0xf3, 0x02, 0x02, 0x2b, 0x1a, 0x3b, 0x20, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2c, + 0x20, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x20, 0x68, 0x69, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, + 0x02, 0x0d, 0x06, 0x12, 0x04, 0xf3, 0x02, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, + 0x0d, 0x01, 0x12, 0x04, 0xf3, 0x02, 0x17, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x0d, + 0x03, 0x12, 0x04, 0xf3, 0x02, 0x28, 0x2a, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x12, 0x12, 0x06, 0xf6, + 0x02, 0x00, 0xfe, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x12, 0x01, 0x12, 0x04, 0xf6, 0x02, + 0x08, 0x14, 0x0a, 0x5e, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x00, 0x12, 0x04, 0xf8, 0x02, 0x02, 0x2c, + 0x1a, 0x50, 0x20, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x20, 0x69, + 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, + 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x65, 0x64, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf8, 0x02, 0x02, + 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf8, 0x02, 0x1c, 0x27, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf8, 0x02, 0x2a, 0x2b, 0x0a, + 0x61, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x01, 0x12, 0x04, 0xfb, 0x02, 0x02, 0x15, 0x1a, 0x53, 0x20, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, + 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x70, + 0x68, 0x61, 0x73, 0x65, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x6f, 0x72, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x05, 0x12, 0x04, 0xfb, 0x02, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfb, 0x02, 0x09, 0x10, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfb, 0x02, 0x13, 0x14, 0x0a, + 0x0c, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, 0x80, 0x03, 0x00, 0x89, 0x03, 0x01, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x13, 0x01, 0x12, 0x04, 0x80, 0x03, 0x08, 0x17, 0x0a, 0x1a, 0x0a, 0x04, 0x04, 0x13, + 0x02, 0x00, 0x12, 0x04, 0x82, 0x03, 0x02, 0x1f, 0x1a, 0x0c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, + 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x06, 0x12, + 0x04, 0x82, 0x03, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, 0x12, 0x04, + 0x82, 0x03, 0x15, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, 0x04, 0x82, + 0x03, 0x1d, 0x1e, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x01, 0x12, 0x04, 0x85, 0x03, 0x02, + 0x2b, 0x1a, 0x1a, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x68, + 0x61, 0x73, 0x65, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x13, 0x02, 0x01, 0x06, 0x12, 0x04, 0x85, 0x03, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x13, 0x02, 0x01, 0x01, 0x12, 0x04, 0x85, 0x03, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x13, 0x02, 0x01, 0x03, 0x12, 0x04, 0x85, 0x03, 0x29, 0x2a, 0x0a, 0x6a, 0x0a, 0x04, 0x04, 0x13, + 0x02, 0x02, 0x12, 0x04, 0x88, 0x03, 0x02, 0x32, 0x1a, 0x5c, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x65, 0x64, + 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, + 0x20, 0x46, 0x6f, 0x72, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, + 0x61, 0x73, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, + 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x65, 0x6e, 0x64, 0x20, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x04, 0x12, + 0x04, 0x88, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x06, 0x12, 0x04, + 0x88, 0x03, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x01, 0x12, 0x04, 0x88, + 0x03, 0x25, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x03, 0x12, 0x04, 0x88, 0x03, + 0x30, 0x31, 0x0a, 0x2b, 0x0a, 0x02, 0x04, 0x14, 0x12, 0x06, 0x8c, 0x03, 0x00, 0xbc, 0x03, 0x01, + 0x1a, 0x1d, 0x20, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, 0x8c, 0x03, 0x08, 0x13, 0x0a, 0x1e, 0x0a, 0x04, + 0x04, 0x14, 0x02, 0x00, 0x12, 0x04, 0x8e, 0x03, 0x02, 0x48, 0x1a, 0x10, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x14, 0x02, 0x00, 0x06, 0x12, 0x04, 0x8e, 0x03, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x14, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8e, 0x03, 0x1a, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, + 0x02, 0x00, 0x03, 0x12, 0x04, 0x8e, 0x03, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, + 0x00, 0x08, 0x12, 0x04, 0x8e, 0x03, 0x21, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x00, + 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0x8e, 0x03, 0x22, 0x46, 0x0a, 0x23, 0x0a, 0x04, 0x04, 0x14, + 0x02, 0x01, 0x12, 0x04, 0x91, 0x03, 0x02, 0x3a, 0x1a, 0x15, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x05, 0x12, 0x04, 0x91, 0x03, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x01, 0x12, 0x04, 0x91, 0x03, 0x09, 0x10, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x14, 0x02, 0x01, 0x03, 0x12, 0x04, 0x91, 0x03, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x14, 0x02, 0x01, 0x08, 0x12, 0x04, 0x91, 0x03, 0x15, 0x39, 0x0a, 0x11, 0x0a, 0x09, 0x04, + 0x14, 0x02, 0x01, 0x08, 0x87, 0x09, 0x05, 0x04, 0x12, 0x04, 0x91, 0x03, 0x16, 0x38, 0x0a, 0x2b, + 0x0a, 0x04, 0x04, 0x14, 0x02, 0x02, 0x12, 0x04, 0x94, 0x03, 0x02, 0x1f, 0x1a, 0x1d, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x14, 0x02, 0x02, 0x06, 0x12, 0x04, 0x94, 0x03, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, + 0x02, 0x02, 0x01, 0x12, 0x04, 0x94, 0x03, 0x15, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, + 0x02, 0x03, 0x12, 0x04, 0x94, 0x03, 0x1d, 0x1e, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x03, + 0x12, 0x04, 0x97, 0x03, 0x02, 0x15, 0x1a, 0x28, 0x20, 0x54, 0x68, 0x65, 0x20, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x74, 0x74, + 0x65, 0x6d, 0x70, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x05, 0x12, 0x04, 0x97, 0x03, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x01, 0x12, 0x04, 0x97, 0x03, 0x09, 0x10, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x03, 0x12, 0x04, 0x97, 0x03, 0x13, 0x14, 0x0a, 0x29, 0x0a, + 0x04, 0x04, 0x14, 0x02, 0x04, 0x12, 0x04, 0x9a, 0x03, 0x02, 0x3f, 0x1a, 0x1b, 0x20, 0x54, 0x69, + 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, + 0x06, 0x12, 0x04, 0x9a, 0x03, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, 0x01, + 0x12, 0x04, 0x9a, 0x03, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, 0x03, 0x12, + 0x04, 0x9a, 0x03, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, 0x08, 0x12, 0x04, + 0x9a, 0x03, 0x2b, 0x3e, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x14, 0x02, 0x04, 0x08, 0x03, 0x12, 0x04, + 0x9a, 0x03, 0x2c, 0x3d, 0x0a, 0x6c, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x05, 0x12, 0x04, 0x9d, 0x03, + 0x02, 0x2d, 0x1a, 0x5e, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x77, + 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x63, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x73, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, + 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x28, + 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x29, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x06, 0x12, 0x04, 0x9d, 0x03, 0x02, + 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x01, 0x12, 0x04, 0x9d, 0x03, 0x1c, 0x28, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x03, 0x12, 0x04, 0x9d, 0x03, 0x2b, 0x2c, 0x0a, + 0x36, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x06, 0x12, 0x04, 0xa0, 0x03, 0x02, 0x46, 0x1a, 0x28, 0x20, + 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x20, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x06, 0x04, + 0x12, 0x04, 0xa0, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x06, 0x06, 0x12, + 0x04, 0xa0, 0x03, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x06, 0x01, 0x12, 0x04, + 0xa0, 0x03, 0x25, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x06, 0x03, 0x12, 0x04, 0xa0, + 0x03, 0x30, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x06, 0x08, 0x12, 0x04, 0xa0, 0x03, + 0x32, 0x45, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x14, 0x02, 0x06, 0x08, 0x03, 0x12, 0x04, 0xa0, 0x03, + 0x33, 0x44, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x07, 0x12, 0x04, 0xa3, 0x03, 0x02, 0x24, + 0x1a, 0x28, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2c, 0x20, 0x69, + 0x66, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, + 0x02, 0x07, 0x04, 0x12, 0x04, 0xa3, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, + 0x07, 0x06, 0x12, 0x04, 0xa3, 0x03, 0x0b, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x07, + 0x01, 0x12, 0x04, 0xa3, 0x03, 0x15, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x07, 0x03, + 0x12, 0x04, 0xa3, 0x03, 0x22, 0x23, 0x0a, 0x1f, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x08, 0x12, 0x04, + 0xa6, 0x03, 0x02, 0x2f, 0x1a, 0x11, 0x20, 0x4c, 0x6f, 0x67, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x08, 0x04, + 0x12, 0x04, 0xa6, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x08, 0x06, 0x12, + 0x04, 0xa6, 0x03, 0x0b, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x08, 0x01, 0x12, 0x04, + 0xa6, 0x03, 0x22, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x08, 0x03, 0x12, 0x04, 0xa6, + 0x03, 0x2d, 0x2e, 0x0a, 0x3b, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x09, 0x12, 0x04, 0xa9, 0x03, 0x02, + 0x2d, 0x1a, 0x2d, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x6f, 0x20, + 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x09, 0x06, 0x12, 0x04, 0xa9, 0x03, 0x02, 0x1b, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x09, 0x01, 0x12, 0x04, 0xa9, 0x03, 0x1c, 0x27, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x14, 0x02, 0x09, 0x03, 0x12, 0x04, 0xa9, 0x03, 0x2a, 0x2c, 0x0a, 0x37, 0x0a, + 0x04, 0x04, 0x14, 0x02, 0x0a, 0x12, 0x04, 0xac, 0x03, 0x02, 0x16, 0x1a, 0x29, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x20, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0a, 0x05, 0x12, + 0x04, 0xac, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0a, 0x01, 0x12, 0x04, + 0xac, 0x03, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0a, 0x03, 0x12, 0x04, 0xac, + 0x03, 0x13, 0x15, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x0b, 0x12, 0x04, 0xaf, 0x03, 0x02, + 0x2f, 0x1a, 0x14, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0b, 0x06, + 0x12, 0x04, 0xaf, 0x03, 0x02, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0b, 0x01, 0x12, + 0x04, 0xaf, 0x03, 0x22, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0b, 0x03, 0x12, 0x04, + 0xaf, 0x03, 0x2c, 0x2e, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x0c, 0x12, 0x04, 0xb2, 0x03, + 0x02, 0x36, 0x1a, 0x24, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0c, + 0x06, 0x12, 0x04, 0xb2, 0x03, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0c, 0x01, + 0x12, 0x04, 0xb2, 0x03, 0x24, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0c, 0x03, 0x12, + 0x04, 0xb2, 0x03, 0x33, 0x35, 0x0a, 0x48, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x0d, 0x12, 0x04, 0xb5, + 0x03, 0x02, 0x2c, 0x1a, 0x3a, 0x20, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x6b, 0x38, 0x73, 0x20, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x2d, + 0x72, 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0d, 0x04, 0x12, 0x04, 0xb5, 0x03, 0x02, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0d, 0x06, 0x12, 0x04, 0xb5, 0x03, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x14, 0x02, 0x0d, 0x01, 0x12, 0x04, 0xb5, 0x03, 0x18, 0x26, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x14, 0x02, 0x0d, 0x03, 0x12, 0x04, 0xb5, 0x03, 0x29, 0x2b, 0x0a, 0x52, 0x0a, 0x04, 0x04, + 0x14, 0x02, 0x0e, 0x12, 0x04, 0xb8, 0x03, 0x02, 0x2f, 0x1a, 0x44, 0x20, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0e, 0x06, 0x12, 0x04, 0xb8, 0x03, 0x02, 0x1b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0e, 0x01, 0x12, 0x04, 0xb8, 0x03, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x14, 0x02, 0x0e, 0x03, 0x12, 0x04, 0xb8, 0x03, 0x2c, 0x2e, 0x0a, 0x47, 0x0a, 0x04, + 0x04, 0x14, 0x02, 0x0f, 0x12, 0x04, 0xbb, 0x03, 0x02, 0x2b, 0x1a, 0x39, 0x20, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x73, 0x65, 0x74, 0x20, + 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x20, 0x68, + 0x69, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0f, 0x06, 0x12, 0x04, + 0xbb, 0x03, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0f, 0x01, 0x12, 0x04, 0xbb, + 0x03, 0x17, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0f, 0x03, 0x12, 0x04, 0xbb, 0x03, + 0x28, 0x2a, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x15, 0x12, 0x06, 0xbe, 0x03, 0x00, 0xd8, 0x03, 0x01, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x15, 0x01, 0x12, 0x04, 0xbe, 0x03, 0x08, 0x12, 0x0a, 0x35, 0x0a, + 0x04, 0x04, 0x15, 0x02, 0x00, 0x12, 0x04, 0xc0, 0x03, 0x02, 0x59, 0x1a, 0x27, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc0, + 0x03, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc0, 0x03, + 0x24, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc0, 0x03, 0x30, + 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc0, 0x03, 0x32, 0x58, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xc0, 0x03, + 0x33, 0x57, 0x0a, 0xae, 0x01, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x01, 0x12, 0x04, 0xc4, 0x03, 0x02, + 0x29, 0x1a, 0x9f, 0x01, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, + 0x69, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x2e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x28, 0x65, 0x78, 0x2e, 0x20, 0x6f, 0x72, 0x67, 0x2c, 0x0a, + 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x29, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, + 0x6d, 0x65, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x76, + 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x04, 0x12, 0x04, 0xc4, 0x03, + 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x05, 0x12, 0x04, 0xc4, 0x03, 0x0b, + 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc4, 0x03, 0x12, 0x24, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc4, 0x03, 0x27, 0x28, 0x0a, + 0x2c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x02, 0x12, 0x04, 0xc7, 0x03, 0x02, 0x26, 0x1a, 0x1e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x15, 0x02, 0x02, 0x06, 0x12, 0x04, 0xc7, 0x03, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x15, 0x02, 0x02, 0x01, 0x12, 0x04, 0xc7, 0x03, 0x19, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x15, 0x02, 0x02, 0x03, 0x12, 0x04, 0xc7, 0x03, 0x24, 0x25, 0x0a, 0x3b, 0x0a, 0x04, 0x04, 0x15, + 0x02, 0x03, 0x12, 0x04, 0xca, 0x03, 0x02, 0x41, 0x1a, 0x2d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, + 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x03, 0x05, + 0x12, 0x04, 0xca, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x03, 0x01, 0x12, + 0x04, 0xca, 0x03, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x03, 0x03, 0x12, 0x04, + 0xca, 0x03, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x03, 0x08, 0x12, 0x04, 0xca, + 0x03, 0x17, 0x40, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x15, 0x02, 0x03, 0x08, 0x87, 0x09, 0x0e, 0x02, + 0x12, 0x04, 0xca, 0x03, 0x18, 0x3f, 0x0a, 0x49, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x04, 0x12, 0x04, + 0xcd, 0x03, 0x02, 0x47, 0x1a, 0x3b, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x62, + 0x61, 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x20, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x74, 0x6f, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x04, 0x05, 0x12, 0x04, 0xcd, 0x03, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x04, 0x01, 0x12, 0x04, 0xcd, 0x03, 0x09, 0x18, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x04, 0x03, 0x12, 0x04, 0xcd, 0x03, 0x1b, 0x1c, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x15, 0x02, 0x04, 0x08, 0x12, 0x04, 0xcd, 0x03, 0x1d, 0x46, 0x0a, 0x11, 0x0a, + 0x09, 0x04, 0x15, 0x02, 0x04, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x04, 0xcd, 0x03, 0x1e, 0x45, + 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x15, 0x08, 0x00, 0x12, 0x06, 0xcf, 0x03, 0x02, 0xd4, 0x03, 0x03, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x08, 0x00, 0x01, 0x12, 0x04, 0xcf, 0x03, 0x08, 0x0c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x08, 0x00, 0x02, 0x12, 0x04, 0xd0, 0x03, 0x04, 0x30, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x15, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0xd0, 0x03, 0x04, 0x30, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x05, 0x12, 0x04, 0xd1, 0x03, 0x04, 0x18, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x15, 0x02, 0x05, 0x06, 0x12, 0x04, 0xd1, 0x03, 0x04, 0x0e, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x15, 0x02, 0x05, 0x01, 0x12, 0x04, 0xd1, 0x03, 0x0f, 0x13, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x15, 0x02, 0x05, 0x03, 0x12, 0x04, 0xd1, 0x03, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x15, 0x02, 0x06, 0x12, 0x04, 0xd2, 0x03, 0x04, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, + 0x06, 0x06, 0x12, 0x04, 0xd2, 0x03, 0x04, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x06, + 0x01, 0x12, 0x04, 0xd2, 0x03, 0x14, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x06, 0x03, + 0x12, 0x04, 0xd2, 0x03, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x07, 0x12, 0x04, + 0xd3, 0x03, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x07, 0x06, 0x12, 0x04, 0xd3, + 0x03, 0x04, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x07, 0x01, 0x12, 0x04, 0xd3, 0x03, + 0x10, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x07, 0x03, 0x12, 0x04, 0xd3, 0x03, 0x18, + 0x1a, 0x0a, 0x3c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x08, 0x12, 0x04, 0xd7, 0x03, 0x02, 0x13, 0x1a, + 0x2e, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x2c, 0x20, + 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x08, 0x05, 0x12, 0x04, 0xd7, 0x03, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x15, 0x02, 0x08, 0x01, 0x12, 0x04, 0xd7, 0x03, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x15, 0x02, 0x08, 0x03, 0x12, 0x04, 0xd7, 0x03, 0x11, 0x12, 0x0a, 0x0c, 0x0a, 0x02, + 0x05, 0x02, 0x12, 0x06, 0xda, 0x03, 0x00, 0xe3, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x02, + 0x01, 0x12, 0x04, 0xda, 0x03, 0x05, 0x0e, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x00, 0x12, + 0x04, 0xdb, 0x03, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, + 0xdb, 0x03, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x02, 0x12, 0x04, 0xdb, + 0x03, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0xdc, 0x03, 0x02, + 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0xdc, 0x03, 0x02, 0x10, + 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x02, 0x12, 0x04, 0xdc, 0x03, 0x13, 0x14, 0x0a, + 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x02, 0x12, 0x04, 0xdd, 0x03, 0x02, 0x15, 0x0a, 0x0d, 0x0a, + 0x05, 0x05, 0x02, 0x02, 0x02, 0x01, 0x12, 0x04, 0xdd, 0x03, 0x02, 0x10, 0x0a, 0x0d, 0x0a, 0x05, + 0x05, 0x02, 0x02, 0x02, 0x02, 0x12, 0x04, 0xdd, 0x03, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x05, + 0x02, 0x02, 0x03, 0x12, 0x04, 0xde, 0x03, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, + 0x03, 0x01, 0x12, 0x04, 0xde, 0x03, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x03, + 0x02, 0x12, 0x04, 0xde, 0x03, 0x20, 0x21, 0x0a, 0x87, 0x01, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x04, + 0x12, 0x04, 0xe2, 0x03, 0x02, 0x17, 0x1a, 0x79, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, + 0x20, 0x69, 0x73, 0x20, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x6f, 0x6e, 0x20, 0x61, + 0x20, 0x75, 0x73, 0x65, 0x72, 0x27, 0x73, 0x20, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x29, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x74, 0x73, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x69, + 0x73, 0x0a, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, + 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x04, 0x01, 0x12, 0x04, 0xe2, 0x03, 0x02, 0x12, + 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x04, 0x02, 0x12, 0x04, 0xe2, 0x03, 0x15, 0x16, 0x0a, + 0x49, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, 0xe6, 0x03, 0x00, 0x9e, 0x04, 0x01, 0x1a, 0x3b, 0x20, + 0x54, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x6f, 0x66, 0x20, + 0x72, 0x75, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x16, + 0x01, 0x12, 0x04, 0xe6, 0x03, 0x08, 0x11, 0x0a, 0x1a, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x00, 0x12, + 0x04, 0xe8, 0x03, 0x02, 0x17, 0x1a, 0x0c, 0x20, 0x54, 0x61, 0x73, 0x6b, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe8, 0x03, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe8, 0x03, 0x09, + 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe8, 0x03, 0x15, 0x16, + 0x0a, 0x21, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x01, 0x12, 0x04, 0xeb, 0x03, 0x02, 0x1e, 0x1a, 0x13, + 0x20, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x05, 0x12, 0x04, 0xeb, 0x03, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x01, 0x12, 0x04, 0xeb, 0x03, 0x09, + 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x03, 0x12, 0x04, 0xeb, 0x03, 0x1c, 0x1d, + 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x02, 0x12, 0x04, 0xee, 0x03, 0x02, 0x17, 0x1a, 0x25, + 0x20, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, + 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, + 0x61, 0x73, 0x6b, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x05, 0x12, 0x04, + 0xee, 0x03, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x01, 0x12, 0x04, 0xee, + 0x03, 0x08, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x03, 0x12, 0x04, 0xee, 0x03, + 0x15, 0x16, 0x0a, 0x31, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x03, 0x12, 0x04, 0xf1, 0x03, 0x02, 0x30, + 0x1a, 0x23, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, + 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x03, 0x06, 0x12, 0x04, + 0xf1, 0x03, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x03, 0x01, 0x12, 0x04, 0xf1, + 0x03, 0x1c, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x03, 0x03, 0x12, 0x04, 0xf1, 0x03, + 0x2e, 0x2f, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x16, 0x03, 0x00, 0x12, 0x06, 0xf3, 0x03, 0x02, 0xf6, + 0x03, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x03, 0x00, 0x01, 0x12, 0x04, 0xf3, 0x03, 0x0a, + 0x16, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x16, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, 0xf4, 0x03, 0x04, + 0x18, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf4, 0x03, + 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf4, + 0x03, 0x0b, 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, + 0xf4, 0x03, 0x16, 0x17, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x16, 0x03, 0x00, 0x02, 0x01, 0x12, 0x04, + 0xf5, 0x03, 0x04, 0x21, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x00, 0x02, 0x01, 0x06, 0x12, + 0x04, 0xf5, 0x03, 0x04, 0x16, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x00, 0x02, 0x01, 0x01, + 0x12, 0x04, 0xf5, 0x03, 0x17, 0x1c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x00, 0x02, 0x01, + 0x03, 0x12, 0x04, 0xf5, 0x03, 0x1f, 0x20, 0x0a, 0x6d, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x04, 0x12, + 0x04, 0xf9, 0x03, 0x02, 0x2c, 0x1a, 0x5f, 0x20, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x72, + 0x75, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x2c, 0x20, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, + 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x2e, 0x20, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x20, 0x64, + 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x04, 0x04, 0x12, + 0x04, 0xf9, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x04, 0x06, 0x12, 0x04, + 0xf9, 0x03, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x04, 0x01, 0x12, 0x04, 0xf9, + 0x03, 0x18, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x04, 0x03, 0x12, 0x04, 0xf9, 0x03, + 0x2a, 0x2b, 0x0a, 0x9e, 0x01, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x05, 0x12, 0x04, 0xfd, 0x03, 0x02, + 0x22, 0x1a, 0x8f, 0x01, 0x20, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x20, 0x66, 0x61, 0x69, + 0x6c, 0x75, 0x72, 0x65, 0x20, 0x72, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6e, + 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, + 0x28, 0x30, 0x2e, 0x30, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x2e, 0x0a, 0x20, 0x43, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x46, 0x41, 0x49, + 0x4c, 0x45, 0x44, 0x20, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x05, 0x05, 0x12, 0x04, 0xfd, 0x03, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x05, 0x01, 0x12, 0x04, 0xfd, 0x03, 0x09, + 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x05, 0x03, 0x12, 0x04, 0xfd, 0x03, 0x20, 0x21, + 0x0a, 0x37, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x06, 0x12, 0x04, 0x80, 0x04, 0x02, 0x30, 0x1a, 0x29, + 0x20, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, + 0x06, 0x06, 0x12, 0x04, 0x80, 0x04, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x06, + 0x01, 0x12, 0x04, 0x80, 0x04, 0x1b, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x06, 0x03, + 0x12, 0x04, 0x80, 0x04, 0x2e, 0x2f, 0x0a, 0x4b, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x07, 0x12, 0x04, + 0x83, 0x04, 0x02, 0x35, 0x1a, 0x3d, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x72, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x20, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, + 0x20, 0x28, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, + 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x07, 0x06, 0x12, 0x04, 0x83, 0x04, + 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x07, 0x01, 0x12, 0x04, 0x83, 0x04, 0x1c, + 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x07, 0x03, 0x12, 0x04, 0x83, 0x04, 0x33, 0x34, + 0x0a, 0x5d, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x08, 0x12, 0x04, 0x86, 0x04, 0x02, 0x32, 0x1a, 0x4f, + 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x65, 0x6e, 0x72, 0x69, + 0x63, 0x68, 0x65, 0x64, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x08, 0x04, 0x12, 0x04, 0x86, 0x04, 0x02, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x16, 0x02, 0x08, 0x06, 0x12, 0x04, 0x86, 0x04, 0x0b, 0x22, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x16, 0x02, 0x08, 0x01, 0x12, 0x04, 0x86, 0x04, 0x23, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x16, 0x02, 0x08, 0x03, 0x12, 0x04, 0x86, 0x04, 0x30, 0x31, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x16, 0x02, 0x09, 0x12, 0x04, 0x88, 0x04, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, + 0x09, 0x05, 0x12, 0x04, 0x88, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x09, + 0x01, 0x12, 0x04, 0x88, 0x04, 0x07, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x09, 0x03, + 0x12, 0x04, 0x88, 0x04, 0x17, 0x19, 0x0a, 0x37, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x0a, 0x12, 0x04, + 0x8b, 0x04, 0x02, 0x19, 0x1a, 0x29, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x20, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x29, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0a, 0x05, 0x12, 0x04, 0x8b, 0x04, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0a, 0x01, 0x12, 0x04, 0x8b, 0x04, 0x09, 0x13, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x16, 0x02, 0x0a, 0x03, 0x12, 0x04, 0x8b, 0x04, 0x16, 0x18, 0x0a, 0x0e, 0x0a, 0x04, + 0x04, 0x16, 0x03, 0x01, 0x12, 0x06, 0x8d, 0x04, 0x02, 0x91, 0x04, 0x03, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x16, 0x03, 0x01, 0x01, 0x12, 0x04, 0x8d, 0x04, 0x0a, 0x15, 0x0a, 0x0e, 0x0a, 0x06, 0x04, + 0x16, 0x03, 0x01, 0x02, 0x00, 0x12, 0x04, 0x8e, 0x04, 0x04, 0x19, 0x0a, 0x0f, 0x0a, 0x07, 0x04, + 0x16, 0x03, 0x01, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8e, 0x04, 0x04, 0x09, 0x0a, 0x0f, 0x0a, 0x07, + 0x04, 0x16, 0x03, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8e, 0x04, 0x0a, 0x14, 0x0a, 0x0f, 0x0a, + 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8e, 0x04, 0x17, 0x18, 0x0a, 0x0e, + 0x0a, 0x06, 0x04, 0x16, 0x03, 0x01, 0x02, 0x01, 0x12, 0x04, 0x8f, 0x04, 0x04, 0x1b, 0x0a, 0x0f, + 0x0a, 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8f, 0x04, 0x04, 0x09, 0x0a, + 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8f, 0x04, 0x0a, 0x16, + 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8f, 0x04, 0x19, + 0x1a, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x16, 0x03, 0x01, 0x02, 0x02, 0x12, 0x04, 0x90, 0x04, 0x04, + 0x20, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x02, 0x05, 0x12, 0x04, 0x90, 0x04, + 0x04, 0x09, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0x90, + 0x04, 0x0a, 0x1b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x01, 0x02, 0x02, 0x03, 0x12, 0x04, + 0x90, 0x04, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x0b, 0x12, 0x04, 0x93, 0x04, + 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0b, 0x06, 0x12, 0x04, 0x93, 0x04, 0x02, + 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0b, 0x01, 0x12, 0x04, 0x93, 0x04, 0x0e, 0x1a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0b, 0x03, 0x12, 0x04, 0x93, 0x04, 0x1d, 0x1f, 0x0a, + 0x0e, 0x0a, 0x04, 0x04, 0x16, 0x03, 0x02, 0x12, 0x06, 0x95, 0x04, 0x02, 0x98, 0x04, 0x03, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x03, 0x02, 0x01, 0x12, 0x04, 0x95, 0x04, 0x0a, 0x15, 0x0a, 0x0e, + 0x0a, 0x06, 0x04, 0x16, 0x03, 0x02, 0x02, 0x00, 0x12, 0x04, 0x96, 0x04, 0x04, 0x21, 0x0a, 0x0f, + 0x0a, 0x07, 0x04, 0x16, 0x03, 0x02, 0x02, 0x00, 0x06, 0x12, 0x04, 0x96, 0x04, 0x04, 0x16, 0x0a, + 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0x96, 0x04, 0x17, 0x1c, + 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0x96, 0x04, 0x1f, + 0x20, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x16, 0x03, 0x02, 0x02, 0x01, 0x12, 0x04, 0x97, 0x04, 0x04, + 0x14, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x02, 0x02, 0x01, 0x05, 0x12, 0x04, 0x97, 0x04, + 0x04, 0x09, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0x97, + 0x04, 0x0a, 0x0f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x16, 0x03, 0x02, 0x02, 0x01, 0x03, 0x12, 0x04, + 0x97, 0x04, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x0c, 0x12, 0x04, 0x9a, 0x04, + 0x02, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0c, 0x04, 0x12, 0x04, 0x9a, 0x04, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0c, 0x06, 0x12, 0x04, 0x9a, 0x04, 0x0b, 0x16, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0c, 0x01, 0x12, 0x04, 0x9a, 0x04, 0x17, 0x23, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0c, 0x03, 0x12, 0x04, 0x9a, 0x04, 0x26, 0x28, 0x0a, 0x49, + 0x0a, 0x04, 0x04, 0x16, 0x02, 0x0d, 0x12, 0x04, 0x9d, 0x04, 0x02, 0x38, 0x1a, 0x3b, 0x20, 0x41, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, + 0x20, 0x72, 0x75, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, + 0x20, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, + 0x47, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, + 0x0d, 0x06, 0x12, 0x04, 0x9d, 0x04, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0d, + 0x01, 0x12, 0x04, 0x9d, 0x04, 0x1b, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0d, 0x03, + 0x12, 0x04, 0x9d, 0x04, 0x35, 0x37, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xfa, + 0x2d, 0x0a, 0x26, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x1a, 0x1b, 0x62, + 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x6c, 0x69, 0x74, 0x65, + 0x72, 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x01, 0x0a, 0x0a, 0x50, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, + 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x12, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, + 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x15, 0x0a, + 0x13, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x0b, 0x50, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, + 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x32, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0x55, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, + 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x22, 0x6f, 0x0a, 0x0c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x05, + 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0xb2, 0x01, 0x0a, 0x0d, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x48, 0x00, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x4d, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, + 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, + 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x2c, 0x0a, 0x0e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x22, 0xae, 0x02, 0x0a, 0x0c, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x6f, 0x0a, 0x0c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, - 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0xb2, 0x01, 0x0a, 0x0d, 0x57, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x12, 0x4d, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, - 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x2c, 0x0a, 0x0e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x22, 0xae, 0x02, 0x0a, 0x0c, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x68, 0x61, 0x73, - 0x65, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, - 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, - 0x72, 0x69, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x32, 0xf4, 0x01, 0x0a, 0x0c, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x03, 0x50, - 0x75, 0x74, 0x12, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x50, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x50, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x1e, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x50, 0x0a, 0x05, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, - 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, - 0x01, 0x42, 0xcc, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x11, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, - 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, - 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x4a, 0xe1, 0x1e, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x6e, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, - 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, - 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, - 0x12, 0x03, 0x05, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x26, - 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x04, 0x12, 0x03, 0x08, 0x00, 0x27, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, - 0x21, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x0b, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, - 0x0b, 0x12, 0x03, 0x0b, 0x00, 0x4d, 0x0a, 0x46, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x0e, 0x00, - 0x17, 0x01, 0x1a, 0x3a, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, - 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, - 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x0e, 0x08, 0x14, 0x0a, 0x2a, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x00, 0x12, 0x03, 0x10, 0x02, 0x2e, 0x1a, 0x1d, 0x20, 0x70, 0x75, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x10, 0x06, 0x09, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x10, - 0x0a, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x10, 0x1f, 0x2a, - 0x0a, 0x2a, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x03, 0x13, 0x02, 0x2e, 0x1a, 0x1d, 0x20, - 0x67, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, - 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x13, 0x06, 0x09, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x01, 0x02, 0x12, 0x03, 0x13, 0x0a, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, - 0x03, 0x12, 0x03, 0x13, 0x1f, 0x2a, 0x0a, 0x6f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x03, - 0x16, 0x02, 0x3b, 0x1a, 0x62, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x70, 0x69, 0x20, 0x67, 0x75, 0x61, 0x72, 0x61, 0x6e, - 0x74, 0x65, 0x65, 0x73, 0x20, 0x61, 0x74, 0x2d, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x2d, 0x6f, 0x6e, - 0x63, 0x65, 0x20, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x20, 0x73, 0x65, 0x6d, 0x61, - 0x6e, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, - 0x12, 0x03, 0x16, 0x06, 0x0b, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, - 0x16, 0x0c, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, 0x16, 0x23, - 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x16, 0x2a, 0x37, 0x0a, - 0x3c, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x1a, 0x00, 0x25, 0x01, 0x1a, 0x30, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, - 0x20, 0x70, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, - 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x1a, 0x08, 0x12, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x00, 0x12, 0x03, 0x1c, 0x02, 0x4f, 0x1a, 0x25, 0x20, 0x61, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, - 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x1c, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x1c, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x00, 0x03, 0x12, 0x03, 0x1c, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, - 0x12, 0x03, 0x1c, 0x28, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, - 0x19, 0x12, 0x03, 0x1c, 0x29, 0x4d, 0x0a, 0x4d, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, - 0x1f, 0x02, 0x29, 0x1a, 0x40, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, - 0x1f, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x1f, 0x0b, - 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1f, 0x12, 0x24, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1f, 0x27, 0x28, 0x0a, 0xa5, 0x02, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x24, 0x02, 0x3d, 0x1a, 0x97, 0x02, 0x20, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x77, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x61, 0x73, 0x20, - 0x61, 0x20, 0x6a, 0x73, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x64, 0x20, 0x60, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x60, 0x20, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x20, 0x74, 0x6f, - 0x20, 0x73, 0x65, 0x61, 0x6d, 0x6c, 0x65, 0x73, 0x73, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, - 0x67, 0x72, 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x20, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x6c, 0x6c, - 0x65, 0x72, 0x20, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x2e, 0x20, 0x77, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x20, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x0a, 0x20, 0x74, 0x6f, 0x20, - 0x62, 0x65, 0x20, 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x74, - 0x75, 0x72, 0x65, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, - 0x24, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x24, 0x09, - 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x24, 0x11, 0x12, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x03, 0x24, 0x13, 0x3c, 0x0a, 0x10, 0x0a, - 0x09, 0x04, 0x00, 0x02, 0x02, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x24, 0x14, 0x3b, 0x0a, - 0x42, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x28, 0x00, 0x2e, 0x01, 0x1a, 0x36, 0x20, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x70, 0x75, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x28, 0x08, 0x13, 0x0a, - 0x32, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x2a, 0x02, 0x4f, 0x1a, 0x25, 0x20, 0x61, - 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x2a, 0x02, - 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x2a, 0x1a, 0x23, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x2a, 0x26, 0x27, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x03, 0x2a, 0x28, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, - 0x01, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x2a, 0x29, 0x4d, 0x0a, 0x1a, 0x0a, 0x04, - 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x2d, 0x02, 0x46, 0x1a, 0x0d, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, - 0x06, 0x12, 0x03, 0x2d, 0x02, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, - 0x03, 0x2d, 0x14, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x2d, - 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, 0x12, 0x03, 0x2d, 0x1f, 0x45, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x2d, 0x20, - 0x44, 0x0a, 0x3c, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x31, 0x00, 0x34, 0x01, 0x1a, 0x30, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x74, 0x6f, 0x20, 0x67, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, - 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x31, 0x08, 0x12, 0x0a, 0x32, 0x0a, 0x04, 0x04, - 0x02, 0x02, 0x00, 0x12, 0x03, 0x33, 0x02, 0x4f, 0x1a, 0x25, 0x20, 0x61, 0x20, 0x75, 0x6e, 0x69, - 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x33, 0x02, 0x19, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x33, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x33, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x00, 0x08, 0x12, 0x03, 0x33, 0x28, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, - 0x87, 0x09, 0x19, 0x12, 0x03, 0x33, 0x29, 0x4d, 0x0a, 0x42, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, - 0x37, 0x00, 0x40, 0x01, 0x1a, 0x36, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, + 0x49, 0x64, 0x12, 0x33, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x68, 0x61, 0x73, 0x65, + 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, + 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, + 0x69, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x32, 0xf4, 0x01, 0x0a, 0x0c, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x03, 0x50, 0x75, + 0x74, 0x12, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x50, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x50, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x1e, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, + 0x0a, 0x05, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, + 0x42, 0xcc, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x11, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, + 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, + 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, + 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, + 0xe1, 0x1e, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x6e, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, + 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, + 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, + 0x03, 0x05, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x26, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, + 0x12, 0x03, 0x08, 0x00, 0x27, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x21, + 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x0b, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, + 0x12, 0x03, 0x0b, 0x00, 0x4d, 0x0a, 0x46, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x0e, 0x00, 0x17, + 0x01, 0x1a, 0x3a, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, + 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x0e, 0x08, 0x14, 0x0a, 0x2a, 0x0a, 0x04, 0x06, 0x00, 0x02, + 0x00, 0x12, 0x03, 0x10, 0x02, 0x2e, 0x1a, 0x1d, 0x20, 0x70, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, + 0x10, 0x06, 0x09, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x10, 0x0a, + 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x10, 0x1f, 0x2a, 0x0a, + 0x2a, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x03, 0x13, 0x02, 0x2e, 0x1a, 0x1d, 0x20, 0x67, + 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x13, 0x06, 0x09, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x01, 0x02, 0x12, 0x03, 0x13, 0x0a, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, + 0x12, 0x03, 0x13, 0x1f, 0x2a, 0x0a, 0x6f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x03, 0x16, + 0x02, 0x3b, 0x1a, 0x62, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x70, 0x69, 0x20, 0x67, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, + 0x65, 0x65, 0x73, 0x20, 0x61, 0x74, 0x2d, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x2d, 0x6f, 0x6e, 0x63, + 0x65, 0x20, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x20, 0x73, 0x65, 0x6d, 0x61, 0x6e, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, + 0x03, 0x16, 0x06, 0x0b, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x16, + 0x0c, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, 0x16, 0x23, 0x29, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x16, 0x2a, 0x37, 0x0a, 0x3c, + 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x1a, 0x00, 0x25, 0x01, 0x1a, 0x30, 0x20, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x20, + 0x70, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, - 0x04, 0x03, 0x01, 0x12, 0x03, 0x37, 0x08, 0x13, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, - 0x12, 0x03, 0x39, 0x02, 0x4f, 0x1a, 0x25, 0x20, 0x61, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, + 0x04, 0x00, 0x01, 0x12, 0x03, 0x1a, 0x08, 0x12, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, + 0x12, 0x03, 0x1c, 0x02, 0x4f, 0x1a, 0x25, 0x20, 0x61, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x03, 0x39, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x00, 0x01, 0x12, 0x03, 0x39, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, - 0x03, 0x12, 0x03, 0x39, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, - 0x03, 0x39, 0x28, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, - 0x12, 0x03, 0x39, 0x29, 0x4d, 0x0a, 0x1b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x03, 0x3c, - 0x02, 0x46, 0x1a, 0x0e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x06, 0x12, 0x03, 0x3c, 0x02, 0x13, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x03, 0x3c, 0x14, 0x1a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x3c, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x01, 0x08, 0x12, 0x03, 0x3c, 0x1f, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, - 0x02, 0x01, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x3c, 0x20, 0x44, 0x0a, 0x35, 0x0a, 0x04, 0x04, - 0x03, 0x02, 0x02, 0x12, 0x03, 0x3f, 0x02, 0x3d, 0x1a, 0x28, 0x20, 0x61, 0x20, 0x6a, 0x73, 0x6f, - 0x6e, 0x20, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x60, 0x4e, 0x6f, - 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x60, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x05, 0x12, 0x03, 0x3f, 0x02, 0x08, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x12, 0x03, 0x3f, 0x09, 0x0e, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, 0x03, 0x3f, 0x11, 0x12, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x02, 0x08, 0x12, 0x03, 0x3f, 0x13, 0x3c, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x03, - 0x02, 0x02, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x3f, 0x14, 0x3b, 0x0a, 0x4b, 0x0a, 0x02, - 0x04, 0x04, 0x12, 0x04, 0x43, 0x00, 0x4c, 0x01, 0x1a, 0x3f, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, - 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, - 0x12, 0x03, 0x43, 0x08, 0x14, 0x0a, 0x3e, 0x0a, 0x04, 0x04, 0x04, 0x08, 0x00, 0x12, 0x04, 0x45, - 0x02, 0x4b, 0x03, 0x1a, 0x30, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x68, 0x69, - 0x63, 0x68, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x61, - 0x74, 0x63, 0x68, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x08, 0x00, 0x01, 0x12, 0x03, - 0x45, 0x08, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x08, 0x00, 0x02, 0x12, 0x03, 0x46, 0x04, - 0x30, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x46, - 0x04, 0x30, 0x0a, 0x76, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x4a, 0x04, 0x31, 0x1a, - 0x69, 0x20, 0x61, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x77, - 0x61, 0x74, 0x63, 0x68, 0x2e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x0a, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x00, 0x06, 0x12, 0x03, 0x4a, 0x04, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, - 0x01, 0x12, 0x03, 0x4a, 0x1c, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, - 0x03, 0x4a, 0x2f, 0x30, 0x0a, 0x4c, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x4f, 0x00, 0x55, 0x01, - 0x1a, 0x40, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, - 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x4f, 0x08, 0x15, 0x0a, 0x3c, - 0x0a, 0x04, 0x04, 0x05, 0x08, 0x00, 0x12, 0x04, 0x51, 0x02, 0x54, 0x03, 0x1a, 0x2e, 0x20, 0x61, - 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x05, 0x08, 0x00, 0x01, 0x12, 0x03, 0x51, 0x08, 0x0f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, - 0x02, 0x00, 0x12, 0x03, 0x52, 0x04, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, - 0x12, 0x03, 0x52, 0x04, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, - 0x52, 0x11, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x52, 0x21, - 0x22, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x03, 0x53, 0x04, 0x27, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x06, 0x12, 0x03, 0x53, 0x04, 0x12, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x03, 0x53, 0x13, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, - 0x02, 0x01, 0x03, 0x12, 0x03, 0x53, 0x25, 0x26, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x04, - 0x57, 0x00, 0x5c, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x03, 0x57, 0x08, 0x16, - 0x0a, 0xe2, 0x02, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x5b, 0x02, 0x14, 0x1a, 0xd4, - 0x02, 0x20, 0x61, 0x20, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x2e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x64, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x69, 0x67, 0x75, 0x61, 0x74, 0x65, - 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, - 0x0a, 0x20, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x2e, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x20, - 0x62, 0x65, 0x67, 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, - 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, - 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x20, 0x77, - 0x69, 0x74, 0x68, 0x20, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x2e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x20, 0x64, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x69, 0x67, 0x75, 0x61, 0x74, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x03, - 0x5b, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x03, 0x5b, 0x07, - 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x03, 0x5b, 0x12, 0x13, 0x0a, - 0x47, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x04, 0x5f, 0x00, 0x6e, 0x01, 0x1a, 0x3b, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, - 0x6e, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x6f, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, - 0x03, 0x5f, 0x08, 0x14, 0x0a, 0x62, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x03, 0x61, 0x02, - 0x4f, 0x1a, 0x55, 0x20, 0x41, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x60, 0x6e, 0x69, 0x6c, 0x60, 0x20, 0x69, 0x73, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x73, 0x65, 0x6e, 0x74, 0x69, - 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, - 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, - 0x06, 0x12, 0x03, 0x61, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x61, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x03, 0x61, - 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x03, 0x61, 0x28, 0x4e, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x61, 0x29, - 0x4d, 0x0a, 0x2f, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x03, 0x64, 0x02, 0x1f, 0x1a, 0x22, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x68, 0x61, - 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x06, 0x12, 0x03, 0x64, 0x02, 0x14, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x03, 0x64, 0x15, 0x1a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x03, 0x64, 0x1d, 0x1e, 0x0a, 0x40, 0x0a, 0x04, - 0x04, 0x07, 0x02, 0x02, 0x12, 0x03, 0x67, 0x02, 0x33, 0x1a, 0x33, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x28, 0x69, 0x66, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x04, 0x12, 0x03, 0x67, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x02, 0x06, 0x12, 0x03, 0x67, 0x0b, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x02, 0x01, 0x12, 0x03, 0x67, 0x29, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, - 0x03, 0x12, 0x03, 0x67, 0x31, 0x32, 0x0a, 0x2c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x03, 0x12, 0x03, - 0x6a, 0x02, 0x18, 0x1a, 0x1f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x20, 0x75, 0x72, 0x69, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x05, 0x12, 0x03, 0x6a, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x01, 0x12, 0x03, 0x6a, 0x09, 0x13, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x03, 0x12, 0x03, 0x6a, 0x16, 0x17, 0x0a, 0x4c, - 0x0a, 0x04, 0x04, 0x07, 0x02, 0x04, 0x12, 0x03, 0x6d, 0x02, 0x2c, 0x1a, 0x3f, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, - 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x04, 0x04, 0x12, 0x03, 0x6d, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x04, 0x06, 0x12, 0x03, 0x6d, 0x0b, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, - 0x01, 0x12, 0x03, 0x6d, 0x22, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x03, 0x12, - 0x03, 0x6d, 0x2a, 0x2b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xcb, 0x0a, 0x0a, - 0x2d, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x27, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, - 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x10, 0x0a, 0x0e, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x67, - 0x0a, 0x12, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x21, - 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xd2, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, + 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x1c, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x1c, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, + 0x03, 0x12, 0x03, 0x1c, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, + 0x03, 0x1c, 0x28, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, + 0x12, 0x03, 0x1c, 0x29, 0x4d, 0x0a, 0x4d, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x1f, + 0x02, 0x29, 0x1a, 0x40, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x69, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, 0x1f, + 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x1f, 0x0b, 0x11, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1f, 0x12, 0x24, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1f, 0x27, 0x28, 0x0a, 0xa5, 0x02, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x24, 0x02, 0x3d, 0x1a, 0x97, 0x02, 0x20, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x77, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x61, 0x73, 0x20, 0x61, + 0x20, 0x6a, 0x73, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, + 0x20, 0x60, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x60, 0x20, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, + 0x62, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x20, 0x74, 0x6f, 0x20, + 0x73, 0x65, 0x61, 0x6d, 0x6c, 0x65, 0x73, 0x73, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, + 0x72, 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x67, 0x20, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x6c, 0x6c, 0x65, + 0x72, 0x20, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x2e, 0x20, 0x77, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x0a, 0x20, 0x74, 0x6f, 0x20, 0x62, + 0x65, 0x20, 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x74, 0x75, + 0x72, 0x65, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, + 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x24, + 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x24, 0x09, 0x0e, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x24, 0x11, 0x12, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x03, 0x24, 0x13, 0x3c, 0x0a, 0x10, 0x0a, 0x09, + 0x04, 0x00, 0x02, 0x02, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x24, 0x14, 0x3b, 0x0a, 0x42, + 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x28, 0x00, 0x2e, 0x01, 0x1a, 0x36, 0x20, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x70, 0x75, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x28, 0x08, 0x13, 0x0a, 0x32, + 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x2a, 0x02, 0x4f, 0x1a, 0x25, 0x20, 0x61, 0x20, + 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x2a, 0x02, 0x19, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x2a, 0x1a, 0x23, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x2a, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x03, 0x2a, 0x28, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, + 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x2a, 0x29, 0x4d, 0x0a, 0x1a, 0x0a, 0x04, 0x04, + 0x01, 0x02, 0x01, 0x12, 0x03, 0x2d, 0x02, 0x46, 0x1a, 0x0d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x06, + 0x12, 0x03, 0x2d, 0x02, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, + 0x2d, 0x14, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x2d, 0x1d, + 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, 0x12, 0x03, 0x2d, 0x1f, 0x45, 0x0a, + 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x2d, 0x20, 0x44, + 0x0a, 0x3c, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x31, 0x00, 0x34, 0x01, 0x1a, 0x30, 0x20, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, + 0x6f, 0x20, 0x67, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, + 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, + 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x31, 0x08, 0x12, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x02, + 0x02, 0x00, 0x12, 0x03, 0x33, 0x02, 0x4f, 0x1a, 0x25, 0x20, 0x61, 0x20, 0x75, 0x6e, 0x69, 0x71, + 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x33, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x33, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x00, 0x03, 0x12, 0x03, 0x33, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, + 0x08, 0x12, 0x03, 0x33, 0x28, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x87, + 0x09, 0x19, 0x12, 0x03, 0x33, 0x29, 0x4d, 0x0a, 0x42, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x37, + 0x00, 0x40, 0x01, 0x1a, 0x36, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, + 0x03, 0x01, 0x12, 0x03, 0x37, 0x08, 0x13, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, + 0x03, 0x39, 0x02, 0x4f, 0x1a, 0x25, 0x20, 0x61, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x00, 0x06, 0x12, 0x03, 0x39, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, + 0x00, 0x01, 0x12, 0x03, 0x39, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, + 0x12, 0x03, 0x39, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x03, + 0x39, 0x28, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, + 0x03, 0x39, 0x29, 0x4d, 0x0a, 0x1b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x03, 0x3c, 0x02, + 0x46, 0x1a, 0x0e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x06, 0x12, 0x03, 0x3c, 0x02, 0x13, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x03, 0x3c, 0x14, 0x1a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x3c, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x01, 0x08, 0x12, 0x03, 0x3c, 0x1f, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, + 0x01, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x3c, 0x20, 0x44, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x03, + 0x02, 0x02, 0x12, 0x03, 0x3f, 0x02, 0x3d, 0x1a, 0x28, 0x20, 0x61, 0x20, 0x6a, 0x73, 0x6f, 0x6e, + 0x20, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x60, 0x4e, 0x6f, 0x64, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x60, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x05, 0x12, 0x03, 0x3f, 0x02, 0x08, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x12, 0x03, 0x3f, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, 0x03, 0x3f, 0x11, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x02, 0x08, 0x12, 0x03, 0x3f, 0x13, 0x3c, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x03, 0x02, + 0x02, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x3f, 0x14, 0x3b, 0x0a, 0x4b, 0x0a, 0x02, 0x04, + 0x04, 0x12, 0x04, 0x43, 0x00, 0x4c, 0x01, 0x1a, 0x3f, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, + 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, + 0x03, 0x43, 0x08, 0x14, 0x0a, 0x3e, 0x0a, 0x04, 0x04, 0x04, 0x08, 0x00, 0x12, 0x04, 0x45, 0x02, + 0x4b, 0x03, 0x1a, 0x30, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x61, 0x74, + 0x63, 0x68, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x08, 0x00, 0x01, 0x12, 0x03, 0x45, + 0x08, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x08, 0x00, 0x02, 0x12, 0x03, 0x46, 0x04, 0x30, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x46, 0x04, + 0x30, 0x0a, 0x76, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x4a, 0x04, 0x31, 0x1a, 0x69, + 0x20, 0x61, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x61, + 0x74, 0x63, 0x68, 0x2e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x0a, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x00, 0x06, 0x12, 0x03, 0x4a, 0x04, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, + 0x12, 0x03, 0x4a, 0x1c, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, + 0x4a, 0x2f, 0x30, 0x0a, 0x4c, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x4f, 0x00, 0x55, 0x01, 0x1a, + 0x40, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x4f, 0x08, 0x15, 0x0a, 0x3c, 0x0a, + 0x04, 0x04, 0x05, 0x08, 0x00, 0x12, 0x04, 0x51, 0x02, 0x54, 0x03, 0x1a, 0x2e, 0x20, 0x61, 0x6e, + 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x63, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x05, 0x08, 0x00, 0x01, 0x12, 0x03, 0x51, 0x08, 0x0f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, + 0x00, 0x12, 0x03, 0x52, 0x04, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, + 0x03, 0x52, 0x04, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x52, + 0x11, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x52, 0x21, 0x22, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x03, 0x53, 0x04, 0x27, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x01, 0x06, 0x12, 0x03, 0x53, 0x04, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x01, 0x01, 0x12, 0x03, 0x53, 0x13, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x01, 0x03, 0x12, 0x03, 0x53, 0x25, 0x26, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x04, 0x57, + 0x00, 0x5c, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x03, 0x57, 0x08, 0x16, 0x0a, + 0xe2, 0x02, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x5b, 0x02, 0x14, 0x1a, 0xd4, 0x02, + 0x20, 0x61, 0x20, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x2e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x64, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x69, 0x67, 0x75, 0x61, 0x74, 0x65, 0x20, + 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x0a, + 0x20, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x2e, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x20, 0x62, + 0x65, 0x67, 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, + 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x20, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x2e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x20, 0x64, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x69, 0x67, 0x75, 0x61, 0x74, 0x65, 0x73, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x03, 0x5b, + 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x03, 0x5b, 0x07, 0x0f, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x03, 0x5b, 0x12, 0x13, 0x0a, 0x47, + 0x0a, 0x02, 0x04, 0x07, 0x12, 0x04, 0x5f, 0x00, 0x6e, 0x01, 0x1a, 0x3b, 0x20, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x74, 0x20, 0x61, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x03, + 0x5f, 0x08, 0x14, 0x0a, 0x62, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x03, 0x61, 0x02, 0x4f, + 0x1a, 0x55, 0x20, 0x41, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x60, 0x6e, 0x69, 0x6c, 0x60, 0x20, 0x69, 0x73, 0x20, + 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, + 0x65, 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, + 0x12, 0x03, 0x61, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x03, + 0x61, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x03, 0x61, 0x26, + 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x03, 0x61, 0x28, 0x4e, 0x0a, + 0x0f, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x61, 0x29, 0x4d, + 0x0a, 0x2f, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x03, 0x64, 0x02, 0x1f, 0x1a, 0x22, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x68, 0x61, 0x73, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x06, 0x12, 0x03, 0x64, 0x02, 0x14, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x03, 0x64, 0x15, 0x1a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x03, 0x64, 0x1d, 0x1e, 0x0a, 0x40, 0x0a, 0x04, 0x04, + 0x07, 0x02, 0x02, 0x12, 0x03, 0x67, 0x02, 0x33, 0x1a, 0x33, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x28, 0x69, 0x66, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x02, 0x04, 0x12, 0x03, 0x67, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x07, 0x02, 0x02, 0x06, 0x12, 0x03, 0x67, 0x0b, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, + 0x02, 0x01, 0x12, 0x03, 0x67, 0x29, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x03, + 0x12, 0x03, 0x67, 0x31, 0x32, 0x0a, 0x2c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x03, 0x12, 0x03, 0x6a, + 0x02, 0x18, 0x1a, 0x1f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, + 0x75, 0x72, 0x69, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x05, 0x12, 0x03, 0x6a, 0x02, + 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x01, 0x12, 0x03, 0x6a, 0x09, 0x13, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x03, 0x12, 0x03, 0x6a, 0x16, 0x17, 0x0a, 0x4c, 0x0a, + 0x04, 0x04, 0x07, 0x02, 0x04, 0x12, 0x03, 0x6d, 0x02, 0x2c, 0x1a, 0x3f, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x75, + 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x07, 0x02, 0x04, 0x04, 0x12, 0x03, 0x6d, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, + 0x04, 0x06, 0x12, 0x03, 0x6d, 0x0b, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x01, + 0x12, 0x03, 0x6d, 0x22, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x03, 0x12, 0x03, + 0x6d, 0x2a, 0x2b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xcb, 0x0a, 0x0a, 0x2d, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, + 0x02, 0x08, 0x01, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x10, 0x0a, 0x0e, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x67, 0x0a, + 0x12, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x42, 0x17, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, - 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0x93, 0x06, 0x0a, - 0x06, 0x12, 0x04, 0x00, 0x00, 0x1a, 0x19, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, - 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, - 0x31, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x07, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, - 0x0b, 0x12, 0x03, 0x07, 0x00, 0x4d, 0x0a, 0x70, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x0a, 0x00, - 0x0d, 0x01, 0x1a, 0x64, 0x20, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, - 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x52, 0x65, 0x64, 0x69, 0x73, 0x20, - 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, - 0x03, 0x0a, 0x08, 0x1a, 0x0a, 0x2f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0c, 0x02, - 0x37, 0x1a, 0x22, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, - 0x0c, 0x06, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x0c, 0x0d, - 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0c, 0x25, 0x33, 0x0a, - 0x83, 0x02, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x14, 0x00, 0x17, 0x01, 0x1a, 0x50, 0x20, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, - 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x32, 0xa4, - 0x01, 0x20, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, + 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xd2, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x42, 0x17, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, + 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, + 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, + 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0x93, 0x06, 0x0a, 0x06, + 0x12, 0x04, 0x00, 0x00, 0x1a, 0x19, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, + 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, + 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x31, + 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x07, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, + 0x12, 0x03, 0x07, 0x00, 0x4d, 0x0a, 0x70, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x0a, 0x00, 0x0d, + 0x01, 0x1a, 0x64, 0x20, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, + 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x52, 0x65, 0x64, 0x69, 0x73, 0x20, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, + 0x0a, 0x08, 0x1a, 0x0a, 0x2f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0c, 0x02, 0x37, + 0x1a, 0x22, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0c, + 0x06, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x0c, 0x0d, 0x1a, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0c, 0x25, 0x33, 0x0a, 0x83, + 0x02, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x14, 0x00, 0x17, 0x01, 0x1a, 0x50, 0x20, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x32, 0xa4, 0x01, + 0x20, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, - 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x0a, 0x20, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x0a, 0x20, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, + 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x0a, 0x20, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x0a, 0x20, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, - 0x3d, 0x3d, 0x3d, 0x3d, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x14, 0x08, - 0x15, 0x0a, 0x24, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x16, 0x02, 0x63, 0x1a, 0x17, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x04, - 0x12, 0x03, 0x16, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, - 0x16, 0x0b, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x16, 0x2a, - 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x16, 0x33, 0x34, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x16, 0x35, 0x62, 0x0a, 0x10, 0x0a, - 0x09, 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, 0x12, 0x01, 0x12, 0x03, 0x16, 0x36, 0x61, 0x0a, - 0x55, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x03, 0x1a, 0x00, 0x19, 0x1a, 0x4a, 0x20, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x1a, - 0x08, 0x16, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xc5, 0x4c, 0x0a, 0x2d, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x1f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1d, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x72, - 0x65, 0x2f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x27, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0xca, 0x03, 0x0a, 0x13, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, - 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x73, 0x6b, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x37, - 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, - 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0e, - 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, - 0x93, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, - 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x5e, 0x0a, 0x19, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x41, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x62, 0x0a, 0x1a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf5, 0x02, 0x0a, 0x19, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x3d, 0x3d, 0x3d, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x14, 0x08, 0x15, + 0x0a, 0x24, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x16, 0x02, 0x63, 0x1a, 0x17, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x04, 0x12, + 0x03, 0x16, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x16, + 0x0b, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x16, 0x2a, 0x30, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x16, 0x33, 0x34, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x16, 0x35, 0x62, 0x0a, 0x10, 0x0a, 0x09, + 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, 0x12, 0x01, 0x12, 0x03, 0x16, 0x36, 0x61, 0x0a, 0x55, + 0x0a, 0x02, 0x04, 0x01, 0x12, 0x03, 0x1a, 0x00, 0x19, 0x1a, 0x4a, 0x20, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x1a, 0x08, + 0x16, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xc5, 0x4c, 0x0a, 0x2d, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x1a, + 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1d, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, + 0x2f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x27, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xca, 0x03, 0x0a, 0x13, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x37, 0x0a, + 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0e, 0x72, + 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x93, + 0x01, 0x0a, 0x14, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x40, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x34, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, - 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x45, - 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, - 0x01, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, - 0x26, 0x0a, 0x0c, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, - 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0xba, - 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x80, 0x01, - 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x47, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, - 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, - 0x22, 0x84, 0x01, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x55, 0x70, 0x64, + 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x5e, 0x0a, 0x19, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x41, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x62, 0x0a, 0x1a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf5, 0x02, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x59, 0x0a, 0x18, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x22, 0x98, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, - 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0xba, - 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x5c, 0x0a, - 0x19, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x06, 0xba, 0x48, 0x03, - 0xc8, 0x01, 0x01, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x50, 0x0a, 0x1a, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0xba, - 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x86, 0x01, - 0x0a, 0x1e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x4e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, - 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, + 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x40, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x34, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, + 0x69, 0x70, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, + 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x01, + 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x26, + 0x0a, 0x0c, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x22, 0x99, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0xba, 0x48, + 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x80, 0x01, 0x0a, + 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x47, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x22, + 0x84, 0x01, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0xba, 0x48, 0x03, - 0xc8, 0x01, 0x01, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6e, 0x6f, - 0x6e, 0x63, 0x65, 0x32, 0xfb, 0x05, 0x0a, 0x12, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x63, 0x0a, 0x0c, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x79, 0x0a, 0x12, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x59, 0x0a, 0x18, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x22, 0x98, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0xba, 0x48, + 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x5c, 0x0a, 0x19, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, + 0x01, 0x01, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x50, 0x0a, 0x1a, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0xba, 0x48, + 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x86, 0x01, 0x0a, + 0x1e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x06, + 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, + 0x01, 0x01, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6e, 0x6f, 0x6e, + 0x63, 0x65, 0x32, 0xfb, 0x05, 0x0a, 0x12, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, + 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x63, 0x0a, 0x0c, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, + 0x0a, 0x12, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x12, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x75, 0x0a, 0x12, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x75, 0x0a, 0x12, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x33, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, - 0x75, 0x0a, 0x12, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x8b, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x33, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x75, + 0x0a, 0x12, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x12, 0x32, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x12, 0x32, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, - 0x01, 0x42, 0xd2, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x17, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, - 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, - 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xe1, 0x30, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xb1, - 0x01, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, - 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, - 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, - 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, - 0x00, 0x27, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x31, 0x0a, 0x09, 0x0a, - 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x21, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x0b, - 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x0b, 0x00, 0x4d, 0x0a, 0x0a, 0x0a, - 0x02, 0x06, 0x00, 0x12, 0x04, 0x0d, 0x00, 0x1f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, - 0x12, 0x03, 0x0d, 0x08, 0x1a, 0x0a, 0x23, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0f, - 0x02, 0x49, 0x1a, 0x16, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20, 0x61, 0x20, 0x6e, 0x65, - 0x77, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x00, 0x01, 0x12, 0x03, 0x0f, 0x06, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, - 0x02, 0x12, 0x03, 0x0f, 0x13, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, - 0x03, 0x0f, 0x31, 0x45, 0x0a, 0x3e, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x03, 0x12, 0x02, - 0x69, 0x1a, 0x31, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, - 0x6e, 0x67, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x12, - 0x06, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x12, 0x19, 0x1f, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x12, 0x20, 0x39, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x12, 0x44, 0x4a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x12, 0x4b, 0x65, 0x0a, 0x2e, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x02, 0x12, 0x03, 0x15, 0x02, 0x5b, 0x1a, 0x21, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, - 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x02, 0x01, 0x12, 0x03, 0x15, 0x06, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, - 0x02, 0x12, 0x03, 0x15, 0x19, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, - 0x03, 0x15, 0x3d, 0x57, 0x0a, 0x49, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, 0x12, 0x03, 0x18, 0x02, - 0x7b, 0x1a, 0x3c, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6d, - 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x18, 0x06, 0x1e, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x18, 0x1f, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x18, 0x26, 0x45, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x03, 0x06, 0x12, 0x03, 0x18, 0x50, 0x56, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, - 0x12, 0x03, 0x18, 0x57, 0x77, 0x0a, 0x34, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x04, 0x12, 0x03, 0x1b, - 0x02, 0x5b, 0x1a, 0x27, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20, 0x61, 0x20, 0x63, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x1b, 0x06, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x04, 0x02, 0x12, 0x03, 0x1b, 0x19, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x03, - 0x12, 0x03, 0x1b, 0x3d, 0x57, 0x0a, 0x44, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x05, 0x12, 0x03, 0x1e, - 0x02, 0x78, 0x1a, 0x37, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20, 0x61, 0x20, 0x6e, 0x65, - 0x77, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x28, - 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x1e, 0x06, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x05, 0x05, 0x12, 0x03, 0x1e, 0x1e, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x02, - 0x12, 0x03, 0x1e, 0x25, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, - 0x1e, 0x4e, 0x54, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x1e, 0x55, - 0x74, 0x0a, 0x36, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x22, 0x00, 0x3d, 0x01, 0x1a, 0x2a, 0x20, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, - 0x12, 0x03, 0x22, 0x08, 0x1b, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x24, - 0x02, 0x59, 0x1a, 0x13, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x72, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, - 0x12, 0x03, 0x24, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, - 0x24, 0x24, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x24, 0x30, - 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x24, 0x32, 0x58, 0x0a, - 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x24, 0x33, 0x57, - 0x0a, 0x77, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x27, 0x02, 0x14, 0x1a, 0x6a, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, - 0x74, 0x6f, 0x20, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x69, 0x66, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6f, 0x74, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x01, 0x05, 0x12, 0x03, 0x27, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, - 0x12, 0x03, 0x27, 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, - 0x27, 0x12, 0x13, 0x0a, 0x3f, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x2a, 0x02, 0x13, - 0x1a, 0x32, 0x20, 0x54, 0x68, 0x65, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, - 0x20, 0x74, 0x6f, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, - 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x2a, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x2a, 0x09, 0x0e, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x2a, 0x11, 0x12, 0x0a, 0x3d, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x2d, 0x02, 0x15, 0x1a, 0x30, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x2d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x2d, 0x09, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x03, 0x03, 0x12, 0x03, 0x2d, 0x13, 0x14, 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, - 0x03, 0x30, 0x02, 0x17, 0x1a, 0x1c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, 0x12, 0x03, 0x30, 0x02, 0x08, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x30, 0x09, 0x12, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x30, 0x15, 0x16, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x00, 0x08, 0x00, 0x12, 0x04, 0x32, 0x02, 0x38, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x08, 0x00, 0x01, 0x12, 0x03, 0x32, 0x08, 0x0c, 0x0a, 0x80, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x05, 0x12, 0x03, 0x35, 0x04, 0x2c, 0x1a, 0x73, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x28, 0x68, 0x61, - 0x79, 0x74, 0x68, 0x61, 0x6d, 0x29, 0x3a, 0x20, 0x55, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x77, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x0a, 0x20, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x29, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, 0x35, 0x04, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x05, 0x01, 0x12, 0x03, 0x35, 0x22, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, - 0x12, 0x03, 0x35, 0x29, 0x2b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x36, - 0x04, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x36, 0x04, 0x22, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x36, 0x23, 0x28, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x36, 0x2b, 0x2d, 0x0a, 0x0b, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x37, 0x04, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x07, 0x06, 0x12, 0x03, 0x37, 0x04, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, - 0x12, 0x03, 0x37, 0x27, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, - 0x37, 0x33, 0x35, 0x0a, 0xaa, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x3c, 0x02, - 0x38, 0x1a, 0x9c, 0x01, 0x20, 0x53, 0x65, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x20, - 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6e, - 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x65, 0x64, 0x3a, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x20, 0x2b, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x06, 0x12, 0x03, 0x3c, 0x02, 0x23, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x3c, 0x24, 0x32, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x3c, 0x35, 0x37, 0x0a, 0x37, 0x0a, 0x02, 0x04, 0x01, - 0x12, 0x04, 0x40, 0x00, 0x46, 0x01, 0x1a, 0x2b, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x40, 0x08, 0x1c, 0x0a, - 0x1d, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x42, 0x02, 0x59, 0x1a, 0x10, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x42, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x42, 0x24, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x00, 0x03, 0x12, 0x03, 0x42, 0x30, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, - 0x08, 0x12, 0x03, 0x42, 0x32, 0x58, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x87, - 0x09, 0x19, 0x12, 0x03, 0x42, 0x33, 0x57, 0x0a, 0x1a, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, - 0x03, 0x45, 0x02, 0x46, 0x1a, 0x0d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x06, 0x12, 0x03, 0x45, 0x02, - 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x45, 0x14, 0x1a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x45, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, 0x12, 0x03, 0x45, 0x1f, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, - 0x01, 0x02, 0x01, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x45, 0x20, 0x44, 0x0a, 0x51, 0x0a, 0x02, - 0x04, 0x02, 0x12, 0x04, 0x49, 0x00, 0x4c, 0x01, 0x1a, 0x45, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6d, - 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x2e, 0x0a, 0x0a, - 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x49, 0x08, 0x21, 0x0a, 0x37, 0x0a, 0x04, 0x04, - 0x02, 0x02, 0x00, 0x12, 0x03, 0x4b, 0x02, 0x22, 0x1a, 0x2a, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x4b, - 0x02, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x4b, 0x16, 0x1d, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x4b, 0x20, 0x21, 0x0a, 0x52, - 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x4f, 0x00, 0x52, 0x01, 0x1a, 0x46, 0x20, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, - 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, - 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x4f, 0x08, 0x22, 0x0a, 0x38, - 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x51, 0x02, 0x24, 0x1a, 0x2b, 0x20, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, + 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, + 0x42, 0xd2, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x17, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, + 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, + 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xe1, 0x30, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xb1, 0x01, + 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, + 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, + 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, + 0x02, 0x12, 0x03, 0x06, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, + 0x27, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x31, 0x0a, 0x09, 0x0a, 0x02, + 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x21, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x0b, 0x00, + 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x0b, 0x00, 0x4d, 0x0a, 0x0a, 0x0a, 0x02, + 0x06, 0x00, 0x12, 0x04, 0x0d, 0x00, 0x1f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, + 0x03, 0x0d, 0x08, 0x1a, 0x0a, 0x23, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0f, 0x02, + 0x49, 0x1a, 0x16, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x00, 0x01, 0x12, 0x03, 0x0f, 0x06, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, + 0x12, 0x03, 0x0f, 0x13, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, + 0x0f, 0x31, 0x45, 0x0a, 0x3e, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x03, 0x12, 0x02, 0x69, + 0x1a, 0x31, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, + 0x67, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x12, 0x06, + 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x12, 0x19, 0x1f, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x12, 0x20, 0x39, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x12, 0x44, 0x4a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x12, 0x4b, 0x65, 0x0a, 0x2e, 0x0a, 0x04, 0x06, 0x00, 0x02, + 0x02, 0x12, 0x03, 0x15, 0x02, 0x5b, 0x1a, 0x21, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x02, 0x01, 0x12, 0x03, 0x15, 0x06, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, + 0x12, 0x03, 0x15, 0x19, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, + 0x15, 0x3d, 0x57, 0x0a, 0x49, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, 0x12, 0x03, 0x18, 0x02, 0x7b, + 0x1a, 0x3c, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6d, 0x70, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x18, 0x06, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x18, 0x1f, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x03, 0x02, 0x12, 0x03, 0x18, 0x26, 0x45, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, + 0x06, 0x12, 0x03, 0x18, 0x50, 0x56, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, + 0x03, 0x18, 0x57, 0x77, 0x0a, 0x34, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x04, 0x12, 0x03, 0x1b, 0x02, + 0x5b, 0x1a, 0x27, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x04, 0x01, 0x12, 0x03, 0x1b, 0x06, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, + 0x02, 0x12, 0x03, 0x1b, 0x19, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, + 0x03, 0x1b, 0x3d, 0x57, 0x0a, 0x44, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x05, 0x12, 0x03, 0x1e, 0x02, + 0x78, 0x1a, 0x37, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x28, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x05, 0x01, 0x12, 0x03, 0x1e, 0x06, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, + 0x05, 0x12, 0x03, 0x1e, 0x1e, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x02, 0x12, + 0x03, 0x1e, 0x25, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, 0x1e, + 0x4e, 0x54, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x1e, 0x55, 0x74, + 0x0a, 0x36, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x22, 0x00, 0x3d, 0x01, 0x1a, 0x2a, 0x20, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, - 0x06, 0x12, 0x03, 0x51, 0x02, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x51, 0x17, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x51, - 0x22, 0x23, 0x0a, 0x35, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x55, 0x00, 0x67, 0x01, 0x1a, 0x29, - 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, - 0x12, 0x03, 0x55, 0x08, 0x21, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x57, - 0x02, 0x59, 0x1a, 0x13, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, - 0x12, 0x03, 0x57, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, - 0x57, 0x24, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x57, 0x30, - 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x57, 0x32, 0x58, 0x0a, - 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x57, 0x33, 0x57, - 0x0a, 0x2c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x5a, 0x02, 0x54, 0x1a, 0x1f, 0x20, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x06, 0x12, 0x03, 0x5a, 0x02, 0x21, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x03, 0x5a, 0x22, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x01, 0x03, 0x12, 0x03, 0x5a, 0x2b, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, - 0x08, 0x12, 0x03, 0x5a, 0x2d, 0x53, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x01, 0x08, 0x87, - 0x09, 0x19, 0x12, 0x03, 0x5a, 0x2e, 0x52, 0x0a, 0xd3, 0x01, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, - 0x12, 0x03, 0x5f, 0x02, 0x2d, 0x1a, 0xc5, 0x01, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, - 0x4f, 0x4e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x20, 0x43, 0x61, 0x72, 0x72, 0x69, 0x65, 0x64, - 0x0a, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, - 0x73, 0x6f, 0x20, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, - 0x20, 0x63, 0x61, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x74, 0x20, 0x77, - 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x0a, 0x20, 0x53, 0x33, 0x20, 0x72, 0x6f, - 0x75, 0x6e, 0x64, 0x20, 0x74, 0x72, 0x69, 0x70, 0x3b, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x20, 0x6c, 0x65, 0x61, 0x76, 0x65, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x02, 0x04, 0x12, 0x03, 0x5f, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x02, 0x06, 0x12, 0x03, 0x5f, 0x0b, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x02, 0x01, 0x12, 0x03, 0x5f, 0x22, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x03, - 0x12, 0x03, 0x5f, 0x2b, 0x2c, 0x0a, 0x68, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x03, 0x12, 0x03, 0x63, - 0x02, 0x3b, 0x1a, 0x5b, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x20, 0x6f, 0x72, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x0a, 0x20, 0x74, - 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x04, 0x12, 0x03, 0x63, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x03, 0x06, 0x12, 0x03, 0x63, 0x0b, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x03, 0x01, 0x12, 0x03, 0x63, 0x2d, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x03, 0x03, 0x12, 0x03, 0x63, 0x39, 0x3a, 0x0a, 0x50, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x04, 0x12, - 0x03, 0x66, 0x02, 0x23, 0x1a, 0x43, 0x20, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x73, 0x75, - 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x61, 0x62, 0x6f, 0x72, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x04, 0x04, 0x12, 0x03, 0x66, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x05, - 0x12, 0x03, 0x66, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x01, 0x12, 0x03, - 0x66, 0x12, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x03, 0x12, 0x03, 0x66, 0x21, - 0x22, 0x0a, 0x36, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x6a, 0x00, 0x70, 0x01, 0x1a, 0x2a, 0x20, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, - 0x12, 0x03, 0x6a, 0x08, 0x22, 0x0a, 0x1d, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, 0x6c, - 0x02, 0x59, 0x1a, 0x10, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x03, 0x6c, - 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x6c, 0x24, 0x2d, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x6c, 0x30, 0x31, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x03, 0x6c, 0x32, 0x58, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x05, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x6c, 0x33, 0x57, 0x0a, 0x1a, 0x0a, - 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x03, 0x6f, 0x02, 0x46, 0x1a, 0x0d, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, - 0x01, 0x06, 0x12, 0x03, 0x6f, 0x02, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, - 0x12, 0x03, 0x6f, 0x14, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x03, - 0x6f, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x08, 0x12, 0x03, 0x6f, 0x1f, - 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x01, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x6f, - 0x20, 0x44, 0x0a, 0x50, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x04, 0x73, 0x00, 0x79, 0x01, 0x1a, 0x44, - 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, - 0x6e, 0x67, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x29, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x03, 0x73, 0x08, 0x27, - 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x75, 0x02, 0x28, 0x1a, 0x29, 0x20, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, - 0x06, 0x12, 0x03, 0x75, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x75, 0x1c, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x03, 0x75, - 0x26, 0x27, 0x0a, 0x4c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x03, 0x78, 0x02, 0x12, 0x1a, - 0x3f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x73, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x74, - 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x03, 0x78, 0x02, 0x07, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x03, 0x78, 0x08, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x03, 0x78, 0x10, 0x11, 0x0a, 0x52, 0x0a, 0x02, 0x04, 0x07, - 0x12, 0x05, 0x7c, 0x00, 0x82, 0x01, 0x01, 0x1a, 0x45, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, + 0x03, 0x22, 0x08, 0x1b, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x24, 0x02, + 0x59, 0x1a, 0x13, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, + 0x03, 0x24, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x24, + 0x24, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x24, 0x30, 0x31, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x24, 0x32, 0x58, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x24, 0x33, 0x57, 0x0a, + 0x77, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x27, 0x02, 0x14, 0x1a, 0x6a, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, + 0x6f, 0x20, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x69, 0x66, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, + 0x05, 0x12, 0x03, 0x27, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, + 0x03, 0x27, 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x27, + 0x12, 0x13, 0x0a, 0x3f, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x2a, 0x02, 0x13, 0x1a, + 0x32, 0x20, 0x54, 0x68, 0x65, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, + 0x74, 0x6f, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, + 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x2a, 0x02, + 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x2a, 0x09, 0x0e, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x2a, 0x11, 0x12, 0x0a, 0x3d, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x2d, 0x02, 0x15, 0x1a, 0x30, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2c, 0x20, 0x69, 0x66, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x2d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x03, 0x01, 0x12, 0x03, 0x2d, 0x09, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, + 0x03, 0x12, 0x03, 0x2d, 0x13, 0x14, 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, + 0x30, 0x02, 0x17, 0x1a, 0x1c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, 0x12, 0x03, 0x30, 0x02, 0x08, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x30, 0x09, 0x12, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x30, 0x15, 0x16, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x00, 0x08, 0x00, 0x12, 0x04, 0x32, 0x02, 0x38, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, + 0x00, 0x01, 0x12, 0x03, 0x32, 0x08, 0x0c, 0x0a, 0x80, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, + 0x12, 0x03, 0x35, 0x04, 0x2c, 0x1a, 0x73, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x28, 0x68, 0x61, 0x79, + 0x74, 0x68, 0x61, 0x6d, 0x29, 0x3a, 0x20, 0x55, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x77, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, + 0x61, 0x6c, 0x6c, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x0a, 0x20, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x2e, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x29, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x05, 0x06, 0x12, 0x03, 0x35, 0x04, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, + 0x01, 0x12, 0x03, 0x35, 0x22, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, + 0x03, 0x35, 0x29, 0x2b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x36, 0x04, + 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x36, 0x04, 0x22, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x36, 0x23, 0x28, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x36, 0x2b, 0x2d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, + 0x00, 0x02, 0x07, 0x12, 0x03, 0x37, 0x04, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, + 0x06, 0x12, 0x03, 0x37, 0x04, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, + 0x03, 0x37, 0x27, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x37, + 0x33, 0x35, 0x0a, 0xaa, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x3c, 0x02, 0x38, + 0x1a, 0x9c, 0x01, 0x20, 0x53, 0x65, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x20, 0x66, + 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6e, 0x20, + 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x65, 0x64, 0x3a, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, + 0x72, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x20, 0x2b, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x06, 0x12, 0x03, 0x3c, 0x02, 0x23, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x3c, 0x24, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x3c, 0x35, 0x37, 0x0a, 0x37, 0x0a, 0x02, 0x04, 0x01, 0x12, + 0x04, 0x40, 0x00, 0x46, 0x01, 0x1a, 0x2b, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x40, 0x08, 0x1c, 0x0a, 0x1d, + 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x42, 0x02, 0x59, 0x1a, 0x10, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x42, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x42, 0x24, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x42, 0x30, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, + 0x12, 0x03, 0x42, 0x32, 0x58, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x87, 0x09, + 0x19, 0x12, 0x03, 0x42, 0x33, 0x57, 0x0a, 0x1a, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, + 0x45, 0x02, 0x46, 0x1a, 0x0d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x06, 0x12, 0x03, 0x45, 0x02, 0x13, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x45, 0x14, 0x1a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x45, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x01, 0x08, 0x12, 0x03, 0x45, 0x1f, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, + 0x02, 0x01, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x45, 0x20, 0x44, 0x0a, 0x51, 0x0a, 0x02, 0x04, + 0x02, 0x12, 0x04, 0x49, 0x00, 0x4c, 0x01, 0x1a, 0x45, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x2e, 0x0a, 0x0a, 0x0a, - 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x03, 0x7c, 0x08, 0x28, 0x0a, 0x37, 0x0a, 0x04, 0x04, 0x07, - 0x02, 0x00, 0x12, 0x03, 0x7e, 0x02, 0x2a, 0x1a, 0x2a, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, 0x12, 0x03, 0x7e, 0x02, - 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x03, 0x7e, 0x1d, 0x25, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x03, 0x7e, 0x28, 0x29, 0x0a, 0x4d, 0x0a, - 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0x81, 0x01, 0x02, 0x12, 0x1a, 0x3f, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, - 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x01, 0x05, 0x12, 0x04, 0x81, 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0x81, 0x01, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x01, 0x03, 0x12, 0x04, 0x81, 0x01, 0x10, 0x11, 0x0a, 0x3e, 0x0a, 0x02, 0x04, 0x08, 0x12, - 0x06, 0x85, 0x01, 0x00, 0x88, 0x01, 0x01, 0x1a, 0x30, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x49, 0x08, 0x21, 0x0a, 0x37, 0x0a, 0x04, 0x04, 0x02, + 0x02, 0x00, 0x12, 0x03, 0x4b, 0x02, 0x22, 0x1a, 0x2a, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, - 0x12, 0x04, 0x85, 0x01, 0x08, 0x20, 0x0a, 0x1a, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, - 0x87, 0x01, 0x02, 0x52, 0x1a, 0x0c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, 0x87, 0x01, 0x02, - 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0x87, 0x01, 0x21, 0x26, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0x87, 0x01, 0x29, 0x2a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0x87, 0x01, 0x2b, 0x51, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0x87, 0x01, 0x2c, 0x50, - 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0x8b, 0x01, 0x00, 0x91, 0x01, 0x01, 0x1a, 0x31, - 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, - 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, - 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0x8b, 0x01, 0x08, 0x21, 0x0a, 0x1e, - 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0x8d, 0x01, 0x02, 0x59, 0x1a, 0x10, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0x8d, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8d, 0x01, 0x24, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8d, 0x01, 0x30, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8d, 0x01, 0x32, 0x58, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, - 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0x8d, 0x01, 0x33, 0x57, 0x0a, 0x1b, 0x0a, 0x04, - 0x04, 0x09, 0x02, 0x01, 0x12, 0x04, 0x90, 0x01, 0x02, 0x46, 0x1a, 0x0d, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x01, 0x06, 0x12, 0x04, 0x90, 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, - 0x01, 0x12, 0x04, 0x90, 0x01, 0x14, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x03, - 0x12, 0x04, 0x90, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x08, 0x12, - 0x04, 0x90, 0x01, 0x1f, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x01, 0x08, 0x87, 0x09, - 0x19, 0x12, 0x04, 0x90, 0x01, 0x20, 0x44, 0x0a, 0x4c, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0x94, - 0x01, 0x00, 0x97, 0x01, 0x01, 0x1a, 0x3e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0x94, 0x01, - 0x08, 0x21, 0x0a, 0x1b, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0x96, 0x01, 0x02, 0x5c, - 0x1a, 0x0d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x04, 0x12, 0x04, 0x96, 0x01, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, 0x04, 0x96, 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0x96, 0x01, 0x2a, 0x30, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0x96, 0x01, 0x33, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0x96, 0x01, 0x35, 0x5b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, - 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0x96, 0x01, 0x36, 0x5a, 0x0a, 0x4d, 0x0a, 0x02, - 0x04, 0x0b, 0x12, 0x06, 0x9a, 0x01, 0x00, 0x9d, 0x01, 0x01, 0x1a, 0x3f, 0x20, 0x52, 0x65, 0x73, + 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x4b, 0x02, + 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x4b, 0x16, 0x1d, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x4b, 0x20, 0x21, 0x0a, 0x52, 0x0a, + 0x02, 0x04, 0x03, 0x12, 0x04, 0x4f, 0x00, 0x52, 0x01, 0x1a, 0x46, 0x20, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, + 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x2e, + 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x4f, 0x08, 0x22, 0x0a, 0x38, 0x0a, + 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x51, 0x02, 0x24, 0x1a, 0x2b, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x63, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x0b, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x08, 0x22, 0x0a, 0x1b, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, - 0x12, 0x04, 0x9c, 0x01, 0x02, 0x46, 0x1a, 0x0d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x06, 0x12, 0x04, - 0x9c, 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9c, - 0x01, 0x14, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9c, 0x01, - 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x04, 0x9c, 0x01, 0x1f, - 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0x9c, - 0x01, 0x20, 0x44, 0x0a, 0xb8, 0x01, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xa1, 0x01, 0x00, 0xa7, - 0x01, 0x01, 0x1a, 0xa9, 0x01, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x69, - 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x2e, 0x0a, - 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x20, 0x2d, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xa1, 0x01, 0x08, 0x26, 0x0a, 0x3e, 0x0a, 0x04, 0x04, - 0x0c, 0x02, 0x00, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x4e, 0x1a, 0x30, 0x20, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x1b, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xa3, 0x01, 0x25, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, - 0x08, 0x12, 0x04, 0xa3, 0x01, 0x27, 0x4d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x00, 0x08, - 0x87, 0x09, 0x19, 0x12, 0x04, 0xa3, 0x01, 0x28, 0x4c, 0x0a, 0x4d, 0x0a, 0x04, 0x04, 0x0c, 0x02, - 0x01, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x12, 0x1a, 0x3f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x6f, - 0x6e, 0x63, 0x65, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, - 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, - 0x05, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x01, - 0x12, 0x04, 0xa6, 0x01, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x03, 0x12, - 0x04, 0xa6, 0x01, 0x10, 0x11, 0x0a, 0xba, 0x01, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xab, 0x01, - 0x00, 0xb1, 0x01, 0x01, 0x1a, 0xab, 0x01, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, + 0x12, 0x03, 0x51, 0x02, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, + 0x51, 0x17, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x51, 0x22, + 0x23, 0x0a, 0x35, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x55, 0x00, 0x67, 0x01, 0x1a, 0x29, 0x20, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, + 0x03, 0x55, 0x08, 0x21, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x57, 0x02, + 0x59, 0x1a, 0x13, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, + 0x03, 0x57, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x57, + 0x24, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x57, 0x30, 0x31, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x57, 0x32, 0x58, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x57, 0x33, 0x57, 0x0a, + 0x2c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x5a, 0x02, 0x54, 0x1a, 0x1f, 0x20, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x04, 0x02, 0x01, 0x06, 0x12, 0x03, 0x5a, 0x02, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x04, 0x02, 0x01, 0x01, 0x12, 0x03, 0x5a, 0x22, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x01, 0x03, 0x12, 0x03, 0x5a, 0x2b, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x08, + 0x12, 0x03, 0x5a, 0x2d, 0x53, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x01, 0x08, 0x87, 0x09, + 0x19, 0x12, 0x03, 0x5a, 0x2e, 0x52, 0x0a, 0xd3, 0x01, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, 0x12, + 0x03, 0x5f, 0x02, 0x2d, 0x1a, 0xc5, 0x01, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, + 0x4e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x20, 0x43, 0x61, 0x72, 0x72, 0x69, 0x65, 0x64, 0x0a, + 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x73, + 0x6f, 0x20, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x20, + 0x63, 0x61, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x74, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x0a, 0x20, 0x53, 0x33, 0x20, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x20, 0x74, 0x72, 0x69, 0x70, 0x3b, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x20, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x04, 0x02, 0x02, 0x04, 0x12, 0x03, 0x5f, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, + 0x02, 0x02, 0x06, 0x12, 0x03, 0x5f, 0x0b, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, + 0x01, 0x12, 0x03, 0x5f, 0x22, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, + 0x03, 0x5f, 0x2b, 0x2c, 0x0a, 0x68, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x03, 0x12, 0x03, 0x63, 0x02, + 0x3b, 0x1a, 0x5b, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, + 0x20, 0x6f, 0x72, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x0a, 0x20, 0x74, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x04, 0x12, 0x03, 0x63, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x04, 0x02, 0x03, 0x06, 0x12, 0x03, 0x63, 0x0b, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, + 0x02, 0x03, 0x01, 0x12, 0x03, 0x63, 0x2d, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, + 0x03, 0x12, 0x03, 0x63, 0x39, 0x3a, 0x0a, 0x50, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x04, 0x12, 0x03, + 0x66, 0x02, 0x23, 0x1a, 0x43, 0x20, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x73, 0x75, 0x70, + 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, + 0x62, 0x6f, 0x72, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x69, 0x73, 0x20, 0x41, + 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, + 0x04, 0x12, 0x03, 0x66, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x05, 0x12, + 0x03, 0x66, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x01, 0x12, 0x03, 0x66, + 0x12, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x03, 0x12, 0x03, 0x66, 0x21, 0x22, + 0x0a, 0x36, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x6a, 0x00, 0x70, 0x01, 0x1a, 0x2a, 0x20, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, + 0x03, 0x6a, 0x08, 0x22, 0x0a, 0x1d, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, 0x6c, 0x02, + 0x59, 0x1a, 0x10, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, + 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x03, 0x6c, 0x02, + 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x6c, 0x24, 0x2d, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x6c, 0x30, 0x31, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x03, 0x6c, 0x32, 0x58, 0x0a, 0x0f, 0x0a, 0x08, 0x04, + 0x05, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x6c, 0x33, 0x57, 0x0a, 0x1a, 0x0a, 0x04, + 0x04, 0x05, 0x02, 0x01, 0x12, 0x03, 0x6f, 0x02, 0x46, 0x1a, 0x0d, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, + 0x06, 0x12, 0x03, 0x6f, 0x02, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, + 0x03, 0x6f, 0x14, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x03, 0x6f, + 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x08, 0x12, 0x03, 0x6f, 0x1f, 0x45, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x01, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x6f, 0x20, + 0x44, 0x0a, 0x50, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x04, 0x73, 0x00, 0x79, 0x01, 0x1a, 0x44, 0x20, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, + 0x67, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x29, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x03, 0x73, 0x08, 0x27, 0x0a, + 0x36, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x75, 0x02, 0x28, 0x1a, 0x29, 0x20, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x06, + 0x12, 0x03, 0x75, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x03, + 0x75, 0x1c, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x03, 0x75, 0x26, + 0x27, 0x0a, 0x4c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x03, 0x78, 0x02, 0x12, 0x1a, 0x3f, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x03, 0x78, 0x02, 0x07, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x03, 0x78, 0x08, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x01, 0x03, 0x12, 0x03, 0x78, 0x10, 0x11, 0x0a, 0x52, 0x0a, 0x02, 0x04, 0x07, 0x12, + 0x05, 0x7c, 0x00, 0x82, 0x01, 0x01, 0x1a, 0x45, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6d, 0x70, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, + 0x03, 0x04, 0x07, 0x01, 0x12, 0x03, 0x7c, 0x08, 0x28, 0x0a, 0x37, 0x0a, 0x04, 0x04, 0x07, 0x02, + 0x00, 0x12, 0x03, 0x7e, 0x02, 0x2a, 0x1a, 0x2a, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, 0x12, 0x03, 0x7e, 0x02, 0x1c, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x03, 0x7e, 0x1d, 0x25, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x03, 0x7e, 0x28, 0x29, 0x0a, 0x4d, 0x0a, 0x04, + 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0x81, 0x01, 0x02, 0x12, 0x1a, 0x3f, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, + 0x6f, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x07, 0x02, 0x01, 0x05, 0x12, 0x04, 0x81, 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, + 0x02, 0x01, 0x01, 0x12, 0x04, 0x81, 0x01, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, + 0x01, 0x03, 0x12, 0x04, 0x81, 0x01, 0x10, 0x11, 0x0a, 0x3e, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, + 0x85, 0x01, 0x00, 0x88, 0x01, 0x01, 0x1a, 0x30, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, - 0x67, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x29, 0x2e, 0x0a, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x20, 0x2d, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x72, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0xab, 0x01, 0x08, 0x27, 0x0a, - 0x3f, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, 0xad, 0x01, 0x02, 0x50, 0x1a, 0x31, 0x20, + 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, + 0x04, 0x85, 0x01, 0x08, 0x20, 0x0a, 0x1a, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0x87, + 0x01, 0x02, 0x52, 0x1a, 0x0c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, 0x87, 0x01, 0x02, 0x20, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0x87, 0x01, 0x21, 0x26, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0x87, 0x01, 0x29, 0x2a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0x87, 0x01, 0x2b, 0x51, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0x87, 0x01, 0x2c, 0x50, 0x0a, + 0x3f, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0x8b, 0x01, 0x00, 0x91, 0x01, 0x01, 0x1a, 0x31, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x06, 0x12, 0x04, 0xad, 0x01, 0x02, 0x1b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xad, 0x01, 0x1c, 0x24, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xad, 0x01, 0x27, 0x28, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x12, 0x04, 0xad, 0x01, 0x29, 0x4f, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x0d, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xad, 0x01, 0x2a, 0x4e, 0x0a, 0x4d, - 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x01, 0x12, 0x04, 0xb0, 0x01, 0x02, 0x12, 0x1a, 0x3f, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0d, 0x02, 0x01, 0x05, 0x12, 0x04, 0xb0, 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0d, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb0, 0x01, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0d, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb0, 0x01, 0x10, 0x11, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, 0x0a, 0x9a, 0x21, 0x0a, 0x26, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x18, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, - 0x6b, 0x2f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, - 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x04, 0x0a, 0x14, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, - 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x75, 0x6e, - 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x52, 0x75, 0x6e, - 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x24, 0x0a, - 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x55, 0x72, 0x69, 0x12, 0x2f, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x42, 0x61, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x37, 0x0a, 0x05, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, - 0x72, 0x61, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x63, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, - 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, - 0x0a, 0x15, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x0a, 0x15, 0x41, 0x62, 0x6f, 0x72, 0x74, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, - 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x18, 0x0a, 0x16, 0x41, 0x62, 0x6f, 0x72, - 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x18, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, - 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x22, 0x1b, 0x0a, 0x19, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd5, 0x02, - 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x66, - 0x0a, 0x0d, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x45, - 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, - 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x72, 0x0a, 0x11, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, - 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xcc, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x42, 0x11, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, - 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, - 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xa0, 0x14, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x4e, 0x24, 0x0a, - 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, - 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, - 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, - 0x03, 0x06, 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x31, 0x0a, - 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x09, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, - 0x03, 0x09, 0x00, 0x4d, 0x0a, 0x60, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x0c, 0x00, 0x15, 0x01, - 0x1a, 0x54, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x61, 0x20, 0x63, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x77, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x0c, - 0x08, 0x14, 0x0a, 0x30, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0e, 0x02, 0x4c, 0x1a, - 0x23, 0x20, 0x71, 0x75, 0x65, 0x75, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0e, - 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x0e, 0x14, 0x28, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0e, 0x33, 0x48, 0x0a, 0x22, - 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x03, 0x11, 0x02, 0x4f, 0x1a, 0x15, 0x20, 0x61, 0x62, - 0x6f, 0x72, 0x74, 0x20, 0x61, 0x20, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x11, 0x06, 0x14, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x11, 0x15, 0x2a, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x11, 0x35, 0x4b, 0x0a, 0x79, 0x0a, 0x04, - 0x06, 0x00, 0x02, 0x02, 0x12, 0x03, 0x14, 0x02, 0x58, 0x1a, 0x6c, 0x20, 0x41, 0x62, 0x6f, 0x72, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x61, - 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, - 0x6c, 0x79, 0x20, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, - 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x77, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, - 0x12, 0x03, 0x14, 0x06, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, - 0x14, 0x18, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x14, 0x3b, - 0x54, 0x0a, 0x34, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x18, 0x00, 0x35, 0x01, 0x1a, 0x28, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x75, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, - 0x18, 0x08, 0x1c, 0x0a, 0x34, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x1a, 0x02, 0x59, - 0x1a, 0x27, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x00, 0x06, 0x12, 0x03, 0x1a, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, - 0x12, 0x03, 0x1a, 0x24, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, - 0x1a, 0x30, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x1a, 0x32, - 0x58, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x1a, - 0x33, 0x57, 0x0a, 0xad, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x1e, 0x02, 0x29, - 0x1a, 0x9f, 0x01, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x69, - 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x2e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x20, 0x28, 0x65, 0x78, 0x2e, 0x20, 0x6f, 0x72, 0x67, 0x2c, 0x0a, 0x20, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x29, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, - 0x65, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, 0x1e, 0x02, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x1e, 0x0b, 0x11, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1e, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1e, 0x27, 0x28, 0x0a, 0x72, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x02, 0x12, 0x03, 0x21, 0x02, 0x1c, 0x1a, 0x65, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x70, 0x61, 0x73, 0x73, - 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6f, - 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, - 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x64, - 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, 0x21, 0x02, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x21, 0x0f, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x02, 0x03, 0x12, 0x03, 0x21, 0x1a, 0x1b, 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, - 0x12, 0x03, 0x24, 0x02, 0x41, 0x1a, 0x2d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, - 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x24, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x24, 0x09, 0x12, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x24, 0x15, 0x16, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x08, 0x12, 0x03, 0x24, 0x17, 0x40, 0x0a, 0x10, 0x0a, 0x09, - 0x04, 0x00, 0x02, 0x03, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x24, 0x18, 0x3f, 0x0a, 0x48, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x27, 0x02, 0x47, 0x1a, 0x3b, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x62, 0x61, 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x20, 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x20, 0x74, 0x6f, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, - 0x05, 0x12, 0x03, 0x27, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, - 0x03, 0x27, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x27, - 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x03, 0x27, 0x1d, 0x46, - 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x04, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x27, - 0x1e, 0x45, 0x0a, 0x3b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x2a, 0x02, 0x13, 0x1a, - 0x2e, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x2c, 0x20, - 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, 0x12, 0x03, 0x2a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x2a, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x2a, 0x11, 0x12, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x06, 0x12, 0x03, 0x2d, 0x02, 0x15, 0x1a, 0x29, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x05, 0x12, 0x03, 0x2d, 0x02, 0x08, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x2d, 0x09, 0x10, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x2d, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x00, 0x08, 0x00, 0x12, 0x04, 0x2f, 0x02, 0x34, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, - 0x00, 0x01, 0x12, 0x03, 0x2f, 0x08, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x02, - 0x12, 0x03, 0x30, 0x04, 0x30, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x08, 0x00, 0x02, 0x87, 0x09, - 0x01, 0x12, 0x03, 0x30, 0x04, 0x30, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, - 0x31, 0x04, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x31, 0x04, - 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x31, 0x0f, 0x13, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x31, 0x16, 0x18, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x32, 0x04, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x08, 0x06, 0x12, 0x03, 0x32, 0x04, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, - 0x01, 0x12, 0x03, 0x32, 0x10, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, - 0x03, 0x32, 0x18, 0x1a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x09, 0x12, 0x03, 0x33, 0x04, - 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x06, 0x12, 0x03, 0x33, 0x04, 0x13, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x33, 0x14, 0x1d, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x33, 0x20, 0x22, 0x0a, 0x34, 0x0a, 0x02, 0x04, - 0x01, 0x12, 0x03, 0x38, 0x00, 0x20, 0x1a, 0x29, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, - 0x65, 0x75, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x38, 0x08, 0x1d, 0x0a, 0x31, 0x0a, - 0x02, 0x04, 0x02, 0x12, 0x04, 0x3b, 0x00, 0x41, 0x01, 0x1a, 0x25, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, - 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x3b, 0x08, 0x1d, 0x0a, 0x3f, 0x0a, 0x04, - 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x3d, 0x02, 0x49, 0x1a, 0x32, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, - 0x20, 0x62, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x3d, 0x02, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x3d, 0x17, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x00, 0x03, 0x12, 0x03, 0x3d, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, - 0x12, 0x03, 0x3d, 0x22, 0x48, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x87, 0x09, - 0x19, 0x12, 0x03, 0x3d, 0x23, 0x47, 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, - 0x40, 0x02, 0x1d, 0x1a, 0x2d, 0x20, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, - 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x04, 0x12, 0x03, 0x40, 0x02, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, 0x03, 0x40, 0x0b, 0x11, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x40, 0x12, 0x18, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x40, 0x1b, 0x1c, 0x0a, 0x31, 0x0a, 0x02, 0x04, 0x03, - 0x12, 0x03, 0x44, 0x00, 0x21, 0x1a, 0x26, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, - 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x44, 0x08, 0x1e, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, - 0x04, 0x46, 0x00, 0x4c, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x46, 0x08, - 0x20, 0x0a, 0x4d, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x48, 0x02, 0x4f, 0x1a, 0x40, - 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x03, 0x48, 0x02, 0x19, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x48, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x48, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x00, 0x08, 0x12, 0x03, 0x48, 0x28, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, - 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x48, 0x29, 0x4d, 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x04, 0x02, - 0x01, 0x12, 0x03, 0x4b, 0x02, 0x1d, 0x1a, 0x30, 0x20, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, - 0x04, 0x12, 0x03, 0x4b, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, - 0x03, 0x4b, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x03, 0x4b, - 0x12, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x03, 0x4b, 0x1b, 0x1c, - 0x0a, 0x09, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x03, 0x4e, 0x00, 0x24, 0x0a, 0x0a, 0x0a, 0x03, 0x04, - 0x05, 0x01, 0x12, 0x03, 0x4e, 0x08, 0x21, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, - 0xc6, 0x0e, 0x0a, 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x1a, 0x1f, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x6c, 0x69, 0x74, 0x65, 0x72, - 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0x8b, 0x01, 0x08, 0x21, 0x0a, 0x1e, 0x0a, + 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0x8d, 0x01, 0x02, 0x59, 0x1a, 0x10, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0x8d, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8d, 0x01, 0x24, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8d, 0x01, 0x30, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x00, 0x08, 0x12, 0x04, 0x8d, 0x01, 0x32, 0x58, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, + 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0x8d, 0x01, 0x33, 0x57, 0x0a, 0x1b, 0x0a, 0x04, 0x04, + 0x09, 0x02, 0x01, 0x12, 0x04, 0x90, 0x01, 0x02, 0x46, 0x1a, 0x0d, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, + 0x06, 0x12, 0x04, 0x90, 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x01, + 0x12, 0x04, 0x90, 0x01, 0x14, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x03, 0x12, + 0x04, 0x90, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x08, 0x12, 0x04, + 0x90, 0x01, 0x1f, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x01, 0x08, 0x87, 0x09, 0x19, + 0x12, 0x04, 0x90, 0x01, 0x20, 0x44, 0x0a, 0x4c, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0x94, 0x01, + 0x00, 0x97, 0x01, 0x01, 0x1a, 0x3e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0x94, 0x01, 0x08, + 0x21, 0x0a, 0x1b, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0x96, 0x01, 0x02, 0x5c, 0x1a, + 0x0d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x04, 0x12, 0x04, 0x96, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, 0x04, 0x96, 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0x96, 0x01, 0x2a, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0x96, 0x01, 0x33, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, + 0x02, 0x00, 0x08, 0x12, 0x04, 0x96, 0x01, 0x35, 0x5b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, + 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0x96, 0x01, 0x36, 0x5a, 0x0a, 0x4d, 0x0a, 0x02, 0x04, + 0x0b, 0x12, 0x06, 0x9a, 0x01, 0x00, 0x9d, 0x01, 0x01, 0x1a, 0x3f, 0x20, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, + 0x01, 0x12, 0x04, 0x9a, 0x01, 0x08, 0x22, 0x0a, 0x1b, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, + 0x04, 0x9c, 0x01, 0x02, 0x46, 0x1a, 0x0d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x06, 0x12, 0x04, 0x9c, + 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9c, 0x01, + 0x14, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9c, 0x01, 0x1d, + 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x04, 0x9c, 0x01, 0x1f, 0x45, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0x9c, 0x01, + 0x20, 0x44, 0x0a, 0xb8, 0x01, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xa1, 0x01, 0x00, 0xa7, 0x01, + 0x01, 0x1a, 0xa9, 0x01, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6d, + 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x2e, 0x0a, 0x20, + 0x54, 0x4f, 0x44, 0x4f, 0x20, 0x2d, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xa1, 0x01, 0x08, 0x26, 0x0a, 0x3e, 0x0a, 0x04, 0x04, 0x0c, + 0x02, 0x00, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x4e, 0x1a, 0x30, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, + 0x02, 0x00, 0x06, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, + 0x00, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x1b, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, + 0x03, 0x12, 0x04, 0xa3, 0x01, 0x25, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x08, + 0x12, 0x04, 0xa3, 0x01, 0x27, 0x4d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x87, + 0x09, 0x19, 0x12, 0x04, 0xa3, 0x01, 0x28, 0x4c, 0x0a, 0x4d, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x01, + 0x12, 0x04, 0xa6, 0x01, 0x02, 0x12, 0x1a, 0x3f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x6f, 0x6e, + 0x63, 0x65, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, + 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x05, + 0x12, 0x04, 0xa6, 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xa6, 0x01, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xa6, 0x01, 0x10, 0x11, 0x0a, 0xba, 0x01, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xab, 0x01, 0x00, + 0xb1, 0x01, 0x01, 0x1a, 0xab, 0x01, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x28, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, + 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, + 0x2e, 0x0a, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x20, 0x2d, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x2e, + 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0xab, 0x01, 0x08, 0x27, 0x0a, 0x3f, + 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, 0xad, 0x01, 0x02, 0x50, 0x1a, 0x31, 0x20, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x06, 0x12, 0x04, 0xad, 0x01, 0x02, 0x1b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xad, 0x01, 0x1c, 0x24, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xad, 0x01, 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0d, 0x02, 0x00, 0x08, 0x12, 0x04, 0xad, 0x01, 0x29, 0x4f, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x0d, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xad, 0x01, 0x2a, 0x4e, 0x0a, 0x4d, 0x0a, + 0x04, 0x04, 0x0d, 0x02, 0x01, 0x12, 0x04, 0xb0, 0x01, 0x02, 0x12, 0x1a, 0x3f, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0d, 0x02, 0x01, 0x05, 0x12, 0x04, 0xb0, 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0d, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb0, 0x01, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xb0, 0x01, 0x10, 0x11, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, 0x0a, 0xdd, 0x8f, 0x02, 0x0a, 0x24, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x1a, + 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1b, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, + 0x68, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x75, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, + 0x61, 0x73, 0x6b, 0x2f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x61, + 0x73, 0x6b, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x02, 0x0a, - 0x07, 0x52, 0x75, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x73, 0x6b, - 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x44, 0x69, 0x67, 0x65, - 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, - 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x55, - 0x72, 0x69, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x72, - 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x41, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, - 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, - 0x61, 0x6c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x40, 0x0a, 0x09, 0x70, 0x72, - 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x42, 0xc7, 0x01, 0x0a, - 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x0c, 0x52, 0x75, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, - 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, - 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xd7, 0x08, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x24, - 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, - 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x29, - 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x27, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x02, 0x12, 0x03, 0x06, 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, - 0x31, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x09, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, - 0x0b, 0x12, 0x03, 0x09, 0x00, 0x4d, 0x0a, 0x8f, 0x01, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x0d, - 0x00, 0x24, 0x01, 0x1a, 0x82, 0x01, 0x20, 0x52, 0x75, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, - 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x64, 0x0a, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x27, - 0x73, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x20, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, - 0x03, 0x0d, 0x08, 0x0f, 0x0a, 0x5e, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0f, 0x02, - 0x1e, 0x1a, 0x51, 0x20, 0x54, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x64, 0x69, - 0x67, 0x65, 0x73, 0x74, 0x2e, 0x20, 0x55, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x6f, - 0x6f, 0x6b, 0x20, 0x75, 0x70, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x74, - 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x20, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x0f, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0f, 0x09, 0x19, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0f, 0x1c, 0x1d, 0x0a, 0x1a, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x12, 0x02, 0x18, 0x1a, 0x0d, 0x20, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x73, 0x20, 0x75, 0x72, 0x69, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x01, 0x05, 0x12, 0x03, 0x12, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, - 0x01, 0x12, 0x03, 0x12, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, - 0x03, 0x12, 0x16, 0x17, 0x0a, 0x1b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x15, 0x02, - 0x19, 0x1a, 0x0e, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x20, 0x75, 0x72, 0x69, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x15, 0x02, 0x08, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x15, 0x09, 0x14, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x15, 0x17, 0x18, 0x0a, 0x18, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x03, 0x12, 0x03, 0x18, 0x02, 0x26, 0x1a, 0x0b, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, - 0x18, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x18, 0x19, - 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x18, 0x24, 0x25, 0x0a, - 0x92, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x1c, 0x02, 0x33, 0x1a, 0x84, 0x01, - 0x20, 0x46, 0x6f, 0x72, 0x20, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x3a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x72, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x65, 0x64, 0x20, 0x28, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x2f, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x29, 0x20, 0x61, 0x66, - 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x52, 0x20, 0x69, 0x73, 0x20, 0x47, 0x43, - 0x27, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x1c, - 0x02, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x1c, 0x25, 0x2e, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x1c, 0x31, 0x32, 0x0a, 0x9d, - 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x20, 0x02, 0x24, 0x1a, 0x8f, 0x01, 0x20, - 0x46, 0x6f, 0x72, 0x20, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x3a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x64, 0x0a, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x28, 0x6e, 0x65, - 0x76, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x70, - 0x62, 0x29, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x2d, 0x74, 0x65, 0x72, - 0x6d, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x43, 0x52, 0x20, 0x69, 0x73, 0x20, 0x47, 0x43, 0x27, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, 0x20, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x20, 0x19, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x05, 0x03, 0x12, 0x03, 0x20, 0x22, 0x23, 0x0a, 0x4c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, - 0x12, 0x03, 0x23, 0x02, 0x32, 0x1a, 0x3f, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x28, 0x6f, 0x72, - 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x29, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, - 0x03, 0x23, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x23, - 0x24, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x23, 0x30, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xb3, 0x0d, 0x0a, 0x29, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, - 0x72, 0x75, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x0f, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, + 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x22, 0xb0, 0x05, + 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x48, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x37, 0x0a, + 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, + 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x48, 0x01, 0x52, 0x08, 0x74, 0x61, + 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x42, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x01, 0x52, 0x0b, 0x74, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x73, 0x48, 0x02, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x14, + 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x66, + 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x02, 0x52, 0x12, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, + 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, + 0x63, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, + 0x52, 0x75, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x0a, 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, 0x72, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, + 0x42, 0x0d, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, + 0x0f, 0x0a, 0x0d, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, + 0x22, 0x3e, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x03, 0x72, 0x75, 0x6e, + 0x22, 0x79, 0x0a, 0x0f, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, + 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x12, 0x0a, 0x10, 0x41, + 0x62, 0x6f, 0x72, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x56, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, + 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x75, + 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x38, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x58, 0x0a, 0x16, 0x57, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, + 0x75, 0x6e, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x17, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x38, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x62, 0x0a, 0x17, 0x47, 0x65, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, + 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x57, 0x0a, + 0x18, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x64, 0x0a, 0x19, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, + 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x59, 0x0a, 0x1a, + 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x5f, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x7a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, + 0x73, 0x6b, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x73, 0x12, 0x31, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, + 0x61, 0x73, 0x6b, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x52, 0x07, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x73, 0x22, 0x63, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x55, 0x52, 0x49, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, + 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x19, 0x47, 0x65, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x55, 0x52, 0x49, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, + 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, + 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, @@ -5371,2576 +5260,3333 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x22, 0x92, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, - 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, - 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x1a, 0x3f, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x37, 0x0a, - 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x52, - 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x32, 0x71, 0x0a, 0x0e, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, - 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x08, 0x54, 0x61, 0x69, 0x6c, - 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, - 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, - 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x06, 0x88, 0x02, 0x01, 0x90, 0x02, 0x01, 0x30, 0x01, 0x42, 0xce, 0x01, 0x0a, 0x16, 0x63, 0x6f, - 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x13, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, - 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, - 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, - 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, - 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xa9, 0x07, 0x0a, 0x06, 0x12, - 0x04, 0x00, 0x00, 0x26, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, - 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, - 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2b, 0x0a, - 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x30, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, - 0x03, 0x08, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x08, 0x00, 0x4d, 0x0a, - 0x46, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x0b, 0x00, 0x11, 0x01, 0x1a, 0x3a, 0x20, 0x52, 0x75, - 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, - 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, - 0x0b, 0x08, 0x16, 0x0a, 0x42, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x0d, 0x02, 0x10, - 0x03, 0x1a, 0x34, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, - 0x55, 0x73, 0x65, 0x20, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x20, 0x69, 0x6e, - 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, - 0x12, 0x03, 0x0d, 0x06, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, - 0x0d, 0x0f, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x0d, 0x29, - 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0d, 0x30, 0x40, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x0e, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, - 0x06, 0x06, 0x00, 0x02, 0x00, 0x04, 0x21, 0x12, 0x03, 0x0e, 0x04, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x0f, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, - 0x02, 0x00, 0x04, 0x22, 0x12, 0x03, 0x0f, 0x04, 0x2f, 0x0a, 0x2f, 0x0a, 0x02, 0x04, 0x00, 0x12, - 0x04, 0x14, 0x00, 0x1a, 0x01, 0x1a, 0x23, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x69, 0x6c, - 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, - 0x01, 0x12, 0x03, 0x14, 0x08, 0x17, 0x0a, 0x1d, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, - 0x16, 0x02, 0x4f, 0x1a, 0x10, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, - 0x16, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x16, 0x1a, - 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x16, 0x26, 0x27, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x16, 0x28, 0x4e, 0x0a, 0x0f, 0x0a, - 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x16, 0x29, 0x4d, 0x0a, 0x22, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x19, 0x02, 0x3a, 0x1a, 0x15, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x19, 0x02, 0x08, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x19, 0x09, 0x10, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x19, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x19, 0x15, 0x39, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, - 0x02, 0x01, 0x08, 0x87, 0x09, 0x05, 0x04, 0x12, 0x03, 0x19, 0x16, 0x38, 0x0a, 0x2f, 0x0a, 0x02, - 0x04, 0x01, 0x12, 0x04, 0x1d, 0x00, 0x26, 0x01, 0x1a, 0x23, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, - 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x1d, 0x08, 0x18, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x01, 0x03, - 0x00, 0x12, 0x04, 0x1f, 0x02, 0x22, 0x03, 0x1a, 0x12, 0x20, 0x41, 0x20, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x01, 0x03, 0x00, 0x01, 0x12, 0x03, 0x1f, 0x0a, 0x0e, 0x0a, 0x26, 0x0a, 0x06, 0x04, 0x01, 0x03, - 0x00, 0x02, 0x00, 0x12, 0x03, 0x21, 0x04, 0x38, 0x1a, 0x17, 0x20, 0x53, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x75, 0x72, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2e, - 0x0a, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x21, 0x04, - 0x0c, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x21, 0x0d, - 0x2d, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x21, 0x2e, - 0x33, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x21, 0x36, - 0x37, 0x0a, 0x2b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x25, 0x02, 0x19, 0x1a, 0x1e, - 0x20, 0x4f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x04, 0x12, 0x03, 0x25, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x25, 0x0b, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x00, 0x01, 0x12, 0x03, 0x25, 0x10, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, - 0x03, 0x12, 0x03, 0x25, 0x17, 0x18, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xdd, - 0x8f, 0x02, 0x0a, 0x24, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x1a, 0x1b, 0x62, 0x75, - 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6c, - 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x68, 0x61, 0x73, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, - 0x6f, 0x72, 0x65, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, - 0x61, 0x73, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x18, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, - 0x2f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x5f, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x27, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 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, 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, 0x22, 0xb0, 0x05, 0x0a, 0x10, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x38, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x74, 0x22, 0xe6, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x04, 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, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb4, 0x03, 0x0a, 0x0f, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, + 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, + 0x03, 0x6f, 0x72, 0x67, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0c, 0x74, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x48, + 0x00, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, + 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, + 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x08, 0x74, + 0x61, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, + 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, + 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x11, 0x70, 0x61, 0x75, 0x73, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x6e, + 0x6c, 0x79, 0x42, 0x11, 0x0a, 0x08, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x62, 0x79, 0x12, 0x05, + 0xba, 0x48, 0x02, 0x08, 0x01, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x05, 0x10, + 0x06, 0x22, 0x55, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x04, 0x72, 0x75, + 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x87, 0x02, 0x0a, 0x10, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, + 0x03, 0x6f, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, + 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x44, 0x0a, 0x0a, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, + 0x64, 0x42, 0x0f, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x05, 0xba, 0x48, 0x02, + 0x08, 0x01, 0x22, 0x40, 0x0a, 0x11, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x72, 0x75, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x04, + 0x72, 0x75, 0x6e, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, + 0x75, 0x6e, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb1, 0x01, 0x0a, 0x13, 0x57, 0x61, 0x74, 0x63, + 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, - 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, - 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x48, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x61, - 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, - 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x48, 0x01, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x53, - 0x70, 0x65, 0x63, 0x12, 0x42, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x01, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x48, - 0x02, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x6f, 0x66, 0x66, - 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x6f, - 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x02, 0x52, - 0x12, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, - 0x72, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x75, 0x6e, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x40, - 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x0a, 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, 0x72, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x42, 0x0b, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, 0x0d, 0x0a, - 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, 0x0f, 0x0a, 0x0d, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x22, 0x3e, 0x0a, - 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x29, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x22, 0x79, 0x0a, - 0x0f, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, + 0x30, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x5f, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x65, 0x0a, 0x14, 0x57, + 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x65, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0f, 0x65, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0xac, 0x0a, 0x0a, 0x1b, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x59, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, + 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x48, 0x00, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x63, 0x0a, + 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x1a, 0x9a, 0x04, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, - 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x12, 0x0a, 0x10, 0x41, 0x62, 0x6f, 0x72, - 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, - 0x75, 0x6e, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, - 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x58, 0x0a, 0x16, 0x57, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, - 0x64, 0x22, 0x53, 0x0a, 0x17, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x2e, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x62, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, - 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x18, 0x47, 0x65, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x22, 0x64, 0x0a, 0x19, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, - 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x59, 0x0a, 0x1a, 0x57, 0x61, 0x74, - 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x22, 0x5f, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x7a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, - 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x31, - 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, - 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x73, 0x22, 0x63, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, - 0x74, 0x61, 0x55, 0x52, 0x49, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, - 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x55, 0x52, 0x49, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, - 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x55, - 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, - 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, - 0x55, 0x72, 0x69, 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, - 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x07, 0x61, - 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, - 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x22, 0xe6, - 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, - 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, - 0x0a, 0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x03, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 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, 0x07, - 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb4, 0x03, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x03, 0x6f, 0x72, - 0x67, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x0b, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x74, - 0x61, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, - 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, - 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x70, 0x61, - 0x75, 0x73, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x42, - 0x11, 0x0a, 0x08, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x62, 0x79, 0x12, 0x05, 0xba, 0x48, 0x02, - 0x08, 0x01, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x55, - 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x04, 0x72, 0x75, 0x6e, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x87, 0x02, 0x0a, 0x10, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6f, 0x72, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x48, 0x00, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x44, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x48, 0x00, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, - 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x42, 0x0f, - 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, - 0x40, 0x0a, 0x11, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x04, 0x72, 0x75, 0x6e, - 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, - 0x64, 0x22, 0x61, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb1, 0x01, 0x0a, 0x13, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, - 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, - 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x28, - 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x52, 0x75, 0x6e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x65, 0x0a, 0x14, 0x57, 0x61, 0x74, 0x63, - 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4d, 0x0a, 0x10, 0x65, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, - 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, - 0x65, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, - 0xac, 0x0a, 0x0a, 0x1b, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, - 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x59, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, 0x69, 0x6e, - 0x64, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x48, 0x00, 0x52, - 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x48, - 0x00, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x1a, - 0x9a, 0x04, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x3e, 0x0a, - 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, - 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x28, 0x0a, - 0x10, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x73, - 0x63, 0x61, 0x6e, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x52, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x73, - 0x63, 0x61, 0x6e, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x0e, 0x6f, 0x76, 0x65, - 0x72, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, - 0x73, 0x63, 0x61, 0x6e, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x73, 0x0a, 0x0e, 0x65, 0x78, 0x70, - 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x4c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x45, 0x78, 0x70, - 0x61, 0x6e, 0x64, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0d, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x40, - 0x0a, 0x0c, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x68, - 0x61, 0x73, 0x65, 0x52, 0x0b, 0x70, 0x68, 0x61, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x1a, 0x69, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x4e, 0x6f, 0x64, - 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, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xa8, 0x04, 0x0a, - 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x2a, 0x0a, - 0x10, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x6e, 0x63, - 0x68, 0x6f, 0x72, 0x5f, 0x66, 0x6c, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x46, 0x6c, - 0x61, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x30, 0x0a, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x73, - 0x63, 0x61, 0x6e, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x52, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x73, - 0x63, 0x61, 0x6e, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x0e, 0x6f, 0x76, 0x65, - 0x72, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, - 0x73, 0x63, 0x61, 0x6e, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x76, 0x0a, 0x0e, 0x65, 0x78, 0x70, - 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x4f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, + 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x0f, 0x6f, 0x76, + 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x52, 0x0e, 0x6f, 0x76, + 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x0e, + 0x6f, 0x76, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x52, 0x0d, 0x6f, + 0x76, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x73, 0x0a, 0x0e, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0c, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x72, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x52, 0x0b, 0x70, 0x68, 0x61, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x46, 0x69, + 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x1a, 0x69, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x4e, 0x6f, 0x64, 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, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, - 0x16, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, - 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x55, - 0x0a, 0x13, 0x4e, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1f, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x52, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x52, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xd1, 0x03, 0x0a, 0x1c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0xa8, 0x04, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, + 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x66, 0x6c, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x6e, 0x63, 0x68, 0x6f, + 0x72, 0x46, 0x6c, 0x61, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x30, 0x0a, 0x0f, 0x6f, 0x76, + 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x52, 0x0e, 0x6f, 0x76, + 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x0e, + 0x6f, 0x76, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x52, 0x0d, 0x6f, + 0x76, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x76, 0x0a, 0x0e, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0b, - 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x3e, 0x0a, 0x09, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x4e, + 0x6f, 0x64, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0c, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x52, 0x0b, 0x70, 0x68, 0x61, 0x73, 0x65, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x61, 0x6d, + 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x1a, 0x69, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x61, 0x6e, + 0x64, 0x65, 0x64, 0x4e, 0x6f, 0x64, 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, + 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, - 0x52, 0x09, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x6c, 0x61, 0x74, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x11, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x46, 0x6c, 0x61, 0x74, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3a, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x6c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x72, 0x75, 0x6e, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x0b, 0x74, 0x72, - 0x75, 0x6e, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, - 0x79, 0x6e, 0x63, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x72, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x68, 0x79, - 0x64, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x22, 0xc2, 0x01, 0x0a, 0x0c, 0x57, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x3c, 0x0a, 0x06, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, + 0x6c, 0x6f, 0x77, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0x16, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x61, 0x6e, 0x63, + 0x68, 0x6f, 0x72, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x22, 0x55, 0x0a, 0x13, 0x4e, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1f, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, + 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, + 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xd1, 0x03, 0x0a, 0x1c, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x77, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x49, 0x74, 0x65, + 0x6d, 0x52, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x3e, + 0x0a, 0x09, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x49, + 0x74, 0x65, 0x6d, 0x52, 0x09, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x28, + 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, + 0x6c, 0x61, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x46, + 0x6c, 0x61, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3a, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x6c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, + 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, + 0x0b, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x72, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x2d, 0x0a, + 0x12, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x68, 0x79, 0x64, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x22, 0xc2, 0x01, 0x0a, + 0x0c, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x3c, 0x0a, + 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x05, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, - 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, - 0x14, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x64, 0x65, 0x70, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x61, - 0x6e, 0x64, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x45, 0x78, - 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0xef, - 0x01, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x61, 0x66, 0x12, 0x1b, 0x0a, - 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 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, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x33, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x52, 0x05, - 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x05, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x22, 0xa4, 0x02, 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x4c, 0x65, 0x61, 0x66, 0x52, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x49, - 0x0a, 0x10, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x61, 0x66, 0x52, 0x0f, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x73, - 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0f, 0x6c, 0x6f, 0x6e, - 0x67, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, - 0x61, 0x66, 0x52, 0x0e, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x69, - 0x6e, 0x67, 0x12, 0x43, 0x0a, 0x0d, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x65, - 0x74, 0x75, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x65, + 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, + 0x73, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x69, 0x74, 0x65, + 0x6d, 0x22, 0xef, 0x01, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x61, 0x66, + 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 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, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x68, 0x61, 0x73, + 0x65, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x22, 0xa4, 0x02, 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x61, 0x66, 0x52, 0x0c, 0x6c, 0x6f, 0x6e, 0x67, 0x65, - 0x73, 0x74, 0x53, 0x65, 0x74, 0x75, 0x70, 0x22, 0xa4, 0x04, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x61, 0x0a, 0x12, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x68, 0x69, - 0x6c, 0x64, 0x50, 0x68, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x10, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x68, 0x61, 0x73, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x13, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, 0x73, 0x74, - 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 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, 0x11, 0x65, - 0x61, 0x72, 0x6c, 0x69, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x42, 0x0a, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x06, 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, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d, - 0x65, 0x65, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x6d, 0x65, 0x65, 0x74, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x49, - 0x0a, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x61, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x68, 0x69, - 0x6c, 0x64, 0x50, 0x68, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 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, 0x22, 0xce, - 0x02, 0x0a, 0x10, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, - 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x63, - 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x6b, 0x6e, - 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x6b, 0x6e, - 0x6f, 0x77, 0x6e, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x70, 0x0a, - 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x19, 0x0a, 0x15, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x4e, 0x4f, - 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45, - 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x48, 0x49, 0x4c, - 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x48, 0x59, 0x44, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x22, - 0x7a, 0x0a, 0x19, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, - 0x03, 0xc8, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, - 0x20, 0x00, 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x22, 0x65, 0x0a, 0x1a, 0x57, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x22, 0x75, 0x0a, 0x12, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x61, 0x66, 0x52, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x12, 0x49, 0x0a, 0x10, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x61, 0x66, 0x52, 0x0f, 0x6c, 0x6f, 0x6e, + 0x67, 0x65, 0x73, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0f, + 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x4c, 0x65, 0x61, 0x66, 0x52, 0x0e, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x52, 0x75, + 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x43, 0x0a, 0x0d, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x73, 0x74, + 0x5f, 0x73, 0x65, 0x74, 0x75, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x61, 0x66, 0x52, 0x0c, 0x6c, 0x6f, + 0x6e, 0x67, 0x65, 0x73, 0x74, 0x53, 0x65, 0x74, 0x75, 0x70, 0x22, 0xa4, 0x04, 0x0a, 0x09, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x61, 0x0a, 0x12, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x68, + 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x2e, + 0x43, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x68, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x68, 0x61, 0x73, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x13, 0x65, 0x61, 0x72, 0x6c, 0x69, + 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, + 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, 0x11, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x6e, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 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, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x21, + 0x0a, 0x0c, 0x6d, 0x65, 0x65, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x65, 0x65, 0x74, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x49, 0x0a, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x43, 0x0a, 0x15, + 0x43, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x68, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 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, 0x22, 0xce, 0x02, 0x0a, 0x10, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x72, 0x75, 0x6e, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x74, + 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x74, 0x72, 0x61, 0x63, 0x6b, + 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, + 0x18, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x15, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x70, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4e, + 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x01, 0x12, 0x1d, 0x0a, + 0x19, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x43, + 0x48, 0x49, 0x4c, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x48, 0x59, 0x44, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0x03, 0x22, 0x7a, 0x0a, 0x19, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3a, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, - 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x15, 0x0a, 0x13, 0x41, 0x62, 0x6f, - 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xa6, 0x01, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0e, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0xcf, 0x01, 0x0a, 0x12, 0x53, 0x69, - 0x67, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, - 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, - 0x01, 0x01, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x53, - 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xe3, 0x03, 0x0a, 0x12, 0x57, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x07, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, + 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x22, 0x65, + 0x0a, 0x1a, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x75, 0x0a, 0x12, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x15, 0x0a, 0x13, + 0x41, 0x62, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0e, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0xcf, 0x01, 0x0a, + 0x12, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, + 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x06, 0xba, + 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x15, + 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe3, 0x03, 0x0a, 0x12, 0x57, 0x61, 0x74, 0x63, 0x68, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x02, 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, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, + 0x65, 0x18, 0x03, 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, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x07, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, - 0x41, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 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, 0x42, - 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, - 0x74, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, - 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, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x61, 0x0a, 0x11, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x6f, 0x72, 0x74, - 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x6f, 0x72, 0x74, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x52, 0x0f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x6f, 0x72, 0x74, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x5e, 0x0a, 0x0e, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x6f, - 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, - 0x6f, 0x72, 0x74, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x73, 0x6f, - 0x72, 0x74, 0x5f, 0x62, 0x79, 0x42, 0x11, 0x0a, 0x08, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x62, - 0x79, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0x71, 0x0a, 0x13, 0x57, 0x61, 0x74, 0x63, - 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3e, 0x0a, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x32, 0x92, 0x0e, 0x0a, 0x0a, - 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5a, 0x0a, 0x09, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x08, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x52, - 0x75, 0x6e, 0x12, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x75, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, - 0x72, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x69, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x12, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x61, 0x0a, 0x11, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x73, + 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x35, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x6f, + 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x0f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x6f, + 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x5e, 0x0a, 0x0e, 0x4b, 0x6e, 0x6f, 0x77, + 0x6e, 0x53, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x42, 0x09, 0x0a, + 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x42, 0x11, 0x0a, 0x08, 0x73, 0x63, 0x6f, 0x70, + 0x65, 0x5f, 0x62, 0x79, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0x71, 0x0a, 0x13, 0x57, + 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x73, + 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x32, 0x92, + 0x0e, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5a, 0x0a, + 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x24, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x08, 0x41, 0x62, 0x6f, + 0x72, 0x74, 0x52, 0x75, 0x6e, 0x12, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, + 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x6e, 0x0a, 0x0f, 0x57, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2a, 0x2e, + 0x41, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x72, 0x0a, 0x10, 0x47, 0x65, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2b, + 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x6e, 0x0a, + 0x0f, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x12, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x72, 0x0a, + 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x12, 0x2b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x66, 0x6c, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, + 0x01, 0x12, 0x77, 0x0a, 0x12, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, + 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x6c, 0x0a, 0x0d, 0x47, 0x65, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x77, - 0x0a, 0x12, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x06, 0x88, 0x02, 0x01, 0x90, 0x02, 0x01, 0x12, 0x5a, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x75, 0x6e, 0x73, 0x12, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x03, 0x90, 0x02, 0x01, 0x12, 0x5c, 0x0a, 0x09, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, + 0x73, 0x12, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x30, 0x01, 0x12, 0x63, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x26, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x65, 0x0a, 0x0c, 0x57, 0x61, 0x74, 0x63, 0x68, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x77, + 0x0a, 0x12, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x6c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x88, - 0x02, 0x01, 0x90, 0x02, 0x01, 0x12, 0x5a, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, - 0x73, 0x12, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, - 0x01, 0x12, 0x5c, 0x0a, 0x09, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x24, - 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, - 0x63, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x60, 0x0a, 0x0b, 0x41, 0x62, 0x6f, 0x72, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x03, 0x90, 0x02, 0x01, 0x12, 0x65, 0x0a, 0x0c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, + 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0b, 0x53, 0x69, 0x67, + 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0b, 0x57, + 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x26, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, + 0x57, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, + 0x75, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, + 0x55, 0x52, 0x49, 0x73, 0x12, 0x2c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x55, 0x52, 0x49, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x55, 0x52, 0x49, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x7b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x12, 0x57, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x30, 0x01, 0x12, 0x60, 0x0a, 0x0b, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, + 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0b, 0x57, 0x61, 0x74, 0x63, - 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x26, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, - 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x75, 0x0a, 0x11, - 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x55, 0x52, 0x49, - 0x73, 0x12, 0x2c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x61, 0x74, 0x61, 0x55, 0x52, 0x49, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, - 0x74, 0x61, 0x55, 0x52, 0x49, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, - 0x90, 0x02, 0x01, 0x12, 0x7b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2e, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, - 0x42, 0xca, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x0f, 0x52, 0x75, 0x6e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, - 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xd6, 0xb8, - 0x01, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xf7, 0x04, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, - 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, - 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, - 0x03, 0x05, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x25, 0x0a, - 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, - 0x12, 0x03, 0x08, 0x00, 0x24, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x28, - 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x07, 0x12, 0x03, 0x0b, 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x08, 0x12, 0x03, 0x0c, 0x00, - 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x09, 0x12, 0x03, 0x0d, 0x00, 0x31, 0x0a, 0x09, 0x0a, 0x02, - 0x03, 0x0a, 0x12, 0x03, 0x0e, 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x0b, 0x12, 0x03, 0x0f, - 0x00, 0x29, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x11, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, - 0x08, 0x0b, 0x12, 0x03, 0x11, 0x00, 0x4d, 0x0a, 0x41, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x14, - 0x00, 0x5b, 0x01, 0x1a, 0x35, 0x20, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, - 0x01, 0x12, 0x03, 0x14, 0x08, 0x12, 0x0a, 0x32, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, - 0x16, 0x02, 0x40, 0x1a, 0x25, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, - 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, - 0x76, 0x65, 0x6e, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x00, 0x01, 0x12, 0x03, 0x16, 0x06, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, - 0x02, 0x12, 0x03, 0x16, 0x10, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, - 0x03, 0x16, 0x2b, 0x3c, 0x0a, 0x1b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x03, 0x19, 0x02, - 0x3d, 0x1a, 0x0e, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x19, 0x06, 0x0e, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x19, 0x0f, 0x1e, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x19, 0x29, 0x39, 0x0a, 0x35, 0x0a, 0x04, 0x06, - 0x00, 0x02, 0x02, 0x12, 0x04, 0x1c, 0x02, 0x1e, 0x03, 0x1a, 0x27, 0x20, 0x47, 0x65, 0x74, 0x20, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x1c, 0x06, 0x13, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x1c, 0x14, 0x28, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x1c, 0x33, 0x48, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x1d, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, - 0x02, 0x02, 0x04, 0x22, 0x12, 0x03, 0x1d, 0x04, 0x2f, 0x0a, 0x7e, 0x0a, 0x04, 0x06, 0x00, 0x02, - 0x03, 0x12, 0x03, 0x21, 0x02, 0x59, 0x1a, 0x71, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, - 0x75, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x61, - 0x6c, 0x6c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, - 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x72, - 0x65, 0x61, 0x63, 0x68, 0x65, 0x73, 0x20, 0x61, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, - 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x03, 0x01, 0x12, 0x03, 0x21, 0x06, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, - 0x12, 0x03, 0x21, 0x16, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, - 0x21, 0x37, 0x3d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x21, 0x3e, - 0x55, 0x0a, 0x39, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x04, 0x12, 0x04, 0x24, 0x02, 0x26, 0x03, 0x1a, - 0x2b, 0x20, 0x47, 0x65, 0x74, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, - 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, - 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x24, 0x06, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x04, 0x02, 0x12, 0x03, 0x24, 0x17, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, - 0x03, 0x12, 0x03, 0x24, 0x39, 0x51, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, - 0x03, 0x25, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x04, 0x04, 0x22, 0x12, 0x03, - 0x25, 0x04, 0x2f, 0x0a, 0x85, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x05, 0x12, 0x03, 0x29, 0x02, - 0x62, 0x1a, 0x78, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, - 0x6c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, - 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x73, 0x20, 0x61, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, - 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x29, 0x06, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x05, 0x02, 0x12, 0x03, 0x29, 0x19, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x06, - 0x12, 0x03, 0x29, 0x3d, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, - 0x29, 0x44, 0x5e, 0x0a, 0x47, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x06, 0x12, 0x04, 0x2c, 0x02, 0x2f, - 0x03, 0x1a, 0x39, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, - 0x55, 0x73, 0x65, 0x20, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, - 0x74, 0x61, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x2c, 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x06, 0x02, 0x12, 0x03, 0x2c, 0x14, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, - 0x03, 0x12, 0x03, 0x2c, 0x33, 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, - 0x03, 0x2d, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x06, 0x04, 0x21, 0x12, 0x03, - 0x2d, 0x04, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x03, 0x2e, 0x04, - 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x06, 0x04, 0x22, 0x12, 0x03, 0x2e, 0x04, 0x2f, - 0x0a, 0x40, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x07, 0x12, 0x04, 0x32, 0x02, 0x34, 0x03, 0x1a, 0x32, - 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, - 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, - 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x32, 0x06, 0x0e, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x32, 0x0f, 0x1e, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x32, 0x29, 0x39, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x07, 0x04, 0x12, 0x03, 0x33, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, - 0x02, 0x07, 0x04, 0x22, 0x12, 0x03, 0x33, 0x04, 0x2f, 0x0a, 0xb5, 0x01, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x08, 0x12, 0x03, 0x38, 0x02, 0x47, 0x1a, 0xa7, 0x01, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x75, - 0x6e, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, - 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, - 0x6e, 0x65, 0x77, 0x6c, 0x79, 0x20, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, - 0x0a, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, - 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x38, 0x06, 0x0f, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x02, 0x12, 0x03, 0x38, 0x10, 0x20, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x08, 0x06, 0x12, 0x03, 0x38, 0x2b, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x38, 0x32, 0x43, 0x0a, 0x31, 0x0a, 0x04, 0x06, 0x00, 0x02, - 0x09, 0x12, 0x04, 0x3b, 0x02, 0x3d, 0x03, 0x1a, 0x23, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x61, - 0x6c, 0x6c, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, - 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x3b, 0x06, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x09, 0x02, 0x12, 0x03, 0x3b, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, - 0x03, 0x12, 0x03, 0x3b, 0x2f, 0x42, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x04, 0x12, - 0x03, 0x3c, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x09, 0x04, 0x22, 0x12, 0x03, - 0x3c, 0x04, 0x2f, 0x0a, 0xa6, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0a, 0x12, 0x03, 0x41, 0x02, - 0x50, 0x1a, 0x98, 0x01, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, - 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x52, 0x65, 0x73, + 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, + 0x90, 0x02, 0x01, 0x42, 0xca, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x0f, + 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, + 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, + 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x4a, 0xd6, 0xb8, 0x01, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xf7, 0x04, 0x01, 0x0a, 0x08, 0x0a, + 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, + 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, + 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, + 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x26, 0x0a, 0x09, 0x0a, + 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x24, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, + 0x09, 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, 0x00, 0x25, 0x0a, 0x09, + 0x0a, 0x02, 0x03, 0x07, 0x12, 0x03, 0x0b, 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x08, 0x12, + 0x03, 0x0c, 0x00, 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x09, 0x12, 0x03, 0x0d, 0x00, 0x31, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x0a, 0x12, 0x03, 0x0e, 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x0b, + 0x12, 0x03, 0x0f, 0x00, 0x29, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x11, 0x00, 0x4d, 0x0a, + 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x11, 0x00, 0x4d, 0x0a, 0x41, 0x0a, 0x02, 0x06, 0x00, + 0x12, 0x04, 0x14, 0x00, 0x5b, 0x01, 0x1a, 0x35, 0x20, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, + 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x14, 0x08, 0x12, 0x0a, 0x32, 0x0a, 0x04, 0x06, 0x00, 0x02, + 0x00, 0x12, 0x03, 0x16, 0x02, 0x40, 0x1a, 0x25, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, + 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x16, 0x06, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x16, 0x10, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x16, 0x2b, 0x3c, 0x0a, 0x1b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, + 0x03, 0x19, 0x02, 0x3d, 0x1a, 0x0e, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x20, 0x61, 0x20, 0x72, + 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x19, + 0x06, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x19, 0x0f, 0x1e, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x19, 0x29, 0x39, 0x0a, 0x35, + 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x04, 0x1c, 0x02, 0x1e, 0x03, 0x1a, 0x27, 0x20, 0x47, + 0x65, 0x74, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, + 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, + 0x1c, 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x1c, 0x14, + 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x1c, 0x33, 0x48, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x1d, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, + 0x06, 0x06, 0x00, 0x02, 0x02, 0x04, 0x22, 0x12, 0x03, 0x1d, 0x04, 0x2f, 0x0a, 0x7e, 0x0a, 0x04, + 0x06, 0x00, 0x02, 0x03, 0x12, 0x03, 0x21, 0x02, 0x59, 0x1a, 0x71, 0x20, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, + 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, + 0x6e, 0x20, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x73, 0x20, 0x61, 0x20, 0x74, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x21, 0x06, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x03, 0x02, 0x12, 0x03, 0x21, 0x16, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, + 0x06, 0x12, 0x03, 0x21, 0x37, 0x3d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, + 0x03, 0x21, 0x3e, 0x55, 0x0a, 0x39, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x04, 0x12, 0x04, 0x24, 0x02, + 0x26, 0x03, 0x1a, 0x2b, 0x20, 0x47, 0x65, 0x74, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, + 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x24, 0x06, 0x16, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x24, 0x17, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x24, 0x39, 0x51, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x04, 0x04, 0x12, 0x03, 0x25, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x04, 0x04, + 0x22, 0x12, 0x03, 0x25, 0x04, 0x2f, 0x0a, 0x85, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x05, 0x12, + 0x03, 0x29, 0x02, 0x62, 0x1a, 0x78, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, + 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x73, 0x20, 0x61, 0x20, 0x74, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x29, 0x06, 0x18, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x29, 0x19, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x05, 0x06, 0x12, 0x03, 0x29, 0x3d, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, + 0x03, 0x12, 0x03, 0x29, 0x44, 0x5e, 0x0a, 0x47, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x06, 0x12, 0x04, + 0x2c, 0x02, 0x2f, 0x03, 0x1a, 0x39, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x2c, 0x06, 0x13, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x2c, 0x14, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x2c, 0x33, 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x06, 0x04, 0x12, 0x03, 0x2d, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x06, 0x04, + 0x21, 0x12, 0x03, 0x2d, 0x04, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, + 0x03, 0x2e, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x06, 0x04, 0x22, 0x12, 0x03, + 0x2e, 0x04, 0x2f, 0x0a, 0x40, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x07, 0x12, 0x04, 0x32, 0x02, 0x34, + 0x03, 0x1a, 0x32, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x62, 0x61, + 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, + 0x32, 0x06, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x32, 0x0f, + 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x32, 0x29, 0x39, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x04, 0x12, 0x03, 0x33, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, + 0x06, 0x06, 0x00, 0x02, 0x07, 0x04, 0x22, 0x12, 0x03, 0x33, 0x04, 0x2f, 0x0a, 0xb5, 0x01, 0x0a, + 0x04, 0x06, 0x00, 0x02, 0x08, 0x12, 0x03, 0x38, 0x02, 0x47, 0x1a, 0xa7, 0x01, 0x20, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x6c, 0x79, 0x20, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x65, 0x64, 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, - 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x74, 0x6f, 0x20, 0x20, - 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x65, 0x73, 0x20, 0x66, 0x72, - 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, - 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x41, 0x06, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x0a, 0x02, 0x12, 0x03, 0x41, 0x13, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, - 0x06, 0x12, 0x03, 0x41, 0x31, 0x37, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x03, 0x12, - 0x03, 0x41, 0x38, 0x4c, 0x0a, 0x42, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0b, 0x12, 0x03, 0x44, 0x02, - 0x62, 0x1a, 0x35, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x6f, 0x66, 0x20, 0x6b, 0x38, - 0x73, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x20, 0x69, 0x6e, 0x20, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x20, 0x72, 0x65, 0x61, 0x64, 0x61, 0x62, - 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, - 0x01, 0x12, 0x03, 0x44, 0x06, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x02, 0x12, - 0x03, 0x44, 0x19, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x06, 0x12, 0x03, 0x44, - 0x3d, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x03, 0x12, 0x03, 0x44, 0x44, 0x5e, - 0x0a, 0x7a, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0c, 0x12, 0x03, 0x47, 0x02, 0x46, 0x1a, 0x6d, 0x20, - 0x41, 0x62, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x72, - 0x74, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x76, - 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6f, - 0x72, 0x20, 0x69, 0x73, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x62, - 0x65, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x62, - 0x79, 0x20, 0x61, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x03, 0x47, 0x06, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x0c, 0x02, 0x12, 0x03, 0x47, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, - 0x03, 0x12, 0x03, 0x47, 0x2f, 0x42, 0x0a, 0xf1, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0d, 0x12, - 0x03, 0x4d, 0x02, 0x46, 0x1a, 0xe3, 0x01, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x70, - 0x61, 0x75, 0x73, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, - 0x69, 0x6e, 0x67, 0x20, 0x69, 0x74, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, - 0x49, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x75, 0x73, 0x65, 0x72, 0x2d, 0x66, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x74, 0x6f, 0x20, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x6c, 0x2c, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x0a, - 0x20, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x0d, 0x01, 0x12, 0x03, 0x4d, 0x06, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0d, - 0x02, 0x12, 0x03, 0x4d, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0d, 0x03, 0x12, - 0x03, 0x4d, 0x2f, 0x42, 0x0a, 0x54, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0e, 0x12, 0x03, 0x50, 0x02, - 0x4d, 0x1a, 0x47, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, - 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x0e, 0x01, 0x12, 0x03, 0x50, 0x06, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, - 0x02, 0x12, 0x03, 0x50, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, 0x06, 0x12, - 0x03, 0x50, 0x2f, 0x35, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, 0x03, 0x12, 0x03, 0x50, - 0x36, 0x49, 0x0a, 0x4b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0f, 0x12, 0x04, 0x53, 0x02, 0x55, 0x03, - 0x1a, 0x3d, 0x20, 0x47, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x20, 0x55, 0x52, 0x49, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0f, 0x01, 0x12, 0x03, 0x53, 0x06, 0x17, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x0f, 0x02, 0x12, 0x03, 0x53, 0x18, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x0f, 0x03, 0x12, 0x03, 0x53, 0x3b, 0x54, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x0f, 0x04, 0x12, 0x03, 0x54, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x0f, 0x04, - 0x22, 0x12, 0x03, 0x54, 0x04, 0x2f, 0x0a, 0x5d, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x10, 0x12, 0x04, - 0x58, 0x02, 0x5a, 0x03, 0x1a, 0x4f, 0x20, 0x47, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, - 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x20, 0x28, - 0x70, 0x6f, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x2c, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x29, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x01, 0x12, 0x03, - 0x58, 0x06, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x02, 0x12, 0x03, 0x58, 0x1a, - 0x34, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x03, 0x12, 0x03, 0x58, 0x3f, 0x5a, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x04, 0x12, 0x03, 0x59, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, - 0x06, 0x06, 0x00, 0x02, 0x10, 0x04, 0x22, 0x12, 0x03, 0x59, 0x04, 0x2f, 0x0a, 0x32, 0x0a, 0x02, - 0x04, 0x00, 0x12, 0x05, 0x5e, 0x00, 0x8a, 0x01, 0x01, 0x1a, 0x25, 0x20, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, - 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x5e, 0x08, 0x18, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x00, 0x08, 0x00, 0x12, 0x04, 0x5f, 0x02, 0x67, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x08, 0x00, 0x01, 0x12, 0x03, 0x5f, 0x08, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, - 0x02, 0x12, 0x03, 0x60, 0x04, 0x30, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x08, 0x00, 0x02, 0x87, - 0x09, 0x01, 0x12, 0x03, 0x60, 0x04, 0x30, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, - 0x03, 0x63, 0x04, 0x24, 0x1a, 0x1b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x63, 0x04, 0x18, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x63, 0x19, 0x1f, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x63, 0x22, 0x23, 0x0a, 0x47, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x01, 0x12, 0x03, 0x66, 0x04, 0x2c, 0x1a, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x69, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x66, - 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x66, 0x1d, 0x27, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x66, 0x2a, 0x2b, 0x0a, 0x20, - 0x0a, 0x04, 0x04, 0x00, 0x08, 0x01, 0x12, 0x04, 0x6a, 0x02, 0x75, 0x03, 0x1a, 0x12, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x01, 0x01, 0x12, 0x03, 0x6a, 0x08, 0x0c, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x08, 0x01, 0x02, 0x12, 0x03, 0x6b, 0x04, 0x30, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x00, 0x08, 0x01, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x6b, 0x04, 0x30, 0x0a, 0x22, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x6e, 0x04, 0x24, 0x1a, 0x15, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x69, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, 0x6e, 0x04, 0x17, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x6e, 0x18, 0x1f, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x6e, 0x22, 0x23, 0x0a, 0x24, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x03, 0x12, 0x03, 0x71, 0x04, 0x20, 0x1a, 0x17, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, - 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x71, 0x04, 0x11, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x71, 0x12, 0x1b, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x71, 0x1e, 0x1f, 0x0a, 0x27, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x04, 0x12, 0x03, 0x74, 0x04, 0x28, 0x1a, 0x1a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x75, - 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x74, - 0x04, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x74, 0x17, 0x23, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x74, 0x26, 0x27, 0x0a, 0x1e, - 0x0a, 0x04, 0x04, 0x00, 0x08, 0x02, 0x12, 0x04, 0x78, 0x02, 0x7c, 0x03, 0x1a, 0x10, 0x20, 0x49, - 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x08, 0x02, 0x01, 0x12, 0x03, 0x78, 0x08, 0x15, 0x0a, 0x0b, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x79, 0x04, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x05, 0x06, 0x12, 0x03, 0x79, 0x04, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, - 0x12, 0x03, 0x79, 0x10, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, - 0x79, 0x19, 0x1a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x7b, 0x04, 0x37, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x7b, 0x04, 0x1d, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x7b, 0x1e, 0x32, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x7b, 0x35, 0x36, 0x0a, 0x23, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x07, 0x12, 0x03, 0x7f, 0x02, 0x1c, 0x1a, 0x16, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x75, - 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x7f, 0x02, 0x0e, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x7f, 0x0f, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x7f, 0x1a, 0x1b, 0x0a, 0x37, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x08, 0x12, 0x04, 0x82, 0x01, 0x02, 0x17, 0x1a, 0x29, 0x20, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x73, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x06, 0x12, 0x04, 0x82, 0x01, 0x02, - 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x04, 0x82, 0x01, 0x0c, 0x12, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x04, 0x82, 0x01, 0x15, 0x16, 0x0a, - 0xa1, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x09, 0x12, 0x04, 0x87, 0x01, 0x02, 0x30, 0x1a, 0x92, - 0x02, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x6c, 0x69, - 0x63, 0x69, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x74, 0x69, - 0x6d, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x72, 0x20, 0x73, 0x65, 0x74, 0x73, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, - 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x27, 0x73, 0x20, 0x73, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x64, 0x20, 0x66, 0x69, 0x72, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x0a, 0x20, - 0x73, 0x6f, 0x20, 0x69, 0x74, 0x20, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x20, 0x61, - 0x73, 0x20, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2e, 0x63, 0x74, 0x78, 0x28, 0x29, 0x2e, 0x72, 0x75, - 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, - 0x65, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x69, 0x74, 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x20, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x74, 0x6f, 0x20, 0x52, 0x75, 0x6e, - 0x53, 0x70, 0x65, 0x63, 0x2e, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x06, 0x12, 0x04, 0x87, 0x01, - 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, 0x04, 0x87, 0x01, 0x1c, - 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x04, 0x87, 0x01, 0x2d, 0x2f, - 0x0a, 0x34, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x06, 0x8d, 0x01, 0x00, 0x8f, 0x01, 0x01, 0x1a, 0x26, - 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, - 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x04, 0x8d, - 0x01, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x04, 0x8e, 0x01, 0x02, - 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x04, 0x8e, 0x01, 0x02, 0x05, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8e, 0x01, 0x06, 0x09, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8e, 0x01, 0x0c, 0x0d, 0x0a, 0x33, - 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0x92, 0x01, 0x00, 0x98, 0x01, 0x01, 0x1a, 0x25, 0x20, 0x52, + 0x72, 0x65, 0x64, 0x0a, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, + 0x20, 0x6f, 0x6e, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x38, + 0x06, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x02, 0x12, 0x03, 0x38, 0x10, 0x20, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x06, 0x12, 0x03, 0x38, 0x2b, 0x31, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x38, 0x32, 0x43, 0x0a, 0x31, 0x0a, 0x04, + 0x06, 0x00, 0x02, 0x09, 0x12, 0x04, 0x3b, 0x02, 0x3d, 0x03, 0x1a, 0x23, 0x20, 0x4c, 0x69, 0x73, + 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x3b, 0x06, 0x11, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x09, 0x02, 0x12, 0x03, 0x3b, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x3b, 0x2f, 0x42, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x09, 0x04, 0x12, 0x03, 0x3c, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x09, 0x04, + 0x22, 0x12, 0x03, 0x3c, 0x04, 0x2f, 0x0a, 0xa6, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0a, 0x12, + 0x03, 0x41, 0x02, 0x50, 0x1a, 0x98, 0x01, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x6c, 0x79, 0x20, 0x64, 0x69, 0x73, 0x63, + 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, + 0x6e, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x74, + 0x6f, 0x20, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x65, 0x73, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x41, 0x06, 0x12, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x0a, 0x02, 0x12, 0x03, 0x41, 0x13, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x0a, 0x06, 0x12, 0x03, 0x41, 0x31, 0x37, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x0a, 0x03, 0x12, 0x03, 0x41, 0x38, 0x4c, 0x0a, 0x42, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0b, 0x12, + 0x03, 0x44, 0x02, 0x62, 0x1a, 0x35, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x6f, 0x66, + 0x20, 0x6b, 0x38, 0x73, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x20, 0x72, 0x65, 0x61, + 0x64, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x0b, 0x01, 0x12, 0x03, 0x44, 0x06, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x0b, 0x02, 0x12, 0x03, 0x44, 0x19, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x06, + 0x12, 0x03, 0x44, 0x3d, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x03, 0x12, 0x03, + 0x44, 0x44, 0x5e, 0x0a, 0x7a, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0c, 0x12, 0x03, 0x47, 0x02, 0x46, + 0x1a, 0x6d, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, + 0x62, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x70, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, + 0x79, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x03, 0x47, 0x06, 0x11, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x0c, 0x02, 0x12, 0x03, 0x47, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x0c, 0x03, 0x12, 0x03, 0x47, 0x2f, 0x42, 0x0a, 0xf1, 0x01, 0x0a, 0x04, 0x06, 0x00, + 0x02, 0x0d, 0x12, 0x03, 0x4d, 0x02, 0x46, 0x1a, 0xe3, 0x01, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x20, + 0x61, 0x20, 0x70, 0x61, 0x75, 0x73, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x73, 0x75, 0x70, + 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x74, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x2e, 0x0a, 0x20, 0x49, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x66, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, + 0x20, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x74, 0x6f, 0x20, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2c, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, + 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, + 0x6f, 0x72, 0x0a, 0x20, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x0d, 0x01, 0x12, 0x03, 0x4d, 0x06, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x0d, 0x02, 0x12, 0x03, 0x4d, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x0d, 0x03, 0x12, 0x03, 0x4d, 0x2f, 0x42, 0x0a, 0x54, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0e, 0x12, + 0x03, 0x50, 0x02, 0x4d, 0x1a, 0x47, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x0e, 0x01, 0x12, 0x03, 0x50, 0x06, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x0e, 0x02, 0x12, 0x03, 0x50, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x0e, 0x06, 0x12, 0x03, 0x50, 0x2f, 0x35, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, 0x03, + 0x12, 0x03, 0x50, 0x36, 0x49, 0x0a, 0x4b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0f, 0x12, 0x04, 0x53, + 0x02, 0x55, 0x03, 0x1a, 0x3d, 0x20, 0x47, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x55, 0x52, 0x49, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, + 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0f, 0x01, 0x12, 0x03, 0x53, 0x06, 0x17, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0f, 0x02, 0x12, 0x03, 0x53, 0x18, 0x30, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0f, 0x03, 0x12, 0x03, 0x53, 0x3b, 0x54, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x0f, 0x04, 0x12, 0x03, 0x54, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, + 0x02, 0x0f, 0x04, 0x22, 0x12, 0x03, 0x54, 0x04, 0x2f, 0x0a, 0x5d, 0x0a, 0x04, 0x06, 0x00, 0x02, + 0x10, 0x12, 0x04, 0x58, 0x02, 0x5a, 0x03, 0x1a, 0x4f, 0x20, 0x47, 0x65, 0x74, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x20, 0x28, 0x70, 0x6f, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2c, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x29, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, + 0x01, 0x12, 0x03, 0x58, 0x06, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x02, 0x12, + 0x03, 0x58, 0x1a, 0x34, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x03, 0x12, 0x03, 0x58, + 0x3f, 0x5a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x04, 0x12, 0x03, 0x59, 0x04, 0x2f, + 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x10, 0x04, 0x22, 0x12, 0x03, 0x59, 0x04, 0x2f, 0x0a, + 0x32, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x05, 0x5e, 0x00, 0x8a, 0x01, 0x01, 0x1a, 0x25, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x72, 0x75, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0x92, 0x01, 0x08, 0x17, - 0x0a, 0x1d, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0x94, 0x01, 0x02, 0x49, 0x1a, 0x0f, - 0x20, 0x52, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x04, 0x94, 0x01, 0x02, 0x16, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0x94, 0x01, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0x94, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x04, 0x94, 0x01, 0x22, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x02, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0x94, 0x01, 0x23, 0x47, 0x0a, 0x3b, 0x0a, - 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, 0x97, 0x01, 0x02, 0x1d, 0x1a, 0x2d, 0x20, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, - 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x01, 0x04, 0x12, 0x04, 0x97, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x01, 0x05, 0x12, 0x04, 0x97, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, - 0x01, 0x12, 0x04, 0x97, 0x01, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, - 0x12, 0x04, 0x97, 0x01, 0x1b, 0x1c, 0x0a, 0x32, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x9b, 0x01, - 0x00, 0x1b, 0x1a, 0x26, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, - 0x6e, 0x67, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, - 0x01, 0x12, 0x04, 0x9b, 0x01, 0x08, 0x18, 0x0a, 0x4d, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0x9e, - 0x01, 0x00, 0xa1, 0x01, 0x01, 0x1a, 0x3f, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, - 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, 0x9e, - 0x01, 0x08, 0x1c, 0x0a, 0x1d, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, 0xa0, 0x01, 0x02, - 0x49, 0x1a, 0x0f, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa0, 0x01, 0x02, - 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa0, 0x01, 0x17, 0x1d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa0, 0x01, 0x20, 0x21, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa0, 0x01, 0x22, 0x48, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xa0, 0x01, 0x23, 0x47, - 0x0a, 0x4e, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0xa4, 0x01, 0x00, 0xa7, 0x01, 0x01, 0x1a, 0x40, - 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0xa4, 0x01, 0x08, 0x1d, 0x0a, 0x33, 0x0a, - 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x19, 0x1a, 0x25, 0x20, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa6, 0x01, 0x02, - 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa6, 0x01, 0x0d, 0x14, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa6, 0x01, 0x17, 0x18, 0x0a, - 0x4e, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0xaa, 0x01, 0x00, 0xad, 0x01, 0x01, 0x1a, 0x40, 0x20, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0xaa, 0x01, 0x08, 0x1e, 0x0a, 0x1d, 0x0a, 0x04, - 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0xac, 0x01, 0x02, 0x49, 0x1a, 0x0f, 0x20, 0x52, 0x75, 0x6e, - 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x00, 0x06, 0x12, 0x04, 0xac, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xac, 0x01, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xac, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, - 0x08, 0x12, 0x04, 0xac, 0x01, 0x22, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, - 0x87, 0x09, 0x19, 0x12, 0x04, 0xac, 0x01, 0x23, 0x47, 0x0a, 0x4f, 0x0a, 0x02, 0x04, 0x07, 0x12, - 0x06, 0xb0, 0x01, 0x00, 0xb3, 0x01, 0x01, 0x1a, 0x41, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, - 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, - 0x75, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, - 0x01, 0x12, 0x04, 0xb0, 0x01, 0x08, 0x1f, 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, - 0x04, 0xb2, 0x01, 0x02, 0x19, 0x1a, 0x25, 0x20, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, - 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x00, 0x06, 0x12, 0x04, 0xb2, 0x01, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb2, 0x01, 0x0d, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x00, 0x03, 0x12, 0x04, 0xb2, 0x01, 0x17, 0x18, 0x0a, 0x51, 0x0a, 0x02, 0x04, 0x08, 0x12, - 0x06, 0xb6, 0x01, 0x00, 0xb9, 0x01, 0x01, 0x1a, 0x43, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, - 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, - 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x08, 0x01, 0x12, 0x04, 0xb6, 0x01, 0x08, 0x1f, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x08, 0x02, - 0x00, 0x12, 0x04, 0xb8, 0x01, 0x02, 0x4f, 0x1a, 0x12, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, 0xb8, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xb8, 0x01, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xb8, 0x01, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, - 0x08, 0x12, 0x04, 0xb8, 0x01, 0x28, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, - 0x87, 0x09, 0x19, 0x12, 0x04, 0xb8, 0x01, 0x29, 0x4d, 0x0a, 0x52, 0x0a, 0x02, 0x04, 0x09, 0x12, - 0x06, 0xbc, 0x01, 0x00, 0xbf, 0x01, 0x01, 0x1a, 0x44, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, + 0x6f, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x72, 0x75, + 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x5e, 0x08, 0x18, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x00, 0x12, 0x04, 0x5f, 0x02, 0x67, 0x03, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, 0x12, 0x03, 0x5f, 0x08, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x08, 0x00, 0x02, 0x12, 0x03, 0x60, 0x04, 0x30, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x08, + 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x60, 0x04, 0x30, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x00, + 0x02, 0x00, 0x12, 0x03, 0x63, 0x04, 0x24, 0x1a, 0x1b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x75, 0x73, + 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, + 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x63, + 0x04, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x63, 0x19, 0x1f, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x63, 0x22, 0x23, 0x0a, 0x47, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x66, 0x04, 0x2c, 0x1a, 0x3a, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x69, 0x64, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x06, + 0x12, 0x03, 0x66, 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, + 0x66, 0x1d, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x66, 0x2a, + 0x2b, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x01, 0x12, 0x04, 0x6a, 0x02, 0x75, 0x03, 0x1a, + 0x12, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x75, + 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x01, 0x01, 0x12, 0x03, 0x6a, 0x08, + 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x01, 0x02, 0x12, 0x03, 0x6b, 0x04, 0x30, 0x0a, + 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x08, 0x01, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x6b, 0x04, 0x30, + 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x6e, 0x04, 0x24, 0x1a, 0x15, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x69, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x75, + 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, 0x6e, + 0x04, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x6e, 0x18, 0x1f, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x6e, 0x22, 0x23, 0x0a, 0x24, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x71, 0x04, 0x20, 0x1a, 0x17, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, 0x6f, 0x20, 0x75, + 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x71, + 0x04, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x71, 0x12, 0x1b, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x71, 0x1e, 0x1f, 0x0a, 0x27, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x74, 0x04, 0x28, 0x1a, 0x1a, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, + 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, + 0x12, 0x03, 0x74, 0x04, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, + 0x74, 0x17, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x74, 0x26, + 0x27, 0x0a, 0x1e, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x02, 0x12, 0x04, 0x78, 0x02, 0x7c, 0x03, 0x1a, + 0x10, 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x02, 0x01, 0x12, 0x03, 0x78, 0x08, 0x15, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x79, 0x04, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, 0x79, 0x04, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x05, 0x01, 0x12, 0x03, 0x79, 0x10, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, + 0x03, 0x12, 0x03, 0x79, 0x19, 0x1a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, + 0x7b, 0x04, 0x37, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x7b, 0x04, + 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x7b, 0x1e, 0x32, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x7b, 0x35, 0x36, 0x0a, 0x23, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x7f, 0x02, 0x1c, 0x1a, 0x16, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x72, 0x75, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x7f, 0x02, 0x0e, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x7f, 0x0f, 0x17, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x7f, 0x1a, 0x1b, 0x0a, 0x37, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x08, 0x12, 0x04, 0x82, 0x01, 0x02, 0x17, 0x1a, 0x29, 0x20, 0x49, 0x6e, 0x64, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x06, 0x12, 0x04, + 0x82, 0x01, 0x02, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x04, 0x82, + 0x01, 0x0c, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x04, 0x82, 0x01, + 0x15, 0x16, 0x0a, 0xa1, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x09, 0x12, 0x04, 0x87, 0x01, 0x02, + 0x30, 0x1a, 0x92, 0x02, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x65, 0x78, + 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x72, 0x20, 0x73, 0x65, 0x74, 0x73, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x61, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x27, 0x73, 0x20, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x20, 0x66, 0x69, 0x72, 0x65, 0x20, 0x74, 0x69, 0x6d, + 0x65, 0x0a, 0x20, 0x73, 0x6f, 0x20, 0x69, 0x74, 0x20, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x73, 0x20, 0x61, 0x73, 0x20, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2e, 0x63, 0x74, 0x78, 0x28, 0x29, + 0x2e, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x20, 0x49, 0x66, 0x20, + 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x69, 0x74, 0x20, 0x74, 0x6f, + 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, + 0x6d, 0x65, 0x2e, 0x20, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x74, 0x6f, 0x20, + 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6e, 0x71, 0x75, + 0x65, 0x75, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x06, 0x12, + 0x04, 0x87, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, 0x04, + 0x87, 0x01, 0x1c, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x04, 0x87, + 0x01, 0x2d, 0x2f, 0x0a, 0x34, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x06, 0x8d, 0x01, 0x00, 0x8f, 0x01, + 0x01, 0x1a, 0x26, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x01, 0x01, + 0x12, 0x04, 0x8d, 0x01, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x04, + 0x8e, 0x01, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x04, 0x8e, + 0x01, 0x02, 0x05, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8e, 0x01, + 0x06, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8e, 0x01, 0x0c, + 0x0d, 0x0a, 0x33, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0x92, 0x01, 0x00, 0x98, 0x01, 0x01, 0x1a, + 0x25, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, + 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0x92, + 0x01, 0x08, 0x17, 0x0a, 0x1d, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0x94, 0x01, 0x02, + 0x49, 0x1a, 0x0f, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x04, 0x94, 0x01, 0x02, + 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0x94, 0x01, 0x17, 0x1d, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0x94, 0x01, 0x20, 0x21, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x04, 0x94, 0x01, 0x22, 0x48, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0x94, 0x01, 0x23, 0x47, + 0x0a, 0x3b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, 0x97, 0x01, 0x02, 0x1d, 0x1a, 0x2d, + 0x20, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, + 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x69, 0x66, + 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x01, 0x04, 0x12, 0x04, 0x97, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, 0x04, 0x97, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0x97, 0x01, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x01, 0x03, 0x12, 0x04, 0x97, 0x01, 0x1b, 0x1c, 0x0a, 0x32, 0x0a, 0x02, 0x04, 0x03, 0x12, + 0x04, 0x9b, 0x01, 0x00, 0x1b, 0x1a, 0x26, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, + 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, 0x9b, 0x01, 0x08, 0x18, 0x0a, 0x4d, 0x0a, 0x02, 0x04, 0x04, + 0x12, 0x06, 0x9e, 0x01, 0x00, 0xa1, 0x01, 0x01, 0x1a, 0x3f, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, - 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xbc, 0x01, 0x08, 0x20, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x09, - 0x02, 0x00, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x1c, 0x1a, 0x28, 0x20, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, + 0x12, 0x04, 0x9e, 0x01, 0x08, 0x1c, 0x0a, 0x1d, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, + 0xa0, 0x01, 0x02, 0x49, 0x1a, 0x0f, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x04, + 0xa0, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa0, + 0x01, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa0, 0x01, + 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa0, 0x01, 0x22, + 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xa0, + 0x01, 0x23, 0x47, 0x0a, 0x4e, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0xa4, 0x01, 0x00, 0xa7, 0x01, + 0x01, 0x1a, 0x40, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, + 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0xa4, 0x01, 0x08, 0x1d, + 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x19, 0x1a, 0x25, + 0x20, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x04, + 0xa6, 0x01, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa6, + 0x01, 0x0d, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa6, 0x01, + 0x17, 0x18, 0x0a, 0x4e, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0xaa, 0x01, 0x00, 0xad, 0x01, 0x01, + 0x1a, 0x40, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, + 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0xaa, 0x01, 0x08, 0x1e, 0x0a, + 0x1d, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0xac, 0x01, 0x02, 0x49, 0x1a, 0x0f, 0x20, + 0x52, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x04, 0xac, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0xac, 0x01, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0xac, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x00, 0x08, 0x12, 0x04, 0xac, 0x01, 0x22, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, + 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xac, 0x01, 0x23, 0x47, 0x0a, 0x4f, 0x0a, 0x02, + 0x04, 0x07, 0x12, 0x06, 0xb0, 0x01, 0x00, 0xb3, 0x01, 0x01, 0x1a, 0x41, 0x20, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0xbe, 0x01, 0x02, - 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbe, 0x01, 0x10, 0x17, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbe, 0x01, 0x1a, 0x1b, 0x0a, - 0x52, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xc2, 0x01, 0x00, 0xc5, 0x01, 0x01, 0x1a, 0x44, 0x20, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xc2, 0x01, 0x08, 0x21, - 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xc4, 0x01, 0x02, 0x4f, 0x1a, 0x12, - 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc4, 0x01, 0x02, - 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc4, 0x01, 0x1a, 0x23, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc4, 0x01, 0x26, 0x27, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc4, 0x01, 0x28, 0x4e, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xc4, 0x01, 0x29, 0x4d, - 0x0a, 0x53, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xc8, 0x01, 0x00, 0xcb, 0x01, 0x01, 0x1a, 0x45, - 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xc8, 0x01, - 0x08, 0x22, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, 0xca, 0x01, 0x02, 0x1c, - 0x1a, 0x28, 0x20, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, - 0x02, 0x00, 0x06, 0x12, 0x04, 0xca, 0x01, 0x02, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xca, 0x01, 0x10, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xca, 0x01, 0x1a, 0x1b, 0x0a, 0x39, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xce, - 0x01, 0x00, 0xd1, 0x01, 0x01, 0x1a, 0x2b, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xce, 0x01, 0x08, 0x1c, 0x0a, - 0x20, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0xd0, 0x01, 0x02, 0x4f, 0x1a, 0x12, 0x20, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd0, 0x01, 0x02, 0x19, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd0, 0x01, 0x1a, 0x23, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd0, 0x01, 0x26, 0x27, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd0, 0x01, 0x28, 0x4e, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xd0, 0x01, 0x29, 0x4d, 0x0a, - 0x3a, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xd4, 0x01, 0x00, 0xda, 0x01, 0x01, 0x1a, 0x2c, 0x20, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x0d, 0x01, 0x12, 0x04, 0xd4, 0x01, 0x08, 0x1d, 0x0a, 0x26, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, - 0x12, 0x04, 0xd6, 0x01, 0x02, 0x19, 0x1a, 0x18, 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x0d, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd6, 0x01, 0x0e, 0x14, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd6, 0x01, 0x17, 0x18, 0x0a, 0x27, 0x0a, - 0x04, 0x04, 0x0d, 0x02, 0x01, 0x12, 0x04, 0xd9, 0x01, 0x02, 0x1b, 0x1a, 0x19, 0x20, 0x4f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x06, 0x12, - 0x04, 0xd9, 0x01, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x01, 0x12, 0x04, - 0xd9, 0x01, 0x0f, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd9, - 0x01, 0x19, 0x1a, 0x0a, 0x3d, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, 0xdd, 0x01, 0x00, 0xe0, 0x01, - 0x01, 0x1a, 0x2f, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0xb0, 0x01, 0x08, 0x1f, 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x07, + 0x02, 0x00, 0x12, 0x04, 0xb2, 0x01, 0x02, 0x19, 0x1a, 0x25, 0x20, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, 0x12, 0x04, 0xb2, 0x01, 0x02, 0x0c, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb2, 0x01, 0x0d, 0x14, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb2, 0x01, 0x17, 0x18, 0x0a, 0x51, 0x0a, 0x02, + 0x04, 0x08, 0x12, 0x06, 0xb6, 0x01, 0x00, 0xb9, 0x01, 0x01, 0x1a, 0x43, 0x20, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, + 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xb6, 0x01, 0x08, 0x1f, 0x0a, 0x20, 0x0a, 0x04, + 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xb8, 0x01, 0x02, 0x4f, 0x1a, 0x12, 0x20, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, 0xb8, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb8, 0x01, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb8, 0x01, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb8, 0x01, 0x28, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, + 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xb8, 0x01, 0x29, 0x4d, 0x0a, 0x52, 0x0a, 0x02, + 0x04, 0x09, 0x12, 0x06, 0xbc, 0x01, 0x00, 0xbf, 0x01, 0x01, 0x1a, 0x44, 0x20, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, + 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xbc, 0x01, 0x08, 0x20, 0x0a, 0x36, 0x0a, + 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x1c, 0x1a, 0x28, 0x20, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, + 0xbe, 0x01, 0x02, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbe, + 0x01, 0x10, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbe, 0x01, + 0x1a, 0x1b, 0x0a, 0x52, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xc2, 0x01, 0x00, 0xc5, 0x01, 0x01, + 0x1a, 0x44, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xc2, + 0x01, 0x08, 0x21, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xc4, 0x01, 0x02, + 0x4f, 0x1a, 0x12, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, 0x04, + 0xc4, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc4, + 0x01, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc4, 0x01, + 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc4, 0x01, 0x28, + 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xc4, + 0x01, 0x29, 0x4d, 0x0a, 0x53, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xc8, 0x01, 0x00, 0xcb, 0x01, + 0x01, 0x1a, 0x45, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, + 0x67, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, + 0x04, 0xc8, 0x01, 0x08, 0x22, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, 0xca, + 0x01, 0x02, 0x1c, 0x1a, 0x28, 0x20, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0b, 0x02, 0x00, 0x06, 0x12, 0x04, 0xca, 0x01, 0x02, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xca, 0x01, 0x10, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xca, 0x01, 0x1a, 0x1b, 0x0a, 0x39, 0x0a, 0x02, 0x04, 0x0c, + 0x12, 0x06, 0xce, 0x01, 0x00, 0xd1, 0x01, 0x01, 0x1a, 0x2b, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xce, 0x01, + 0x08, 0x1c, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0xd0, 0x01, 0x02, 0x4f, + 0x1a, 0x12, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd0, + 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd0, 0x01, + 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd0, 0x01, 0x26, + 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd0, 0x01, 0x28, 0x4e, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xd0, 0x01, + 0x29, 0x4d, 0x0a, 0x3a, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xd4, 0x01, 0x00, 0xda, 0x01, 0x01, + 0x1a, 0x2c, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x6e, 0x67, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0xd4, 0x01, 0x08, 0x1d, 0x0a, 0x26, 0x0a, 0x04, 0x04, + 0x0d, 0x02, 0x00, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x19, 0x1a, 0x18, 0x20, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd6, 0x01, + 0x02, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd6, 0x01, 0x0e, + 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd6, 0x01, 0x17, 0x18, + 0x0a, 0x27, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x01, 0x12, 0x04, 0xd9, 0x01, 0x02, 0x1b, 0x1a, 0x19, + 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, + 0x01, 0x06, 0x12, 0x04, 0xd9, 0x01, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, + 0x01, 0x12, 0x04, 0xd9, 0x01, 0x0f, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x03, + 0x12, 0x04, 0xd9, 0x01, 0x19, 0x1a, 0x0a, 0x3d, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, 0xdd, 0x01, + 0x00, 0xe0, 0x01, 0x01, 0x1a, 0x2f, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x55, + 0x52, 0x49, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xdd, 0x01, + 0x08, 0x20, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xdf, 0x01, 0x02, 0x4f, + 0x1a, 0x12, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x06, 0x12, 0x04, 0xdf, + 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdf, 0x01, + 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdf, 0x01, 0x26, + 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x12, 0x04, 0xdf, 0x01, 0x28, 0x4e, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xdf, 0x01, + 0x29, 0x4d, 0x0a, 0x3e, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xe3, 0x01, 0x00, 0xe9, 0x01, 0x01, + 0x1a, 0x30, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x55, 0x52, 0x49, 0x73, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xdd, 0x01, 0x08, 0x20, 0x0a, - 0x20, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xdf, 0x01, 0x02, 0x4f, 0x1a, 0x12, 0x20, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x06, 0x12, 0x04, 0xdf, 0x01, 0x02, 0x19, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdf, 0x01, 0x1a, 0x23, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdf, 0x01, 0x26, 0x27, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x12, 0x04, 0xdf, 0x01, 0x28, 0x4e, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xdf, 0x01, 0x29, 0x4d, 0x0a, - 0x3e, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xe3, 0x01, 0x00, 0xe9, 0x01, 0x01, 0x1a, 0x30, 0x20, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x55, 0x52, 0x49, 0x73, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xe3, 0x01, 0x08, 0x21, 0x0a, 0x30, 0x0a, 0x04, - 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x18, 0x1a, 0x22, 0x20, 0x55, 0x52, 0x49, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, - 0x73, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe5, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe5, 0x01, 0x16, 0x17, 0x0a, 0x65, 0x0a, 0x04, 0x04, - 0x0f, 0x02, 0x01, 0x12, 0x04, 0xe8, 0x01, 0x02, 0x19, 0x1a, 0x57, 0x20, 0x55, 0x52, 0x49, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, - 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x20, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x20, 0x69, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x61, - 0x73, 0x6e, 0x27, 0x74, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x20, 0x6f, - 0x72, 0x20, 0x68, 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x05, 0x12, 0x04, 0xe8, 0x01, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe8, 0x01, 0x09, 0x14, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe8, 0x01, 0x17, 0x18, 0x0a, - 0x3f, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xec, 0x01, 0x00, 0xf2, 0x01, 0x01, 0x1a, 0x31, 0x20, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x0a, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xec, 0x01, 0x08, 0x22, 0x0a, 0x20, 0x0a, - 0x04, 0x04, 0x10, 0x02, 0x00, 0x12, 0x04, 0xee, 0x01, 0x02, 0x4f, 0x1a, 0x12, 0x20, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x06, 0x12, 0x04, 0xee, 0x01, 0x02, 0x19, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, 0xee, 0x01, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0xee, 0x01, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x00, 0x08, 0x12, 0x04, 0xee, 0x01, 0x28, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x10, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xee, 0x01, 0x29, 0x4d, 0x0a, 0x23, 0x0a, - 0x04, 0x04, 0x10, 0x02, 0x01, 0x12, 0x04, 0xf1, 0x01, 0x02, 0x3a, 0x1a, 0x15, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf1, 0x01, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf1, 0x01, 0x09, 0x10, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf1, 0x01, 0x13, 0x14, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x08, 0x12, 0x04, 0xf1, 0x01, 0x15, 0x39, 0x0a, 0x11, - 0x0a, 0x09, 0x04, 0x10, 0x02, 0x01, 0x08, 0x87, 0x09, 0x05, 0x04, 0x12, 0x04, 0xf1, 0x01, 0x16, - 0x38, 0x0a, 0x40, 0x0a, 0x02, 0x04, 0x11, 0x12, 0x06, 0xf5, 0x01, 0x00, 0x81, 0x02, 0x01, 0x1a, - 0x32, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xe3, 0x01, 0x08, 0x21, 0x0a, + 0x30, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x18, 0x1a, 0x22, 0x20, + 0x55, 0x52, 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe5, 0x01, 0x09, 0x13, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe5, 0x01, 0x16, 0x17, 0x0a, 0x65, + 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x01, 0x12, 0x04, 0xe8, 0x01, 0x02, 0x19, 0x1a, 0x57, 0x20, 0x55, + 0x52, 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x27, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x20, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x69, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x68, 0x61, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, + 0x64, 0x20, 0x6f, 0x72, 0x20, 0x68, 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x05, 0x12, 0x04, + 0xe8, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe8, + 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe8, 0x01, + 0x17, 0x18, 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xec, 0x01, 0x00, 0xf2, 0x01, 0x01, + 0x1a, 0x31, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, 0x04, 0xf5, 0x01, 0x08, 0x23, - 0x0a, 0x3b, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, 0xf7, 0x01, 0x02, 0x2c, 0x1a, 0x2d, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x11, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf7, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf7, 0x01, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf7, 0x01, 0x2a, 0x2b, 0x0a, 0x40, 0x0a, 0x04, 0x04, 0x11, - 0x02, 0x01, 0x12, 0x04, 0xfa, 0x01, 0x02, 0x15, 0x1a, 0x32, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, - 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x11, 0x02, 0x01, 0x05, 0x12, 0x04, 0xfa, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x11, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfa, 0x01, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, - 0x02, 0x01, 0x03, 0x12, 0x04, 0xfa, 0x01, 0x13, 0x14, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x11, 0x02, - 0x02, 0x12, 0x04, 0xfd, 0x01, 0x02, 0x2b, 0x1a, 0x27, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x74, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xec, 0x01, 0x08, 0x22, + 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x00, 0x12, 0x04, 0xee, 0x01, 0x02, 0x4f, 0x1a, 0x12, + 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x06, 0x12, 0x04, 0xee, 0x01, 0x02, + 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, 0xee, 0x01, 0x1a, 0x23, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0xee, 0x01, 0x26, 0x27, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x08, 0x12, 0x04, 0xee, 0x01, 0x28, 0x4e, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x10, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xee, 0x01, 0x29, 0x4d, + 0x0a, 0x23, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x01, 0x12, 0x04, 0xf1, 0x01, 0x02, 0x3a, 0x1a, 0x15, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x05, 0x12, 0x04, + 0xf1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf1, + 0x01, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf1, 0x01, + 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x08, 0x12, 0x04, 0xf1, 0x01, 0x15, + 0x39, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x01, 0x08, 0x87, 0x09, 0x05, 0x04, 0x12, 0x04, + 0xf1, 0x01, 0x16, 0x38, 0x0a, 0x40, 0x0a, 0x02, 0x04, 0x11, 0x12, 0x06, 0xf5, 0x01, 0x00, 0x81, + 0x02, 0x01, 0x1a, 0x32, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, 0x04, 0xf5, + 0x01, 0x08, 0x23, 0x0a, 0x3b, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, 0xf7, 0x01, 0x02, + 0x2c, 0x1a, 0x2d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x20, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x06, 0x12, 0x04, 0xfd, 0x01, 0x02, 0x1b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x01, 0x12, 0x04, 0xfd, 0x01, 0x1c, 0x26, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x03, 0x12, 0x04, 0xfd, 0x01, 0x29, 0x2a, 0x0a, 0x5a, 0x0a, - 0x04, 0x04, 0x11, 0x02, 0x03, 0x12, 0x04, 0x80, 0x02, 0x02, 0x29, 0x1a, 0x4c, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x2e, 0x20, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, - 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x69, 0x73, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20, - 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, - 0x03, 0x06, 0x12, 0x04, 0x80, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, - 0x01, 0x12, 0x04, 0x80, 0x02, 0x1c, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x03, - 0x12, 0x04, 0x80, 0x02, 0x27, 0x28, 0x0a, 0x31, 0x0a, 0x02, 0x04, 0x12, 0x12, 0x06, 0x84, 0x02, - 0x00, 0xa0, 0x02, 0x01, 0x1a, 0x23, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x12, 0x01, - 0x12, 0x04, 0x84, 0x02, 0x08, 0x17, 0x0a, 0x19, 0x0a, 0x03, 0x04, 0x12, 0x09, 0x12, 0x04, 0x85, - 0x02, 0x02, 0x10, 0x22, 0x0c, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, - 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x12, 0x09, 0x00, 0x12, 0x04, 0x85, 0x02, 0x0b, 0x0c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x09, 0x00, 0x01, 0x12, 0x04, 0x85, 0x02, 0x0b, 0x0c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x12, 0x09, 0x00, 0x02, 0x12, 0x04, 0x85, 0x02, 0x0b, 0x0c, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x12, 0x09, 0x01, 0x12, 0x04, 0x85, 0x02, 0x0e, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x12, 0x09, 0x01, 0x01, 0x12, 0x04, 0x85, 0x02, 0x0e, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, - 0x09, 0x01, 0x02, 0x12, 0x04, 0x85, 0x02, 0x0e, 0x0f, 0x0a, 0x2f, 0x0a, 0x04, 0x04, 0x12, 0x02, - 0x00, 0x12, 0x04, 0x88, 0x02, 0x02, 0x21, 0x1a, 0x21, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, - 0x02, 0x00, 0x06, 0x12, 0x04, 0x88, 0x02, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, - 0x00, 0x01, 0x12, 0x04, 0x88, 0x02, 0x15, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, - 0x03, 0x12, 0x04, 0x88, 0x02, 0x1f, 0x20, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x12, 0x08, 0x00, 0x12, - 0x06, 0x8a, 0x02, 0x02, 0x9b, 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x08, 0x00, 0x01, - 0x12, 0x04, 0x8a, 0x02, 0x08, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x08, 0x00, 0x02, 0x12, - 0x04, 0x8b, 0x02, 0x04, 0x30, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x08, 0x00, 0x02, 0x87, 0x09, - 0x01, 0x12, 0x04, 0x8b, 0x02, 0x04, 0x30, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x01, 0x12, - 0x04, 0x8e, 0x02, 0x04, 0x3d, 0x1a, 0x27, 0x20, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8e, 0x02, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x12, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8e, 0x02, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x12, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8e, 0x02, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x12, 0x02, 0x01, 0x08, 0x12, 0x04, 0x8e, 0x02, 0x13, 0x3c, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x12, - 0x02, 0x01, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x04, 0x8e, 0x02, 0x14, 0x3b, 0x0a, 0x36, 0x0a, - 0x04, 0x04, 0x12, 0x02, 0x02, 0x12, 0x04, 0x91, 0x02, 0x04, 0x2c, 0x1a, 0x28, 0x20, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x72, - 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x06, 0x12, 0x04, - 0x91, 0x02, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x01, 0x12, 0x04, 0x91, - 0x02, 0x1d, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x03, 0x12, 0x04, 0x91, 0x02, - 0x2a, 0x2b, 0x0a, 0x31, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x03, 0x12, 0x04, 0x94, 0x02, 0x04, 0x28, - 0x1a, 0x23, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x06, 0x12, 0x04, - 0x94, 0x02, 0x04, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x01, 0x12, 0x04, 0x94, - 0x02, 0x17, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x03, 0x12, 0x04, 0x94, 0x02, - 0x26, 0x27, 0x0a, 0x2c, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x04, 0x12, 0x04, 0x97, 0x02, 0x04, 0x20, - 0x1a, 0x1e, 0x20, 0x54, 0x61, 0x73, 0x6b, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x06, 0x12, 0x04, 0x97, 0x02, 0x04, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x01, 0x12, 0x04, 0x97, 0x02, 0x12, 0x1b, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x03, 0x12, 0x04, 0x97, 0x02, 0x1e, 0x1f, 0x0a, 0x32, 0x0a, - 0x04, 0x04, 0x12, 0x02, 0x05, 0x12, 0x04, 0x9a, 0x02, 0x04, 0x24, 0x1a, 0x24, 0x20, 0x54, 0x61, - 0x73, 0x6b, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x05, 0x06, 0x12, 0x04, 0x9a, 0x02, 0x04, 0x17, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x05, 0x01, 0x12, 0x04, 0x9a, 0x02, 0x18, 0x1f, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x05, 0x03, 0x12, 0x04, 0x9a, 0x02, 0x22, 0x23, 0x0a, 0x97, - 0x01, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x06, 0x12, 0x04, 0x9f, 0x02, 0x02, 0x1f, 0x1a, 0x88, 0x01, - 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, - 0x73, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x20, 0x70, 0x68, 0x61, - 0x73, 0x65, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x61, 0x20, 0x68, 0x75, 0x6d, 0x61, 0x6e, - 0x2d, 0x69, 0x6e, 0x2d, 0x74, 0x68, 0x65, 0x2d, 0x6c, 0x6f, 0x6f, 0x70, 0x20, 0x67, 0x61, 0x74, - 0x65, 0x20, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x20, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x06, - 0x05, 0x12, 0x04, 0x9f, 0x02, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x06, 0x01, - 0x12, 0x04, 0x9f, 0x02, 0x07, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x06, 0x03, 0x12, - 0x04, 0x9f, 0x02, 0x1d, 0x1e, 0x0a, 0x32, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, 0xa3, 0x02, 0x00, - 0xa9, 0x02, 0x01, 0x1a, 0x24, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x13, 0x01, - 0x12, 0x04, 0xa3, 0x02, 0x08, 0x18, 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x00, 0x12, 0x04, - 0xa5, 0x02, 0x02, 0x18, 0x1a, 0x2c, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, - 0x75, 0x6e, 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x04, 0x12, 0x04, 0xa5, 0x02, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa5, 0x02, 0x0b, 0x0e, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa5, 0x02, 0x0f, 0x13, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa5, 0x02, 0x16, 0x17, 0x0a, 0x44, - 0x0a, 0x04, 0x04, 0x13, 0x02, 0x01, 0x12, 0x04, 0xa8, 0x02, 0x02, 0x13, 0x1a, 0x36, 0x20, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, - 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x78, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, - 0x6e, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa8, - 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa8, 0x02, - 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa8, 0x02, 0x11, - 0x12, 0x0a, 0x32, 0x0a, 0x02, 0x04, 0x14, 0x12, 0x06, 0xac, 0x02, 0x00, 0xb9, 0x02, 0x01, 0x1a, - 0x24, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x72, - 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, 0xac, 0x02, - 0x08, 0x18, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x14, 0x08, 0x00, 0x12, 0x06, 0xad, 0x02, 0x02, 0xb8, - 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x08, 0x00, 0x01, 0x12, 0x04, 0xad, 0x02, 0x08, - 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x08, 0x00, 0x02, 0x12, 0x04, 0xae, 0x02, 0x04, 0x30, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0xae, 0x02, - 0x04, 0x30, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x00, 0x12, 0x04, 0xb1, 0x02, 0x04, 0x3d, - 0x1a, 0x27, 0x20, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, - 0x00, 0x05, 0x12, 0x04, 0xb1, 0x02, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xb1, 0x02, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xb1, 0x02, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xb1, 0x02, 0x13, 0x3c, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x14, 0x02, 0x00, 0x08, 0x87, 0x09, - 0x0e, 0x02, 0x12, 0x04, 0xb1, 0x02, 0x14, 0x3b, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x01, - 0x12, 0x04, 0xb3, 0x02, 0x04, 0x2c, 0x1a, 0x28, 0x20, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x06, 0x12, 0x04, 0xb3, 0x02, 0x04, 0x1c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb3, 0x02, 0x1d, 0x27, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb3, 0x02, 0x2a, 0x2b, 0x0a, 0x36, 0x0a, - 0x04, 0x04, 0x14, 0x02, 0x02, 0x12, 0x04, 0xb5, 0x02, 0x04, 0x2c, 0x1a, 0x28, 0x20, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf7, 0x01, 0x02, 0x1b, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf7, 0x01, 0x1c, 0x27, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf7, 0x01, 0x2a, 0x2b, 0x0a, 0x40, 0x0a, + 0x04, 0x04, 0x11, 0x02, 0x01, 0x12, 0x04, 0xfa, 0x01, 0x02, 0x15, 0x1a, 0x32, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x20, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x05, 0x12, 0x04, 0xfa, 0x01, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfa, 0x01, 0x09, 0x10, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x11, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfa, 0x01, 0x13, 0x14, 0x0a, 0x35, 0x0a, 0x04, + 0x04, 0x11, 0x02, 0x02, 0x12, 0x04, 0xfd, 0x01, 0x02, 0x2b, 0x1a, 0x27, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, + 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x06, 0x12, 0x04, 0xfd, 0x01, + 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x01, 0x12, 0x04, 0xfd, 0x01, 0x1c, + 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x03, 0x12, 0x04, 0xfd, 0x01, 0x29, 0x2a, + 0x0a, 0x5a, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x03, 0x12, 0x04, 0x80, 0x02, 0x02, 0x29, 0x1a, 0x4c, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, + 0x6d, 0x70, 0x74, 0x2e, 0x20, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x69, 0x73, 0x20, 0x73, 0x74, 0x69, + 0x6c, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x11, 0x02, 0x03, 0x06, 0x12, 0x04, 0x80, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x11, 0x02, 0x03, 0x01, 0x12, 0x04, 0x80, 0x02, 0x1c, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, + 0x02, 0x03, 0x03, 0x12, 0x04, 0x80, 0x02, 0x27, 0x28, 0x0a, 0x31, 0x0a, 0x02, 0x04, 0x12, 0x12, + 0x06, 0x84, 0x02, 0x00, 0xa0, 0x02, 0x01, 0x1a, 0x23, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x12, 0x01, 0x12, 0x04, 0x84, 0x02, 0x08, 0x17, 0x0a, 0x19, 0x0a, 0x03, 0x04, 0x12, 0x09, + 0x12, 0x04, 0x85, 0x02, 0x02, 0x10, 0x22, 0x0c, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x12, 0x09, 0x00, 0x12, 0x04, 0x85, 0x02, + 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x09, 0x00, 0x01, 0x12, 0x04, 0x85, 0x02, 0x0b, + 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x09, 0x00, 0x02, 0x12, 0x04, 0x85, 0x02, 0x0b, 0x0c, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x12, 0x09, 0x01, 0x12, 0x04, 0x85, 0x02, 0x0e, 0x0f, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x12, 0x09, 0x01, 0x01, 0x12, 0x04, 0x85, 0x02, 0x0e, 0x0f, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x12, 0x09, 0x01, 0x02, 0x12, 0x04, 0x85, 0x02, 0x0e, 0x0f, 0x0a, 0x2f, 0x0a, 0x04, + 0x04, 0x12, 0x02, 0x00, 0x12, 0x04, 0x88, 0x02, 0x02, 0x21, 0x1a, 0x21, 0x20, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x12, 0x02, 0x00, 0x06, 0x12, 0x04, 0x88, 0x02, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x12, 0x02, 0x00, 0x01, 0x12, 0x04, 0x88, 0x02, 0x15, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x12, 0x02, 0x00, 0x03, 0x12, 0x04, 0x88, 0x02, 0x1f, 0x20, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x12, + 0x08, 0x00, 0x12, 0x06, 0x8a, 0x02, 0x02, 0x9b, 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, + 0x08, 0x00, 0x01, 0x12, 0x04, 0x8a, 0x02, 0x08, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x08, + 0x00, 0x02, 0x12, 0x04, 0x8b, 0x02, 0x04, 0x30, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x08, 0x00, + 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0x8b, 0x02, 0x04, 0x30, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x12, + 0x02, 0x01, 0x12, 0x04, 0x8e, 0x02, 0x04, 0x3d, 0x1a, 0x27, 0x20, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8e, 0x02, 0x04, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8e, 0x02, 0x0b, 0x0e, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8e, 0x02, 0x11, 0x12, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x08, 0x12, 0x04, 0x8e, 0x02, 0x13, 0x3c, 0x0a, 0x11, 0x0a, + 0x09, 0x04, 0x12, 0x02, 0x01, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x04, 0x8e, 0x02, 0x14, 0x3b, + 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x02, 0x12, 0x04, 0x91, 0x02, 0x04, 0x2c, 0x1a, 0x28, + 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, + 0x06, 0x12, 0x04, 0x91, 0x02, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x01, + 0x12, 0x04, 0x91, 0x02, 0x1d, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x03, 0x12, + 0x04, 0x91, 0x02, 0x2a, 0x2b, 0x0a, 0x31, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x03, 0x12, 0x04, 0x94, + 0x02, 0x04, 0x28, 0x1a, 0x23, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x74, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, + 0x06, 0x12, 0x04, 0x94, 0x02, 0x04, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x01, + 0x12, 0x04, 0x94, 0x02, 0x17, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x03, 0x12, + 0x04, 0x94, 0x02, 0x26, 0x27, 0x0a, 0x2c, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x04, 0x12, 0x04, 0x97, + 0x02, 0x04, 0x20, 0x1a, 0x1e, 0x20, 0x54, 0x61, 0x73, 0x6b, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, + 0x6e, 0x73, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x06, 0x12, 0x04, 0x97, 0x02, + 0x04, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x01, 0x12, 0x04, 0x97, 0x02, 0x12, + 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x03, 0x12, 0x04, 0x97, 0x02, 0x1e, 0x1f, + 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x05, 0x12, 0x04, 0x9a, 0x02, 0x04, 0x24, 0x1a, 0x24, + 0x20, 0x54, 0x61, 0x73, 0x6b, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x72, - 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x06, 0x12, 0x04, - 0xb5, 0x02, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x01, 0x12, 0x04, 0xb5, - 0x02, 0x1d, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x03, 0x12, 0x04, 0xb5, 0x02, - 0x2a, 0x2b, 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x03, 0x12, 0x04, 0xb7, 0x02, 0x04, 0x24, - 0x1a, 0x25, 0x20, 0x54, 0x61, 0x73, 0x6b, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x06, - 0x12, 0x04, 0xb7, 0x02, 0x04, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x01, 0x12, - 0x04, 0xb7, 0x02, 0x18, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x03, 0x12, 0x04, - 0xb7, 0x02, 0x22, 0x23, 0x0a, 0x33, 0x0a, 0x02, 0x04, 0x15, 0x12, 0x06, 0xbc, 0x02, 0x00, 0xbf, - 0x02, 0x01, 0x1a, 0x25, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, - 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x15, 0x01, - 0x12, 0x04, 0xbc, 0x02, 0x08, 0x19, 0x0a, 0x41, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x00, 0x12, 0x04, - 0xbe, 0x02, 0x02, 0x18, 0x1a, 0x33, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x6f, 0x72, 0x20, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x63, - 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, - 0x00, 0x04, 0x12, 0x04, 0xbe, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, - 0x06, 0x12, 0x04, 0xbe, 0x02, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xbe, 0x02, 0x0f, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xbe, 0x02, 0x16, 0x17, 0x0a, 0x34, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, 0xc2, 0x02, 0x00, - 0xc8, 0x02, 0x01, 0x1a, 0x26, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x16, 0x01, 0x12, 0x04, 0xc2, 0x02, 0x08, 0x1a, 0x0a, 0x2f, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x00, - 0x12, 0x04, 0xc4, 0x02, 0x02, 0x21, 0x1a, 0x21, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, - 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, - 0x00, 0x06, 0x12, 0x04, 0xc4, 0x02, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xc4, 0x02, 0x15, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xc4, 0x02, 0x1f, 0x20, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x01, 0x12, 0x04, - 0xc7, 0x02, 0x02, 0x49, 0x1a, 0x27, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x75, 0x6e, 0x73, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x05, 0x06, 0x12, 0x04, 0x9a, + 0x02, 0x04, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x05, 0x01, 0x12, 0x04, 0x9a, 0x02, + 0x18, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x05, 0x03, 0x12, 0x04, 0x9a, 0x02, 0x22, + 0x23, 0x0a, 0x97, 0x01, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x06, 0x12, 0x04, 0x9f, 0x02, 0x02, 0x1f, + 0x1a, 0x88, 0x01, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x6f, + 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x61, 0x74, 0x20, + 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x20, + 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x61, 0x20, 0x68, 0x75, + 0x6d, 0x61, 0x6e, 0x2d, 0x69, 0x6e, 0x2d, 0x74, 0x68, 0x65, 0x2d, 0x6c, 0x6f, 0x6f, 0x70, 0x20, + 0x67, 0x61, 0x74, 0x65, 0x20, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x69, + 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x12, 0x02, 0x06, 0x05, 0x12, 0x04, 0x9f, 0x02, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, + 0x02, 0x06, 0x01, 0x12, 0x04, 0x9f, 0x02, 0x07, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, + 0x06, 0x03, 0x12, 0x04, 0x9f, 0x02, 0x1d, 0x1e, 0x0a, 0x32, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, + 0xa3, 0x02, 0x00, 0xa9, 0x02, 0x01, 0x1a, 0x24, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x13, 0x01, 0x12, 0x04, 0xa3, 0x02, 0x08, 0x18, 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x13, 0x02, + 0x00, 0x12, 0x04, 0xa5, 0x02, 0x02, 0x18, 0x1a, 0x2c, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, + 0x66, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x04, 0x12, 0x04, + 0xa5, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa5, + 0x02, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa5, 0x02, + 0x0f, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa5, 0x02, 0x16, + 0x17, 0x0a, 0x44, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x01, 0x12, 0x04, 0xa8, 0x02, 0x02, 0x13, 0x1a, + 0x36, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x65, 0x74, 0x63, + 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x78, 0x74, 0x20, 0x70, 0x61, + 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2c, 0x20, 0x69, + 0x66, 0x20, 0x61, 0x6e, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x05, + 0x12, 0x04, 0xa8, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xa8, 0x02, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xa8, 0x02, 0x11, 0x12, 0x0a, 0x32, 0x0a, 0x02, 0x04, 0x14, 0x12, 0x06, 0xac, 0x02, 0x00, 0xb9, + 0x02, 0x01, 0x1a, 0x24, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, + 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, + 0x04, 0xac, 0x02, 0x08, 0x18, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x14, 0x08, 0x00, 0x12, 0x06, 0xad, + 0x02, 0x02, 0xb8, 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x08, 0x00, 0x01, 0x12, 0x04, + 0xad, 0x02, 0x08, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x08, 0x00, 0x02, 0x12, 0x04, 0xae, + 0x02, 0x04, 0x30, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, + 0x04, 0xae, 0x02, 0x04, 0x30, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x00, 0x12, 0x04, 0xb1, + 0x02, 0x04, 0x3d, 0x1a, 0x27, 0x20, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x14, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb1, 0x02, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x14, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb1, 0x02, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, + 0x02, 0x00, 0x03, 0x12, 0x04, 0xb1, 0x02, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, + 0x00, 0x08, 0x12, 0x04, 0xb1, 0x02, 0x13, 0x3c, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x14, 0x02, 0x00, + 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x04, 0xb1, 0x02, 0x14, 0x3b, 0x0a, 0x36, 0x0a, 0x04, 0x04, + 0x14, 0x02, 0x01, 0x12, 0x04, 0xb3, 0x02, 0x04, 0x2c, 0x1a, 0x28, 0x20, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, + 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x06, 0x12, 0x04, 0xb3, 0x02, + 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb3, 0x02, 0x1d, + 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb3, 0x02, 0x2a, 0x2b, + 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x02, 0x12, 0x04, 0xb5, 0x02, 0x04, 0x2c, 0x1a, 0x28, + 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, + 0x06, 0x12, 0x04, 0xb5, 0x02, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x01, + 0x12, 0x04, 0xb5, 0x02, 0x1d, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x03, 0x12, + 0x04, 0xb5, 0x02, 0x2a, 0x2b, 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x03, 0x12, 0x04, 0xb7, + 0x02, 0x04, 0x24, 0x1a, 0x25, 0x20, 0x54, 0x61, 0x73, 0x6b, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x16, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc7, 0x02, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x16, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc7, 0x02, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x16, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc7, 0x02, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, - 0x02, 0x01, 0x08, 0x12, 0x04, 0xc7, 0x02, 0x22, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, - 0x01, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xc7, 0x02, 0x23, 0x47, 0x0a, 0x35, 0x0a, 0x02, 0x04, - 0x17, 0x12, 0x06, 0xcb, 0x02, 0x00, 0xd4, 0x02, 0x01, 0x1a, 0x27, 0x20, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x17, 0x01, 0x12, 0x04, 0xcb, 0x02, 0x08, 0x1b, 0x0a, - 0x3d, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x00, 0x12, 0x04, 0xcd, 0x02, 0x02, 0x1e, 0x1a, 0x2f, 0x20, - 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x04, 0x12, 0x04, 0xcd, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x17, 0x02, 0x00, 0x06, 0x12, 0x04, 0xcd, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x17, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcd, 0x02, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x17, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcd, 0x02, 0x1c, 0x1d, 0x0a, 0x44, 0x0a, 0x04, 0x04, 0x17, - 0x02, 0x01, 0x12, 0x04, 0xd0, 0x02, 0x02, 0x13, 0x1a, 0x36, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x6e, 0x65, 0x78, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x6e, 0x79, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x05, 0x12, 0x04, 0xd0, 0x02, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd0, 0x02, 0x09, 0x0e, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd0, 0x02, 0x11, 0x12, 0x0a, 0x35, 0x0a, - 0x02, 0x04, 0x18, 0x12, 0x06, 0xd7, 0x02, 0x00, 0xe4, 0x02, 0x01, 0x1a, 0x27, 0x20, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x18, 0x01, 0x12, 0x04, 0xd7, 0x02, 0x08, - 0x1b, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x00, 0x12, 0x04, 0xd9, 0x02, 0x02, 0x49, 0x1a, - 0x27, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, - 0x06, 0x12, 0x04, 0xd9, 0x02, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xd9, 0x02, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xd9, 0x02, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x08, 0x12, 0x04, - 0xd9, 0x02, 0x22, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, - 0x12, 0x04, 0xd9, 0x02, 0x23, 0x47, 0x0a, 0x83, 0x03, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x01, 0x12, - 0x04, 0xdf, 0x02, 0x02, 0x24, 0x1a, 0xf4, 0x02, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x28, 0x73, 0x29, 0x20, 0x63, 0x72, 0x69, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x0a, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x3a, 0x0a, - 0x20, 0x2d, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x28, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x75, 0x73, - 0x65, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x43, 0x4f, 0x4e, 0x54, 0x41, - 0x49, 0x4e, 0x53, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x5f, 0x49, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x49, - 0x54, 0x49, 0x56, 0x45, 0x29, 0x3a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x77, 0x68, 0x61, 0x74, 0x65, 0x76, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x6f, 0x2e, - 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x63, 0x61, 0x73, 0x74, 0x20, - 0x61, 0x6c, 0x6c, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6c, - 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x2e, 0x0a, 0x20, 0x2d, 0x20, 0x50, 0x48, 0x41, 0x53, 0x45, 0x20, 0x28, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x75, 0x73, 0x65, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x49, 0x4e, 0x29, 0x3a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x79, 0x6f, 0x75, - 0x20, 0x63, 0x61, 0x6e, 0x20, 0x70, 0x61, 0x73, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, - 0x6c, 0x65, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x73, 0x20, 0x28, 0x69, 0x2e, 0x65, 0x2e, 0x20, - 0x5b, 0x22, 0x31, 0x22, 0x2c, 0x20, 0x22, 0x34, 0x22, 0x5d, 0x29, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x18, 0x02, 0x01, 0x04, 0x12, 0x04, 0xdf, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x18, 0x02, 0x01, 0x06, 0x12, 0x04, 0xdf, 0x02, 0x0b, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xdf, 0x02, 0x19, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xdf, 0x02, 0x22, 0x23, 0x0a, 0xa4, 0x01, 0x0a, 0x04, 0x04, 0x18, 0x02, - 0x02, 0x12, 0x04, 0xe3, 0x02, 0x02, 0x1c, 0x1a, 0x95, 0x01, 0x20, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x53, 0x74, 0x6f, - 0x72, 0x65, 0x20, 0x77, 0x65, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, - 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x41, 0x50, 0x49, 0x0a, 0x20, 0x54, 0x4f, 0x44, 0x4f, - 0x28, 0x61, 0x6c, 0x65, 0x78, 0x29, 0x3a, 0x20, 0x57, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x72, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x53, 0x74, 0x6f, 0x72, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x6c, 0x79, 0x20, 0x74, 0x65, 0x73, - 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x02, 0x05, 0x12, 0x04, 0xe3, 0x02, 0x02, 0x06, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x18, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe3, 0x02, 0x07, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x18, 0x02, 0x02, 0x03, 0x12, 0x04, 0xe3, 0x02, 0x1a, 0x1b, 0x0a, 0x5b, 0x0a, 0x02, - 0x04, 0x19, 0x12, 0x06, 0xe7, 0x02, 0x00, 0xea, 0x02, 0x01, 0x1a, 0x4d, 0x20, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2c, 0x20, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x65, - 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x19, 0x01, - 0x12, 0x04, 0xe7, 0x02, 0x08, 0x1c, 0x0a, 0x69, 0x0a, 0x04, 0x04, 0x19, 0x02, 0x00, 0x12, 0x04, - 0xe9, 0x02, 0x02, 0x2f, 0x1a, 0x5b, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x6f, 0x72, 0x20, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6d, 0x61, + 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, + 0x02, 0x03, 0x06, 0x12, 0x04, 0xb7, 0x02, 0x04, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, + 0x03, 0x01, 0x12, 0x04, 0xb7, 0x02, 0x18, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, + 0x03, 0x12, 0x04, 0xb7, 0x02, 0x22, 0x23, 0x0a, 0x33, 0x0a, 0x02, 0x04, 0x15, 0x12, 0x06, 0xbc, + 0x02, 0x00, 0xbf, 0x02, 0x01, 0x1a, 0x25, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, + 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x15, 0x01, 0x12, 0x04, 0xbc, 0x02, 0x08, 0x19, 0x0a, 0x41, 0x0a, 0x04, 0x04, 0x15, 0x02, + 0x00, 0x12, 0x04, 0xbe, 0x02, 0x02, 0x18, 0x1a, 0x33, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x6f, 0x72, + 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x20, 0x45, 0x6e, 0x72, 0x69, - 0x63, 0x68, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, - 0x65, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x04, 0x12, 0x04, 0xe9, 0x02, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x06, 0x12, 0x04, 0xe9, 0x02, 0x0b, 0x19, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe9, 0x02, 0x1a, 0x2a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe9, 0x02, 0x2d, 0x2e, 0x0a, 0xb2, 0x01, - 0x0a, 0x02, 0x04, 0x1a, 0x12, 0x06, 0xef, 0x02, 0x00, 0x9b, 0x03, 0x01, 0x1a, 0xa3, 0x01, 0x20, - 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0xe2, 0x86, 0x92, 0x20, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x6f, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x0a, 0x20, 0x62, 0x69, 0x64, 0x69, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x3b, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x74, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1a, 0x01, 0x12, 0x04, 0xef, 0x02, 0x08, 0x23, 0x0a, - 0x0e, 0x0a, 0x04, 0x04, 0x1a, 0x08, 0x00, 0x12, 0x06, 0xf0, 0x02, 0x02, 0xf3, 0x02, 0x03, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x08, 0x00, 0x01, 0x12, 0x04, 0xf0, 0x02, 0x08, 0x0b, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x1a, 0x02, 0x00, 0x12, 0x04, 0xf1, 0x02, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x1a, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf1, 0x02, 0x04, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x1a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf1, 0x02, 0x0e, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, - 0x02, 0x00, 0x03, 0x12, 0x04, 0xf1, 0x02, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1a, 0x02, - 0x01, 0x12, 0x04, 0xf2, 0x02, 0x04, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, 0x06, - 0x12, 0x04, 0xf2, 0x02, 0x04, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xf2, 0x02, 0x11, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, 0x03, 0x12, 0x04, - 0xf2, 0x02, 0x21, 0x22, 0x0a, 0x6a, 0x0a, 0x04, 0x04, 0x1a, 0x03, 0x00, 0x12, 0x06, 0xf7, 0x02, - 0x02, 0x89, 0x03, 0x03, 0x1a, 0x5a, 0x20, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x20, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x53, 0x65, 0x6e, 0x74, 0x20, 0x65, 0x78, - 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x03, 0x00, 0x01, 0x12, 0x04, 0xf7, 0x02, 0x0a, 0x13, 0x0a, - 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, 0xf8, 0x02, 0x04, 0x4b, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf8, 0x02, 0x04, 0x18, - 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf8, 0x02, 0x19, - 0x1f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf8, 0x02, - 0x22, 0x23, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf8, - 0x02, 0x24, 0x4a, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, - 0x19, 0x12, 0x04, 0xf8, 0x02, 0x25, 0x49, 0x0a, 0x74, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x00, 0x02, - 0x01, 0x12, 0x04, 0xfc, 0x02, 0x04, 0x20, 0x1a, 0x64, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x6b, - 0x65, 0x79, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x66, 0x6f, 0x63, - 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x49, 0x3b, 0x20, - 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x63, 0x65, 0x6e, 0x74, - 0x65, 0x72, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x6f, - 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x01, 0x05, 0x12, 0x04, 0xfc, 0x02, 0x04, 0x0a, 0x0a, 0x0f, - 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfc, 0x02, 0x0b, 0x1b, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfc, 0x02, 0x1e, 0x1f, - 0x0a, 0x79, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x02, 0x12, 0x04, 0x80, 0x03, 0x04, 0x43, - 0x1a, 0x69, 0x20, 0x45, 0x78, 0x74, 0x72, 0x61, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x74, - 0x6f, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x61, 0x62, - 0x6f, 0x76, 0x65, 0x2f, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x20, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x0a, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x73, 0x3b, 0x20, 0x30, 0x20, 0x6d, - 0x65, 0x61, 0x6e, 0x73, 0x20, 0x22, 0x75, 0x73, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, - 0x1a, 0x03, 0x00, 0x02, 0x02, 0x05, 0x12, 0x04, 0x80, 0x03, 0x04, 0x09, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x1a, 0x03, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0x80, 0x03, 0x0a, 0x19, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x02, 0x03, 0x12, 0x04, 0x80, 0x03, 0x1c, 0x1d, 0x0a, 0x0f, - 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x02, 0x08, 0x12, 0x04, 0x80, 0x03, 0x1e, 0x42, 0x0a, - 0x13, 0x0a, 0x0b, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x02, 0x08, 0x87, 0x09, 0x03, 0x05, 0x12, 0x04, - 0x80, 0x03, 0x1f, 0x41, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x03, 0x12, 0x04, - 0x81, 0x03, 0x04, 0x42, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x03, 0x05, 0x12, - 0x04, 0x81, 0x03, 0x04, 0x09, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x03, 0x01, - 0x12, 0x04, 0x81, 0x03, 0x0a, 0x18, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x03, - 0x03, 0x12, 0x04, 0x81, 0x03, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, - 0x03, 0x08, 0x12, 0x04, 0x81, 0x03, 0x1d, 0x41, 0x0a, 0x13, 0x0a, 0x0b, 0x04, 0x1a, 0x03, 0x00, - 0x02, 0x03, 0x08, 0x87, 0x09, 0x03, 0x05, 0x12, 0x04, 0x81, 0x03, 0x1e, 0x40, 0x0a, 0x52, 0x0a, - 0x06, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x04, 0x12, 0x04, 0x84, 0x03, 0x04, 0x38, 0x1a, 0x42, 0x20, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x20, 0x77, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x2e, - 0x20, 0x4b, 0x65, 0x79, 0x20, 0x3d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x20, 0x4f, 0x52, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x6b, 0x65, 0x79, 0x2e, - 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x04, 0x06, 0x12, 0x04, 0x84, 0x03, - 0x04, 0x24, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x04, 0x01, 0x12, 0x04, 0x84, - 0x03, 0x25, 0x33, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x04, 0x03, 0x12, 0x04, - 0x84, 0x03, 0x36, 0x37, 0x0a, 0x52, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x05, 0x12, 0x04, - 0x87, 0x03, 0x04, 0x31, 0x1a, 0x42, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x3b, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x73, 0x65, - 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x73, 0x20, 0x61, 0x73, 0x20, 0x6c, 0x65, 0x67, 0x61, 0x63, - 0x79, 0x20, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, - 0x02, 0x05, 0x04, 0x12, 0x04, 0x87, 0x03, 0x04, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, - 0x00, 0x02, 0x05, 0x06, 0x12, 0x04, 0x87, 0x03, 0x0d, 0x1f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, - 0x03, 0x00, 0x02, 0x05, 0x01, 0x12, 0x04, 0x87, 0x03, 0x20, 0x2c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, - 0x1a, 0x03, 0x00, 0x02, 0x05, 0x03, 0x12, 0x04, 0x87, 0x03, 0x2f, 0x30, 0x0a, 0x0e, 0x0a, 0x06, - 0x04, 0x1a, 0x03, 0x00, 0x02, 0x06, 0x12, 0x04, 0x88, 0x03, 0x04, 0x1b, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x1a, 0x03, 0x00, 0x02, 0x06, 0x05, 0x12, 0x04, 0x88, 0x03, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x06, 0x01, 0x12, 0x04, 0x88, 0x03, 0x0b, 0x16, 0x0a, 0x0f, - 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x06, 0x03, 0x12, 0x04, 0x88, 0x03, 0x19, 0x1a, 0x0a, - 0x87, 0x01, 0x0a, 0x04, 0x04, 0x1a, 0x03, 0x01, 0x12, 0x06, 0x8d, 0x03, 0x02, 0x9a, 0x03, 0x03, - 0x1a, 0x77, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, - 0x6f, 0x72, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x20, 0x53, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x0a, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x73, - 0x2c, 0x20, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, - 0x73, 0x65, 0x73, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x20, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x03, - 0x01, 0x01, 0x12, 0x04, 0x8d, 0x03, 0x0a, 0x16, 0x0a, 0xa4, 0x01, 0x0a, 0x06, 0x04, 0x1a, 0x03, - 0x01, 0x08, 0x00, 0x12, 0x06, 0x90, 0x03, 0x04, 0x94, 0x03, 0x05, 0x1a, 0x91, 0x01, 0x20, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x3a, 0x20, 0x65, 0x69, - 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x20, 0x69, 0x64, 0x20, - 0x28, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x2f, 0x20, 0x64, 0x65, 0x65, 0x70, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x29, - 0x20, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x0a, 0x20, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, - 0x20, 0x66, 0x6c, 0x61, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x28, 0x73, 0x63, 0x72, - 0x6f, 0x6c, 0x6c, 0x2d, 0x64, 0x72, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x76, 0x69, 0x65, 0x77, 0x70, - 0x6f, 0x72, 0x74, 0x29, 0x2e, 0x20, 0x45, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6f, 0x6e, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x08, 0x00, 0x01, 0x12, 0x04, 0x90, 0x03, 0x0a, 0x17, - 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x08, 0x00, 0x02, 0x12, 0x04, 0x91, 0x03, 0x06, - 0x32, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1a, 0x03, 0x01, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, - 0x04, 0x91, 0x03, 0x06, 0x32, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x00, 0x12, - 0x04, 0x92, 0x03, 0x06, 0x22, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x00, 0x05, - 0x12, 0x04, 0x92, 0x03, 0x06, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x00, - 0x01, 0x12, 0x04, 0x92, 0x03, 0x0d, 0x1d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, - 0x00, 0x03, 0x12, 0x04, 0x92, 0x03, 0x20, 0x21, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x01, - 0x02, 0x01, 0x12, 0x04, 0x93, 0x03, 0x06, 0x23, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, - 0x02, 0x01, 0x05, 0x12, 0x04, 0x93, 0x03, 0x06, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, - 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0x93, 0x03, 0x0d, 0x1e, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, - 0x03, 0x01, 0x02, 0x01, 0x03, 0x12, 0x04, 0x93, 0x03, 0x21, 0x22, 0x0a, 0x0e, 0x0a, 0x06, 0x04, - 0x1a, 0x03, 0x01, 0x02, 0x02, 0x12, 0x04, 0x95, 0x03, 0x04, 0x43, 0x0a, 0x0f, 0x0a, 0x07, 0x04, - 0x1a, 0x03, 0x01, 0x02, 0x02, 0x05, 0x12, 0x04, 0x95, 0x03, 0x04, 0x09, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x1a, 0x03, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0x95, 0x03, 0x0a, 0x19, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x02, 0x03, 0x12, 0x04, 0x95, 0x03, 0x1c, 0x1d, 0x0a, 0x0f, - 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x02, 0x08, 0x12, 0x04, 0x95, 0x03, 0x1e, 0x42, 0x0a, - 0x13, 0x0a, 0x0b, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x02, 0x08, 0x87, 0x09, 0x03, 0x05, 0x12, 0x04, - 0x95, 0x03, 0x1f, 0x41, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x03, 0x12, 0x04, - 0x96, 0x03, 0x04, 0x42, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x03, 0x05, 0x12, - 0x04, 0x96, 0x03, 0x04, 0x09, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x03, 0x01, - 0x12, 0x04, 0x96, 0x03, 0x0a, 0x18, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x03, - 0x03, 0x12, 0x04, 0x96, 0x03, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, - 0x03, 0x08, 0x12, 0x04, 0x96, 0x03, 0x1d, 0x41, 0x0a, 0x13, 0x0a, 0x0b, 0x04, 0x1a, 0x03, 0x01, - 0x02, 0x03, 0x08, 0x87, 0x09, 0x03, 0x05, 0x12, 0x04, 0x96, 0x03, 0x1e, 0x40, 0x0a, 0x0e, 0x0a, - 0x06, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x04, 0x12, 0x04, 0x97, 0x03, 0x04, 0x38, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x04, 0x06, 0x12, 0x04, 0x97, 0x03, 0x04, 0x24, 0x0a, 0x0f, - 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x04, 0x01, 0x12, 0x04, 0x97, 0x03, 0x25, 0x33, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x04, 0x03, 0x12, 0x04, 0x97, 0x03, 0x36, 0x37, - 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x05, 0x12, 0x04, 0x98, 0x03, 0x04, 0x31, - 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x05, 0x04, 0x12, 0x04, 0x98, 0x03, 0x04, - 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x05, 0x06, 0x12, 0x04, 0x98, 0x03, - 0x0d, 0x1f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x05, 0x01, 0x12, 0x04, 0x98, - 0x03, 0x20, 0x2c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x05, 0x03, 0x12, 0x04, - 0x98, 0x03, 0x2f, 0x30, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x06, 0x12, 0x04, - 0x99, 0x03, 0x04, 0x1b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x06, 0x05, 0x12, - 0x04, 0x99, 0x03, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x06, 0x01, - 0x12, 0x04, 0x99, 0x03, 0x0b, 0x16, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x06, - 0x03, 0x12, 0x04, 0x99, 0x03, 0x19, 0x1a, 0x0a, 0xbf, 0x01, 0x0a, 0x02, 0x04, 0x1b, 0x12, 0x06, - 0xa0, 0x03, 0x00, 0xa3, 0x03, 0x01, 0x1a, 0xb0, 0x01, 0x20, 0x4e, 0x6f, 0x64, 0x65, 0x45, 0x78, - 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x20, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x73, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x0a, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x65, - 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x6f, 0x72, 0x20, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x3c, 0x3d, 0x20, - 0x30, 0x20, 0xe2, 0x86, 0x92, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x0a, 0x20, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3b, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x61, 0x6c, - 0x73, 0x6f, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x68, - 0x61, 0x72, 0x64, 0x20, 0x63, 0x61, 0x70, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1b, 0x01, - 0x12, 0x04, 0xa0, 0x03, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x00, 0x12, 0x04, - 0xa1, 0x03, 0x02, 0x38, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa1, - 0x03, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa1, 0x03, - 0x08, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa1, 0x03, 0x11, - 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa1, 0x03, 0x13, 0x37, - 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x00, 0x08, 0x87, 0x09, 0x03, 0x05, 0x12, 0x04, 0xa1, - 0x03, 0x14, 0x36, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x01, 0x12, 0x04, 0xa2, 0x03, 0x02, - 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa2, 0x03, 0x02, 0x07, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa2, 0x03, 0x08, 0x0d, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa2, 0x03, 0x10, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa2, 0x03, 0x12, 0x36, 0x0a, 0x11, 0x0a, - 0x09, 0x04, 0x1b, 0x02, 0x01, 0x08, 0x87, 0x09, 0x03, 0x05, 0x12, 0x04, 0xa2, 0x03, 0x13, 0x35, - 0x0a, 0x4b, 0x0a, 0x02, 0x04, 0x1c, 0x12, 0x06, 0xa6, 0x03, 0x00, 0xc9, 0x03, 0x01, 0x1a, 0x3d, - 0x20, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0xe2, 0x86, 0x92, 0x20, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, 0x63, 0x6b, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x1c, 0x01, 0x12, 0x04, 0xa6, 0x03, 0x08, 0x24, 0x0a, 0x7c, 0x0a, 0x04, 0x04, 0x1c, - 0x02, 0x00, 0x12, 0x04, 0xa9, 0x03, 0x02, 0x29, 0x1a, 0x6e, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x6f, - 0x77, 0x20, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x66, 0x6c, 0x61, 0x74, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0xe2, 0x80, 0x94, 0x20, - 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x72, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x6e, 0x6f, 0x77, 0x20, - 0x28, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0xc2, 0xb1, 0x20, 0x6f, 0x76, 0x65, - 0x72, 0x73, 0x63, 0x61, 0x6e, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, - 0x04, 0x12, 0x04, 0xa9, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x06, - 0x12, 0x04, 0xa9, 0x03, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xa9, 0x03, 0x18, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xa9, 0x03, 0x27, 0x28, 0x0a, 0x79, 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x01, 0x12, 0x04, 0xad, 0x03, - 0x02, 0x26, 0x1a, 0x6b, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0xe2, 0x86, 0x92, 0x20, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x27, 0x73, 0x20, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x20, 0x53, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x6e, 0x20, 0x65, 0x76, - 0x65, 0x72, 0x79, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x66, 0x6f, 0x72, - 0x0a, 0x20, 0x62, 0x72, 0x65, 0x61, 0x64, 0x63, 0x72, 0x75, 0x6d, 0x62, 0x20, 0x72, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x3b, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x20, - 0x62, 0x79, 0x20, 0x74, 0x72, 0x65, 0x65, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x04, 0x12, 0x04, 0xad, 0x03, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x06, 0x12, 0x04, 0xad, 0x03, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x1c, 0x02, 0x01, 0x01, 0x12, 0x04, 0xad, 0x03, 0x18, 0x21, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x1c, 0x02, 0x01, 0x03, 0x12, 0x04, 0xad, 0x03, 0x24, 0x25, 0x0a, 0x4c, 0x0a, 0x04, 0x04, - 0x1c, 0x02, 0x02, 0x12, 0x04, 0xb0, 0x03, 0x02, 0x1d, 0x1a, 0x3e, 0x20, 0x4c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x65, - 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x66, 0x6c, 0x61, 0x74, 0x20, 0x6c, 0x69, 0x73, - 0x74, 0x20, 0x28, 0x6e, 0x6f, 0x74, 0x20, 0x6a, 0x75, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, - 0x02, 0x05, 0x12, 0x04, 0xb0, 0x03, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x02, - 0x01, 0x12, 0x04, 0xb0, 0x03, 0x08, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x02, 0x03, - 0x12, 0x04, 0xb0, 0x03, 0x1b, 0x1c, 0x0a, 0x42, 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x03, 0x12, 0x04, - 0xb3, 0x03, 0x02, 0x20, 0x1a, 0x34, 0x20, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x6f, 0x66, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, - 0x5f, 0x69, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x6c, 0x61, 0x74, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, - 0x02, 0x03, 0x05, 0x12, 0x04, 0xb3, 0x03, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, - 0x03, 0x01, 0x12, 0x04, 0xb3, 0x03, 0x08, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x03, - 0x03, 0x12, 0x04, 0xb3, 0x03, 0x1e, 0x1f, 0x0a, 0xcf, 0x02, 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x04, - 0x12, 0x04, 0xba, 0x03, 0x02, 0x25, 0x1a, 0xc0, 0x02, 0x20, 0x54, 0x72, 0x75, 0x65, 0x20, 0x6f, - 0x6e, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x2d, 0x77, 0x69, 0x6e, 0x64, 0x6f, - 0x77, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x72, 0x65, 0x70, - 0x6c, 0x61, 0x63, 0x65, 0x20, 0x69, 0x74, 0x73, 0x0a, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x20, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2c, 0x20, 0x65, 0x76, 0x65, 0x72, 0x79, 0x20, 0x6d, 0x69, 0x64, - 0x2d, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x20, 0x44, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x63, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x0a, 0x20, 0x64, 0x65, 0x6c, 0x74, - 0x61, 0x20, 0x28, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x73, - 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x20, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x29, 0x2e, 0x20, 0x55, 0x73, 0x65, 0x20, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x2c, 0x0a, 0x20, 0x6e, - 0x6f, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2c, 0x20, 0x74, 0x6f, 0x20, 0x6b, 0x6e, 0x6f, 0x77, - 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x6c, 0x20, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, - 0x6c, 0x79, 0x20, 0x64, 0x6f, 0x6e, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, - 0x04, 0x05, 0x12, 0x04, 0xba, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x04, - 0x01, 0x12, 0x04, 0xba, 0x03, 0x07, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x04, 0x03, - 0x12, 0x04, 0xba, 0x03, 0x23, 0x24, 0x0a, 0x72, 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x05, 0x12, 0x04, - 0xbe, 0x03, 0x02, 0x2c, 0x1a, 0x64, 0x20, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x20, 0x74, 0x72, - 0x75, 0x6e, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x73, - 0x20, 0xe2, 0x80, 0x94, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x6e, 0x20, - 0x65, 0x76, 0x65, 0x72, 0x79, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x75, - 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x73, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, - 0x02, 0x05, 0x04, 0x12, 0x04, 0xbe, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, - 0x05, 0x06, 0x12, 0x04, 0xbe, 0x03, 0x0b, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x05, - 0x01, 0x12, 0x04, 0xbe, 0x03, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x05, 0x03, - 0x12, 0x04, 0xbe, 0x03, 0x2a, 0x2b, 0x0a, 0x94, 0x01, 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x06, 0x12, - 0x04, 0xc2, 0x03, 0x02, 0x17, 0x1a, 0x85, 0x01, 0x20, 0x54, 0x72, 0x75, 0x65, 0x20, 0x77, 0x68, - 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x68, 0x61, - 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x72, 0x6f, 0x70, 0x20, 0x61, 0x20, 0x74, 0x69, 0x63, 0x6b, - 0x20, 0x64, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x75, 0x72, 0x65, 0x3b, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x72, 0x65, 0x2d, 0x73, 0x65, 0x6e, 0x64, - 0x20, 0x69, 0x74, 0x73, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, - 0x77, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x20, 0x61, 0x20, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x1c, 0x02, 0x06, 0x05, 0x12, 0x04, 0xc2, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x1c, 0x02, 0x06, 0x01, 0x12, 0x04, 0xc2, 0x03, 0x07, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x1c, 0x02, 0x06, 0x03, 0x12, 0x04, 0xc2, 0x03, 0x15, 0x16, 0x0a, 0x8d, 0x02, 0x0a, 0x04, 0x04, - 0x1c, 0x02, 0x07, 0x12, 0x04, 0xc8, 0x03, 0x02, 0x1e, 0x1a, 0xfe, 0x01, 0x20, 0x54, 0x72, 0x75, - 0x65, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x27, 0x73, - 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x44, 0x42, 0x20, 0x68, 0x79, 0x64, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x61, 0x73, 0x20, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x65, 0x64, 0x20, 0x28, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x0a, 0x20, 0x6c, - 0x65, 0x66, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, 0x59, 0x44, 0x52, 0x41, 0x54, 0x49, 0x4e, - 0x47, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x29, 0x2e, 0x20, 0x4d, 0x69, 0x64, 0x2d, 0x68, 0x79, - 0x64, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x73, 0x20, 0x63, 0x61, 0x72, 0x72, 0x79, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, - 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x6c, - 0x6c, 0x20, 0x70, 0x6f, 0x73, 0x74, 0x2d, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x20, 0x63, 0x61, 0x72, 0x72, 0x79, 0x20, 0x74, 0x72, 0x75, - 0x65, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x61, 0x6c, 0x20, 0x22, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x70, 0x61, 0x69, 0x6e, - 0x74, 0x20, 0x2f, 0x20, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x6f, 0x6e, 0x65, - 0x22, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, - 0x02, 0x07, 0x05, 0x12, 0x04, 0xc8, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, - 0x07, 0x01, 0x12, 0x04, 0xc8, 0x03, 0x07, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x07, - 0x03, 0x12, 0x04, 0xc8, 0x03, 0x1c, 0x1d, 0x0a, 0x7c, 0x0a, 0x02, 0x04, 0x1d, 0x12, 0x06, 0xcd, - 0x03, 0x00, 0xd4, 0x03, 0x01, 0x1a, 0x6e, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, - 0x49, 0x74, 0x65, 0x6d, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x73, 0x6c, 0x6f, 0x74, - 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, - 0x20, 0x66, 0x6c, 0x61, 0x74, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x65, - 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, 0x0a, 0x20, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x73, 0x79, 0x6e, - 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x66, 0x6f, 0x6c, - 0x64, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1d, 0x01, 0x12, 0x04, 0xcd, 0x03, - 0x08, 0x14, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x1d, 0x08, 0x00, 0x12, 0x06, 0xce, 0x03, 0x02, 0xd1, - 0x03, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x08, 0x00, 0x01, 0x12, 0x04, 0xce, 0x03, 0x08, - 0x0c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x00, 0x12, 0x04, 0xcf, 0x03, 0x04, 0x1e, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x06, 0x12, 0x04, 0xcf, 0x03, 0x04, 0x12, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcf, 0x03, 0x13, 0x19, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x1d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcf, 0x03, 0x1c, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x1d, 0x02, 0x01, 0x12, 0x04, 0xd0, 0x03, 0x04, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, - 0x02, 0x01, 0x06, 0x12, 0x04, 0xd0, 0x03, 0x04, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, - 0x01, 0x01, 0x12, 0x04, 0xd0, 0x03, 0x0e, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x01, - 0x03, 0x12, 0x04, 0xd0, 0x03, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x02, 0x12, - 0x04, 0xd2, 0x03, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x02, 0x05, 0x12, 0x04, - 0xd2, 0x03, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x02, 0x01, 0x12, 0x04, 0xd2, - 0x03, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x02, 0x03, 0x12, 0x04, 0xd2, 0x03, - 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x03, 0x12, 0x04, 0xd3, 0x03, 0x02, 0x17, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x03, 0x05, 0x12, 0x04, 0xd3, 0x03, 0x02, 0x06, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd3, 0x03, 0x07, 0x12, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x03, 0x03, 0x12, 0x04, 0xd3, 0x03, 0x15, 0x16, 0x0a, 0x4a, 0x0a, - 0x02, 0x04, 0x1e, 0x12, 0x06, 0xd7, 0x03, 0x00, 0xe5, 0x03, 0x01, 0x1a, 0x3c, 0x20, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x61, 0x66, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x70, - 0x2d, 0x33, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1e, 0x01, - 0x12, 0x04, 0xd7, 0x03, 0x08, 0x12, 0x0a, 0x50, 0x0a, 0x04, 0x04, 0x1e, 0x02, 0x00, 0x12, 0x04, - 0xd9, 0x03, 0x02, 0x17, 0x1a, 0x42, 0x20, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3b, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x75, 0x6e, - 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x27, 0x73, 0x20, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x00, - 0x05, 0x12, 0x04, 0xd9, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xd9, 0x03, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xd9, 0x03, 0x15, 0x16, 0x0a, 0x40, 0x0a, 0x04, 0x04, 0x1e, 0x02, 0x01, 0x12, 0x04, 0xdb, - 0x03, 0x02, 0x18, 0x1a, 0x32, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x73, 0x20, 0x74, 0x61, 0x73, 0x6b, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x01, 0x05, - 0x12, 0x04, 0xdb, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xdb, 0x03, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x01, 0x03, 0x12, 0x04, - 0xdb, 0x03, 0x16, 0x17, 0x0a, 0x8c, 0x01, 0x0a, 0x04, 0x04, 0x1e, 0x02, 0x02, 0x12, 0x04, 0xde, - 0x03, 0x02, 0x28, 0x1a, 0x7e, 0x20, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x20, 0xe2, 0x80, 0x94, 0x20, - 0x77, 0x61, 0x6c, 0x6c, 0x2d, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x73, 0x65, 0x74, 0x75, 0x70, - 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, - 0x6f, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x6c, 0x65, 0x61, 0x66, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x20, 0x69, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x02, 0x06, 0x12, 0x04, 0xde, 0x03, - 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x02, 0x01, 0x12, 0x04, 0xde, 0x03, 0x1b, - 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x02, 0x03, 0x12, 0x04, 0xde, 0x03, 0x26, 0x27, - 0x0a, 0x93, 0x01, 0x0a, 0x04, 0x04, 0x1e, 0x02, 0x03, 0x12, 0x04, 0xe1, 0x03, 0x02, 0x1f, 0x1a, - 0x84, 0x01, 0x20, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x73, 0x20, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x63, 0x6f, - 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x20, 0x2f, 0x20, 0x6f, 0x75, 0x74, 0x2d, 0x6f, 0x66, - 0x2d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x72, 0x6f, 0x77, 0x73, 0x20, 0x63, 0x61, 0x6e, - 0x20, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x0a, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, - 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x6c, 0x6c, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x68, 0x79, - 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x03, 0x06, 0x12, - 0x04, 0xe1, 0x03, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x03, 0x01, 0x12, 0x04, - 0xe1, 0x03, 0x15, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x03, 0x03, 0x12, 0x04, 0xe1, - 0x03, 0x1d, 0x1e, 0x0a, 0x90, 0x01, 0x0a, 0x04, 0x04, 0x1e, 0x02, 0x04, 0x12, 0x04, 0xe4, 0x03, - 0x02, 0x2b, 0x1a, 0x81, 0x01, 0x20, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x73, 0x20, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x28, 0x6d, 0x69, 0x72, 0x72, 0x6f, - 0x72, 0x73, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x29, 0x2c, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x0a, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x2d, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x20, 0x6f, 0x6e, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x20, - 0x2f, 0x20, 0x6f, 0x75, 0x74, 0x2d, 0x6f, 0x66, 0x2d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, - 0x72, 0x6f, 0x77, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x04, 0x06, 0x12, - 0x04, 0xe4, 0x03, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x04, 0x01, 0x12, 0x04, - 0xe4, 0x03, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x04, 0x03, 0x12, 0x04, 0xe4, - 0x03, 0x29, 0x2a, 0x0a, 0xd6, 0x01, 0x0a, 0x02, 0x04, 0x1f, 0x12, 0x06, 0xea, 0x03, 0x00, 0xf3, - 0x03, 0x01, 0x1a, 0xc7, 0x01, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x72, 0x20, 0x74, 0x6f, 0x70, 0x2d, 0x33, 0x20, 0x6f, - 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x61, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x0a, 0x20, 0x45, 0x61, 0x63, 0x68, 0x20, - 0x6c, 0x69, 0x73, 0x74, 0x20, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, - 0x68, 0x72, 0x65, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x28, 0x64, 0x65, 0x65, 0x70, 0x20, 0x72, 0x6f, - 0x6c, 0x6c, 0x75, 0x70, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x27, 0x73, 0x20, 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x20, 0x73, 0x75, 0x62, - 0x74, 0x72, 0x65, 0x65, 0x29, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, - 0x61, 0x72, 0x67, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2c, 0x20, 0x73, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x44, 0x45, 0x53, 0x43, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x1f, 0x01, 0x12, 0x04, 0xea, 0x03, 0x08, 0x19, 0x0a, 0x48, 0x0a, 0x04, 0x04, 0x1f, 0x02, - 0x00, 0x12, 0x04, 0xec, 0x03, 0x02, 0x21, 0x1a, 0x3a, 0x20, 0x44, 0x65, 0x73, 0x63, 0x65, 0x6e, - 0x64, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, - 0x6c, 0x20, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2c, 0x20, - 0x62, 0x79, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x00, 0x04, 0x12, 0x04, 0xec, 0x03, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x00, 0x06, 0x12, 0x04, 0xec, 0x03, 0x0b, - 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xec, 0x03, 0x16, 0x1c, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xec, 0x03, 0x1f, 0x20, 0x0a, - 0x41, 0x0a, 0x04, 0x04, 0x1f, 0x02, 0x01, 0x12, 0x04, 0xee, 0x03, 0x02, 0x2b, 0x1a, 0x33, 0x20, - 0x42, 0x79, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x77, 0x61, 0x6c, 0x6c, 0x2d, 0x63, 0x6c, - 0x6f, 0x63, 0x6b, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0xe2, 0x86, 0x92, 0x20, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x29, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x04, 0x12, 0x04, 0xee, 0x03, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x06, 0x12, 0x04, 0xee, 0x03, 0x0b, 0x15, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x01, 0x12, 0x04, 0xee, 0x03, 0x16, 0x26, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x03, 0x12, 0x04, 0xee, 0x03, 0x29, 0x2a, 0x0a, 0x2f, - 0x0a, 0x04, 0x04, 0x1f, 0x02, 0x02, 0x12, 0x04, 0xf0, 0x03, 0x02, 0x2a, 0x1a, 0x21, 0x20, 0x42, - 0x79, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x20, - 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x02, 0x04, 0x12, 0x04, 0xf0, 0x03, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x02, 0x06, 0x12, 0x04, 0xf0, 0x03, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x1f, 0x02, 0x02, 0x01, 0x12, 0x04, 0xf0, 0x03, 0x16, 0x25, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x1f, 0x02, 0x02, 0x03, 0x12, 0x04, 0xf0, 0x03, 0x28, 0x29, 0x0a, 0x44, 0x0a, 0x04, 0x04, - 0x1f, 0x02, 0x03, 0x12, 0x04, 0xf2, 0x03, 0x02, 0x28, 0x1a, 0x36, 0x20, 0x42, 0x79, 0x20, 0x73, - 0x65, 0x74, 0x75, 0x70, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x3d, 0x20, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0xe2, 0x88, 0x92, 0x20, 0x72, - 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x03, 0x04, 0x12, 0x04, 0xf2, 0x03, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x03, 0x06, 0x12, 0x04, 0xf2, 0x03, 0x0b, 0x15, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x03, 0x01, 0x12, 0x04, 0xf2, 0x03, 0x16, 0x23, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x03, 0x03, 0x12, 0x04, 0xf2, 0x03, 0x26, 0x27, 0x0a, 0xb5, 0x01, - 0x0a, 0x02, 0x04, 0x20, 0x12, 0x06, 0xf8, 0x03, 0x00, 0x8b, 0x04, 0x01, 0x1a, 0xa6, 0x01, 0x20, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x2c, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x29, 0x20, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x0a, 0x20, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x65, 0x6d, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x67, 0x75, 0x6f, 0x75, - 0x73, 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x6f, 0x66, 0x0a, 0x20, 0x73, 0x69, 0x62, 0x6c, - 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x73, 0x68, 0x61, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x20, 0x01, 0x12, 0x04, 0xf8, 0x03, - 0x08, 0x11, 0x0a, 0x4c, 0x0a, 0x04, 0x04, 0x20, 0x02, 0x00, 0x12, 0x04, 0xfa, 0x03, 0x02, 0x10, - 0x1a, 0x3e, 0x20, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x6b, 0x65, 0x79, - 0x20, 0xe2, 0x80, 0x94, 0x20, 0x22, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x3a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3a, - 0x3a, 0x7b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x22, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x00, 0x05, 0x12, 0x04, 0xfa, 0x03, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfa, 0x03, 0x09, 0x0b, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x20, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfa, 0x03, 0x0e, 0x0f, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x20, 0x02, 0x01, 0x12, 0x04, 0xfb, 0x03, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x20, 0x02, 0x01, 0x05, 0x12, 0x04, 0xfb, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xfb, 0x03, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xfb, 0x03, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x20, 0x02, 0x02, - 0x12, 0x04, 0xfc, 0x03, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x02, 0x05, 0x12, - 0x04, 0xfc, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x02, 0x01, 0x12, 0x04, - 0xfc, 0x03, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x02, 0x03, 0x12, 0x04, 0xfc, - 0x03, 0x15, 0x16, 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x20, 0x02, 0x03, 0x12, 0x04, 0xff, 0x03, 0x02, - 0x2b, 0x1a, 0x39, 0x20, 0x50, 0x65, 0x72, 0x2d, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x28, 0x6b, 0x65, 0x79, - 0x20, 0x3d, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x20, 0x65, - 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x20, 0x02, 0x03, 0x06, 0x12, 0x04, 0xff, 0x03, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x20, 0x02, 0x03, 0x01, 0x12, 0x04, 0xff, 0x03, 0x14, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, - 0x02, 0x03, 0x03, 0x12, 0x04, 0xff, 0x03, 0x29, 0x2a, 0x0a, 0x51, 0x0a, 0x04, 0x04, 0x20, 0x02, - 0x04, 0x12, 0x04, 0x82, 0x04, 0x02, 0x34, 0x1a, 0x43, 0x20, 0x45, 0x61, 0x72, 0x6c, 0x69, 0x65, - 0x73, 0x74, 0x20, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x20, 0x61, 0x63, 0x72, - 0x6f, 0x73, 0x73, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x3b, 0x20, 0x75, 0x6e, 0x73, - 0x65, 0x74, 0x20, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x20, 0x02, 0x04, 0x06, 0x12, 0x04, 0x82, 0x04, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x20, 0x02, 0x04, 0x01, 0x12, 0x04, 0x82, 0x04, 0x1c, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, - 0x02, 0x04, 0x03, 0x12, 0x04, 0x82, 0x04, 0x32, 0x33, 0x0a, 0x58, 0x0a, 0x04, 0x04, 0x20, 0x02, - 0x05, 0x12, 0x04, 0x85, 0x04, 0x02, 0x30, 0x1a, 0x4a, 0x20, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, - 0x20, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x41, 0x74, 0x20, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x20, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x3b, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x20, 0x77, - 0x68, 0x69, 0x6c, 0x65, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, - 0x69, 0x73, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x0a, 0x20, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, - 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x05, 0x06, 0x12, 0x04, 0x85, 0x04, - 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x05, 0x01, 0x12, 0x04, 0x85, 0x04, 0x1c, - 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x05, 0x03, 0x12, 0x04, 0x85, 0x04, 0x2e, 0x2f, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x20, 0x02, 0x06, 0x12, 0x04, 0x87, 0x04, 0x02, 0x1b, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x20, 0x02, 0x06, 0x05, 0x12, 0x04, 0x87, 0x04, 0x02, 0x07, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x20, 0x02, 0x06, 0x01, 0x12, 0x04, 0x87, 0x04, 0x08, 0x16, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x20, 0x02, 0x06, 0x03, 0x12, 0x04, 0x87, 0x04, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x20, 0x02, 0x07, 0x12, 0x04, 0x88, 0x04, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, - 0x07, 0x05, 0x12, 0x04, 0x88, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x07, - 0x01, 0x12, 0x04, 0x88, 0x04, 0x07, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x07, 0x03, - 0x12, 0x04, 0x88, 0x04, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x20, 0x02, 0x08, 0x12, 0x04, - 0x8a, 0x04, 0x02, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x08, 0x06, 0x12, 0x04, 0x8a, - 0x04, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x08, 0x01, 0x12, 0x04, 0x8a, 0x04, - 0x14, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x08, 0x03, 0x12, 0x04, 0x8a, 0x04, 0x23, - 0x24, 0x0a, 0xd8, 0x01, 0x0a, 0x02, 0x04, 0x21, 0x12, 0x06, 0x90, 0x04, 0x00, 0x9e, 0x04, 0x01, - 0x1a, 0xc9, 0x01, 0x20, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, - 0x74, 0x69, 0x63, 0x65, 0x20, 0x74, 0x65, 0x6c, 0x6c, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x0a, 0x20, 0x64, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, - 0x68, 0x61, 0x72, 0x64, 0x20, 0x63, 0x61, 0x70, 0x2e, 0x20, 0x53, 0x65, 0x6e, 0x74, 0x20, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x79, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x20, 0x6b, 0x65, 0x65, 0x70, 0x73, 0x20, 0x72, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x20, - 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x20, 0x69, 0x73, - 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, 0x61, - 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x21, 0x01, 0x12, 0x04, 0x90, 0x04, 0x08, 0x18, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x21, 0x04, - 0x00, 0x12, 0x06, 0x91, 0x04, 0x02, 0x99, 0x04, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x04, - 0x00, 0x01, 0x12, 0x04, 0x91, 0x04, 0x07, 0x0d, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x21, 0x04, 0x00, - 0x02, 0x00, 0x12, 0x04, 0x92, 0x04, 0x04, 0x1b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x21, 0x04, 0x00, - 0x02, 0x00, 0x01, 0x12, 0x04, 0x92, 0x04, 0x04, 0x16, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x21, 0x04, - 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, 0x92, 0x04, 0x19, 0x1a, 0x0a, 0x5a, 0x0a, 0x06, 0x04, 0x21, - 0x04, 0x00, 0x02, 0x01, 0x12, 0x04, 0x94, 0x04, 0x04, 0x1e, 0x1a, 0x4a, 0x20, 0x4d, 0x61, 0x78, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x20, 0x68, 0x69, - 0x74, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x68, 0x61, - 0x73, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x72, - 0x61, 0x63, 0x6b, 0x73, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x21, 0x04, 0x00, 0x02, 0x01, - 0x01, 0x12, 0x04, 0x94, 0x04, 0x04, 0x19, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x21, 0x04, 0x00, 0x02, - 0x01, 0x02, 0x12, 0x04, 0x94, 0x04, 0x1c, 0x1d, 0x0a, 0x62, 0x0a, 0x06, 0x04, 0x21, 0x04, 0x00, - 0x02, 0x02, 0x12, 0x04, 0x96, 0x04, 0x04, 0x22, 0x1a, 0x52, 0x20, 0x4d, 0x61, 0x78, 0x43, 0x68, - 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, - 0x68, 0x69, 0x74, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, - 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x68, 0x61, 0x73, 0x20, - 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x21, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0x96, 0x04, 0x04, 0x1d, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x21, 0x04, 0x00, 0x02, 0x02, 0x02, 0x12, 0x04, 0x96, 0x04, 0x20, 0x21, 0x0a, 0x46, - 0x0a, 0x06, 0x04, 0x21, 0x04, 0x00, 0x02, 0x03, 0x12, 0x04, 0x98, 0x04, 0x04, 0x19, 0x1a, 0x36, - 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x65, 0x6e, 0x74, 0x3b, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20, 0x68, - 0x79, 0x64, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x44, 0x42, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x21, 0x04, 0x00, 0x02, 0x03, - 0x01, 0x12, 0x04, 0x98, 0x04, 0x04, 0x14, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x21, 0x04, 0x00, 0x02, - 0x03, 0x02, 0x12, 0x04, 0x98, 0x04, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x21, 0x02, 0x00, - 0x12, 0x04, 0x9a, 0x04, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, 0x06, 0x12, - 0x04, 0x9a, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, 0x01, 0x12, 0x04, - 0x9a, 0x04, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9a, - 0x04, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x21, 0x02, 0x01, 0x12, 0x04, 0x9b, 0x04, 0x02, - 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x01, 0x05, 0x12, 0x04, 0x9b, 0x04, 0x02, 0x07, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x01, 0x01, 0x12, 0x04, 0x9b, 0x04, 0x08, 0x1c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x01, 0x03, 0x12, 0x04, 0x9b, 0x04, 0x1f, 0x20, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x21, 0x02, 0x02, 0x12, 0x04, 0x9c, 0x04, 0x02, 0x25, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x21, 0x02, 0x02, 0x05, 0x12, 0x04, 0x9c, 0x04, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x21, 0x02, 0x02, 0x01, 0x12, 0x04, 0x9c, 0x04, 0x08, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, - 0x02, 0x02, 0x03, 0x12, 0x04, 0x9c, 0x04, 0x23, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x21, 0x02, - 0x03, 0x12, 0x04, 0x9d, 0x04, 0x02, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x03, 0x05, - 0x12, 0x04, 0x9d, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x03, 0x01, 0x12, - 0x04, 0x9d, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x03, 0x03, 0x12, 0x04, - 0x9d, 0x04, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x22, 0x12, 0x06, 0xa0, 0x04, 0x00, 0xa4, - 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x22, 0x01, 0x12, 0x04, 0xa0, 0x04, 0x08, 0x21, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x22, 0x02, 0x00, 0x12, 0x04, 0xa1, 0x04, 0x02, 0x48, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x22, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa1, 0x04, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x22, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa1, 0x04, 0x1a, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x22, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa1, 0x04, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x22, - 0x02, 0x00, 0x08, 0x12, 0x04, 0xa1, 0x04, 0x21, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x22, 0x02, - 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xa1, 0x04, 0x22, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x22, 0x02, 0x01, 0x12, 0x04, 0xa3, 0x04, 0x02, 0x3a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x22, 0x02, - 0x01, 0x05, 0x12, 0x04, 0xa3, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x22, 0x02, 0x01, - 0x01, 0x12, 0x04, 0xa3, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x22, 0x02, 0x01, 0x03, - 0x12, 0x04, 0xa3, 0x04, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x22, 0x02, 0x01, 0x08, 0x12, - 0x04, 0xa3, 0x04, 0x15, 0x39, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x22, 0x02, 0x01, 0x08, 0x87, 0x09, - 0x05, 0x04, 0x12, 0x04, 0xa3, 0x04, 0x16, 0x38, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x23, 0x12, 0x06, - 0xa6, 0x04, 0x00, 0xa8, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x23, 0x01, 0x12, 0x04, 0xa6, - 0x04, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x23, 0x02, 0x00, 0x12, 0x04, 0xa7, 0x04, 0x02, - 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x04, 0x12, 0x04, 0xa7, 0x04, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa7, 0x04, 0x0b, 0x17, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa7, 0x04, 0x18, 0x26, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa7, 0x04, 0x29, 0x2a, 0x0a, 0x0c, 0x0a, - 0x02, 0x04, 0x24, 0x12, 0x06, 0xaa, 0x04, 0x00, 0xb0, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x24, 0x01, 0x12, 0x04, 0xaa, 0x04, 0x08, 0x1a, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x24, 0x02, 0x00, - 0x12, 0x04, 0xac, 0x04, 0x02, 0x4f, 0x1a, 0x12, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x74, 0x6f, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, - 0x02, 0x00, 0x06, 0x12, 0x04, 0xac, 0x04, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xac, 0x04, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xac, 0x04, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, 0x00, 0x08, - 0x12, 0x04, 0xac, 0x04, 0x28, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x24, 0x02, 0x00, 0x08, 0x87, - 0x09, 0x19, 0x12, 0x04, 0xac, 0x04, 0x29, 0x4d, 0x0a, 0x38, 0x0a, 0x04, 0x04, 0x24, 0x02, 0x01, - 0x12, 0x04, 0xaf, 0x04, 0x02, 0x14, 0x1a, 0x2a, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x20, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, - 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, 0x01, 0x05, 0x12, 0x04, 0xaf, 0x04, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, 0x01, 0x01, 0x12, 0x04, 0xaf, 0x04, 0x09, 0x0f, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, 0x01, 0x03, 0x12, 0x04, 0xaf, 0x04, 0x12, 0x13, 0x0a, - 0x0a, 0x0a, 0x02, 0x04, 0x25, 0x12, 0x04, 0xb2, 0x04, 0x00, 0x1e, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x25, 0x01, 0x12, 0x04, 0xb2, 0x04, 0x08, 0x1b, 0x0a, 0xa8, 0x02, 0x0a, 0x02, 0x04, 0x26, 0x12, - 0x06, 0xb8, 0x04, 0x00, 0xc0, 0x04, 0x01, 0x1a, 0x99, 0x02, 0x20, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x0a, 0x20, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x66, 0x61, 0x63, 0x69, 0x6e, 0x67, - 0x20, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x20, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0xe2, 0x80, 0x94, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x73, 0x20, 0x69, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x61, - 0x0a, 0x20, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x62, - 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, - 0x20, 0x74, 0x6f, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x45, 0x78, 0x61, 0x63, 0x74, - 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x0a, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x27, 0x73, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x26, 0x01, 0x12, 0x04, 0xb8, 0x04, 0x08, 0x14, - 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x26, 0x08, 0x00, 0x12, 0x06, 0xb9, 0x04, 0x02, 0xbf, 0x04, 0x03, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x08, 0x00, 0x01, 0x12, 0x04, 0xb9, 0x04, 0x08, 0x0d, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x08, 0x00, 0x02, 0x12, 0x04, 0xba, 0x04, 0x04, 0x30, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x26, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0xba, 0x04, 0x04, 0x30, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x26, 0x02, 0x00, 0x12, 0x04, 0xbb, 0x04, 0x04, 0x18, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x05, 0x12, 0x04, 0xbb, 0x04, 0x04, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x26, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbb, 0x04, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x26, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbb, 0x04, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x26, 0x02, 0x01, 0x12, 0x04, 0xbc, 0x04, 0x04, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, - 0x01, 0x05, 0x12, 0x04, 0xbc, 0x04, 0x04, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x01, - 0x01, 0x12, 0x04, 0xbc, 0x04, 0x0a, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x01, 0x03, - 0x12, 0x04, 0xbc, 0x04, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x26, 0x02, 0x02, 0x12, 0x04, - 0xbd, 0x04, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x02, 0x05, 0x12, 0x04, 0xbd, - 0x04, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x02, 0x01, 0x12, 0x04, 0xbd, 0x04, - 0x0b, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x02, 0x03, 0x12, 0x04, 0xbd, 0x04, 0x19, - 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x26, 0x02, 0x03, 0x12, 0x04, 0xbe, 0x04, 0x04, 0x1c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x03, 0x05, 0x12, 0x04, 0xbe, 0x04, 0x04, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x26, 0x02, 0x03, 0x01, 0x12, 0x04, 0xbe, 0x04, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x26, 0x02, 0x03, 0x03, 0x12, 0x04, 0xbe, 0x04, 0x1a, 0x1b, 0x0a, 0x4f, 0x0a, 0x02, - 0x04, 0x27, 0x12, 0x06, 0xc3, 0x04, 0x00, 0xce, 0x04, 0x01, 0x1a, 0x41, 0x20, 0x52, 0x65, 0x71, + 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x15, 0x02, 0x00, 0x04, 0x12, 0x04, 0xbe, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x15, 0x02, 0x00, 0x06, 0x12, 0x04, 0xbe, 0x02, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xbe, 0x02, 0x0f, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xbe, 0x02, 0x16, 0x17, 0x0a, 0x34, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, + 0xc2, 0x02, 0x00, 0xc8, 0x02, 0x01, 0x1a, 0x26, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x16, 0x01, 0x12, 0x04, 0xc2, 0x02, 0x08, 0x1a, 0x0a, 0x2f, 0x0a, 0x04, 0x04, + 0x16, 0x02, 0x00, 0x12, 0x04, 0xc4, 0x02, 0x02, 0x21, 0x1a, 0x21, 0x20, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x16, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc4, 0x02, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x16, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc4, 0x02, 0x15, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, + 0x02, 0x00, 0x03, 0x12, 0x04, 0xc4, 0x02, 0x1f, 0x20, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x16, 0x02, + 0x01, 0x12, 0x04, 0xc7, 0x02, 0x02, 0x49, 0x1a, 0x27, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc7, 0x02, 0x02, 0x16, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc7, 0x02, 0x17, 0x1d, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc7, 0x02, 0x20, 0x21, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x16, 0x02, 0x01, 0x08, 0x12, 0x04, 0xc7, 0x02, 0x22, 0x48, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x16, 0x02, 0x01, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xc7, 0x02, 0x23, 0x47, 0x0a, 0x35, + 0x0a, 0x02, 0x04, 0x17, 0x12, 0x06, 0xcb, 0x02, 0x00, 0xd4, 0x02, 0x01, 0x1a, 0x27, 0x20, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x17, 0x01, 0x12, 0x04, 0xcb, 0x02, + 0x08, 0x1b, 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x00, 0x12, 0x04, 0xcd, 0x02, 0x02, 0x1e, + 0x1a, 0x2f, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x04, 0x12, 0x04, 0xcd, 0x02, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x06, 0x12, 0x04, 0xcd, 0x02, 0x0b, 0x11, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcd, 0x02, 0x12, 0x19, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcd, 0x02, 0x1c, 0x1d, 0x0a, 0x44, 0x0a, + 0x04, 0x04, 0x17, 0x02, 0x01, 0x12, 0x04, 0xd0, 0x02, 0x02, 0x13, 0x1a, 0x36, 0x20, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x78, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x6e, + 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x05, 0x12, 0x04, 0xd0, 0x02, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd0, 0x02, 0x09, + 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd0, 0x02, 0x11, 0x12, + 0x0a, 0x35, 0x0a, 0x02, 0x04, 0x18, 0x12, 0x06, 0xd7, 0x02, 0x00, 0xe4, 0x02, 0x01, 0x1a, 0x27, + 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x18, 0x01, 0x12, 0x04, + 0xd7, 0x02, 0x08, 0x1b, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x00, 0x12, 0x04, 0xd9, 0x02, + 0x02, 0x49, 0x1a, 0x27, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x18, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd9, 0x02, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xd9, 0x02, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xd9, 0x02, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, + 0x08, 0x12, 0x04, 0xd9, 0x02, 0x22, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x00, 0x08, + 0x87, 0x09, 0x19, 0x12, 0x04, 0xd9, 0x02, 0x23, 0x47, 0x0a, 0x83, 0x03, 0x0a, 0x04, 0x04, 0x18, + 0x02, 0x01, 0x12, 0x04, 0xdf, 0x02, 0x02, 0x24, 0x1a, 0xf4, 0x02, 0x20, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x28, 0x73, 0x29, 0x20, 0x63, + 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x3a, 0x0a, 0x20, 0x2d, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x28, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x75, 0x73, 0x65, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x43, 0x4f, + 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x5f, 0x49, 0x4e, 0x53, 0x45, + 0x4e, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x29, 0x3a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x77, 0x68, 0x61, 0x74, 0x65, 0x76, 0x65, 0x72, 0x20, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, + 0x74, 0x6f, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x63, 0x61, + 0x73, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x0a, 0x20, 0x2d, 0x20, 0x50, 0x48, 0x41, 0x53, 0x45, 0x20, + 0x28, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x75, 0x73, 0x65, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x49, 0x4e, 0x29, 0x3a, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, + 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x79, 0x6f, 0x75, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x70, 0x61, 0x73, 0x73, 0x20, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x73, 0x20, 0x28, 0x69, 0x2e, + 0x65, 0x2e, 0x20, 0x5b, 0x22, 0x31, 0x22, 0x2c, 0x20, 0x22, 0x34, 0x22, 0x5d, 0x29, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x04, 0x12, 0x04, 0xdf, 0x02, 0x02, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x06, 0x12, 0x04, 0xdf, 0x02, 0x0b, 0x18, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x18, 0x02, 0x01, 0x01, 0x12, 0x04, 0xdf, 0x02, 0x19, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x18, 0x02, 0x01, 0x03, 0x12, 0x04, 0xdf, 0x02, 0x22, 0x23, 0x0a, 0xa4, 0x01, 0x0a, 0x04, + 0x04, 0x18, 0x02, 0x02, 0x12, 0x04, 0xe3, 0x02, 0x02, 0x1c, 0x1a, 0x95, 0x01, 0x20, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x77, 0x65, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x41, 0x50, 0x49, 0x0a, 0x20, 0x54, + 0x4f, 0x44, 0x4f, 0x28, 0x61, 0x6c, 0x65, 0x78, 0x29, 0x3a, 0x20, 0x57, 0x65, 0x20, 0x63, 0x61, + 0x6e, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x6e, + 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x6c, 0x79, 0x20, + 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x02, 0x05, 0x12, 0x04, 0xe3, 0x02, 0x02, + 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe3, 0x02, 0x07, 0x17, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x02, 0x03, 0x12, 0x04, 0xe3, 0x02, 0x1a, 0x1b, 0x0a, + 0x5b, 0x0a, 0x02, 0x04, 0x19, 0x12, 0x06, 0xe7, 0x02, 0x00, 0xea, 0x02, 0x01, 0x1a, 0x4d, 0x20, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x20, 0x65, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x19, 0x01, 0x12, 0x04, 0xe7, 0x02, 0x08, 0x1c, 0x0a, 0x69, 0x0a, 0x04, 0x04, 0x19, 0x02, + 0x00, 0x12, 0x04, 0xe9, 0x02, 0x02, 0x2f, 0x1a, 0x5b, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x6f, 0x72, + 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x20, 0x45, + 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x04, 0x12, 0x04, 0xe9, + 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x06, 0x12, 0x04, 0xe9, 0x02, + 0x0b, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe9, 0x02, 0x1a, + 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe9, 0x02, 0x2d, 0x2e, + 0x0a, 0xb2, 0x01, 0x0a, 0x02, 0x04, 0x1a, 0x12, 0x06, 0xef, 0x02, 0x00, 0x9b, 0x03, 0x01, 0x1a, + 0xa3, 0x01, 0x20, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, + 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0xe2, 0x86, 0x92, + 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x62, 0x69, 0x64, 0x69, 0x20, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x3b, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x20, 0x6d, + 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1a, 0x01, 0x12, 0x04, 0xef, 0x02, + 0x08, 0x23, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x1a, 0x08, 0x00, 0x12, 0x06, 0xf0, 0x02, 0x02, 0xf3, + 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x08, 0x00, 0x01, 0x12, 0x04, 0xf0, 0x02, 0x08, + 0x0b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1a, 0x02, 0x00, 0x12, 0x04, 0xf1, 0x02, 0x04, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf1, 0x02, 0x04, 0x0d, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf1, 0x02, 0x0e, 0x17, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x1a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf1, 0x02, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x1a, 0x02, 0x01, 0x12, 0x04, 0xf2, 0x02, 0x04, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, + 0x02, 0x01, 0x06, 0x12, 0x04, 0xf2, 0x02, 0x04, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, + 0x01, 0x01, 0x12, 0x04, 0xf2, 0x02, 0x11, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, + 0x03, 0x12, 0x04, 0xf2, 0x02, 0x21, 0x22, 0x0a, 0x6a, 0x0a, 0x04, 0x04, 0x1a, 0x03, 0x00, 0x12, + 0x06, 0xf7, 0x02, 0x02, 0x89, 0x03, 0x03, 0x1a, 0x5a, 0x20, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x20, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x53, 0x65, 0x6e, 0x74, + 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x61, 0x73, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x03, 0x00, 0x01, 0x12, 0x04, 0xf7, 0x02, + 0x0a, 0x13, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, 0xf8, 0x02, + 0x04, 0x4b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf8, + 0x02, 0x04, 0x18, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, + 0xf8, 0x02, 0x19, 0x1f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xf8, 0x02, 0x22, 0x23, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x00, 0x08, + 0x12, 0x04, 0xf8, 0x02, 0x24, 0x4a, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x00, + 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xf8, 0x02, 0x25, 0x49, 0x0a, 0x74, 0x0a, 0x06, 0x04, 0x1a, + 0x03, 0x00, 0x02, 0x01, 0x12, 0x04, 0xfc, 0x02, 0x04, 0x20, 0x1a, 0x64, 0x20, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, + 0x66, 0x6f, 0x63, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, + 0x49, 0x3b, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, + 0x77, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x0a, + 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x01, 0x05, 0x12, 0x04, 0xfc, 0x02, 0x04, + 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfc, 0x02, + 0x0b, 0x1b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfc, + 0x02, 0x1e, 0x1f, 0x0a, 0x79, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x02, 0x12, 0x04, 0x80, + 0x03, 0x04, 0x43, 0x1a, 0x69, 0x20, 0x45, 0x78, 0x74, 0x72, 0x61, 0x20, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x2f, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x20, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x0a, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x73, 0x3b, 0x20, + 0x30, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x20, 0x22, 0x75, 0x73, 0x65, 0x20, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x2e, 0x0a, 0x0a, 0x0f, + 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x02, 0x05, 0x12, 0x04, 0x80, 0x03, 0x04, 0x09, 0x0a, + 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0x80, 0x03, 0x0a, 0x19, + 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x02, 0x03, 0x12, 0x04, 0x80, 0x03, 0x1c, + 0x1d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x02, 0x08, 0x12, 0x04, 0x80, 0x03, + 0x1e, 0x42, 0x0a, 0x13, 0x0a, 0x0b, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x02, 0x08, 0x87, 0x09, 0x03, + 0x05, 0x12, 0x04, 0x80, 0x03, 0x1f, 0x41, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x00, 0x02, + 0x03, 0x12, 0x04, 0x81, 0x03, 0x04, 0x42, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, + 0x03, 0x05, 0x12, 0x04, 0x81, 0x03, 0x04, 0x09, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, + 0x02, 0x03, 0x01, 0x12, 0x04, 0x81, 0x03, 0x0a, 0x18, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, + 0x00, 0x02, 0x03, 0x03, 0x12, 0x04, 0x81, 0x03, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, + 0x03, 0x00, 0x02, 0x03, 0x08, 0x12, 0x04, 0x81, 0x03, 0x1d, 0x41, 0x0a, 0x13, 0x0a, 0x0b, 0x04, + 0x1a, 0x03, 0x00, 0x02, 0x03, 0x08, 0x87, 0x09, 0x03, 0x05, 0x12, 0x04, 0x81, 0x03, 0x1e, 0x40, + 0x0a, 0x52, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x04, 0x12, 0x04, 0x84, 0x03, 0x04, 0x38, + 0x1a, 0x42, 0x20, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, + 0x65, 0x64, 0x2e, 0x20, 0x4b, 0x65, 0x79, 0x20, 0x3d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x4f, 0x52, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x6b, + 0x65, 0x79, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x04, 0x06, 0x12, + 0x04, 0x84, 0x03, 0x04, 0x24, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x04, 0x01, + 0x12, 0x04, 0x84, 0x03, 0x25, 0x33, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x04, + 0x03, 0x12, 0x04, 0x84, 0x03, 0x36, 0x37, 0x0a, 0x52, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x00, 0x02, + 0x05, 0x12, 0x04, 0x87, 0x03, 0x04, 0x31, 0x1a, 0x42, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x3b, 0x20, 0x73, 0x61, 0x6d, 0x65, + 0x20, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x73, 0x20, 0x61, 0x73, 0x20, 0x6c, 0x65, + 0x67, 0x61, 0x63, 0x79, 0x20, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, + 0x1a, 0x03, 0x00, 0x02, 0x05, 0x04, 0x12, 0x04, 0x87, 0x03, 0x04, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, + 0x04, 0x1a, 0x03, 0x00, 0x02, 0x05, 0x06, 0x12, 0x04, 0x87, 0x03, 0x0d, 0x1f, 0x0a, 0x0f, 0x0a, + 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x05, 0x01, 0x12, 0x04, 0x87, 0x03, 0x20, 0x2c, 0x0a, 0x0f, + 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x05, 0x03, 0x12, 0x04, 0x87, 0x03, 0x2f, 0x30, 0x0a, + 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x06, 0x12, 0x04, 0x88, 0x03, 0x04, 0x1b, 0x0a, + 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x06, 0x05, 0x12, 0x04, 0x88, 0x03, 0x04, 0x0a, + 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x06, 0x01, 0x12, 0x04, 0x88, 0x03, 0x0b, + 0x16, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x00, 0x02, 0x06, 0x03, 0x12, 0x04, 0x88, 0x03, + 0x19, 0x1a, 0x0a, 0x87, 0x01, 0x0a, 0x04, 0x04, 0x1a, 0x03, 0x01, 0x12, 0x06, 0x8d, 0x03, 0x02, + 0x9a, 0x03, 0x03, 0x1a, 0x77, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, + 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x20, 0x53, 0x65, 0x6e, 0x74, 0x20, 0x61, + 0x73, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x73, 0x63, 0x72, 0x6f, + 0x6c, 0x6c, 0x73, 0x2c, 0x20, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x6c, + 0x6c, 0x61, 0x70, 0x73, 0x65, 0x73, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x1a, 0x03, 0x01, 0x01, 0x12, 0x04, 0x8d, 0x03, 0x0a, 0x16, 0x0a, 0xa4, 0x01, 0x0a, 0x06, + 0x04, 0x1a, 0x03, 0x01, 0x08, 0x00, 0x12, 0x06, 0x90, 0x03, 0x04, 0x94, 0x03, 0x05, 0x1a, 0x91, + 0x01, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x3a, + 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x20, + 0x69, 0x64, 0x20, 0x28, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x20, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2f, 0x20, 0x64, 0x65, 0x65, 0x70, 0x20, 0x6c, 0x69, + 0x6e, 0x6b, 0x29, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x0a, 0x20, 0x61, 0x62, 0x73, 0x6f, 0x6c, + 0x75, 0x74, 0x65, 0x20, 0x66, 0x6c, 0x61, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x28, + 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x2d, 0x64, 0x72, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x76, 0x69, + 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x29, 0x2e, 0x20, 0x45, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, + 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, + 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x08, 0x00, 0x01, 0x12, 0x04, 0x90, + 0x03, 0x0a, 0x17, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x08, 0x00, 0x02, 0x12, 0x04, + 0x91, 0x03, 0x06, 0x32, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1a, 0x03, 0x01, 0x08, 0x00, 0x02, 0x87, + 0x09, 0x01, 0x12, 0x04, 0x91, 0x03, 0x06, 0x32, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x01, + 0x02, 0x00, 0x12, 0x04, 0x92, 0x03, 0x06, 0x22, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, + 0x02, 0x00, 0x05, 0x12, 0x04, 0x92, 0x03, 0x06, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, + 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0x92, 0x03, 0x0d, 0x1d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, + 0x03, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0x92, 0x03, 0x20, 0x21, 0x0a, 0x0e, 0x0a, 0x06, 0x04, + 0x1a, 0x03, 0x01, 0x02, 0x01, 0x12, 0x04, 0x93, 0x03, 0x06, 0x23, 0x0a, 0x0f, 0x0a, 0x07, 0x04, + 0x1a, 0x03, 0x01, 0x02, 0x01, 0x05, 0x12, 0x04, 0x93, 0x03, 0x06, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, + 0x04, 0x1a, 0x03, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0x93, 0x03, 0x0d, 0x1e, 0x0a, 0x0f, 0x0a, + 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x01, 0x03, 0x12, 0x04, 0x93, 0x03, 0x21, 0x22, 0x0a, 0x0e, + 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x02, 0x12, 0x04, 0x95, 0x03, 0x04, 0x43, 0x0a, 0x0f, + 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x02, 0x05, 0x12, 0x04, 0x95, 0x03, 0x04, 0x09, 0x0a, + 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0x95, 0x03, 0x0a, 0x19, + 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x02, 0x03, 0x12, 0x04, 0x95, 0x03, 0x1c, + 0x1d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x02, 0x08, 0x12, 0x04, 0x95, 0x03, + 0x1e, 0x42, 0x0a, 0x13, 0x0a, 0x0b, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x02, 0x08, 0x87, 0x09, 0x03, + 0x05, 0x12, 0x04, 0x95, 0x03, 0x1f, 0x41, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x01, 0x02, + 0x03, 0x12, 0x04, 0x96, 0x03, 0x04, 0x42, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, + 0x03, 0x05, 0x12, 0x04, 0x96, 0x03, 0x04, 0x09, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, + 0x02, 0x03, 0x01, 0x12, 0x04, 0x96, 0x03, 0x0a, 0x18, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, + 0x01, 0x02, 0x03, 0x03, 0x12, 0x04, 0x96, 0x03, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, + 0x03, 0x01, 0x02, 0x03, 0x08, 0x12, 0x04, 0x96, 0x03, 0x1d, 0x41, 0x0a, 0x13, 0x0a, 0x0b, 0x04, + 0x1a, 0x03, 0x01, 0x02, 0x03, 0x08, 0x87, 0x09, 0x03, 0x05, 0x12, 0x04, 0x96, 0x03, 0x1e, 0x40, + 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x04, 0x12, 0x04, 0x97, 0x03, 0x04, 0x38, + 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x04, 0x06, 0x12, 0x04, 0x97, 0x03, 0x04, + 0x24, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x04, 0x01, 0x12, 0x04, 0x97, 0x03, + 0x25, 0x33, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x04, 0x03, 0x12, 0x04, 0x97, + 0x03, 0x36, 0x37, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x05, 0x12, 0x04, 0x98, + 0x03, 0x04, 0x31, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x05, 0x04, 0x12, 0x04, + 0x98, 0x03, 0x04, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x05, 0x06, 0x12, + 0x04, 0x98, 0x03, 0x0d, 0x1f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x05, 0x01, + 0x12, 0x04, 0x98, 0x03, 0x20, 0x2c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, 0x05, + 0x03, 0x12, 0x04, 0x98, 0x03, 0x2f, 0x30, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x1a, 0x03, 0x01, 0x02, + 0x06, 0x12, 0x04, 0x99, 0x03, 0x04, 0x1b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, 0x02, + 0x06, 0x05, 0x12, 0x04, 0x99, 0x03, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, 0x01, + 0x02, 0x06, 0x01, 0x12, 0x04, 0x99, 0x03, 0x0b, 0x16, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x1a, 0x03, + 0x01, 0x02, 0x06, 0x03, 0x12, 0x04, 0x99, 0x03, 0x19, 0x1a, 0x0a, 0xbf, 0x01, 0x0a, 0x02, 0x04, + 0x1b, 0x12, 0x06, 0xa0, 0x03, 0x00, 0xa3, 0x03, 0x01, 0x1a, 0xb0, 0x01, 0x20, 0x4e, 0x6f, 0x64, + 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x6d, 0x61, 0x6e, 0x79, + 0x20, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x0a, 0x20, 0x6d, 0x61, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x61, + 0x6e, 0x20, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x6e, 0x6f, 0x64, 0x65, 0x20, + 0x6f, 0x72, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, + 0x3c, 0x3d, 0x20, 0x30, 0x20, 0xe2, 0x86, 0x92, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x0a, + 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3b, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x73, 0x20, 0x74, 0x6f, 0x20, + 0x61, 0x20, 0x68, 0x61, 0x72, 0x64, 0x20, 0x63, 0x61, 0x70, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x1b, 0x01, 0x12, 0x04, 0xa0, 0x03, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1b, 0x02, + 0x00, 0x12, 0x04, 0xa1, 0x03, 0x02, 0x38, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x05, + 0x12, 0x04, 0xa1, 0x03, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x01, 0x12, + 0x04, 0xa1, 0x03, 0x08, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x03, 0x12, 0x04, + 0xa1, 0x03, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa1, + 0x03, 0x13, 0x37, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x00, 0x08, 0x87, 0x09, 0x03, 0x05, + 0x12, 0x04, 0xa1, 0x03, 0x14, 0x36, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x01, 0x12, 0x04, + 0xa2, 0x03, 0x02, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa2, + 0x03, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa2, 0x03, + 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa2, 0x03, 0x10, + 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa2, 0x03, 0x12, 0x36, + 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x01, 0x08, 0x87, 0x09, 0x03, 0x05, 0x12, 0x04, 0xa2, + 0x03, 0x13, 0x35, 0x0a, 0x4b, 0x0a, 0x02, 0x04, 0x1c, 0x12, 0x06, 0xa6, 0x03, 0x00, 0xc9, 0x03, + 0x01, 0x1a, 0x3d, 0x20, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, + 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0xe2, + 0x86, 0x92, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, 0x63, 0x6b, 0x2e, 0x0a, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1c, 0x01, 0x12, 0x04, 0xa6, 0x03, 0x08, 0x24, 0x0a, 0x7c, 0x0a, + 0x04, 0x04, 0x1c, 0x02, 0x00, 0x12, 0x04, 0xa9, 0x03, 0x02, 0x29, 0x1a, 0x6e, 0x20, 0x57, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x66, 0x6c, + 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0xe2, + 0x80, 0x94, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x63, 0x61, + 0x6e, 0x20, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x6e, + 0x6f, 0x77, 0x20, 0x28, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0xc2, 0xb1, 0x20, + 0x6f, 0x76, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x1c, 0x02, 0x00, 0x04, 0x12, 0x04, 0xa9, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, + 0x02, 0x00, 0x06, 0x12, 0x04, 0xa9, 0x03, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, + 0x00, 0x01, 0x12, 0x04, 0xa9, 0x03, 0x18, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, + 0x03, 0x12, 0x04, 0xa9, 0x03, 0x27, 0x28, 0x0a, 0x79, 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x01, 0x12, + 0x04, 0xad, 0x03, 0x02, 0x26, 0x1a, 0x6b, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0xe2, 0x86, 0x92, + 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x27, 0x73, + 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x20, 0x53, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x6e, + 0x20, 0x65, 0x76, 0x65, 0x72, 0x79, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x0a, 0x20, 0x62, 0x72, 0x65, 0x61, 0x64, 0x63, 0x72, 0x75, 0x6d, 0x62, 0x20, + 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x3b, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x72, 0x65, 0x65, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x04, 0x12, 0x04, 0xad, 0x03, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x06, 0x12, 0x04, 0xad, 0x03, 0x0b, 0x17, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x01, 0x12, 0x04, 0xad, 0x03, 0x18, 0x21, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x03, 0x12, 0x04, 0xad, 0x03, 0x24, 0x25, 0x0a, 0x4c, + 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x02, 0x12, 0x04, 0xb0, 0x03, 0x02, 0x1d, 0x1a, 0x3e, 0x20, 0x4c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x6c, + 0x6c, 0x20, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x66, 0x6c, 0x61, 0x74, 0x20, + 0x6c, 0x69, 0x73, 0x74, 0x20, 0x28, 0x6e, 0x6f, 0x74, 0x20, 0x6a, 0x75, 0x73, 0x74, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x1c, 0x02, 0x02, 0x05, 0x12, 0x04, 0xb0, 0x03, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x1c, 0x02, 0x02, 0x01, 0x12, 0x04, 0xb0, 0x03, 0x08, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, + 0x02, 0x02, 0x03, 0x12, 0x04, 0xb0, 0x03, 0x1b, 0x1c, 0x0a, 0x42, 0x0a, 0x04, 0x04, 0x1c, 0x02, + 0x03, 0x12, 0x04, 0xb3, 0x03, 0x02, 0x20, 0x1a, 0x34, 0x20, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x66, 0x6c, 0x61, 0x74, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x1c, 0x02, 0x03, 0x05, 0x12, 0x04, 0xb3, 0x03, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x1c, 0x02, 0x03, 0x01, 0x12, 0x04, 0xb3, 0x03, 0x08, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x1c, 0x02, 0x03, 0x03, 0x12, 0x04, 0xb3, 0x03, 0x1e, 0x1f, 0x0a, 0xcf, 0x02, 0x0a, 0x04, 0x04, + 0x1c, 0x02, 0x04, 0x12, 0x04, 0xba, 0x03, 0x02, 0x25, 0x1a, 0xc0, 0x02, 0x20, 0x54, 0x72, 0x75, + 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x2d, 0x77, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, + 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x69, 0x74, 0x73, 0x0a, 0x20, 0x77, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x20, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2c, 0x20, 0x65, 0x76, 0x65, 0x72, 0x79, 0x20, + 0x6d, 0x69, 0x64, 0x2d, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x72, + 0x65, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x20, 0x44, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x0a, 0x20, 0x64, + 0x65, 0x6c, 0x74, 0x61, 0x20, 0x28, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x61, 0x72, 0x72, + 0x69, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, + 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x29, 0x2e, 0x20, 0x55, 0x73, 0x65, 0x20, 0x68, 0x79, 0x64, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x2c, + 0x0a, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2c, 0x20, 0x74, 0x6f, 0x20, 0x6b, + 0x6e, 0x6f, 0x77, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x6c, 0x20, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, + 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x64, 0x6f, 0x6e, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x1c, 0x02, 0x04, 0x05, 0x12, 0x04, 0xba, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x1c, 0x02, 0x04, 0x01, 0x12, 0x04, 0xba, 0x03, 0x07, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, + 0x02, 0x04, 0x03, 0x12, 0x04, 0xba, 0x03, 0x23, 0x24, 0x0a, 0x72, 0x0a, 0x04, 0x04, 0x1c, 0x02, + 0x05, 0x12, 0x04, 0xbe, 0x03, 0x02, 0x2c, 0x1a, 0x64, 0x20, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x79, + 0x20, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x6f, 0x74, 0x69, + 0x63, 0x65, 0x73, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x20, + 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x65, 0x72, 0x79, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x20, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x73, 0x20, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x1c, 0x02, 0x05, 0x04, 0x12, 0x04, 0xbe, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x1c, 0x02, 0x05, 0x06, 0x12, 0x04, 0xbe, 0x03, 0x0b, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x1c, 0x02, 0x05, 0x01, 0x12, 0x04, 0xbe, 0x03, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, + 0x02, 0x05, 0x03, 0x12, 0x04, 0xbe, 0x03, 0x2a, 0x2b, 0x0a, 0x94, 0x01, 0x0a, 0x04, 0x04, 0x1c, + 0x02, 0x06, 0x12, 0x04, 0xc2, 0x03, 0x02, 0x17, 0x1a, 0x85, 0x01, 0x20, 0x54, 0x72, 0x75, 0x65, + 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x20, 0x68, 0x61, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x72, 0x6f, 0x70, 0x20, 0x61, 0x20, 0x74, + 0x69, 0x63, 0x6b, 0x20, 0x64, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x3b, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x72, 0x65, 0x2d, 0x73, + 0x65, 0x6e, 0x64, 0x20, 0x69, 0x74, 0x73, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x20, 0x61, 0x20, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x06, 0x05, 0x12, 0x04, 0xc2, 0x03, 0x02, 0x06, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x06, 0x01, 0x12, 0x04, 0xc2, 0x03, 0x07, 0x12, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x06, 0x03, 0x12, 0x04, 0xc2, 0x03, 0x15, 0x16, 0x0a, 0x8d, 0x02, + 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x07, 0x12, 0x04, 0xc8, 0x03, 0x02, 0x1e, 0x1a, 0xfe, 0x01, 0x20, + 0x54, 0x72, 0x75, 0x65, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, + 0x6e, 0x27, 0x73, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x44, 0x42, 0x20, 0x68, + 0x79, 0x64, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x61, 0x73, 0x20, 0x66, 0x69, 0x6e, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x28, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x0a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, 0x59, 0x44, 0x52, 0x41, + 0x54, 0x49, 0x4e, 0x47, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x29, 0x2e, 0x20, 0x4d, 0x69, 0x64, + 0x2d, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x20, 0x63, 0x61, 0x72, 0x72, 0x79, 0x20, 0x66, 0x61, 0x6c, + 0x73, 0x65, 0x3b, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x70, 0x6f, 0x73, 0x74, 0x2d, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x20, 0x63, 0x61, 0x72, 0x72, 0x79, 0x20, + 0x74, 0x72, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x6c, 0x20, 0x22, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x70, + 0x61, 0x69, 0x6e, 0x74, 0x20, 0x2f, 0x20, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x64, + 0x6f, 0x6e, 0x65, 0x22, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x1c, 0x02, 0x07, 0x05, 0x12, 0x04, 0xc8, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x1c, 0x02, 0x07, 0x01, 0x12, 0x04, 0xc8, 0x03, 0x07, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x1c, 0x02, 0x07, 0x03, 0x12, 0x04, 0xc8, 0x03, 0x1c, 0x1d, 0x0a, 0x7c, 0x0a, 0x02, 0x04, 0x1d, + 0x12, 0x06, 0xcd, 0x03, 0x00, 0xd4, 0x03, 0x01, 0x1a, 0x6e, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x6f, + 0x77, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x73, + 0x6c, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, + 0x77, 0x65, 0x64, 0x20, 0x66, 0x6c, 0x61, 0x74, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0xe2, 0x80, + 0x94, 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, 0x0a, 0x20, 0x72, 0x65, 0x67, 0x75, + 0x6c, 0x61, 0x72, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x20, + 0x73, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, + 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1d, 0x01, 0x12, + 0x04, 0xcd, 0x03, 0x08, 0x14, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x1d, 0x08, 0x00, 0x12, 0x06, 0xce, + 0x03, 0x02, 0xd1, 0x03, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x08, 0x00, 0x01, 0x12, 0x04, + 0xce, 0x03, 0x08, 0x0c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x00, 0x12, 0x04, 0xcf, 0x03, + 0x04, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x06, 0x12, 0x04, 0xcf, 0x03, 0x04, + 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcf, 0x03, 0x13, 0x19, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcf, 0x03, 0x1c, 0x1d, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x01, 0x12, 0x04, 0xd0, 0x03, 0x04, 0x18, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x1d, 0x02, 0x01, 0x06, 0x12, 0x04, 0xd0, 0x03, 0x04, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x1d, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd0, 0x03, 0x0e, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x1d, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd0, 0x03, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1d, + 0x02, 0x02, 0x12, 0x04, 0xd2, 0x03, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x02, + 0x05, 0x12, 0x04, 0xd2, 0x03, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x02, 0x01, + 0x12, 0x04, 0xd2, 0x03, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x02, 0x03, 0x12, + 0x04, 0xd2, 0x03, 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x03, 0x12, 0x04, 0xd3, + 0x03, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x03, 0x05, 0x12, 0x04, 0xd3, 0x03, + 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd3, 0x03, 0x07, + 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x03, 0x03, 0x12, 0x04, 0xd3, 0x03, 0x15, 0x16, + 0x0a, 0x4a, 0x0a, 0x02, 0x04, 0x1e, 0x12, 0x06, 0xd7, 0x03, 0x00, 0xe5, 0x03, 0x01, 0x1a, 0x3c, + 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x61, 0x66, 0x20, 0x69, 0x73, 0x20, 0x6f, + 0x6e, 0x65, 0x20, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, + 0x74, 0x6f, 0x70, 0x2d, 0x33, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x1e, 0x01, 0x12, 0x04, 0xd7, 0x03, 0x08, 0x12, 0x0a, 0x50, 0x0a, 0x04, 0x04, 0x1e, 0x02, + 0x00, 0x12, 0x04, 0xd9, 0x03, 0x02, 0x17, 0x1a, 0x42, 0x20, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3b, 0x20, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x6e, 0x6f, 0x64, 0x65, + 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x27, 0x73, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x1e, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd9, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xd9, 0x03, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xd9, 0x03, 0x15, 0x16, 0x0a, 0x40, 0x0a, 0x04, 0x04, 0x1e, 0x02, 0x01, + 0x12, 0x04, 0xdb, 0x03, 0x02, 0x18, 0x1a, 0x32, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x72, 0x6f, + 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x73, 0x20, 0x74, + 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, + 0x02, 0x01, 0x05, 0x12, 0x04, 0xdb, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, + 0x01, 0x01, 0x12, 0x04, 0xdb, 0x03, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x01, + 0x03, 0x12, 0x04, 0xdb, 0x03, 0x16, 0x17, 0x0a, 0x8c, 0x01, 0x0a, 0x04, 0x04, 0x1e, 0x02, 0x02, + 0x12, 0x04, 0xde, 0x03, 0x02, 0x28, 0x1a, 0x7e, 0x20, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x20, 0xe2, + 0x80, 0x94, 0x20, 0x77, 0x61, 0x6c, 0x6c, 0x2d, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x20, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x73, 0x65, + 0x74, 0x75, 0x70, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x6c, 0x69, 0x73, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x65, 0x61, 0x66, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, + 0x73, 0x20, 0x69, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x02, 0x06, 0x12, + 0x04, 0xde, 0x03, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x02, 0x01, 0x12, 0x04, + 0xde, 0x03, 0x1b, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x02, 0x03, 0x12, 0x04, 0xde, + 0x03, 0x26, 0x27, 0x0a, 0x93, 0x01, 0x0a, 0x04, 0x04, 0x1e, 0x02, 0x03, 0x12, 0x04, 0xe1, 0x03, + 0x02, 0x1f, 0x1a, 0x84, 0x01, 0x20, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x73, 0x20, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2c, 0x20, 0x73, 0x6f, + 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x20, 0x2f, 0x20, 0x6f, 0x75, 0x74, + 0x2d, 0x6f, 0x66, 0x2d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x72, 0x6f, 0x77, 0x73, 0x20, + 0x63, 0x61, 0x6e, 0x20, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x0a, 0x20, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, + 0x75, 0x6c, 0x6c, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, + 0x20, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, + 0x03, 0x06, 0x12, 0x04, 0xe1, 0x03, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x03, + 0x01, 0x12, 0x04, 0xe1, 0x03, 0x15, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x03, 0x03, + 0x12, 0x04, 0xe1, 0x03, 0x1d, 0x1e, 0x0a, 0x90, 0x01, 0x0a, 0x04, 0x04, 0x1e, 0x02, 0x04, 0x12, + 0x04, 0xe4, 0x03, 0x02, 0x2b, 0x1a, 0x81, 0x01, 0x20, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x27, + 0x73, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x28, 0x6d, 0x69, + 0x72, 0x72, 0x6f, 0x72, 0x73, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x29, 0x2c, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x0a, 0x20, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x2d, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x20, 0x6f, 0x6e, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, + 0x65, 0x64, 0x20, 0x2f, 0x20, 0x6f, 0x75, 0x74, 0x2d, 0x6f, 0x66, 0x2d, 0x77, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x20, 0x72, 0x6f, 0x77, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, + 0x04, 0x06, 0x12, 0x04, 0xe4, 0x03, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x04, + 0x01, 0x12, 0x04, 0xe4, 0x03, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x04, 0x03, + 0x12, 0x04, 0xe4, 0x03, 0x29, 0x2a, 0x0a, 0xd6, 0x01, 0x0a, 0x02, 0x04, 0x1f, 0x12, 0x06, 0xea, + 0x03, 0x00, 0xf3, 0x03, 0x01, 0x1a, 0xc7, 0x01, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x63, 0x61, 0x72, 0x72, 0x69, + 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x72, 0x20, 0x74, 0x6f, 0x70, 0x2d, + 0x33, 0x20, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x0a, 0x20, 0x45, 0x61, + 0x63, 0x68, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x74, 0x68, 0x72, 0x65, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, + 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x28, 0x64, 0x65, 0x65, 0x70, + 0x20, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x0a, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x27, 0x73, 0x20, 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x20, + 0x73, 0x75, 0x62, 0x74, 0x72, 0x65, 0x65, 0x29, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x2c, 0x20, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x44, 0x45, 0x53, 0x43, 0x2e, 0x0a, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x1f, 0x01, 0x12, 0x04, 0xea, 0x03, 0x08, 0x19, 0x0a, 0x48, 0x0a, 0x04, + 0x04, 0x1f, 0x02, 0x00, 0x12, 0x04, 0xec, 0x03, 0x02, 0x21, 0x1a, 0x3a, 0x20, 0x44, 0x65, 0x73, + 0x63, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x20, 0x70, 0x68, 0x61, 0x73, + 0x65, 0x2c, 0x20, 0x62, 0x79, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x00, 0x04, 0x12, + 0x04, 0xec, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x00, 0x06, 0x12, 0x04, + 0xec, 0x03, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xec, + 0x03, 0x16, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xec, 0x03, + 0x1f, 0x20, 0x0a, 0x41, 0x0a, 0x04, 0x04, 0x1f, 0x02, 0x01, 0x12, 0x04, 0xee, 0x03, 0x02, 0x2b, + 0x1a, 0x33, 0x20, 0x42, 0x79, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x77, 0x61, 0x6c, 0x6c, + 0x2d, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x28, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0xe2, 0x86, 0x92, 0x20, 0x65, 0x6e, 0x64, + 0x65, 0x64, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x04, 0x12, 0x04, + 0xee, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x06, 0x12, 0x04, 0xee, + 0x03, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x01, 0x12, 0x04, 0xee, 0x03, + 0x16, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x03, 0x12, 0x04, 0xee, 0x03, 0x29, + 0x2a, 0x0a, 0x2f, 0x0a, 0x04, 0x04, 0x1f, 0x02, 0x02, 0x12, 0x04, 0xf0, 0x03, 0x02, 0x2a, 0x1a, + 0x21, 0x20, 0x42, 0x79, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x20, + 0x69, 0x6e, 0x20, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x02, 0x04, 0x12, 0x04, 0xf0, 0x03, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x02, 0x06, 0x12, 0x04, 0xf0, 0x03, 0x0b, 0x15, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x02, 0x01, 0x12, 0x04, 0xf0, 0x03, 0x16, 0x25, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x02, 0x03, 0x12, 0x04, 0xf0, 0x03, 0x28, 0x29, 0x0a, 0x44, + 0x0a, 0x04, 0x04, 0x1f, 0x02, 0x03, 0x12, 0x04, 0xf2, 0x03, 0x02, 0x28, 0x1a, 0x36, 0x20, 0x42, + 0x79, 0x20, 0x73, 0x65, 0x74, 0x75, 0x70, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x3d, 0x20, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0xe2, 0x88, + 0x92, 0x20, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x03, 0x04, 0x12, 0x04, 0xf2, + 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x03, 0x06, 0x12, 0x04, 0xf2, 0x03, + 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x03, 0x01, 0x12, 0x04, 0xf2, 0x03, 0x16, + 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x03, 0x03, 0x12, 0x04, 0xf2, 0x03, 0x26, 0x27, + 0x0a, 0xb5, 0x01, 0x0a, 0x02, 0x04, 0x20, 0x12, 0x06, 0xf8, 0x03, 0x00, 0x8b, 0x04, 0x01, 0x1a, + 0xa6, 0x01, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x73, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x28, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x29, 0x20, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x0a, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x65, 0x6d, 0x69, 0x74, 0x73, 0x20, 0x6f, + 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x67, + 0x75, 0x6f, 0x75, 0x73, 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x6f, 0x66, 0x0a, 0x20, 0x73, + 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x73, + 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x20, 0x01, 0x12, + 0x04, 0xf8, 0x03, 0x08, 0x11, 0x0a, 0x4c, 0x0a, 0x04, 0x04, 0x20, 0x02, 0x00, 0x12, 0x04, 0xfa, + 0x03, 0x02, 0x10, 0x1a, 0x3e, 0x20, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, + 0x6b, 0x65, 0x79, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x22, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x3a, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x3a, 0x3a, 0x7b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, + 0x22, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x00, 0x05, 0x12, 0x04, 0xfa, 0x03, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfa, 0x03, 0x09, + 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfa, 0x03, 0x0e, 0x0f, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x20, 0x02, 0x01, 0x12, 0x04, 0xfb, 0x03, 0x02, 0x18, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x20, 0x02, 0x01, 0x05, 0x12, 0x04, 0xfb, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x20, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfb, 0x03, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x20, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfb, 0x03, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x20, 0x02, 0x02, 0x12, 0x04, 0xfc, 0x03, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, + 0x02, 0x05, 0x12, 0x04, 0xfc, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x02, + 0x01, 0x12, 0x04, 0xfc, 0x03, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x02, 0x03, + 0x12, 0x04, 0xfc, 0x03, 0x15, 0x16, 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x20, 0x02, 0x03, 0x12, 0x04, + 0xff, 0x03, 0x02, 0x2b, 0x1a, 0x39, 0x20, 0x50, 0x65, 0x72, 0x2d, 0x70, 0x68, 0x61, 0x73, 0x65, + 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x28, + 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x68, 0x61, 0x73, + 0x65, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x03, 0x06, 0x12, 0x04, 0xff, 0x03, 0x02, 0x13, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x20, 0x02, 0x03, 0x01, 0x12, 0x04, 0xff, 0x03, 0x14, 0x26, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x20, 0x02, 0x03, 0x03, 0x12, 0x04, 0xff, 0x03, 0x29, 0x2a, 0x0a, 0x51, 0x0a, 0x04, + 0x04, 0x20, 0x02, 0x04, 0x12, 0x04, 0x82, 0x04, 0x02, 0x34, 0x1a, 0x43, 0x20, 0x45, 0x61, 0x72, + 0x6c, 0x69, 0x65, 0x73, 0x74, 0x20, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x20, + 0x61, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x3b, 0x20, + 0x75, 0x6e, 0x73, 0x65, 0x74, 0x20, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x61, 0x6e, 0x79, 0x20, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x04, 0x06, 0x12, 0x04, 0x82, 0x04, 0x02, 0x1b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x20, 0x02, 0x04, 0x01, 0x12, 0x04, 0x82, 0x04, 0x1c, 0x2f, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x20, 0x02, 0x04, 0x03, 0x12, 0x04, 0x82, 0x04, 0x32, 0x33, 0x0a, 0x58, 0x0a, 0x04, + 0x04, 0x20, 0x02, 0x05, 0x12, 0x04, 0x85, 0x04, 0x02, 0x30, 0x1a, 0x4a, 0x20, 0x4c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x20, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x41, 0x74, 0x20, 0x61, 0x63, 0x72, 0x6f, + 0x73, 0x73, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x3b, 0x20, 0x75, 0x6e, 0x73, 0x65, + 0x74, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x20, 0x69, 0x73, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x0a, 0x20, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x05, 0x06, 0x12, + 0x04, 0x85, 0x04, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x05, 0x01, 0x12, 0x04, + 0x85, 0x04, 0x1c, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x05, 0x03, 0x12, 0x04, 0x85, + 0x04, 0x2e, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x20, 0x02, 0x06, 0x12, 0x04, 0x87, 0x04, 0x02, + 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x06, 0x05, 0x12, 0x04, 0x87, 0x04, 0x02, 0x07, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x06, 0x01, 0x12, 0x04, 0x87, 0x04, 0x08, 0x16, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x06, 0x03, 0x12, 0x04, 0x87, 0x04, 0x19, 0x1a, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x20, 0x02, 0x07, 0x12, 0x04, 0x88, 0x04, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x20, 0x02, 0x07, 0x05, 0x12, 0x04, 0x88, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x20, 0x02, 0x07, 0x01, 0x12, 0x04, 0x88, 0x04, 0x07, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, + 0x02, 0x07, 0x03, 0x12, 0x04, 0x88, 0x04, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x20, 0x02, + 0x08, 0x12, 0x04, 0x8a, 0x04, 0x02, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x08, 0x06, + 0x12, 0x04, 0x8a, 0x04, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x08, 0x01, 0x12, + 0x04, 0x8a, 0x04, 0x14, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x08, 0x03, 0x12, 0x04, + 0x8a, 0x04, 0x23, 0x24, 0x0a, 0xd8, 0x01, 0x0a, 0x02, 0x04, 0x21, 0x12, 0x06, 0x90, 0x04, 0x00, + 0x9e, 0x04, 0x01, 0x1a, 0xc9, 0x01, 0x20, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x20, 0x74, 0x65, 0x6c, 0x6c, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x0a, 0x20, 0x64, 0x75, 0x65, 0x20, 0x74, 0x6f, + 0x20, 0x61, 0x20, 0x68, 0x61, 0x72, 0x64, 0x20, 0x63, 0x61, 0x70, 0x2e, 0x20, 0x53, 0x65, 0x6e, + 0x74, 0x20, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x20, 0x6b, 0x65, 0x65, 0x70, 0x73, 0x20, 0x72, 0x65, 0x2d, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x6e, 0x6f, 0x74, 0x69, + 0x63, 0x65, 0x20, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, + 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x20, 0x76, 0x69, + 0x61, 0x20, 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x21, 0x01, 0x12, 0x04, 0x90, 0x04, 0x08, 0x18, 0x0a, 0x0e, 0x0a, 0x04, + 0x04, 0x21, 0x04, 0x00, 0x12, 0x06, 0x91, 0x04, 0x02, 0x99, 0x04, 0x03, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x21, 0x04, 0x00, 0x01, 0x12, 0x04, 0x91, 0x04, 0x07, 0x0d, 0x0a, 0x0e, 0x0a, 0x06, 0x04, + 0x21, 0x04, 0x00, 0x02, 0x00, 0x12, 0x04, 0x92, 0x04, 0x04, 0x1b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, + 0x21, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0x92, 0x04, 0x04, 0x16, 0x0a, 0x0f, 0x0a, 0x07, + 0x04, 0x21, 0x04, 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, 0x92, 0x04, 0x19, 0x1a, 0x0a, 0x5a, 0x0a, + 0x06, 0x04, 0x21, 0x04, 0x00, 0x02, 0x01, 0x12, 0x04, 0x94, 0x04, 0x04, 0x1e, 0x1a, 0x4a, 0x20, + 0x4d, 0x61, 0x78, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x52, 0x75, 0x6e, + 0x20, 0x68, 0x69, 0x74, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, + 0x20, 0x68, 0x61, 0x73, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x21, 0x04, + 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0x94, 0x04, 0x04, 0x19, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x21, + 0x04, 0x00, 0x02, 0x01, 0x02, 0x12, 0x04, 0x94, 0x04, 0x1c, 0x1d, 0x0a, 0x62, 0x0a, 0x06, 0x04, + 0x21, 0x04, 0x00, 0x02, 0x02, 0x12, 0x04, 0x96, 0x04, 0x04, 0x22, 0x1a, 0x52, 0x20, 0x4d, 0x61, + 0x78, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x50, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x20, 0x68, 0x69, 0x74, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, + 0x61, 0x73, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x68, + 0x61, 0x73, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x2e, 0x0a, 0x0a, + 0x0f, 0x0a, 0x07, 0x04, 0x21, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0x96, 0x04, 0x04, 0x1d, + 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x21, 0x04, 0x00, 0x02, 0x02, 0x02, 0x12, 0x04, 0x96, 0x04, 0x20, + 0x21, 0x0a, 0x46, 0x0a, 0x06, 0x04, 0x21, 0x04, 0x00, 0x02, 0x03, 0x12, 0x04, 0x98, 0x04, 0x04, + 0x19, 0x1a, 0x36, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x65, 0x6e, 0x74, 0x3b, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x73, 0x74, 0x69, 0x6c, + 0x6c, 0x20, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x72, 0x6f, 0x6d, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x44, 0x42, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x21, 0x04, + 0x00, 0x02, 0x03, 0x01, 0x12, 0x04, 0x98, 0x04, 0x04, 0x14, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x21, + 0x04, 0x00, 0x02, 0x03, 0x02, 0x12, 0x04, 0x98, 0x04, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x21, 0x02, 0x00, 0x12, 0x04, 0x9a, 0x04, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, + 0x00, 0x06, 0x12, 0x04, 0x9a, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, + 0x01, 0x12, 0x04, 0x9a, 0x04, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, 0x03, + 0x12, 0x04, 0x9a, 0x04, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x21, 0x02, 0x01, 0x12, 0x04, + 0x9b, 0x04, 0x02, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x01, 0x05, 0x12, 0x04, 0x9b, + 0x04, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x01, 0x01, 0x12, 0x04, 0x9b, 0x04, + 0x08, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x01, 0x03, 0x12, 0x04, 0x9b, 0x04, 0x1f, + 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x21, 0x02, 0x02, 0x12, 0x04, 0x9c, 0x04, 0x02, 0x25, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x02, 0x05, 0x12, 0x04, 0x9c, 0x04, 0x02, 0x07, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x21, 0x02, 0x02, 0x01, 0x12, 0x04, 0x9c, 0x04, 0x08, 0x20, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x21, 0x02, 0x02, 0x03, 0x12, 0x04, 0x9c, 0x04, 0x23, 0x24, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x21, 0x02, 0x03, 0x12, 0x04, 0x9d, 0x04, 0x02, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, + 0x02, 0x03, 0x05, 0x12, 0x04, 0x9d, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, + 0x03, 0x01, 0x12, 0x04, 0x9d, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x03, + 0x03, 0x12, 0x04, 0x9d, 0x04, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x22, 0x12, 0x06, 0xa0, + 0x04, 0x00, 0xa4, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x22, 0x01, 0x12, 0x04, 0xa0, 0x04, + 0x08, 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x22, 0x02, 0x00, 0x12, 0x04, 0xa1, 0x04, 0x02, 0x48, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x22, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa1, 0x04, 0x02, 0x19, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x22, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa1, 0x04, 0x1a, 0x1c, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x22, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa1, 0x04, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x22, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa1, 0x04, 0x21, 0x47, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x22, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xa1, 0x04, 0x22, 0x46, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x22, 0x02, 0x01, 0x12, 0x04, 0xa3, 0x04, 0x02, 0x3a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x22, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa3, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x22, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa3, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x22, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xa3, 0x04, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x22, 0x02, + 0x01, 0x08, 0x12, 0x04, 0xa3, 0x04, 0x15, 0x39, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x22, 0x02, 0x01, + 0x08, 0x87, 0x09, 0x05, 0x04, 0x12, 0x04, 0xa3, 0x04, 0x16, 0x38, 0x0a, 0x0c, 0x0a, 0x02, 0x04, + 0x23, 0x12, 0x06, 0xa6, 0x04, 0x00, 0xa8, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x23, 0x01, + 0x12, 0x04, 0xa6, 0x04, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x23, 0x02, 0x00, 0x12, 0x04, + 0xa7, 0x04, 0x02, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x04, 0x12, 0x04, 0xa7, + 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa7, 0x04, + 0x0b, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa7, 0x04, 0x18, + 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa7, 0x04, 0x29, 0x2a, + 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x24, 0x12, 0x06, 0xaa, 0x04, 0x00, 0xb0, 0x04, 0x01, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x24, 0x01, 0x12, 0x04, 0xaa, 0x04, 0x08, 0x1a, 0x0a, 0x20, 0x0a, 0x04, 0x04, + 0x24, 0x02, 0x00, 0x12, 0x04, 0xac, 0x04, 0x02, 0x4f, 0x1a, 0x12, 0x20, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x24, 0x02, 0x00, 0x06, 0x12, 0x04, 0xac, 0x04, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x24, 0x02, 0x00, 0x01, 0x12, 0x04, 0xac, 0x04, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x24, 0x02, 0x00, 0x03, 0x12, 0x04, 0xac, 0x04, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, + 0x02, 0x00, 0x08, 0x12, 0x04, 0xac, 0x04, 0x28, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x24, 0x02, + 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xac, 0x04, 0x29, 0x4d, 0x0a, 0x38, 0x0a, 0x04, 0x04, + 0x24, 0x02, 0x01, 0x12, 0x04, 0xaf, 0x04, 0x02, 0x14, 0x1a, 0x2a, 0x20, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, 0x01, 0x05, 0x12, 0x04, + 0xaf, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, 0x01, 0x01, 0x12, 0x04, 0xaf, + 0x04, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, 0x01, 0x03, 0x12, 0x04, 0xaf, 0x04, + 0x12, 0x13, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x25, 0x12, 0x04, 0xb2, 0x04, 0x00, 0x1e, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x25, 0x01, 0x12, 0x04, 0xb2, 0x04, 0x08, 0x1b, 0x0a, 0xa8, 0x02, 0x0a, 0x02, + 0x04, 0x26, 0x12, 0x06, 0xb8, 0x04, 0x00, 0xc0, 0x04, 0x01, 0x1a, 0x99, 0x02, 0x20, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x63, 0x61, 0x72, 0x72, 0x69, + 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, + 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x66, 0x61, 0x63, + 0x69, 0x6e, 0x67, 0x20, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0xe2, + 0x80, 0x94, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x73, 0x20, 0x69, 0x74, 0x20, 0x74, + 0x6f, 0x20, 0x61, 0x0a, 0x20, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x45, 0x78, + 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x0a, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x26, 0x01, 0x12, 0x04, 0xb8, + 0x04, 0x08, 0x14, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x26, 0x08, 0x00, 0x12, 0x06, 0xb9, 0x04, 0x02, + 0xbf, 0x04, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x08, 0x00, 0x01, 0x12, 0x04, 0xb9, 0x04, + 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x08, 0x00, 0x02, 0x12, 0x04, 0xba, 0x04, 0x04, + 0x30, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x26, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0xba, + 0x04, 0x04, 0x30, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x26, 0x02, 0x00, 0x12, 0x04, 0xbb, 0x04, 0x04, + 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x05, 0x12, 0x04, 0xbb, 0x04, 0x04, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbb, 0x04, 0x09, 0x13, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbb, 0x04, 0x16, 0x17, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x26, 0x02, 0x01, 0x12, 0x04, 0xbc, 0x04, 0x04, 0x18, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x26, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbc, 0x04, 0x04, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x26, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbc, 0x04, 0x0a, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xbc, 0x04, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x26, 0x02, + 0x02, 0x12, 0x04, 0xbd, 0x04, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x02, 0x05, + 0x12, 0x04, 0xbd, 0x04, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x02, 0x01, 0x12, + 0x04, 0xbd, 0x04, 0x0b, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x02, 0x03, 0x12, 0x04, + 0xbd, 0x04, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x26, 0x02, 0x03, 0x12, 0x04, 0xbe, 0x04, + 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x03, 0x05, 0x12, 0x04, 0xbe, 0x04, 0x04, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x03, 0x01, 0x12, 0x04, 0xbe, 0x04, 0x0b, 0x17, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x03, 0x03, 0x12, 0x04, 0xbe, 0x04, 0x1a, 0x1b, 0x0a, + 0x4f, 0x0a, 0x02, 0x04, 0x27, 0x12, 0x06, 0xc3, 0x04, 0x00, 0xce, 0x04, 0x01, 0x1a, 0x41, 0x20, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x61, + 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x27, 0x01, 0x12, 0x04, 0xc3, 0x04, 0x08, 0x1a, 0x0a, 0x2f, 0x0a, + 0x04, 0x04, 0x27, 0x02, 0x00, 0x12, 0x04, 0xc5, 0x04, 0x02, 0x4f, 0x1a, 0x21, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x27, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc5, 0x04, 0x02, 0x19, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x27, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc5, 0x04, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x27, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc5, 0x04, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x27, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc5, 0x04, 0x28, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x27, + 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xc5, 0x04, 0x29, 0x4d, 0x0a, 0xa0, 0x01, 0x0a, + 0x04, 0x04, 0x27, 0x02, 0x01, 0x12, 0x04, 0xc9, 0x04, 0x02, 0x20, 0x1a, 0x91, 0x01, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6f, 0x77, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x55, 0x73, 0x65, 0x64, 0x20, 0x74, + 0x6f, 0x20, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x72, 0x72, + 0x65, 0x63, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2d, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x20, 0x73, 0x68, 0x61, 0x72, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x01, 0x05, 0x12, 0x04, 0xc9, 0x04, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x27, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc9, 0x04, 0x09, 0x1b, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x27, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc9, 0x04, 0x1e, 0x1f, 0x0a, 0x62, 0x0a, 0x04, + 0x04, 0x27, 0x02, 0x02, 0x12, 0x04, 0xcd, 0x04, 0x02, 0x42, 0x1a, 0x54, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x2e, 0x20, 0x4d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x0a, + 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x02, 0x06, 0x12, 0x04, 0xcd, 0x04, 0x02, 0x0e, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x02, 0x01, 0x12, 0x04, 0xcd, 0x04, 0x0f, 0x16, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x27, 0x02, 0x02, 0x03, 0x12, 0x04, 0xcd, 0x04, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x27, 0x02, 0x02, 0x08, 0x12, 0x04, 0xcd, 0x04, 0x1b, 0x41, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x27, 0x02, 0x02, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xcd, 0x04, 0x1c, 0x40, 0x0a, 0x0a, + 0x0a, 0x02, 0x04, 0x28, 0x12, 0x04, 0xd0, 0x04, 0x00, 0x1e, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x28, + 0x01, 0x12, 0x04, 0xd0, 0x04, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x29, 0x12, 0x06, 0xd2, + 0x04, 0x00, 0xec, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x29, 0x01, 0x12, 0x04, 0xd2, 0x04, + 0x08, 0x1a, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x29, 0x08, 0x00, 0x12, 0x06, 0xd3, 0x04, 0x02, 0xd7, + 0x04, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x08, 0x00, 0x01, 0x12, 0x04, 0xd3, 0x04, 0x08, + 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x08, 0x00, 0x02, 0x12, 0x04, 0xd4, 0x04, 0x04, 0x30, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x29, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0xd4, 0x04, + 0x04, 0x30, 0x0a, 0x2e, 0x0a, 0x04, 0x04, 0x29, 0x02, 0x00, 0x12, 0x04, 0xd6, 0x04, 0x04, 0x2c, + 0x1a, 0x20, 0x20, 0x57, 0x61, 0x74, 0x63, 0x68, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd6, 0x04, 0x04, + 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd6, 0x04, 0x1d, 0x27, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd6, 0x04, 0x2a, 0x2b, 0x0a, + 0x44, 0x0a, 0x04, 0x04, 0x29, 0x02, 0x01, 0x12, 0x04, 0xda, 0x04, 0x02, 0x52, 0x1a, 0x36, 0x20, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x20, 0x61, 0x66, + 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x61, 0x74, 0x65, 0x20, 0x28, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x01, 0x06, 0x12, 0x04, + 0xda, 0x04, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x01, 0x01, 0x12, 0x04, 0xda, + 0x04, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x01, 0x03, 0x12, 0x04, 0xda, 0x04, + 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x01, 0x08, 0x12, 0x04, 0xda, 0x04, 0x2b, + 0x51, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x29, 0x02, 0x01, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xda, + 0x04, 0x2c, 0x50, 0x0a, 0xa6, 0x01, 0x0a, 0x04, 0x04, 0x29, 0x02, 0x02, 0x12, 0x04, 0xdf, 0x04, + 0x02, 0x29, 0x1a, 0x97, 0x01, 0x20, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x64, 0x61, 0x74, 0x65, 0x20, 0x28, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, + 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x2c, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, + 0x75, 0x70, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, + 0x6d, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6e, 0x75, 0x6c, 0x6c, + 0x2c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x29, 0x02, 0x02, 0x06, 0x12, 0x04, 0xdf, 0x04, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x29, 0x02, 0x02, 0x01, 0x12, 0x04, 0xdf, 0x04, 0x1c, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, + 0x02, 0x02, 0x03, 0x12, 0x04, 0xdf, 0x04, 0x27, 0x28, 0x0a, 0x2f, 0x0a, 0x04, 0x04, 0x29, 0x02, + 0x03, 0x12, 0x04, 0xe2, 0x04, 0x02, 0x21, 0x1a, 0x21, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, + 0x02, 0x03, 0x06, 0x12, 0x04, 0xe2, 0x04, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, + 0x03, 0x01, 0x12, 0x04, 0xe2, 0x04, 0x15, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x03, + 0x03, 0x12, 0x04, 0xe2, 0x04, 0x1f, 0x20, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x29, 0x03, 0x00, 0x12, + 0x06, 0xe4, 0x04, 0x02, 0xe8, 0x04, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x03, 0x00, 0x01, + 0x12, 0x04, 0xe4, 0x04, 0x0a, 0x18, 0x0a, 0x10, 0x0a, 0x06, 0x04, 0x29, 0x03, 0x00, 0x08, 0x00, + 0x12, 0x06, 0xe5, 0x04, 0x04, 0xe7, 0x04, 0x05, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x29, 0x03, 0x00, + 0x08, 0x00, 0x01, 0x12, 0x04, 0xe5, 0x04, 0x0a, 0x11, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x29, 0x03, + 0x00, 0x02, 0x00, 0x12, 0x04, 0xe6, 0x04, 0x06, 0x2b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x29, 0x03, + 0x00, 0x02, 0x00, 0x06, 0x12, 0x04, 0xe6, 0x04, 0x06, 0x1b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x29, + 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe6, 0x04, 0x1c, 0x26, 0x0a, 0x0f, 0x0a, 0x07, 0x04, + 0x29, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe6, 0x04, 0x29, 0x2a, 0x0a, 0x30, 0x0a, 0x04, + 0x04, 0x29, 0x02, 0x04, 0x12, 0x04, 0xeb, 0x04, 0x02, 0x30, 0x1a, 0x22, 0x20, 0x4b, 0x6e, 0x6f, + 0x77, 0x6e, 0x20, 0x73, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x69, + 0x6e, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x29, 0x02, 0x04, 0x04, 0x12, 0x04, 0xeb, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x29, 0x02, 0x04, 0x06, 0x12, 0x04, 0xeb, 0x04, 0x0b, 0x19, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x29, 0x02, 0x04, 0x01, 0x12, 0x04, 0xeb, 0x04, 0x1a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x29, 0x02, 0x04, 0x03, 0x12, 0x04, 0xeb, 0x04, 0x2e, 0x2f, 0x0a, 0x3a, 0x0a, 0x02, 0x04, 0x2a, + 0x12, 0x06, 0xef, 0x04, 0x00, 0xf7, 0x04, 0x01, 0x1a, 0x2c, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x2a, 0x01, 0x12, 0x04, 0xef, + 0x04, 0x08, 0x1b, 0x0a, 0xb3, 0x01, 0x0a, 0x04, 0x04, 0x2a, 0x02, 0x00, 0x12, 0x04, 0xf3, 0x04, + 0x02, 0x25, 0x1a, 0xa4, 0x01, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x61, + 0x73, 0x6b, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, + 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, + 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x0a, 0x20, 0x46, 0x6f, + 0x72, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, + 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, + 0x00, 0x04, 0x12, 0x04, 0xf3, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x00, + 0x06, 0x12, 0x04, 0xf3, 0x04, 0x0b, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xf3, 0x04, 0x15, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xf3, 0x04, 0x23, 0x24, 0x0a, 0x66, 0x0a, 0x04, 0x04, 0x2a, 0x02, 0x01, 0x12, 0x04, 0xf6, + 0x04, 0x02, 0x14, 0x1a, 0x58, 0x20, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, + 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x75, 0x62, 0x73, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x20, + 0x61, 0x72, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x2a, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf6, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x2a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf6, 0x04, 0x07, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x2a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf6, 0x04, 0x12, 0x13, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, 0x0a, 0x85, 0x41, 0x0a, 0x2a, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, + 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1b, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, + 0x6b, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x72, + 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 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, 0x17, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x05, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, + 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x48, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, + 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, + 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x48, 0x01, 0x52, 0x08, 0x74, 0x61, 0x73, + 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5b, 0x0a, 0x14, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, + 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x02, 0x52, 0x12, 0x6f, 0x66, 0x66, + 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x88, + 0x01, 0x01, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x72, + 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 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, 0x72, 0x75, 0x6e, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0x0b, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, + 0x0d, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, 0x17, + 0x0a, 0x15, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0xba, 0x02, 0x0a, 0x11, 0x4c, 0x6f, 0x63, 0x61, + 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, + 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x06, 0xba, + 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x37, 0x0a, 0x05, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x72, + 0x61, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0x0a, 0x04, + 0x73, 0x70, 0x65, 0x63, 0x22, 0xa6, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, + 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, + 0x49, 0x64, 0x12, 0x49, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, + 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0x4c, 0x0a, + 0x1a, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x32, 0xb2, 0x08, 0x0a, 0x0f, + 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x5f, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x29, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x70, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x63, + 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, + 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x6e, 0x0a, + 0x0f, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x12, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x72, 0x0a, + 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x12, 0x2b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, + 0x01, 0x12, 0x77, 0x0a, 0x12, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, + 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x5a, 0x0a, 0x08, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5c, 0x0a, 0x09, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x75, 0x6e, 0x73, 0x12, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x30, 0x01, 0x12, 0x63, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x65, 0x0a, 0x0c, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, + 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, + 0x42, 0xcf, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x14, 0x4c, 0x6f, 0x63, + 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, + 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, + 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x4a, 0x9d, 0x2a, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0x8f, 0x01, 0x01, 0x0a, 0x08, + 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, + 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, + 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, + 0x06, 0x00, 0x24, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x25, 0x0a, 0x09, + 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, + 0x03, 0x09, 0x00, 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, 0x00, 0x31, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, 0x03, 0x0b, 0x00, 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x08, + 0x12, 0x03, 0x0c, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x09, 0x12, 0x03, 0x0d, 0x00, 0x21, + 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x0f, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, + 0x12, 0x03, 0x0f, 0x00, 0x4d, 0x0a, 0xe9, 0x03, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x17, 0x00, + 0x42, 0x01, 0x1a, 0xdc, 0x03, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x73, 0x20, 0x72, 0x75, + 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x4f, 0x55, 0x54, 0x53, 0x49, 0x44, 0x45, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0xe2, 0x80, + 0x94, 0x20, 0x74, 0x79, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x20, 0x61, + 0x20, 0x75, 0x73, 0x65, 0x72, 0x27, 0x73, 0x0a, 0x20, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x20, 0xe2, 0x80, 0x94, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x73, 0x20, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x69, 0x74, 0x73, 0x65, 0x6c, 0x66, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x69, 0x72, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x68, 0x65, 0x72, 0x65, 0x2e, + 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x0a, 0x20, 0x61, 0x72, 0x65, + 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, + 0x65, 0x6c, 0x79, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2d, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, + 0x75, 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x20, 0x69, 0x6e, + 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x2f, 0x77, 0x61, + 0x74, 0x63, 0x68, 0x20, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x64, 0x65, 0x6c, 0x69, + 0x62, 0x65, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x20, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x20, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x28, 0x73, 0x61, 0x6d, + 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x29, 0x20, 0x73, 0x6f, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x0a, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x55, 0x49, 0x73, 0x20, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x20, 0x61, 0x67, 0x61, 0x69, + 0x6e, 0x73, 0x74, 0x20, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x77, + 0x6f, 0x72, 0x6b, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x20, 0x61, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x73, 0x77, 0x61, 0x70, 0x2e, + 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x17, 0x08, 0x17, 0x0a, 0xc1, 0x01, + 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, 0x1a, 0x02, 0x45, 0x1a, 0xb3, 0x01, 0x20, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x22, 0x61, 0x30, + 0x22, 0x29, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x1a, 0x06, 0x0f, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x1a, 0x10, 0x25, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1a, 0x30, 0x41, 0x0a, 0x8d, 0x02, 0x0a, 0x04, + 0x06, 0x00, 0x02, 0x01, 0x12, 0x03, 0x1f, 0x02, 0x56, 0x1a, 0xff, 0x01, 0x20, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x6e, + 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, + 0x2e, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x6d, 0x20, 0x6f, 0x6e, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, + 0x74, 0x3a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, + 0x20, 0x61, 0x6e, 0x0a, 0x20, 0x28, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2c, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x29, 0x20, 0x74, + 0x75, 0x70, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6c, + 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x64, 0x20, 0x69, + 0x73, 0x20, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x20, 0x61, + 0x73, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1f, 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x01, 0x02, 0x12, 0x03, 0x1f, 0x14, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, + 0x12, 0x03, 0x1f, 0x38, 0x52, 0x0a, 0x3b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x04, 0x22, + 0x02, 0x24, 0x03, 0x1a, 0x2d, 0x20, 0x47, 0x65, 0x74, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, + 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x22, 0x06, 0x13, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x22, 0x14, 0x28, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x22, 0x33, 0x48, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x23, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, + 0x02, 0x02, 0x04, 0x22, 0x12, 0x03, 0x23, 0x04, 0x2f, 0x0a, 0x85, 0x01, 0x0a, 0x04, 0x06, 0x00, + 0x02, 0x03, 0x12, 0x03, 0x28, 0x02, 0x59, 0x1a, 0x78, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x62, + 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x74, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x72, 0x75, 0x6e, 0x0a, 0x20, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x73, 0x20, 0x61, + 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x28, 0x06, 0x15, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x28, 0x16, 0x2c, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x28, 0x37, 0x3d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x28, 0x3e, 0x55, 0x0a, 0x48, 0x0a, 0x04, 0x06, 0x00, 0x02, + 0x04, 0x12, 0x04, 0x2b, 0x02, 0x2d, 0x03, 0x1a, 0x3a, 0x20, 0x47, 0x65, 0x74, 0x20, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, + 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x2b, 0x06, + 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x2b, 0x17, 0x2e, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x2b, 0x39, 0x51, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x03, 0x2c, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, + 0x00, 0x02, 0x04, 0x04, 0x22, 0x12, 0x03, 0x2c, 0x04, 0x2f, 0x0a, 0x96, 0x01, 0x0a, 0x04, 0x06, + 0x00, 0x02, 0x05, 0x12, 0x03, 0x31, 0x02, 0x62, 0x1a, 0x88, 0x01, 0x20, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, + 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x6f, 0x66, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x74, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x0a, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x73, + 0x20, 0x61, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, + 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x31, 0x06, + 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x31, 0x19, 0x32, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, 0x31, 0x3d, 0x43, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x31, 0x44, 0x5e, 0x0a, 0x46, 0x0a, 0x04, 0x06, + 0x00, 0x02, 0x06, 0x12, 0x04, 0x34, 0x02, 0x36, 0x03, 0x1a, 0x38, 0x20, 0x4c, 0x69, 0x73, 0x74, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, + 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x34, 0x06, + 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x34, 0x0f, 0x1e, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x34, 0x29, 0x39, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x03, 0x35, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, + 0x00, 0x02, 0x06, 0x04, 0x22, 0x12, 0x03, 0x35, 0x04, 0x2f, 0x0a, 0x53, 0x0a, 0x04, 0x06, 0x00, + 0x02, 0x07, 0x12, 0x03, 0x39, 0x02, 0x47, 0x1a, 0x46, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x39, 0x06, 0x0f, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x39, 0x10, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x39, 0x2b, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x07, 0x03, 0x12, 0x03, 0x39, 0x32, 0x43, 0x0a, 0x37, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x08, 0x12, + 0x04, 0x3c, 0x02, 0x3e, 0x03, 0x1a, 0x29, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x61, 0x6c, 0x6c, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x67, + 0x69, 0x76, 0x65, 0x6e, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x3c, 0x06, 0x11, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x02, 0x12, 0x03, 0x3c, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x3c, 0x2f, 0x42, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x08, 0x04, 0x12, 0x03, 0x3d, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x08, + 0x04, 0x22, 0x12, 0x03, 0x3d, 0x04, 0x2f, 0x0a, 0x3f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x09, 0x12, + 0x03, 0x41, 0x02, 0x50, 0x1a, 0x32, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, + 0x01, 0x12, 0x03, 0x41, 0x06, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x02, 0x12, + 0x03, 0x41, 0x13, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x06, 0x12, 0x03, 0x41, + 0x31, 0x37, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x41, 0x38, 0x4c, + 0x0a, 0x37, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x45, 0x00, 0x67, 0x01, 0x1a, 0x2b, 0x20, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, + 0x12, 0x03, 0x45, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x00, 0x12, 0x04, 0x46, + 0x02, 0x4e, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, 0x12, 0x03, 0x46, 0x08, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x02, 0x12, 0x03, 0x47, 0x04, 0x30, 0x0a, + 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x47, 0x04, 0x30, + 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x4a, 0x04, 0x24, 0x1a, 0x1b, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x00, 0x06, 0x12, 0x03, 0x4a, 0x04, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x4a, 0x19, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x4a, 0x22, 0x23, 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x4d, 0x04, + 0x2c, 0x1a, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, + 0x69, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, + 0x20, 0x52, 0x75, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, + 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x4d, 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x4d, 0x1d, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x01, 0x03, 0x12, 0x03, 0x4d, 0x2a, 0x2b, 0x0a, 0x2b, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x01, 0x12, + 0x04, 0x51, 0x02, 0x59, 0x03, 0x1a, 0x1d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x01, 0x01, 0x12, 0x03, 0x51, + 0x08, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x01, 0x02, 0x12, 0x03, 0x52, 0x04, 0x30, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x08, 0x01, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x52, 0x04, + 0x30, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x55, 0x04, 0x24, 0x1a, 0x15, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x69, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, + 0x55, 0x04, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x55, 0x18, + 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x55, 0x22, 0x23, 0x0a, + 0x24, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x58, 0x04, 0x20, 0x1a, 0x17, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, 0x6f, 0x20, + 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, + 0x58, 0x04, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x58, 0x12, + 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x58, 0x1e, 0x1f, 0x0a, + 0x66, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x5c, 0x02, 0x3e, 0x1a, 0x59, 0x20, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x75, 0x6e, 0x27, 0x73, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2c, 0x20, 0x70, 0x72, + 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, + 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x04, + 0x12, 0x03, 0x5c, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, + 0x5c, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x5c, 0x25, + 0x39, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x5c, 0x3c, 0x3d, 0x0a, + 0x97, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x60, 0x02, 0x1c, 0x1a, 0x89, 0x01, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, 0x6f, + 0x20, 0x75, 0x73, 0x65, 0x2e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x2d, 0x72, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x74, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x3b, 0x20, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x69, 0x6e, 0x67, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x0a, 0x20, 0x28, 0x71, 0x75, 0x65, + 0x75, 0x65, 0x2c, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x29, 0x20, 0x61, 0x72, 0x65, + 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x05, 0x06, 0x12, 0x03, 0x60, 0x02, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, + 0x12, 0x03, 0x60, 0x0f, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, + 0x60, 0x1a, 0x1b, 0x0a, 0x49, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x63, 0x02, 0x21, + 0x1a, 0x3c, 0x20, 0x55, 0x73, 0x65, 0x72, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x74, 0x20, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x63, 0x02, 0x15, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x63, 0x16, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x06, 0x03, 0x12, 0x03, 0x63, 0x1f, 0x20, 0x0a, 0x69, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, + 0x12, 0x03, 0x66, 0x02, 0x2f, 0x1a, 0x5c, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x75, 0x61, + 0x6c, 0x6c, 0x79, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x66, 0x20, + 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x69, 0x74, 0x20, 0x74, 0x6f, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x66, 0x02, + 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x66, 0x1c, 0x2a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x66, 0x2d, 0x2e, 0x0a, 0x3e, 0x0a, + 0x02, 0x04, 0x01, 0x12, 0x04, 0x6a, 0x00, 0x7f, 0x01, 0x1a, 0x32, 0x20, 0x41, 0x20, 0x73, 0x69, + 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, + 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, + 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x6a, 0x08, 0x19, 0x0a, 0x80, 0x02, 0x0a, 0x04, 0x04, 0x01, + 0x02, 0x00, 0x12, 0x03, 0x6e, 0x02, 0x3f, 0x1a, 0xf2, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x43, 0x61, 0x72, 0x72, 0x69, 0x65, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x2c, 0x20, 0x61, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x28, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, + 0x61, 0x74, 0x20, 0x31, 0x29, 0x2c, 0x0a, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2c, 0x20, 0x6d, + 0x6f, 0x6e, 0x6f, 0x74, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x63, + 0x72, 0x65, 0x61, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, + 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x2c, 0x20, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x0a, 0x20, 0x28, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x20, 0x2f, 0x20, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x27, + 0x73, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x6e, 0x02, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x6e, 0x0e, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, + 0x03, 0x12, 0x03, 0x6e, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, + 0x03, 0x6e, 0x18, 0x3e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, + 0x12, 0x03, 0x6e, 0x19, 0x3d, 0x0a, 0x90, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, + 0x72, 0x02, 0x19, 0x1a, 0x82, 0x01, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x0a, 0x20, 0x68, 0x6f, + 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, + 0x73, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, + 0x05, 0x12, 0x03, 0x72, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, + 0x03, 0x72, 0x09, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x72, + 0x17, 0x18, 0x0a, 0x6a, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x03, 0x75, 0x02, 0x13, 0x1a, + 0x5d, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x2c, 0x20, + 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x20, 0x4f, + 0x6e, 0x6c, 0x79, 0x20, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x05, 0x12, 0x03, 0x75, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x75, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x02, 0x03, 0x12, 0x03, 0x75, 0x11, 0x12, 0x0a, 0x6b, 0x0a, 0x04, 0x04, 0x01, 0x08, 0x00, + 0x12, 0x04, 0x78, 0x02, 0x7b, 0x03, 0x1a, 0x5d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x20, 0x53, 0x68, 0x6f, 0x75, + 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x6f, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3b, + 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x08, 0x00, 0x01, 0x12, 0x03, + 0x78, 0x08, 0x0c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x03, 0x12, 0x03, 0x79, 0x04, 0x18, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x06, 0x12, 0x03, 0x79, 0x04, 0x0e, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x03, 0x79, 0x0f, 0x13, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x03, 0x79, 0x16, 0x17, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, + 0x02, 0x04, 0x12, 0x03, 0x7a, 0x04, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x06, + 0x12, 0x03, 0x7a, 0x04, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x01, 0x12, 0x03, + 0x7a, 0x10, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x03, 0x12, 0x03, 0x7a, 0x18, + 0x19, 0x0a, 0x4f, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x05, 0x12, 0x03, 0x7e, 0x02, 0x1a, 0x1a, 0x42, + 0x20, 0x52, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x2d, 0x75, 0x70, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x28, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2c, + 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x2f, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x29, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x06, 0x12, 0x03, 0x7e, 0x02, 0x0e, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x01, 0x12, 0x03, 0x7e, 0x0f, 0x15, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x03, 0x12, 0x03, 0x7e, 0x18, 0x19, 0x0a, 0x41, 0x0a, 0x02, + 0x04, 0x02, 0x12, 0x06, 0x82, 0x01, 0x00, 0x88, 0x01, 0x01, 0x1a, 0x33, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x63, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, - 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x27, 0x01, 0x12, 0x04, 0xc3, 0x04, 0x08, 0x1a, 0x0a, 0x2f, 0x0a, 0x04, 0x04, 0x27, - 0x02, 0x00, 0x12, 0x04, 0xc5, 0x04, 0x02, 0x4f, 0x1a, 0x21, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x74, 0x6f, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x27, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc5, 0x04, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xc5, 0x04, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xc5, 0x04, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x00, - 0x08, 0x12, 0x04, 0xc5, 0x04, 0x28, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x27, 0x02, 0x00, 0x08, - 0x87, 0x09, 0x19, 0x12, 0x04, 0xc5, 0x04, 0x29, 0x4d, 0x0a, 0xa0, 0x01, 0x0a, 0x04, 0x04, 0x27, - 0x02, 0x01, 0x12, 0x04, 0xc9, 0x04, 0x02, 0x20, 0x1a, 0x91, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x20, 0x6f, 0x77, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x55, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x20, 0x73, 0x68, 0x61, 0x72, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x27, 0x02, 0x01, 0x05, 0x12, 0x04, 0xc9, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x27, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc9, 0x04, 0x09, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, - 0x02, 0x01, 0x03, 0x12, 0x04, 0xc9, 0x04, 0x1e, 0x1f, 0x0a, 0x62, 0x0a, 0x04, 0x04, 0x27, 0x02, - 0x02, 0x12, 0x04, 0xcd, 0x04, 0x02, 0x42, 0x1a, 0x54, 0x20, 0x54, 0x68, 0x65, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x2e, 0x20, 0x4d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x0a, 0x20, 0x64, 0x65, - 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x27, 0x02, 0x02, 0x06, 0x12, 0x04, 0xcd, 0x04, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x27, 0x02, 0x02, 0x01, 0x12, 0x04, 0xcd, 0x04, 0x0f, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x27, 0x02, 0x02, 0x03, 0x12, 0x04, 0xcd, 0x04, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, - 0x02, 0x02, 0x08, 0x12, 0x04, 0xcd, 0x04, 0x1b, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x27, 0x02, - 0x02, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xcd, 0x04, 0x1c, 0x40, 0x0a, 0x0a, 0x0a, 0x02, 0x04, - 0x28, 0x12, 0x04, 0xd0, 0x04, 0x00, 0x1e, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x28, 0x01, 0x12, 0x04, - 0xd0, 0x04, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x29, 0x12, 0x06, 0xd2, 0x04, 0x00, 0xec, - 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x29, 0x01, 0x12, 0x04, 0xd2, 0x04, 0x08, 0x1a, 0x0a, - 0x0e, 0x0a, 0x04, 0x04, 0x29, 0x08, 0x00, 0x12, 0x06, 0xd3, 0x04, 0x02, 0xd7, 0x04, 0x03, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x08, 0x00, 0x01, 0x12, 0x04, 0xd3, 0x04, 0x08, 0x10, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x29, 0x08, 0x00, 0x02, 0x12, 0x04, 0xd4, 0x04, 0x04, 0x30, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x29, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0xd4, 0x04, 0x04, 0x30, 0x0a, - 0x2e, 0x0a, 0x04, 0x04, 0x29, 0x02, 0x00, 0x12, 0x04, 0xd6, 0x04, 0x04, 0x2c, 0x1a, 0x20, 0x20, - 0x57, 0x61, 0x74, 0x63, 0x68, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x20, 0x77, 0x69, 0x74, - 0x68, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd6, 0x04, 0x04, 0x1c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd6, 0x04, 0x1d, 0x27, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x29, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd6, 0x04, 0x2a, 0x2b, 0x0a, 0x44, 0x0a, 0x04, - 0x04, 0x29, 0x02, 0x01, 0x12, 0x04, 0xda, 0x04, 0x02, 0x52, 0x1a, 0x36, 0x20, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x61, 0x74, 0x65, 0x20, 0x28, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x01, 0x06, 0x12, 0x04, 0xda, 0x04, 0x02, - 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x01, 0x01, 0x12, 0x04, 0xda, 0x04, 0x1c, 0x26, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x01, 0x03, 0x12, 0x04, 0xda, 0x04, 0x29, 0x2a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x01, 0x08, 0x12, 0x04, 0xda, 0x04, 0x2b, 0x51, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x29, 0x02, 0x01, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xda, 0x04, 0x2c, 0x50, - 0x0a, 0xa6, 0x01, 0x0a, 0x04, 0x04, 0x29, 0x02, 0x02, 0x12, 0x04, 0xdf, 0x04, 0x02, 0x29, 0x1a, - 0x97, 0x01, 0x20, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x61, 0x74, - 0x65, 0x20, 0x28, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x0a, 0x20, - 0x49, 0x66, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x2c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x75, 0x70, 0x20, - 0x74, 0x6f, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x2c, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, - 0x02, 0x06, 0x12, 0x04, 0xdf, 0x04, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x02, - 0x01, 0x12, 0x04, 0xdf, 0x04, 0x1c, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x02, 0x03, - 0x12, 0x04, 0xdf, 0x04, 0x27, 0x28, 0x0a, 0x2f, 0x0a, 0x04, 0x04, 0x29, 0x02, 0x03, 0x12, 0x04, - 0xe2, 0x04, 0x02, 0x21, 0x1a, 0x21, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x03, 0x06, - 0x12, 0x04, 0xe2, 0x04, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x03, 0x01, 0x12, - 0x04, 0xe2, 0x04, 0x15, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x03, 0x03, 0x12, 0x04, - 0xe2, 0x04, 0x1f, 0x20, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x29, 0x03, 0x00, 0x12, 0x06, 0xe4, 0x04, - 0x02, 0xe8, 0x04, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x03, 0x00, 0x01, 0x12, 0x04, 0xe4, - 0x04, 0x0a, 0x18, 0x0a, 0x10, 0x0a, 0x06, 0x04, 0x29, 0x03, 0x00, 0x08, 0x00, 0x12, 0x06, 0xe5, - 0x04, 0x04, 0xe7, 0x04, 0x05, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x29, 0x03, 0x00, 0x08, 0x00, 0x01, - 0x12, 0x04, 0xe5, 0x04, 0x0a, 0x11, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x29, 0x03, 0x00, 0x02, 0x00, - 0x12, 0x04, 0xe6, 0x04, 0x06, 0x2b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x29, 0x03, 0x00, 0x02, 0x00, - 0x06, 0x12, 0x04, 0xe6, 0x04, 0x06, 0x1b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x29, 0x03, 0x00, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xe6, 0x04, 0x1c, 0x26, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x29, 0x03, 0x00, - 0x02, 0x00, 0x03, 0x12, 0x04, 0xe6, 0x04, 0x29, 0x2a, 0x0a, 0x30, 0x0a, 0x04, 0x04, 0x29, 0x02, - 0x04, 0x12, 0x04, 0xeb, 0x04, 0x02, 0x30, 0x1a, 0x22, 0x20, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, - 0x73, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x77, - 0x61, 0x74, 0x63, 0x68, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x29, 0x02, 0x04, 0x04, 0x12, 0x04, 0xeb, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, - 0x02, 0x04, 0x06, 0x12, 0x04, 0xeb, 0x04, 0x0b, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, - 0x04, 0x01, 0x12, 0x04, 0xeb, 0x04, 0x1a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x04, - 0x03, 0x12, 0x04, 0xeb, 0x04, 0x2e, 0x2f, 0x0a, 0x3a, 0x0a, 0x02, 0x04, 0x2a, 0x12, 0x06, 0xef, - 0x04, 0x00, 0xf7, 0x04, 0x01, 0x1a, 0x2c, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x61, 0x74, - 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x2a, 0x01, 0x12, 0x04, 0xef, 0x04, 0x08, 0x1b, - 0x0a, 0xb3, 0x01, 0x0a, 0x04, 0x04, 0x2a, 0x02, 0x00, 0x12, 0x04, 0xf3, 0x04, 0x02, 0x25, 0x1a, - 0xa4, 0x01, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2c, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x61, 0x6c, - 0x6c, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x73, - 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, - 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x20, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x00, 0x04, 0x12, - 0x04, 0xf3, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x00, 0x06, 0x12, 0x04, - 0xf3, 0x04, 0x0b, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf3, - 0x04, 0x15, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf3, 0x04, - 0x23, 0x24, 0x0a, 0x66, 0x0a, 0x04, 0x04, 0x2a, 0x02, 0x01, 0x12, 0x04, 0xf6, 0x04, 0x02, 0x14, - 0x1a, 0x58, 0x20, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x4c, 0x69, - 0x73, 0x74, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, - 0x02, 0x01, 0x05, 0x12, 0x04, 0xf6, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, - 0x01, 0x01, 0x12, 0x04, 0xf6, 0x04, 0x07, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x01, - 0x03, 0x12, 0x04, 0xf6, 0x04, 0x12, 0x13, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, - 0xa1, 0x26, 0x0a, 0x2b, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, - 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x12, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x1a, 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, - 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 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, 0x22, 0xcb, 0x02, 0x0a, 0x1f, 0x4c, 0x69, 0x74, 0x65, - 0x72, 0x61, 0x6c, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, - 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x6c, - 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4e, - 0x61, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x08, 0x6c, 0x69, 0x74, - 0x65, 0x72, 0x61, 0x6c, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, - 0x55, 0x72, 0x69, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, - 0x00, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x4f, 0x0a, 0x20, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, - 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, + 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0x82, 0x01, 0x08, 0x21, 0x0a, 0x69, 0x0a, 0x04, + 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0x84, 0x01, 0x02, 0x49, 0x1a, 0x5b, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, + 0x20, 0x74, 0x6f, 0x2e, 0x20, 0x45, 0x76, 0x65, 0x72, 0x79, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x27, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x20, 0x6d, 0x75, + 0x73, 0x74, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, + 0x12, 0x04, 0x84, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, + 0x04, 0x84, 0x01, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, + 0x84, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x04, 0x84, + 0x01, 0x22, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, + 0x04, 0x84, 0x01, 0x23, 0x47, 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, 0x87, + 0x01, 0x02, 0x57, 0x1a, 0x1b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x04, 0x12, 0x04, 0x87, 0x01, 0x02, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, 0x04, 0x87, 0x01, 0x0b, 0x1c, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0x87, 0x01, 0x1d, 0x24, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x04, 0x87, 0x01, 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, 0x04, 0x87, 0x01, 0x29, 0x56, 0x0a, 0x11, 0x0a, 0x09, 0x04, + 0x02, 0x02, 0x01, 0x08, 0x87, 0x09, 0x12, 0x01, 0x12, 0x04, 0x87, 0x01, 0x2a, 0x55, 0x0a, 0x42, + 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, 0x8b, 0x01, 0x00, 0x8f, 0x01, 0x01, 0x1a, 0x34, 0x20, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, 0x8b, 0x01, 0x08, 0x22, 0x0a, + 0x84, 0x01, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, 0x8e, 0x01, 0x02, 0x2a, 0x1a, 0x76, + 0x20, 0x50, 0x65, 0x72, 0x2d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x2c, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x20, 0x74, 0x6f, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x27, 0x73, 0x20, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x2e, 0x20, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x20, 0x28, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x65, 0x64, 0x29, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x20, 0x61, 0x72, 0x65, + 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, + 0x04, 0x8e, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x04, + 0x8e, 0x01, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8e, + 0x01, 0x1d, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8e, 0x01, + 0x28, 0x29, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0x9a, 0x21, 0x0a, 0x26, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x04, 0x0a, + 0x14, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, + 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, + 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x72, 0x75, + 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x24, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x75, + 0x72, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x12, 0x2f, 0x0a, 0x0f, 0x72, + 0x75, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x72, + 0x75, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x61, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x04, + 0x74, 0x61, 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, + 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, + 0x73, 0x6b, 0x12, 0x37, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x09, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x0d, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, + 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, + 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x7f, 0x0a, 0x15, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, + 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x22, 0x18, 0x0a, 0x16, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, + 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x18, 0x41, + 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, + 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x41, 0x62, 0x6f, 0x72, + 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd5, 0x02, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x66, 0x0a, 0x0d, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, + 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x45, 0x6e, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, + 0x0a, 0x0e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, 0x6e, + 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, + 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x11, 0x41, 0x62, 0x6f, + 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xcc, 0x01, + 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x11, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, + 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, + 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xa0, 0x14, 0x0a, + 0x06, 0x12, 0x04, 0x00, 0x00, 0x4e, 0x24, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, + 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, + 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, + 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, + 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x31, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x09, 0x00, + 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x09, 0x00, 0x4d, 0x0a, 0x60, 0x0a, 0x02, + 0x06, 0x00, 0x12, 0x04, 0x0c, 0x00, 0x15, 0x01, 0x1a, 0x54, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, + 0x6f, 0x76, 0x65, 0x72, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, + 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x0c, 0x08, 0x14, 0x0a, 0x30, 0x0a, 0x04, 0x06, 0x00, + 0x02, 0x00, 0x12, 0x03, 0x0e, 0x02, 0x4c, 0x1a, 0x23, 0x20, 0x71, 0x75, 0x65, 0x75, 0x65, 0x20, + 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0e, 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x00, 0x02, 0x12, 0x03, 0x0e, 0x14, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, + 0x03, 0x12, 0x03, 0x0e, 0x33, 0x48, 0x0a, 0x22, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x03, + 0x11, 0x02, 0x4f, 0x1a, 0x15, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x20, 0x61, 0x20, 0x71, 0x75, + 0x65, 0x75, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x01, 0x01, 0x12, 0x03, 0x11, 0x06, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, + 0x02, 0x12, 0x03, 0x11, 0x15, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, + 0x03, 0x11, 0x35, 0x4b, 0x0a, 0x79, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x03, 0x14, 0x02, + 0x58, 0x1a, 0x6c, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x61, 0x62, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, + 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x20, 0x71, 0x75, 0x65, 0x75, 0x65, + 0x64, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, + 0x79, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x14, 0x06, 0x17, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x14, 0x18, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x14, 0x3b, 0x54, 0x0a, 0x34, 0x0a, 0x02, 0x04, 0x00, 0x12, + 0x04, 0x18, 0x00, 0x35, 0x01, 0x1a, 0x28, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x75, + 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x18, 0x08, 0x1c, 0x0a, 0x34, 0x0a, 0x04, 0x04, + 0x00, 0x02, 0x00, 0x12, 0x03, 0x1a, 0x02, 0x59, 0x1a, 0x27, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x1a, 0x02, 0x23, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x1a, 0x24, 0x2d, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1a, 0x30, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x1a, 0x32, 0x58, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, + 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x1a, 0x33, 0x57, 0x0a, 0xad, 0x01, 0x0a, 0x04, 0x04, + 0x00, 0x02, 0x01, 0x12, 0x03, 0x1e, 0x02, 0x29, 0x1a, 0x9f, 0x01, 0x20, 0x61, 0x6e, 0x20, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, + 0x2e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, + 0x72, 0x75, 0x6e, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x28, 0x65, 0x78, + 0x2e, 0x20, 0x6f, 0x72, 0x67, 0x2c, 0x0a, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x29, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x01, 0x04, 0x12, 0x03, 0x1e, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, + 0x05, 0x12, 0x03, 0x1e, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, + 0x03, 0x1e, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1e, + 0x27, 0x28, 0x0a, 0x72, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x21, 0x02, 0x1c, 0x1a, + 0x65, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x73, + 0x70, 0x65, 0x63, 0x20, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x79, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, + 0x03, 0x21, 0x02, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x21, + 0x0f, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x21, 0x1a, 0x1b, + 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x24, 0x02, 0x41, 0x1a, 0x2d, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x24, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x03, 0x01, 0x12, 0x03, 0x24, 0x09, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, + 0x03, 0x12, 0x03, 0x24, 0x15, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x08, 0x12, + 0x03, 0x24, 0x17, 0x40, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x03, 0x08, 0x87, 0x09, 0x0e, + 0x02, 0x12, 0x03, 0x24, 0x18, 0x3f, 0x0a, 0x48, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, + 0x27, 0x02, 0x47, 0x1a, 0x3b, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x62, 0x61, + 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x20, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x74, 0x6f, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, 0x12, 0x03, 0x27, 0x02, 0x08, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x27, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x27, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x04, 0x08, 0x12, 0x03, 0x27, 0x1d, 0x46, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x04, + 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x27, 0x1e, 0x45, 0x0a, 0x3b, 0x0a, 0x04, 0x04, 0x00, + 0x02, 0x05, 0x12, 0x03, 0x2a, 0x02, 0x13, 0x1a, 0x2e, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x6c, 0x6f, + 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, + 0x12, 0x03, 0x2a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, + 0x2a, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x2a, 0x11, + 0x12, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x2d, 0x02, 0x15, 0x1a, 0x29, + 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x69, + 0x66, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x06, 0x05, 0x12, 0x03, 0x2d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, + 0x12, 0x03, 0x2d, 0x09, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, + 0x2d, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x00, 0x12, 0x04, 0x2f, 0x02, 0x34, + 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, 0x12, 0x03, 0x2f, 0x08, 0x0c, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x02, 0x12, 0x03, 0x30, 0x04, 0x30, 0x0a, 0x0f, 0x0a, + 0x08, 0x04, 0x00, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x30, 0x04, 0x30, 0x0a, 0x0b, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x31, 0x04, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x31, 0x04, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x07, 0x01, 0x12, 0x03, 0x31, 0x0f, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, + 0x12, 0x03, 0x31, 0x16, 0x18, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x32, + 0x04, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x06, 0x12, 0x03, 0x32, 0x04, 0x0f, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x32, 0x10, 0x15, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x32, 0x18, 0x1a, 0x0a, 0x0b, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x09, 0x12, 0x03, 0x33, 0x04, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x09, 0x06, 0x12, 0x03, 0x33, 0x04, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, + 0x12, 0x03, 0x33, 0x14, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, + 0x33, 0x20, 0x22, 0x0a, 0x34, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x03, 0x38, 0x00, 0x20, 0x1a, 0x29, + 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x75, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, + 0x12, 0x03, 0x38, 0x08, 0x1d, 0x0a, 0x31, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x3b, 0x00, 0x41, + 0x01, 0x1a, 0x25, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, + 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, + 0x03, 0x3b, 0x08, 0x1d, 0x0a, 0x3f, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x3d, 0x02, + 0x49, 0x1a, 0x32, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, + 0x3d, 0x02, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x3d, 0x17, + 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x3d, 0x20, 0x21, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x03, 0x3d, 0x22, 0x48, 0x0a, 0x0f, 0x0a, + 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x3d, 0x23, 0x47, 0x0a, 0x3a, + 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x40, 0x02, 0x1d, 0x1a, 0x2d, 0x20, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x01, 0x04, 0x12, 0x03, 0x40, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, + 0x05, 0x12, 0x03, 0x40, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, + 0x03, 0x40, 0x12, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x40, + 0x1b, 0x1c, 0x0a, 0x31, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x03, 0x44, 0x00, 0x21, 0x1a, 0x26, 0x20, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, + 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x44, 0x08, + 0x1e, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x46, 0x00, 0x4c, 0x01, 0x0a, 0x0a, 0x0a, + 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x46, 0x08, 0x20, 0x0a, 0x4d, 0x0a, 0x04, 0x04, 0x04, 0x02, + 0x00, 0x12, 0x03, 0x48, 0x02, 0x4f, 0x1a, 0x40, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, + 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, + 0x06, 0x12, 0x03, 0x48, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, + 0x03, 0x48, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x48, + 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x48, 0x28, 0x4e, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x48, 0x29, + 0x4d, 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x4b, 0x02, 0x1d, 0x1a, 0x30, + 0x20, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, + 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, + 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x04, 0x12, 0x03, 0x4b, 0x02, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x03, 0x4b, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x03, 0x4b, 0x12, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, + 0x02, 0x01, 0x03, 0x12, 0x03, 0x4b, 0x1b, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x03, + 0x4e, 0x00, 0x24, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x4e, 0x08, 0x21, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xc6, 0x0e, 0x0a, 0x21, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, + 0x75, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x1a, 0x1f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1d, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, + 0x72, 0x65, 0x2f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x18, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, + 0x6b, 0x2f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, + 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x02, 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x64, 0x69, + 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x73, 0x6b, + 0x53, 0x70, 0x65, 0x63, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x75, + 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x52, 0x75, + 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x41, + 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x12, 0x40, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, + 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, + 0x69, 0x70, 0x61, 0x6c, 0x42, 0xc7, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, + 0x0c, 0x52, 0x75, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, + 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, + 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xd7, + 0x08, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x24, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, + 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, + 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, + 0x05, 0x00, 0x27, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x22, 0x0a, 0x09, + 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x31, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, + 0x09, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x09, 0x00, 0x4d, 0x0a, 0x8f, + 0x01, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x0d, 0x00, 0x24, 0x01, 0x1a, 0x82, 0x01, 0x20, 0x52, + 0x75, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x2f, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x61, 0x73, + 0x20, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x0a, 0x20, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x27, 0x73, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2e, 0x0a, + 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x0d, 0x08, 0x0f, 0x0a, 0x5e, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0f, 0x02, 0x1e, 0x1a, 0x51, 0x20, 0x54, 0x61, 0x73, 0x6b, + 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x20, 0x55, 0x73, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x20, 0x75, 0x70, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x73, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x0f, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x0f, 0x09, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, + 0x03, 0x12, 0x03, 0x0f, 0x1c, 0x1d, 0x0a, 0x1a, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, + 0x12, 0x02, 0x18, 0x1a, 0x0d, 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x75, 0x72, 0x69, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x12, 0x02, 0x08, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x12, 0x09, 0x13, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x12, 0x16, 0x17, 0x0a, 0x1b, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x15, 0x02, 0x19, 0x1a, 0x0e, 0x20, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x73, 0x20, 0x75, 0x72, 0x69, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x02, 0x05, 0x12, 0x03, 0x15, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, + 0x12, 0x03, 0x15, 0x09, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, + 0x15, 0x17, 0x18, 0x0a, 0x18, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x18, 0x02, 0x26, + 0x1a, 0x0b, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x18, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x18, 0x19, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x03, 0x03, 0x12, 0x03, 0x18, 0x24, 0x25, 0x0a, 0x92, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, + 0x12, 0x03, 0x1c, 0x02, 0x33, 0x1a, 0x84, 0x01, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, + 0x4f, 0x4e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x2c, 0x20, + 0x73, 0x6f, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, + 0x65, 0x0a, 0x20, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x28, 0x70, 0x72, 0x6f, + 0x6d, 0x70, 0x74, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2f, + 0x74, 0x79, 0x70, 0x65, 0x29, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x43, 0x52, 0x20, 0x69, 0x73, 0x20, 0x47, 0x43, 0x27, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x1c, 0x02, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x04, 0x01, 0x12, 0x03, 0x1c, 0x25, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, + 0x03, 0x12, 0x03, 0x1c, 0x31, 0x32, 0x0a, 0x9d, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, + 0x03, 0x20, 0x02, 0x24, 0x1a, 0x8f, 0x01, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, + 0x4e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x0a, 0x20, 0x69, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x28, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x70, 0x62, 0x29, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x6c, 0x6f, 0x6e, 0x67, 0x2d, 0x74, 0x65, 0x72, 0x6d, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x52, 0x20, 0x69, 0x73, 0x20, + 0x47, 0x43, 0x27, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x06, 0x12, + 0x03, 0x20, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x20, + 0x19, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x20, 0x22, 0x23, + 0x0a, 0x4c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x23, 0x02, 0x32, 0x1a, 0x3f, 0x20, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x28, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x29, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x23, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x23, 0x24, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x06, 0x03, 0x12, 0x03, 0x23, 0x30, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x0a, 0xb3, 0x0d, 0x0a, 0x29, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x73, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x26, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x6c, 0x6f, + 0x67, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x0f, 0x54, 0x61, + 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, + 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x20, 0x00, + 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x22, 0x92, 0x01, 0x0a, 0x10, 0x54, 0x61, + 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, + 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x1a, 0x3f, 0x0a, + 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x32, 0x71, + 0x0a, 0x0e, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x5f, 0x0a, 0x08, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x23, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x88, 0x02, 0x01, 0x90, 0x02, 0x01, 0x30, + 0x01, 0x42, 0xce, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x13, 0x52, 0x75, + 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, + 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, + 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x4a, 0xa9, 0x07, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x26, 0x01, 0x0a, 0x08, 0x0a, + 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, + 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, + 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, + 0x00, 0x30, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x08, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, + 0x08, 0x0b, 0x12, 0x03, 0x08, 0x00, 0x4d, 0x0a, 0x46, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x0b, + 0x00, 0x11, 0x01, 0x1a, 0x3a, 0x20, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, + 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, + 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x0b, 0x08, 0x16, 0x0a, 0x42, 0x0a, 0x04, 0x06, + 0x00, 0x02, 0x00, 0x12, 0x04, 0x0d, 0x02, 0x10, 0x03, 0x1a, 0x34, 0x20, 0x44, 0x65, 0x70, 0x72, + 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x44, 0x61, 0x74, 0x61, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x69, + 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0d, 0x06, 0x0e, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x0d, 0x0f, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x0d, 0x29, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x0d, 0x30, 0x40, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, + 0x12, 0x03, 0x0e, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x00, 0x04, 0x21, 0x12, + 0x03, 0x0e, 0x04, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x0f, + 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x00, 0x04, 0x22, 0x12, 0x03, 0x0f, 0x04, + 0x2f, 0x0a, 0x2f, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x14, 0x00, 0x1a, 0x01, 0x1a, 0x23, 0x20, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x73, + 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x14, 0x08, 0x17, 0x0a, 0x1d, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x16, 0x02, 0x4f, 0x1a, 0x10, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x16, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x16, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x16, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, + 0x12, 0x03, 0x16, 0x28, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, + 0x19, 0x12, 0x03, 0x16, 0x29, 0x4d, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, + 0x19, 0x02, 0x3a, 0x1a, 0x15, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, + 0x74, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x01, 0x05, 0x12, 0x03, 0x19, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, + 0x01, 0x12, 0x03, 0x19, 0x09, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, + 0x03, 0x19, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x19, + 0x15, 0x39, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x01, 0x08, 0x87, 0x09, 0x05, 0x04, 0x12, + 0x03, 0x19, 0x16, 0x38, 0x0a, 0x2f, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x1d, 0x00, 0x26, 0x01, + 0x1a, 0x23, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x6c, + 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x1d, 0x08, + 0x18, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x01, 0x03, 0x00, 0x12, 0x04, 0x1f, 0x02, 0x22, 0x03, 0x1a, + 0x12, 0x20, 0x41, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, 0x67, + 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x03, 0x00, 0x01, 0x12, 0x03, 0x1f, 0x0a, + 0x0e, 0x0a, 0x26, 0x0a, 0x06, 0x04, 0x01, 0x03, 0x00, 0x02, 0x00, 0x12, 0x03, 0x21, 0x04, 0x38, + 0x1a, 0x17, 0x20, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x20, 0x6c, 0x6f, + 0x67, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, + 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x21, 0x04, 0x0c, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, + 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x21, 0x0d, 0x2d, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, + 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x21, 0x2e, 0x33, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, + 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x21, 0x36, 0x37, 0x0a, 0x2b, 0x0a, 0x04, 0x04, 0x01, 0x02, + 0x00, 0x12, 0x03, 0x25, 0x02, 0x19, 0x1a, 0x1e, 0x20, 0x4f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, + 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, + 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x04, 0x12, + 0x03, 0x25, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x25, + 0x0b, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x25, 0x10, 0x14, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x25, 0x17, 0x18, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xa1, 0x26, 0x0a, 0x2b, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x1a, 0x21, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x5f, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 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, 0x22, 0xcb, + 0x02, 0x0a, 0x1f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, + 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x52, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x12, 0x39, 0x0a, 0x09, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x09, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, + 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x55, 0x72, 0x69, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x48, 0x00, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, + 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x4f, 0x0a, 0x20, + 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, + 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 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, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x4e, 0x0a, + 0x1f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, + 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 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, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, + 0x20, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, + 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x52, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x22, 0x58, 0x0a, 0x1f, 0x54, + 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, + 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, + 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, + 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x74, 0x61, 0x73, + 0x6b, 0x53, 0x70, 0x65, 0x63, 0x22, 0x4f, 0x0a, 0x20, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, + 0x63, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 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, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x4e, 0x0a, 0x1f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, - 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, - 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x73, 0x6f, - 0x6e, 0x18, 0x01, 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, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, 0x20, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, - 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, - 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6c, 0x69, - 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4e, 0x61, - 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x08, 0x6c, 0x69, 0x74, 0x65, - 0x72, 0x61, 0x6c, 0x73, 0x22, 0x58, 0x0a, 0x1f, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, - 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, - 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, - 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x22, 0x4f, - 0x0a, 0x20, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, - 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 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, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x22, - 0x89, 0x01, 0x0a, 0x1b, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x54, 0x6f, - 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x39, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x52, - 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 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, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x58, 0x0a, 0x1c, 0x4a, - 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, - 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6c, - 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4e, - 0x61, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x08, 0x6c, 0x69, 0x74, - 0x65, 0x72, 0x61, 0x6c, 0x73, 0x32, 0xba, 0x04, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, - 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x18, - 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, - 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, - 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, - 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, - 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x8a, 0x01, 0x0a, 0x18, 0x4c, 0x61, 0x75, - 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4c, 0x69, 0x74, - 0x65, 0x72, 0x61, 0x6c, 0x73, 0x12, 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, - 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, - 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, - 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, - 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x8a, 0x01, 0x0a, 0x18, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, - 0x65, 0x63, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, - 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, - 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x73, - 0x6b, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, - 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, - 0x02, 0x01, 0x12, 0x7e, 0x0a, 0x14, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, - 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, - 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x69, 0x74, - 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, - 0x02, 0x01, 0x42, 0xd1, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x16, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, - 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, - 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xc2, 0x16, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x5b, - 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, - 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x2b, - 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x02, 0x12, 0x03, 0x06, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, - 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x26, 0x0a, 0x08, 0x0a, 0x01, - 0x08, 0x12, 0x03, 0x0a, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x0a, 0x00, - 0x4d, 0x0a, 0x6e, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x0d, 0x00, 0x1a, 0x01, 0x1a, 0x62, 0x20, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, - 0x64, 0x69, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x0d, 0x08, 0x19, 0x0a, 0x0c, 0x0a, - 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x0e, 0x02, 0x10, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0e, 0x06, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x00, 0x02, 0x12, 0x03, 0x0e, 0x1f, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, - 0x12, 0x03, 0x0e, 0x49, 0x69, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, - 0x0f, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x00, 0x04, 0x22, 0x12, 0x03, 0x0f, - 0x04, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x04, 0x11, 0x02, 0x13, 0x03, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x11, 0x06, 0x1e, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x11, 0x1f, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x11, 0x49, 0x69, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x01, 0x04, 0x12, 0x03, 0x12, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x01, - 0x04, 0x22, 0x12, 0x03, 0x12, 0x04, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, - 0x04, 0x14, 0x02, 0x16, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, - 0x14, 0x06, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x14, 0x1f, - 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x14, 0x49, 0x69, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x15, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, - 0x06, 0x06, 0x00, 0x02, 0x02, 0x04, 0x22, 0x12, 0x03, 0x15, 0x04, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, - 0x06, 0x00, 0x02, 0x03, 0x12, 0x04, 0x17, 0x02, 0x19, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x03, 0x01, 0x12, 0x03, 0x17, 0x06, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, - 0x02, 0x12, 0x03, 0x17, 0x1b, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, - 0x03, 0x17, 0x41, 0x5d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x03, 0x18, - 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x03, 0x04, 0x22, 0x12, 0x03, 0x18, 0x04, - 0x2f, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x1c, 0x00, 0x35, 0x01, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x1c, 0x08, 0x27, 0x0a, 0x51, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x00, 0x12, 0x03, 0x1e, 0x02, 0x2a, 0x1a, 0x44, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, - 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, - 0x20, 0x74, 0x6f, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x2e, 0x20, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, - 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x5f, - 0x75, 0x72, 0x69, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x1e, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x00, 0x06, 0x12, 0x03, 0x1e, 0x0b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, - 0x01, 0x12, 0x03, 0x1e, 0x1d, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, - 0x03, 0x1e, 0x28, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x1f, 0x02, - 0x2b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x1f, 0x02, 0x1c, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1f, 0x1d, 0x26, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1f, 0x29, 0x2a, 0x0a, 0xeb, 0x02, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x26, 0x02, 0x1a, 0x1a, 0xdd, 0x02, 0x20, 0x52, 0x61, 0x77, - 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x55, 0x52, - 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2c, - 0x20, 0x61, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x0a, - 0x20, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x20, - 0x28, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x20, 0x2f, 0x20, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x29, 0x2e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x0a, 0x20, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x3a, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x2c, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x72, 0x65, 0x61, - 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, - 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x69, 0x6e, 0x73, - 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x0a, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2c, 0x20, - 0x61, 0x76, 0x6f, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x72, 0x6f, 0x75, 0x6e, 0x64, - 0x20, 0x74, 0x72, 0x69, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x20, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x73, 0x0a, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x20, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, - 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x02, 0x05, 0x12, 0x03, 0x26, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, - 0x12, 0x03, 0x26, 0x09, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, - 0x26, 0x18, 0x19, 0x0a, 0x81, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x00, 0x12, 0x04, 0x2a, 0x02, - 0x34, 0x03, 0x1a, 0x73, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, - 0x61, 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x2e, 0x20, - 0x4c, 0x65, 0x61, 0x76, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x0a, 0x20, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x60, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x60, 0x20, 0x69, 0x6e, - 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, - 0x12, 0x03, 0x2a, 0x08, 0x0d, 0x0a, 0xa9, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, - 0x2e, 0x04, 0x2a, 0x1a, 0x9b, 0x01, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x6f, 0x77, 0x6e, 0x73, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x5f, - 0x75, 0x72, 0x69, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x77, 0x68, - 0x65, 0x6e, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x0a, - 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x3b, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x52, 0x49, - 0x20, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x67, - 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x27, 0x73, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x55, 0x52, 0x49, 0x73, 0x20, 0x62, 0x65, 0x66, - 0x6f, 0x72, 0x65, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x72, 0x65, 0x61, 0x64, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x2e, 0x04, 0x1b, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x2e, 0x1c, 0x25, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x2e, 0x28, 0x29, 0x0a, 0xd8, 0x01, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x33, 0x04, 0x2c, 0x1a, 0xca, 0x01, 0x20, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x61, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, - 0x62, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, - 0x65, 0x0a, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x73, - 0x20, 0x75, 0x70, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x27, - 0x73, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, - 0x74, 0x20, 0x55, 0x52, 0x49, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x69, 0x74, 0x73, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x69, - 0x74, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x6c, - 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x69, 0x74, 0x65, - 0x72, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x20, 0x61, 0x72, 0x65, 0x20, 0x69, 0x67, 0x6e, - 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, - 0x03, 0x33, 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x33, - 0x1d, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x33, 0x2a, 0x2b, - 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x37, 0x00, 0x3a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, - 0x04, 0x01, 0x01, 0x12, 0x03, 0x37, 0x08, 0x28, 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, - 0x12, 0x03, 0x39, 0x02, 0x22, 0x1a, 0x1c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, - 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x39, 0x02, - 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x39, 0x19, 0x1d, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x39, 0x20, 0x21, 0x0a, 0x0a, 0x0a, - 0x02, 0x04, 0x02, 0x12, 0x04, 0x3c, 0x00, 0x3f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, - 0x12, 0x03, 0x3c, 0x08, 0x27, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x3e, - 0x02, 0x22, 0x1a, 0x29, 0x20, 0x54, 0x68, 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, - 0x74, 0x6f, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x3e, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x3e, 0x19, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x00, 0x03, 0x12, 0x03, 0x3e, 0x20, 0x21, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x41, - 0x00, 0x44, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x41, 0x08, 0x28, 0x0a, - 0x3b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x43, 0x02, 0x2a, 0x1a, 0x2e, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4a, - 0x53, 0x4f, 0x4e, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, 0x03, 0x43, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x00, 0x06, 0x12, 0x03, 0x43, 0x0b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, - 0x01, 0x12, 0x03, 0x43, 0x1d, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, - 0x03, 0x43, 0x28, 0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x46, 0x00, 0x4a, 0x01, - 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x46, 0x08, 0x27, 0x0a, 0x5f, 0x0a, 0x04, - 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x49, 0x02, 0x28, 0x1a, 0x52, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x2e, 0x0a, 0x20, 0x4d, - 0x65, 0x72, 0x67, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x03, 0x49, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x49, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x00, 0x03, 0x12, 0x03, 0x49, 0x26, 0x27, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x4c, - 0x00, 0x4f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x4c, 0x08, 0x28, 0x0a, - 0x2a, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, 0x4e, 0x02, 0x22, 0x1a, 0x1d, 0x20, 0x54, + 0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x4a, 0x73, 0x6f, 0x6e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 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, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x22, 0x58, 0x0a, 0x1c, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x52, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x32, 0xba, 0x04, 0x0a, + 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x54, + 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x12, + 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x54, 0x6f, 0x4c, + 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, + 0x8a, 0x01, 0x0a, 0x18, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, + 0x6f, 0x6e, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x12, 0x33, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, + 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x34, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, + 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x8a, 0x01, 0x0a, + 0x18, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, + 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, + 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, + 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x4c, 0x61, + 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x7e, 0x0a, 0x14, 0x4a, 0x73, 0x6f, + 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, + 0x73, 0x12, 0x2f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x42, 0xd1, 0x01, 0x0a, 0x16, 0x63, 0x6f, + 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x16, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, + 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xc2, 0x16, + 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x5b, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, + 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, + 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, + 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x25, 0x0a, 0x09, 0x0a, + 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, + 0x08, 0x00, 0x26, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x0a, 0x00, 0x4d, 0x0a, 0x09, 0x0a, + 0x02, 0x08, 0x0b, 0x12, 0x03, 0x0a, 0x00, 0x4d, 0x0a, 0x6e, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, + 0x0d, 0x00, 0x1a, 0x01, 0x1a, 0x62, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, + 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x64, 0x69, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, + 0x03, 0x0d, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x0e, 0x02, + 0x10, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0e, 0x06, 0x1e, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x0e, 0x1f, 0x3e, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0e, 0x49, 0x69, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x0f, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, + 0x02, 0x00, 0x04, 0x22, 0x12, 0x03, 0x0f, 0x04, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, + 0x01, 0x12, 0x04, 0x11, 0x02, 0x13, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, + 0x12, 0x03, 0x11, 0x06, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, + 0x11, 0x1f, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x11, 0x49, + 0x69, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, 0x12, 0x04, 0x2f, 0x0a, + 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x01, 0x04, 0x22, 0x12, 0x03, 0x12, 0x04, 0x2f, 0x0a, 0x0c, + 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x04, 0x14, 0x02, 0x16, 0x03, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x14, 0x06, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x02, 0x02, 0x12, 0x03, 0x14, 0x1f, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, + 0x03, 0x12, 0x03, 0x14, 0x49, 0x69, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, + 0x03, 0x15, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x02, 0x04, 0x22, 0x12, 0x03, + 0x15, 0x04, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, 0x12, 0x04, 0x17, 0x02, 0x19, + 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x17, 0x06, 0x1a, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x17, 0x1b, 0x36, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x17, 0x41, 0x5d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x03, 0x04, 0x12, 0x03, 0x18, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, + 0x03, 0x04, 0x22, 0x12, 0x03, 0x18, 0x04, 0x2f, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, + 0x1c, 0x00, 0x35, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x1c, 0x08, 0x27, + 0x0a, 0x51, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x1e, 0x02, 0x2a, 0x1a, 0x44, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x2e, + 0x20, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x6c, 0x69, + 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, + 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x1e, 0x02, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x1e, 0x0b, 0x1c, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x1e, 0x1d, 0x25, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1e, 0x28, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, + 0x00, 0x02, 0x01, 0x12, 0x03, 0x1f, 0x02, 0x2b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, + 0x06, 0x12, 0x03, 0x1f, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, + 0x03, 0x1f, 0x1d, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1f, + 0x29, 0x2a, 0x0a, 0xeb, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x26, 0x02, 0x1a, + 0x1a, 0xdd, 0x02, 0x20, 0x52, 0x61, 0x77, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x20, 0x55, 0x52, 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x66, + 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x69, + 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2c, 0x20, 0x61, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x0a, 0x20, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x20, 0x28, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, + 0x72, 0x69, 0x20, 0x2f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, + 0x29, 0x2e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x0a, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x3a, 0x20, 0x77, 0x68, + 0x65, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, + 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x0a, 0x20, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x20, 0x69, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2c, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x20, + 0x61, 0x20, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x72, 0x69, 0x70, 0x20, 0x6f, 0x66, 0x20, + 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x6c, 0x61, 0x72, 0x67, + 0x65, 0x20, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x0a, 0x20, 0x74, 0x68, 0x72, 0x6f, + 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x20, + 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x26, 0x02, 0x08, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x26, 0x09, 0x15, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x26, 0x18, 0x19, 0x0a, 0x81, 0x01, 0x0a, 0x04, 0x04, + 0x00, 0x08, 0x00, 0x12, 0x04, 0x2a, 0x02, 0x34, 0x03, 0x1a, 0x73, 0x20, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, + 0x64, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x74, 0x2e, 0x20, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x20, 0x75, 0x6e, 0x73, + 0x65, 0x74, 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x60, 0x6c, 0x69, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x73, 0x60, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, 0x12, 0x03, 0x2a, 0x08, 0x0d, 0x0a, 0xa9, 0x01, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x2e, 0x04, 0x2a, 0x1a, 0x9b, 0x01, 0x20, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6f, 0x77, 0x6e, 0x73, 0x20, 0x6c, 0x69, + 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x0a, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x3b, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x55, 0x52, 0x49, 0x20, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x55, + 0x52, 0x49, 0x73, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, + 0x0a, 0x20, 0x72, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, + 0x06, 0x12, 0x03, 0x2e, 0x04, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, + 0x03, 0x2e, 0x1c, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x2e, + 0x28, 0x29, 0x0a, 0xd8, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x33, 0x04, 0x2c, + 0x1a, 0xca, 0x01, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x61, + 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x6f, + 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, + 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x73, 0x20, 0x75, 0x70, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x27, 0x73, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x55, 0x52, 0x49, 0x20, 0x66, 0x72, 0x6f, + 0x6d, 0x20, 0x69, 0x74, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, + 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x69, 0x74, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, + 0x79, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x20, + 0x61, 0x72, 0x65, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x33, 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x33, 0x1d, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x04, 0x03, 0x12, 0x03, 0x33, 0x2a, 0x2b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x37, + 0x00, 0x3a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x37, 0x08, 0x28, 0x0a, + 0x29, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x39, 0x02, 0x22, 0x1a, 0x1c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x00, 0x06, 0x12, 0x03, 0x4e, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, - 0x00, 0x01, 0x12, 0x03, 0x4e, 0x19, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, - 0x12, 0x03, 0x4e, 0x20, 0x21, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x04, 0x51, 0x00, 0x56, - 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x03, 0x51, 0x08, 0x23, 0x0a, 0x54, 0x0a, - 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x53, 0x02, 0x2b, 0x1a, 0x47, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x20, 0x28, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x29, 0x20, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, - 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x03, 0x53, 0x02, - 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x03, 0x53, 0x1d, 0x26, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x03, 0x53, 0x29, 0x2a, 0x0a, 0x3a, 0x0a, - 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x03, 0x55, 0x02, 0x24, 0x1a, 0x2d, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x72, 0x61, 0x77, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x6c, - 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x01, 0x06, 0x12, 0x03, 0x55, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, - 0x12, 0x03, 0x55, 0x19, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x03, - 0x55, 0x22, 0x23, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x04, 0x58, 0x00, 0x5b, 0x01, 0x0a, - 0x0a, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x03, 0x58, 0x08, 0x24, 0x0a, 0x56, 0x0a, 0x04, 0x04, - 0x07, 0x02, 0x00, 0x12, 0x03, 0x5a, 0x02, 0x2a, 0x1a, 0x49, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, - 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x04, 0x12, 0x03, 0x5a, 0x02, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, 0x12, 0x03, 0x5a, 0x0b, 0x1c, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x03, 0x5a, 0x1d, 0x25, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x03, 0x5a, 0x28, 0x29, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x00, 0x06, 0x12, 0x03, 0x39, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x39, 0x19, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x39, 0x20, 0x21, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x3c, 0x00, 0x3f, 0x01, + 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x3c, 0x08, 0x27, 0x0a, 0x36, 0x0a, 0x04, + 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x3e, 0x02, 0x22, 0x1a, 0x29, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x74, 0x6f, 0x20, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x3e, + 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x3e, 0x19, 0x1d, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x3e, 0x20, 0x21, 0x0a, 0x0a, + 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x41, 0x00, 0x44, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, + 0x01, 0x12, 0x03, 0x41, 0x08, 0x28, 0x0a, 0x3b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, + 0x43, 0x02, 0x2a, 0x1a, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, + 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, 0x03, 0x43, 0x02, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x03, 0x43, 0x0b, 0x1c, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x43, 0x1d, 0x25, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x43, 0x28, 0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x04, + 0x04, 0x12, 0x04, 0x46, 0x00, 0x4a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, + 0x46, 0x08, 0x27, 0x0a, 0x5f, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x49, 0x02, 0x28, + 0x1a, 0x52, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, + 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x4a, + 0x53, 0x4f, 0x4e, 0x2e, 0x0a, 0x20, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x73, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x03, 0x49, + 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x49, 0x1a, 0x23, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x49, 0x26, 0x27, 0x0a, 0x0a, + 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x4c, 0x00, 0x4f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, + 0x01, 0x12, 0x03, 0x4c, 0x08, 0x28, 0x0a, 0x2a, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, + 0x4e, 0x02, 0x22, 0x1a, 0x1d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x03, 0x4e, 0x02, 0x18, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x4e, 0x19, 0x1d, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x4e, 0x20, 0x21, 0x0a, 0x0a, 0x0a, 0x02, + 0x04, 0x06, 0x12, 0x04, 0x51, 0x00, 0x56, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, + 0x03, 0x51, 0x08, 0x23, 0x0a, 0x54, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x53, 0x02, + 0x2b, 0x1a, 0x47, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x28, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x29, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x00, 0x06, 0x12, 0x03, 0x53, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x53, 0x1d, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x53, 0x29, 0x2a, 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x03, 0x55, 0x02, + 0x24, 0x1a, 0x2d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x61, 0x77, 0x20, 0x4a, 0x53, 0x4f, 0x4e, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x06, 0x12, 0x03, 0x55, 0x02, 0x18, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x03, 0x55, 0x19, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x03, 0x55, 0x22, 0x23, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x07, + 0x12, 0x04, 0x58, 0x00, 0x5b, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x03, 0x58, + 0x08, 0x24, 0x0a, 0x56, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x03, 0x5a, 0x02, 0x2a, 0x1a, + 0x49, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x75, 0x73, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, + 0x02, 0x00, 0x04, 0x12, 0x03, 0x5a, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, + 0x06, 0x12, 0x03, 0x5a, 0x0b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, + 0x03, 0x5a, 0x1d, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x03, 0x5a, + 0x28, 0x29, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("flyteidl2.workflow.tonic.rs"); // @@protoc_insertion_point(module) \ No newline at end of file diff --git a/gen/rust/src/flyteidl2.workflow.tonic.rs b/gen/rust/src/flyteidl2.workflow.tonic.rs index 02a880cd496..89c63da6b47 100644 --- a/gen/rust/src/flyteidl2.workflow.tonic.rs +++ b/gen/rust/src/flyteidl2.workflow.tonic.rs @@ -1476,15 +1476,15 @@ pub mod internal_run_service_server { } } /// Generated client implementations. -pub mod queue_service_client { +pub mod run_service_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; use tonic::codegen::http::Uri; #[derive(Debug, Clone)] - pub struct QueueServiceClient { + pub struct RunServiceClient { inner: tonic::client::Grpc, } - impl QueueServiceClient { + impl RunServiceClient { /// Attempt to create a new client by connecting to a given endpoint. pub async fn connect(dst: D) -> Result where @@ -1495,7 +1495,7 @@ pub mod queue_service_client { Ok(Self::new(conn)) } } - impl QueueServiceClient + impl RunServiceClient where T: tonic::client::GrpcService, T::Error: Into, @@ -1513,7 +1513,7 @@ pub mod queue_service_client { pub fn with_interceptor( inner: T, interceptor: F, - ) -> QueueServiceClient> + ) -> RunServiceClient> where F: tonic::service::Interceptor, T::ResponseBody: Default, @@ -1527,7 +1527,7 @@ pub mod queue_service_client { http::Request, >>::Error: Into + Send + Sync, { - QueueServiceClient::new(InterceptedService::new(inner, interceptor)) + RunServiceClient::new(InterceptedService::new(inner, interceptor)) } /// Compress requests with the given encoding. /// @@ -1560,11 +1560,11 @@ pub mod queue_service_client { self.inner = self.inner.max_encoding_message_size(limit); self } - pub async fn enqueue_action( + pub async fn create_run( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response, tonic::Status, > { self.inner @@ -1578,20 +1578,70 @@ pub mod queue_service_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.QueueService/EnqueueAction", + "/flyteidl2.workflow.RunService/CreateRun", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "CreateRun")); + self.inner.unary(req, path, codec).await + } + pub async fn abort_run( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunService/AbortRun", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "AbortRun")); + self.inner.unary(req, path, codec).await + } + pub async fn get_run_details( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunService/GetRunDetails", ); let mut req = request.into_request(); req.extensions_mut() .insert( - GrpcMethod::new("flyteidl2.workflow.QueueService", "EnqueueAction"), + GrpcMethod::new("flyteidl2.workflow.RunService", "GetRunDetails"), ); self.inner.unary(req, path, codec).await } - pub async fn abort_queued_run( + pub async fn watch_run_details( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response>, tonic::Status, > { self.inner @@ -1605,20 +1655,47 @@ pub mod queue_service_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.QueueService/AbortQueuedRun", + "/flyteidl2.workflow.RunService/WatchRunDetails", ); let mut req = request.into_request(); req.extensions_mut() .insert( - GrpcMethod::new("flyteidl2.workflow.QueueService", "AbortQueuedRun"), + GrpcMethod::new("flyteidl2.workflow.RunService", "WatchRunDetails"), + ); + self.inner.server_streaming(req, path, codec).await + } + pub async fn get_action_details( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunService/GetActionDetails", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("flyteidl2.workflow.RunService", "GetActionDetails"), ); self.inner.unary(req, path, codec).await } - pub async fn abort_queued_action( + pub async fn watch_action_details( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response>, tonic::Status, > { self.inner @@ -1632,436 +1709,486 @@ pub mod queue_service_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.QueueService/AbortQueuedAction", + "/flyteidl2.workflow.RunService/WatchActionDetails", ); let mut req = request.into_request(); req.extensions_mut() .insert( GrpcMethod::new( - "flyteidl2.workflow.QueueService", - "AbortQueuedAction", + "flyteidl2.workflow.RunService", + "WatchActionDetails", ), ); + self.inner.server_streaming(req, path, codec).await + } + pub async fn get_action_data( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunService/GetActionData", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("flyteidl2.workflow.RunService", "GetActionData"), + ); self.inner.unary(req, path, codec).await } - } -} -/// Generated server implementations. -pub mod queue_service_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueueServiceServer. - #[async_trait] - pub trait QueueService: Send + Sync + 'static { - async fn enqueue_action( - &self, - request: tonic::Request, + pub async fn list_runs( + &mut self, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response, tonic::Status, - >; - async fn abort_queued_run( - &self, - request: tonic::Request, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunService/ListRuns", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "ListRuns")); + self.inner.unary(req, path, codec).await + } + pub async fn watch_runs( + &mut self, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response>, tonic::Status, - >; - async fn abort_queued_action( - &self, - request: tonic::Request, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunService/WatchRuns", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "WatchRuns")); + self.inner.server_streaming(req, path, codec).await + } + pub async fn list_actions( + &mut self, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response, tonic::Status, - >; - } - #[derive(Debug)] - pub struct QueueServiceServer { - inner: Arc, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - impl QueueServiceServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunService/ListActions", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "ListActions")); + self.inner.unary(req, path, codec).await } - pub fn from_arc(inner: Arc) -> Self { - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } + pub async fn watch_actions( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response>, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunService/WatchActions", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("flyteidl2.workflow.RunService", "WatchActions"), + ); + self.inner.server_streaming(req, path, codec).await } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) + pub async fn watch_cluster_events( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response>, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunService/WatchClusterEvents", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "flyteidl2.workflow.RunService", + "WatchClusterEvents", + ), + ); + self.inner.server_streaming(req, path, codec).await } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self + pub async fn abort_action( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunService/AbortAction", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "AbortAction")); + self.inner.unary(req, path, codec).await } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(encoding); - self + pub async fn signal_event( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunService/SignalEvent", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "SignalEvent")); + self.inner.unary(req, path, codec).await } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.max_decoding_message_size = Some(limit); - self + pub async fn watch_groups( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response>, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunService/WatchGroups", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "WatchGroups")); + self.inner.server_streaming(req, path, codec).await } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.max_encoding_message_size = Some(limit); - self + pub async fn get_action_data_ur_is( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunService/GetActionDataURIs", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("flyteidl2.workflow.RunService", "GetActionDataURIs"), + ); + self.inner.unary(req, path, codec).await } - } - impl tonic::codegen::Service> for QueueServiceServer - where - T: QueueService, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( + pub async fn get_action_log_context( &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunService/GetActionLogContext", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "flyteidl2.workflow.RunService", + "GetActionLogContext", + ), + ); + self.inner.unary(req, path, codec).await } - fn call(&mut self, req: http::Request) -> Self::Future { - match req.uri().path() { - "/flyteidl2.workflow.QueueService/EnqueueAction" => { - #[allow(non_camel_case_types)] - struct EnqueueActionSvc(pub Arc); - impl< - T: QueueService, - > tonic::server::UnaryService - for EnqueueActionSvc { - type Response = super::EnqueueActionResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::enqueue_action(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = EnqueueActionSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/flyteidl2.workflow.QueueService/AbortQueuedRun" => { - #[allow(non_camel_case_types)] - struct AbortQueuedRunSvc(pub Arc); - impl< - T: QueueService, - > tonic::server::UnaryService - for AbortQueuedRunSvc { - type Response = super::AbortQueuedRunResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::abort_queued_run(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = AbortQueuedRunSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/flyteidl2.workflow.QueueService/AbortQueuedAction" => { - #[allow(non_camel_case_types)] - struct AbortQueuedActionSvc(pub Arc); - impl< - T: QueueService, - > tonic::server::UnaryService - for AbortQueuedActionSvc { - type Response = super::AbortQueuedActionResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::abort_queued_action(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = AbortQueuedActionSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", tonic::Code::Unimplemented as i32) - .header( - http::header::CONTENT_TYPE, - tonic::metadata::GRPC_CONTENT_TYPE, - ) - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueueServiceServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl tonic::server::NamedService for QueueServiceServer { - const NAME: &'static str = "flyteidl2.workflow.QueueService"; } } -/// Generated client implementations. -pub mod run_logs_service_client { +/// Generated server implementations. +pub mod run_service_server { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct RunLogsServiceClient { - inner: tonic::client::Grpc, - } - impl RunLogsServiceClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl RunLogsServiceClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + Send + 'static, - ::Error: Into + Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> RunLogsServiceClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - RunLogsServiceClient::new(InterceptedService::new(inner, interceptor)) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - pub async fn tail_logs( - &mut self, - request: impl tonic::IntoRequest, + /// Generated trait containing gRPC methods that should be implemented for use with RunServiceServer. + #[async_trait] + pub trait RunService: Send + Sync + 'static { + async fn create_run( + &self, + request: tonic::Request, ) -> std::result::Result< - tonic::Response>, + tonic::Response, tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunLogsService/TailLogs", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("flyteidl2.workflow.RunLogsService", "TailLogs"), - ); - self.inner.server_streaming(req, path, codec).await - } - } -} -/// Generated server implementations. -pub mod run_logs_service_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with RunLogsServiceServer. - #[async_trait] - pub trait RunLogsService: Send + Sync + 'static { - /// Server streaming response type for the TailLogs method. - type TailLogsStream: tonic::codegen::tokio_stream::Stream< - Item = std::result::Result, + >; + async fn abort_run( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn get_run_details( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Server streaming response type for the WatchRunDetails method. + type WatchRunDetailsStream: tonic::codegen::tokio_stream::Stream< + Item = std::result::Result, > + Send + 'static; - async fn tail_logs( + async fn watch_run_details( &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn get_action_details( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Server streaming response type for the WatchActionDetails method. + type WatchActionDetailsStream: tonic::codegen::tokio_stream::Stream< + Item = std::result::Result< + super::WatchActionDetailsResponse, + tonic::Status, + >, + > + + Send + + 'static; + async fn watch_action_details( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn get_action_data( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn list_runs( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Server streaming response type for the WatchRuns method. + type WatchRunsStream: tonic::codegen::tokio_stream::Stream< + Item = std::result::Result, + > + + Send + + 'static; + async fn watch_runs( + &self, + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; + async fn list_actions( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Server streaming response type for the WatchActions method. + type WatchActionsStream: tonic::codegen::tokio_stream::Stream< + Item = std::result::Result, + > + + Send + + 'static; + async fn watch_actions( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Server streaming response type for the WatchClusterEvents method. + type WatchClusterEventsStream: tonic::codegen::tokio_stream::Stream< + Item = std::result::Result< + super::WatchClusterEventsResponse, + tonic::Status, + >, + > + + Send + + 'static; + async fn watch_cluster_events( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn abort_action( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn signal_event( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Server streaming response type for the WatchGroups method. + type WatchGroupsStream: tonic::codegen::tokio_stream::Stream< + Item = std::result::Result, + > + + Send + + 'static; + async fn watch_groups( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn get_action_data_ur_is( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn get_action_log_context( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; } #[derive(Debug)] - pub struct RunLogsServiceServer { + pub struct RunServiceServer { inner: Arc, accept_compression_encodings: EnabledCompressionEncodings, send_compression_encodings: EnabledCompressionEncodings, max_decoding_message_size: Option, max_encoding_message_size: Option, } - impl RunLogsServiceServer { + impl RunServiceServer { pub fn new(inner: T) -> Self { Self::from_arc(Arc::new(inner)) } @@ -2112,9 +2239,9 @@ pub mod run_logs_service_server { self } } - impl tonic::codegen::Service> for RunLogsServiceServer + impl tonic::codegen::Service> for RunServiceServer where - T: RunLogsService, + T: RunService, B: Body + Send + 'static, B::Error: Into + Send + 'static, { @@ -2129,26 +2256,25 @@ pub mod run_logs_service_server { } fn call(&mut self, req: http::Request) -> Self::Future { match req.uri().path() { - "/flyteidl2.workflow.RunLogsService/TailLogs" => { + "/flyteidl2.workflow.RunService/CreateRun" => { #[allow(non_camel_case_types)] - struct TailLogsSvc(pub Arc); + struct CreateRunSvc(pub Arc); impl< - T: RunLogsService, - > tonic::server::ServerStreamingService - for TailLogsSvc { - type Response = super::TailLogsResponse; - type ResponseStream = T::TailLogsStream; + T: RunService, + > tonic::server::UnaryService + for CreateRunSvc { + type Response = super::CreateRunResponse; type Future = BoxFuture< - tonic::Response, + tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::tail_logs(&inner, request).await + ::create_run(&inner, request).await }; Box::pin(fut) } @@ -2159,7 +2285,7 @@ pub mod run_logs_service_server { let max_encoding_message_size = self.max_encoding_message_size; let inner = self.inner.clone(); let fut = async move { - let method = TailLogsSvc(inner); + let method = CreateRunSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -2170,67 +2296,800 @@ pub mod run_logs_service_server { max_decoding_message_size, max_encoding_message_size, ); - let res = grpc.server_streaming(method, req).await; + let res = grpc.unary(method, req).await; Ok(res) }; Box::pin(fut) } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", tonic::Code::Unimplemented as i32) - .header( - http::header::CONTENT_TYPE, - tonic::metadata::GRPC_CONTENT_TYPE, - ) - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for RunLogsServiceServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl tonic::server::NamedService for RunLogsServiceServer { - const NAME: &'static str = "flyteidl2.workflow.RunLogsService"; - } -} -/// Generated client implementations. -pub mod run_service_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct RunServiceClient { - inner: tonic::client::Grpc, - } - impl RunServiceClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl RunServiceClient - where + "/flyteidl2.workflow.RunService/AbortRun" => { + #[allow(non_camel_case_types)] + struct AbortRunSvc(pub Arc); + impl< + T: RunService, + > tonic::server::UnaryService + for AbortRunSvc { + type Response = super::AbortRunResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::abort_run(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = AbortRunSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/GetRunDetails" => { + #[allow(non_camel_case_types)] + struct GetRunDetailsSvc(pub Arc); + impl< + T: RunService, + > tonic::server::UnaryService + for GetRunDetailsSvc { + type Response = super::GetRunDetailsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_run_details(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = GetRunDetailsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/WatchRunDetails" => { + #[allow(non_camel_case_types)] + struct WatchRunDetailsSvc(pub Arc); + impl< + T: RunService, + > tonic::server::ServerStreamingService< + super::WatchRunDetailsRequest, + > for WatchRunDetailsSvc { + type Response = super::WatchRunDetailsResponse; + type ResponseStream = T::WatchRunDetailsStream; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::watch_run_details(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = WatchRunDetailsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.server_streaming(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/GetActionDetails" => { + #[allow(non_camel_case_types)] + struct GetActionDetailsSvc(pub Arc); + impl< + T: RunService, + > tonic::server::UnaryService + for GetActionDetailsSvc { + type Response = super::GetActionDetailsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_action_details(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = GetActionDetailsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/WatchActionDetails" => { + #[allow(non_camel_case_types)] + struct WatchActionDetailsSvc(pub Arc); + impl< + T: RunService, + > tonic::server::ServerStreamingService< + super::WatchActionDetailsRequest, + > for WatchActionDetailsSvc { + type Response = super::WatchActionDetailsResponse; + type ResponseStream = T::WatchActionDetailsStream; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::watch_action_details(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = WatchActionDetailsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.server_streaming(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/GetActionData" => { + #[allow(non_camel_case_types)] + struct GetActionDataSvc(pub Arc); + impl< + T: RunService, + > tonic::server::UnaryService + for GetActionDataSvc { + type Response = super::GetActionDataResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_action_data(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = GetActionDataSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/ListRuns" => { + #[allow(non_camel_case_types)] + struct ListRunsSvc(pub Arc); + impl< + T: RunService, + > tonic::server::UnaryService + for ListRunsSvc { + type Response = super::ListRunsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::list_runs(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = ListRunsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/WatchRuns" => { + #[allow(non_camel_case_types)] + struct WatchRunsSvc(pub Arc); + impl< + T: RunService, + > tonic::server::ServerStreamingService + for WatchRunsSvc { + type Response = super::WatchRunsResponse; + type ResponseStream = T::WatchRunsStream; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::watch_runs(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = WatchRunsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.server_streaming(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/ListActions" => { + #[allow(non_camel_case_types)] + struct ListActionsSvc(pub Arc); + impl< + T: RunService, + > tonic::server::UnaryService + for ListActionsSvc { + type Response = super::ListActionsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::list_actions(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = ListActionsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/WatchActions" => { + #[allow(non_camel_case_types)] + struct WatchActionsSvc(pub Arc); + impl< + T: RunService, + > tonic::server::ServerStreamingService + for WatchActionsSvc { + type Response = super::WatchActionsResponse; + type ResponseStream = T::WatchActionsStream; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::watch_actions(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = WatchActionsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.server_streaming(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/WatchClusterEvents" => { + #[allow(non_camel_case_types)] + struct WatchClusterEventsSvc(pub Arc); + impl< + T: RunService, + > tonic::server::ServerStreamingService< + super::WatchClusterEventsRequest, + > for WatchClusterEventsSvc { + type Response = super::WatchClusterEventsResponse; + type ResponseStream = T::WatchClusterEventsStream; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::watch_cluster_events(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = WatchClusterEventsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.server_streaming(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/AbortAction" => { + #[allow(non_camel_case_types)] + struct AbortActionSvc(pub Arc); + impl< + T: RunService, + > tonic::server::UnaryService + for AbortActionSvc { + type Response = super::AbortActionResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::abort_action(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = AbortActionSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/SignalEvent" => { + #[allow(non_camel_case_types)] + struct SignalEventSvc(pub Arc); + impl< + T: RunService, + > tonic::server::UnaryService + for SignalEventSvc { + type Response = super::SignalEventResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::signal_event(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = SignalEventSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/WatchGroups" => { + #[allow(non_camel_case_types)] + struct WatchGroupsSvc(pub Arc); + impl< + T: RunService, + > tonic::server::ServerStreamingService + for WatchGroupsSvc { + type Response = super::WatchGroupsResponse; + type ResponseStream = T::WatchGroupsStream; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::watch_groups(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = WatchGroupsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.server_streaming(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/GetActionDataURIs" => { + #[allow(non_camel_case_types)] + struct GetActionDataURIsSvc(pub Arc); + impl< + T: RunService, + > tonic::server::UnaryService + for GetActionDataURIsSvc { + type Response = super::GetActionDataUrIsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_action_data_ur_is(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = GetActionDataURIsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.RunService/GetActionLogContext" => { + #[allow(non_camel_case_types)] + struct GetActionLogContextSvc(pub Arc); + impl< + T: RunService, + > tonic::server::UnaryService + for GetActionLogContextSvc { + type Response = super::GetActionLogContextResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_action_log_context(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = GetActionLogContextSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", tonic::Code::Unimplemented as i32) + .header( + http::header::CONTENT_TYPE, + tonic::metadata::GRPC_CONTENT_TYPE, + ) + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for RunServiceServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl tonic::server::NamedService for RunServiceServer { + const NAME: &'static str = "flyteidl2.workflow.RunService"; + } +} +/// Generated client implementations. +pub mod local_run_service_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + #[derive(Debug, Clone)] + pub struct LocalRunServiceClient { + inner: tonic::client::Grpc, + } + impl LocalRunServiceClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) + } + } + impl LocalRunServiceClient + where T: tonic::client::GrpcService, T::Error: Into, T::ResponseBody: Body + Send + 'static, @@ -2247,7 +3106,7 @@ pub mod run_service_client { pub fn with_interceptor( inner: T, interceptor: F, - ) -> RunServiceClient> + ) -> LocalRunServiceClient> where F: tonic::service::Interceptor, T::ResponseBody: Default, @@ -2261,7 +3120,7 @@ pub mod run_service_client { http::Request, >>::Error: Into + Send + Sync, { - RunServiceClient::new(InterceptedService::new(inner, interceptor)) + LocalRunServiceClient::new(InterceptedService::new(inner, interceptor)) } /// Compress requests with the given encoding. /// @@ -2296,7 +3155,7 @@ pub mod run_service_client { } pub async fn create_run( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< tonic::Response, tonic::Status, @@ -2312,18 +3171,20 @@ pub mod run_service_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/CreateRun", + "/flyteidl2.workflow.LocalRunService/CreateRun", ); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "CreateRun")); + .insert( + GrpcMethod::new("flyteidl2.workflow.LocalRunService", "CreateRun"), + ); self.inner.unary(req, path, codec).await } - pub async fn abort_run( + pub async fn report_actions( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response, tonic::Status, > { self.inner @@ -2337,11 +3198,16 @@ pub mod run_service_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/AbortRun", + "/flyteidl2.workflow.LocalRunService/ReportActions", ); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "AbortRun")); + .insert( + GrpcMethod::new( + "flyteidl2.workflow.LocalRunService", + "ReportActions", + ), + ); self.inner.unary(req, path, codec).await } pub async fn get_run_details( @@ -2362,12 +3228,15 @@ pub mod run_service_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/GetRunDetails", + "/flyteidl2.workflow.LocalRunService/GetRunDetails", ); let mut req = request.into_request(); req.extensions_mut() .insert( - GrpcMethod::new("flyteidl2.workflow.RunService", "GetRunDetails"), + GrpcMethod::new( + "flyteidl2.workflow.LocalRunService", + "GetRunDetails", + ), ); self.inner.unary(req, path, codec).await } @@ -2389,12 +3258,15 @@ pub mod run_service_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/WatchRunDetails", + "/flyteidl2.workflow.LocalRunService/WatchRunDetails", ); let mut req = request.into_request(); req.extensions_mut() .insert( - GrpcMethod::new("flyteidl2.workflow.RunService", "WatchRunDetails"), + GrpcMethod::new( + "flyteidl2.workflow.LocalRunService", + "WatchRunDetails", + ), ); self.inner.server_streaming(req, path, codec).await } @@ -2416,12 +3288,15 @@ pub mod run_service_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/GetActionDetails", + "/flyteidl2.workflow.LocalRunService/GetActionDetails", ); let mut req = request.into_request(); req.extensions_mut() .insert( - GrpcMethod::new("flyteidl2.workflow.RunService", "GetActionDetails"), + GrpcMethod::new( + "flyteidl2.workflow.LocalRunService", + "GetActionDetails", + ), ); self.inner.unary(req, path, codec).await } @@ -2443,45 +3318,18 @@ pub mod run_service_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/WatchActionDetails", + "/flyteidl2.workflow.LocalRunService/WatchActionDetails", ); let mut req = request.into_request(); req.extensions_mut() .insert( GrpcMethod::new( - "flyteidl2.workflow.RunService", + "flyteidl2.workflow.LocalRunService", "WatchActionDetails", ), ); self.inner.server_streaming(req, path, codec).await } - pub async fn get_action_data( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/GetActionData", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("flyteidl2.workflow.RunService", "GetActionData"), - ); - self.inner.unary(req, path, codec).await - } pub async fn list_runs( &mut self, request: impl tonic::IntoRequest, @@ -2500,11 +3348,13 @@ pub mod run_service_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/ListRuns", + "/flyteidl2.workflow.LocalRunService/ListRuns", ); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "ListRuns")); + .insert( + GrpcMethod::new("flyteidl2.workflow.LocalRunService", "ListRuns"), + ); self.inner.unary(req, path, codec).await } pub async fn watch_runs( @@ -2525,11 +3375,13 @@ pub mod run_service_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/WatchRuns", + "/flyteidl2.workflow.LocalRunService/WatchRuns", ); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "WatchRuns")); + .insert( + GrpcMethod::new("flyteidl2.workflow.LocalRunService", "WatchRuns"), + ); self.inner.server_streaming(req, path, codec).await } pub async fn list_actions( @@ -2550,177 +3402,20 @@ pub mod run_service_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/ListActions", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "ListActions")); - self.inner.unary(req, path, codec).await - } - pub async fn watch_actions( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response>, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/WatchActions", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("flyteidl2.workflow.RunService", "WatchActions"), - ); - self.inner.server_streaming(req, path, codec).await - } - pub async fn watch_cluster_events( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response>, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/WatchClusterEvents", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "flyteidl2.workflow.RunService", - "WatchClusterEvents", - ), - ); - self.inner.server_streaming(req, path, codec).await - } - pub async fn abort_action( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/AbortAction", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "AbortAction")); - self.inner.unary(req, path, codec).await - } - pub async fn signal_event( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/SignalEvent", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "SignalEvent")); - self.inner.unary(req, path, codec).await - } - pub async fn watch_groups( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response>, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/WatchGroups", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("flyteidl2.workflow.RunService", "WatchGroups")); - self.inner.server_streaming(req, path, codec).await - } - pub async fn get_action_data_ur_is( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/GetActionDataURIs", + "/flyteidl2.workflow.LocalRunService/ListActions", ); let mut req = request.into_request(); req.extensions_mut() .insert( - GrpcMethod::new("flyteidl2.workflow.RunService", "GetActionDataURIs"), + GrpcMethod::new("flyteidl2.workflow.LocalRunService", "ListActions"), ); self.inner.unary(req, path, codec).await } - pub async fn get_action_log_context( + pub async fn watch_actions( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response>, tonic::Status, > { self.inner @@ -2734,39 +3429,36 @@ pub mod run_service_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.workflow.RunService/GetActionLogContext", + "/flyteidl2.workflow.LocalRunService/WatchActions", ); let mut req = request.into_request(); req.extensions_mut() .insert( - GrpcMethod::new( - "flyteidl2.workflow.RunService", - "GetActionLogContext", - ), + GrpcMethod::new("flyteidl2.workflow.LocalRunService", "WatchActions"), ); - self.inner.unary(req, path, codec).await + self.inner.server_streaming(req, path, codec).await } } } /// Generated server implementations. -pub mod run_service_server { +pub mod local_run_service_server { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with RunServiceServer. + /// Generated trait containing gRPC methods that should be implemented for use with LocalRunServiceServer. #[async_trait] - pub trait RunService: Send + Sync + 'static { + pub trait LocalRunService: Send + Sync + 'static { async fn create_run( &self, - request: tonic::Request, + request: tonic::Request, ) -> std::result::Result< tonic::Response, tonic::Status, >; - async fn abort_run( + async fn report_actions( &self, - request: tonic::Request, + request: tonic::Request, ) -> std::result::Result< - tonic::Response, + tonic::Response, tonic::Status, >; async fn get_run_details( @@ -2812,13 +3504,6 @@ pub mod run_service_server { tonic::Response, tonic::Status, >; - async fn get_action_data( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; async fn list_runs( &self, request: tonic::Request, @@ -2856,73 +3541,16 @@ pub mod run_service_server { tonic::Response, tonic::Status, >; - /// Server streaming response type for the WatchClusterEvents method. - type WatchClusterEventsStream: tonic::codegen::tokio_stream::Stream< - Item = std::result::Result< - super::WatchClusterEventsResponse, - tonic::Status, - >, - > - + Send - + 'static; - async fn watch_cluster_events( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn abort_action( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn signal_event( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Server streaming response type for the WatchGroups method. - type WatchGroupsStream: tonic::codegen::tokio_stream::Stream< - Item = std::result::Result, - > - + Send - + 'static; - async fn watch_groups( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn get_action_data_ur_is( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn get_action_log_context( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; } #[derive(Debug)] - pub struct RunServiceServer { + pub struct LocalRunServiceServer { inner: Arc, accept_compression_encodings: EnabledCompressionEncodings, send_compression_encodings: EnabledCompressionEncodings, max_decoding_message_size: Option, max_encoding_message_size: Option, } - impl RunServiceServer { + impl LocalRunServiceServer { pub fn new(inner: T) -> Self { Self::from_arc(Arc::new(inner)) } @@ -2973,9 +3601,9 @@ pub mod run_service_server { self } } - impl tonic::codegen::Service> for RunServiceServer + impl tonic::codegen::Service> for LocalRunServiceServer where - T: RunService, + T: LocalRunService, B: Body + Send + 'static, B::Error: Into + Send + 'static, { @@ -2990,12 +3618,12 @@ pub mod run_service_server { } fn call(&mut self, req: http::Request) -> Self::Future { match req.uri().path() { - "/flyteidl2.workflow.RunService/CreateRun" => { + "/flyteidl2.workflow.LocalRunService/CreateRun" => { #[allow(non_camel_case_types)] - struct CreateRunSvc(pub Arc); + struct CreateRunSvc(pub Arc); impl< - T: RunService, - > tonic::server::UnaryService + T: LocalRunService, + > tonic::server::UnaryService for CreateRunSvc { type Response = super::CreateRunResponse; type Future = BoxFuture< @@ -3004,11 +3632,11 @@ pub mod run_service_server { >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::create_run(&inner, request).await + ::create_run(&inner, request).await }; Box::pin(fut) } @@ -3035,25 +3663,26 @@ pub mod run_service_server { }; Box::pin(fut) } - "/flyteidl2.workflow.RunService/AbortRun" => { + "/flyteidl2.workflow.LocalRunService/ReportActions" => { #[allow(non_camel_case_types)] - struct AbortRunSvc(pub Arc); + struct ReportActionsSvc(pub Arc); impl< - T: RunService, - > tonic::server::UnaryService - for AbortRunSvc { - type Response = super::AbortRunResponse; + T: LocalRunService, + > tonic::server::UnaryService + for ReportActionsSvc { + type Response = super::ReportLocalActionsResponse; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::abort_run(&inner, request).await + ::report_actions(&inner, request) + .await }; Box::pin(fut) } @@ -3064,7 +3693,7 @@ pub mod run_service_server { let max_encoding_message_size = self.max_encoding_message_size; let inner = self.inner.clone(); let fut = async move { - let method = AbortRunSvc(inner); + let method = ReportActionsSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -3080,11 +3709,11 @@ pub mod run_service_server { }; Box::pin(fut) } - "/flyteidl2.workflow.RunService/GetRunDetails" => { + "/flyteidl2.workflow.LocalRunService/GetRunDetails" => { #[allow(non_camel_case_types)] - struct GetRunDetailsSvc(pub Arc); + struct GetRunDetailsSvc(pub Arc); impl< - T: RunService, + T: LocalRunService, > tonic::server::UnaryService for GetRunDetailsSvc { type Response = super::GetRunDetailsResponse; @@ -3098,7 +3727,8 @@ pub mod run_service_server { ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::get_run_details(&inner, request).await + ::get_run_details(&inner, request) + .await }; Box::pin(fut) } @@ -3125,11 +3755,11 @@ pub mod run_service_server { }; Box::pin(fut) } - "/flyteidl2.workflow.RunService/WatchRunDetails" => { + "/flyteidl2.workflow.LocalRunService/WatchRunDetails" => { #[allow(non_camel_case_types)] - struct WatchRunDetailsSvc(pub Arc); + struct WatchRunDetailsSvc(pub Arc); impl< - T: RunService, + T: LocalRunService, > tonic::server::ServerStreamingService< super::WatchRunDetailsRequest, > for WatchRunDetailsSvc { @@ -3145,7 +3775,8 @@ pub mod run_service_server { ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::watch_run_details(&inner, request).await + ::watch_run_details(&inner, request) + .await }; Box::pin(fut) } @@ -3172,11 +3803,11 @@ pub mod run_service_server { }; Box::pin(fut) } - "/flyteidl2.workflow.RunService/GetActionDetails" => { + "/flyteidl2.workflow.LocalRunService/GetActionDetails" => { #[allow(non_camel_case_types)] - struct GetActionDetailsSvc(pub Arc); + struct GetActionDetailsSvc(pub Arc); impl< - T: RunService, + T: LocalRunService, > tonic::server::UnaryService for GetActionDetailsSvc { type Response = super::GetActionDetailsResponse; @@ -3190,7 +3821,8 @@ pub mod run_service_server { ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::get_action_details(&inner, request).await + ::get_action_details(&inner, request) + .await }; Box::pin(fut) } @@ -3217,11 +3849,11 @@ pub mod run_service_server { }; Box::pin(fut) } - "/flyteidl2.workflow.RunService/WatchActionDetails" => { + "/flyteidl2.workflow.LocalRunService/WatchActionDetails" => { #[allow(non_camel_case_types)] - struct WatchActionDetailsSvc(pub Arc); + struct WatchActionDetailsSvc(pub Arc); impl< - T: RunService, + T: LocalRunService, > tonic::server::ServerStreamingService< super::WatchActionDetailsRequest, > for WatchActionDetailsSvc { @@ -3237,7 +3869,10 @@ pub mod run_service_server { ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::watch_action_details(&inner, request) + ::watch_action_details( + &inner, + request, + ) .await }; Box::pin(fut) @@ -3265,25 +3900,25 @@ pub mod run_service_server { }; Box::pin(fut) } - "/flyteidl2.workflow.RunService/GetActionData" => { + "/flyteidl2.workflow.LocalRunService/ListRuns" => { #[allow(non_camel_case_types)] - struct GetActionDataSvc(pub Arc); + struct ListRunsSvc(pub Arc); impl< - T: RunService, - > tonic::server::UnaryService - for GetActionDataSvc { - type Response = super::GetActionDataResponse; + T: LocalRunService, + > tonic::server::UnaryService + for ListRunsSvc { + type Response = super::ListRunsResponse; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::get_action_data(&inner, request).await + ::list_runs(&inner, request).await }; Box::pin(fut) } @@ -3294,7 +3929,7 @@ pub mod run_service_server { let max_encoding_message_size = self.max_encoding_message_size; let inner = self.inner.clone(); let fut = async move { - let method = GetActionDataSvc(inner); + let method = ListRunsSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -3310,25 +3945,71 @@ pub mod run_service_server { }; Box::pin(fut) } - "/flyteidl2.workflow.RunService/ListRuns" => { + "/flyteidl2.workflow.LocalRunService/WatchRuns" => { #[allow(non_camel_case_types)] - struct ListRunsSvc(pub Arc); + struct WatchRunsSvc(pub Arc); impl< - T: RunService, - > tonic::server::UnaryService - for ListRunsSvc { - type Response = super::ListRunsResponse; + T: LocalRunService, + > tonic::server::ServerStreamingService + for WatchRunsSvc { + type Response = super::WatchRunsResponse; + type ResponseStream = T::WatchRunsStream; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::watch_runs(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = WatchRunsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.server_streaming(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/flyteidl2.workflow.LocalRunService/ListActions" => { + #[allow(non_camel_case_types)] + struct ListActionsSvc(pub Arc); + impl< + T: LocalRunService, + > tonic::server::UnaryService + for ListActionsSvc { + type Response = super::ListActionsResponse; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::list_runs(&inner, request).await + ::list_actions(&inner, request).await }; Box::pin(fut) } @@ -3339,7 +4020,7 @@ pub mod run_service_server { let max_encoding_message_size = self.max_encoding_message_size; let inner = self.inner.clone(); let fut = async move { - let method = ListRunsSvc(inner); + let method = ListActionsSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -3355,26 +4036,26 @@ pub mod run_service_server { }; Box::pin(fut) } - "/flyteidl2.workflow.RunService/WatchRuns" => { + "/flyteidl2.workflow.LocalRunService/WatchActions" => { #[allow(non_camel_case_types)] - struct WatchRunsSvc(pub Arc); + struct WatchActionsSvc(pub Arc); impl< - T: RunService, - > tonic::server::ServerStreamingService - for WatchRunsSvc { - type Response = super::WatchRunsResponse; - type ResponseStream = T::WatchRunsStream; + T: LocalRunService, + > tonic::server::ServerStreamingService + for WatchActionsSvc { + type Response = super::WatchActionsResponse; + type ResponseStream = T::WatchActionsStream; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::watch_runs(&inner, request).await + ::watch_actions(&inner, request).await }; Box::pin(fut) } @@ -3385,7 +4066,7 @@ pub mod run_service_server { let max_encoding_message_size = self.max_encoding_message_size; let inner = self.inner.clone(); let fut = async move { - let method = WatchRunsSvc(inner); + let method = WatchActionsSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -3401,25 +4082,335 @@ pub mod run_service_server { }; Box::pin(fut) } - "/flyteidl2.workflow.RunService/ListActions" => { + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", tonic::Code::Unimplemented as i32) + .header( + http::header::CONTENT_TYPE, + tonic::metadata::GRPC_CONTENT_TYPE, + ) + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for LocalRunServiceServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl tonic::server::NamedService for LocalRunServiceServer { + const NAME: &'static str = "flyteidl2.workflow.LocalRunService"; + } +} +/// Generated client implementations. +pub mod queue_service_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + #[derive(Debug, Clone)] + pub struct QueueServiceClient { + inner: tonic::client::Grpc, + } + impl QueueServiceClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) + } + } + impl QueueServiceClient + where + T: tonic::client::GrpcService, + T::Error: Into, + T::ResponseBody: Body + Send + 'static, + ::Error: Into + Send, + { + pub fn new(inner: T) -> Self { + let inner = tonic::client::Grpc::new(inner); + Self { inner } + } + pub fn with_origin(inner: T, origin: Uri) -> Self { + let inner = tonic::client::Grpc::with_origin(inner, origin); + Self { inner } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> QueueServiceClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueueServiceClient::new(InterceptedService::new(inner, interceptor)) + } + /// Compress requests with the given encoding. + /// + /// This requires the server to support it otherwise it might respond with an + /// error. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.send_compressed(encoding); + self + } + /// Enable decompressing responses. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.accept_compressed(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_decoding_message_size(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_encoding_message_size(limit); + self + } + pub async fn enqueue_action( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.QueueService/EnqueueAction", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("flyteidl2.workflow.QueueService", "EnqueueAction"), + ); + self.inner.unary(req, path, codec).await + } + pub async fn abort_queued_run( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.QueueService/AbortQueuedRun", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("flyteidl2.workflow.QueueService", "AbortQueuedRun"), + ); + self.inner.unary(req, path, codec).await + } + pub async fn abort_queued_action( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.QueueService/AbortQueuedAction", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "flyteidl2.workflow.QueueService", + "AbortQueuedAction", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +pub mod queue_service_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueueServiceServer. + #[async_trait] + pub trait QueueService: Send + Sync + 'static { + async fn enqueue_action( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn abort_queued_run( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn abort_queued_action( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + #[derive(Debug)] + pub struct QueueServiceServer { + inner: Arc, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + impl QueueServiceServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.max_decoding_message_size = Some(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueueServiceServer + where + T: QueueService, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + match req.uri().path() { + "/flyteidl2.workflow.QueueService/EnqueueAction" => { #[allow(non_camel_case_types)] - struct ListActionsSvc(pub Arc); + struct EnqueueActionSvc(pub Arc); impl< - T: RunService, - > tonic::server::UnaryService - for ListActionsSvc { - type Response = super::ListActionsResponse; + T: QueueService, + > tonic::server::UnaryService + for EnqueueActionSvc { + type Response = super::EnqueueActionResponse; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::list_actions(&inner, request).await + ::enqueue_action(&inner, request).await }; Box::pin(fut) } @@ -3430,7 +4421,7 @@ pub mod run_service_server { let max_encoding_message_size = self.max_encoding_message_size; let inner = self.inner.clone(); let fut = async move { - let method = ListActionsSvc(inner); + let method = EnqueueActionSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -3446,119 +4437,25 @@ pub mod run_service_server { }; Box::pin(fut) } - "/flyteidl2.workflow.RunService/WatchActions" => { - #[allow(non_camel_case_types)] - struct WatchActionsSvc(pub Arc); - impl< - T: RunService, - > tonic::server::ServerStreamingService - for WatchActionsSvc { - type Response = super::WatchActionsResponse; - type ResponseStream = T::WatchActionsStream; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::watch_actions(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = WatchActionsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.server_streaming(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/flyteidl2.workflow.RunService/WatchClusterEvents" => { - #[allow(non_camel_case_types)] - struct WatchClusterEventsSvc(pub Arc); - impl< - T: RunService, - > tonic::server::ServerStreamingService< - super::WatchClusterEventsRequest, - > for WatchClusterEventsSvc { - type Response = super::WatchClusterEventsResponse; - type ResponseStream = T::WatchClusterEventsStream; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::watch_cluster_events(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = WatchClusterEventsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.server_streaming(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/flyteidl2.workflow.RunService/AbortAction" => { + "/flyteidl2.workflow.QueueService/AbortQueuedRun" => { #[allow(non_camel_case_types)] - struct AbortActionSvc(pub Arc); + struct AbortQueuedRunSvc(pub Arc); impl< - T: RunService, - > tonic::server::UnaryService - for AbortActionSvc { - type Response = super::AbortActionResponse; + T: QueueService, + > tonic::server::UnaryService + for AbortQueuedRunSvc { + type Response = super::AbortQueuedRunResponse; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::abort_action(&inner, request).await + ::abort_queued_run(&inner, request).await }; Box::pin(fut) } @@ -3569,7 +4466,7 @@ pub mod run_service_server { let max_encoding_message_size = self.max_encoding_message_size; let inner = self.inner.clone(); let fut = async move { - let method = AbortActionSvc(inner); + let method = AbortQueuedRunSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -3585,25 +4482,26 @@ pub mod run_service_server { }; Box::pin(fut) } - "/flyteidl2.workflow.RunService/SignalEvent" => { + "/flyteidl2.workflow.QueueService/AbortQueuedAction" => { #[allow(non_camel_case_types)] - struct SignalEventSvc(pub Arc); + struct AbortQueuedActionSvc(pub Arc); impl< - T: RunService, - > tonic::server::UnaryService - for SignalEventSvc { - type Response = super::SignalEventResponse; + T: QueueService, + > tonic::server::UnaryService + for AbortQueuedActionSvc { + type Response = super::AbortQueuedActionResponse; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::signal_event(&inner, request).await + ::abort_queued_action(&inner, request) + .await }; Box::pin(fut) } @@ -3614,7 +4512,7 @@ pub mod run_service_server { let max_encoding_message_size = self.max_encoding_message_size; let inner = self.inner.clone(); let fut = async move { - let method = SignalEventSvc(inner); + let method = AbortQueuedActionSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -3630,26 +4528,268 @@ pub mod run_service_server { }; Box::pin(fut) } - "/flyteidl2.workflow.RunService/WatchGroups" => { + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", tonic::Code::Unimplemented as i32) + .header( + http::header::CONTENT_TYPE, + tonic::metadata::GRPC_CONTENT_TYPE, + ) + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueueServiceServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl tonic::server::NamedService for QueueServiceServer { + const NAME: &'static str = "flyteidl2.workflow.QueueService"; + } +} +/// Generated client implementations. +pub mod run_logs_service_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + #[derive(Debug, Clone)] + pub struct RunLogsServiceClient { + inner: tonic::client::Grpc, + } + impl RunLogsServiceClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) + } + } + impl RunLogsServiceClient + where + T: tonic::client::GrpcService, + T::Error: Into, + T::ResponseBody: Body + Send + 'static, + ::Error: Into + Send, + { + pub fn new(inner: T) -> Self { + let inner = tonic::client::Grpc::new(inner); + Self { inner } + } + pub fn with_origin(inner: T, origin: Uri) -> Self { + let inner = tonic::client::Grpc::with_origin(inner, origin); + Self { inner } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> RunLogsServiceClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + RunLogsServiceClient::new(InterceptedService::new(inner, interceptor)) + } + /// Compress requests with the given encoding. + /// + /// This requires the server to support it otherwise it might respond with an + /// error. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.send_compressed(encoding); + self + } + /// Enable decompressing responses. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.accept_compressed(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_decoding_message_size(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_encoding_message_size(limit); + self + } + pub async fn tail_logs( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response>, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.RunLogsService/TailLogs", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("flyteidl2.workflow.RunLogsService", "TailLogs"), + ); + self.inner.server_streaming(req, path, codec).await + } + } +} +/// Generated server implementations. +pub mod run_logs_service_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with RunLogsServiceServer. + #[async_trait] + pub trait RunLogsService: Send + Sync + 'static { + /// Server streaming response type for the TailLogs method. + type TailLogsStream: tonic::codegen::tokio_stream::Stream< + Item = std::result::Result, + > + + Send + + 'static; + async fn tail_logs( + &self, + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; + } + #[derive(Debug)] + pub struct RunLogsServiceServer { + inner: Arc, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + impl RunLogsServiceServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.max_decoding_message_size = Some(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for RunLogsServiceServer + where + T: RunLogsService, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + match req.uri().path() { + "/flyteidl2.workflow.RunLogsService/TailLogs" => { #[allow(non_camel_case_types)] - struct WatchGroupsSvc(pub Arc); + struct TailLogsSvc(pub Arc); impl< - T: RunService, - > tonic::server::ServerStreamingService - for WatchGroupsSvc { - type Response = super::WatchGroupsResponse; - type ResponseStream = T::WatchGroupsStream; + T: RunLogsService, + > tonic::server::ServerStreamingService + for TailLogsSvc { + type Response = super::TailLogsResponse; + type ResponseStream = T::TailLogsStream; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::watch_groups(&inner, request).await + ::tail_logs(&inner, request).await }; Box::pin(fut) } @@ -3660,7 +4800,7 @@ pub mod run_service_server { let max_encoding_message_size = self.max_encoding_message_size; let inner = self.inner.clone(); let fut = async move { - let method = WatchGroupsSvc(inner); + let method = TailLogsSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -3676,98 +4816,6 @@ pub mod run_service_server { }; Box::pin(fut) } - "/flyteidl2.workflow.RunService/GetActionDataURIs" => { - #[allow(non_camel_case_types)] - struct GetActionDataURIsSvc(pub Arc); - impl< - T: RunService, - > tonic::server::UnaryService - for GetActionDataURIsSvc { - type Response = super::GetActionDataUrIsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_action_data_ur_is(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = GetActionDataURIsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/flyteidl2.workflow.RunService/GetActionLogContext" => { - #[allow(non_camel_case_types)] - struct GetActionLogContextSvc(pub Arc); - impl< - T: RunService, - > tonic::server::UnaryService - for GetActionLogContextSvc { - type Response = super::GetActionLogContextResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_action_log_context(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = GetActionLogContextSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } _ => { Box::pin(async move { Ok( @@ -3786,7 +4834,7 @@ pub mod run_service_server { } } } - impl Clone for RunServiceServer { + impl Clone for RunLogsServiceServer { fn clone(&self) -> Self { let inner = self.inner.clone(); Self { @@ -3798,8 +4846,8 @@ pub mod run_service_server { } } } - impl tonic::server::NamedService for RunServiceServer { - const NAME: &'static str = "flyteidl2.workflow.RunService"; + impl tonic::server::NamedService for RunLogsServiceServer { + const NAME: &'static str = "flyteidl2.workflow.RunLogsService"; } } /// Generated client implementations. diff --git a/gen/ts/flyteidl2/dataproxy/dataproxy_service_pb.ts b/gen/ts/flyteidl2/dataproxy/dataproxy_service_pb.ts index 00bcd359692..7a5985e7fbf 100644 --- a/gen/ts/flyteidl2/dataproxy/dataproxy_service_pb.ts +++ b/gen/ts/flyteidl2/dataproxy/dataproxy_service_pb.ts @@ -25,7 +25,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file flyteidl2/dataproxy/dataproxy_service.proto. */ export const file_flyteidl2_dataproxy_dataproxy_service: GenFile = /*@__PURE__*/ - fileDesc("CitmbHl0ZWlkbDIvZGF0YXByb3h5L2RhdGFwcm94eV9zZXJ2aWNlLnByb3RvEhNmbHl0ZWlkbDIuZGF0YXByb3h5Io0CChtDcmVhdGVVcGxvYWRMb2NhdGlvblJlcXVlc3QSGAoHcHJvamVjdBgBIAEoCUIHukgEcgIQARIXCgZkb21haW4YAiABKAlCB7pIBHICEAESEAoIZmlsZW5hbWUYAyABKAkSLQoKZXhwaXJlc19pbhgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIcCgtjb250ZW50X21kNRgFIAEoDEIHukgEegJoEBIVCg1maWxlbmFtZV9yb290GAYgASgJEiAKGGFkZF9jb250ZW50X21kNV9tZXRhZGF0YRgHIAEoCBILCgNvcmcYCCABKAkSFgoOY29udGVudF9sZW5ndGgYCSABKAMi9wEKHENyZWF0ZVVwbG9hZExvY2F0aW9uUmVzcG9uc2USEgoKc2lnbmVkX3VybBgBIAEoCRISCgpuYXRpdmVfdXJsGAIgASgJEi4KCmV4cGlyZXNfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEk8KB2hlYWRlcnMYBCADKAsyPi5mbHl0ZWlkbDIuZGF0YXByb3h5LkNyZWF0ZVVwbG9hZExvY2F0aW9uUmVzcG9uc2UuSGVhZGVyc0VudHJ5Gi4KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvICChNVcGxvYWRJbnB1dHNSZXF1ZXN0EjEKBnJ1bl9pZBgBIAEoCzIfLmZseXRlaWRsMi5jb21tb24uUnVuSWRlbnRpZmllckgAEjkKCnByb2plY3RfaWQYAiABKAsyIy5mbHl0ZWlkbDIuY29tbW9uLlByb2plY3RJZGVudGlmaWVySAASMQoHdGFza19pZBgDIAEoCzIeLmZseXRlaWRsMi50YXNrLlRhc2tJZGVudGlmaWVySAESLQoJdGFza19zcGVjGAQgASgLMhguZmx5dGVpZGwyLnRhc2suVGFza1NwZWNIARI1Cgx0cmlnZ2VyX25hbWUYBSABKAsyHS5mbHl0ZWlkbDIuY29tbW9uLlRyaWdnZXJOYW1lSAESJgoGaW5wdXRzGAYgASgLMhYuZmx5dGVpZGwyLnRhc2suSW5wdXRzEhAKCGJhc2VfZGlyGAcgASgJQgsKAmlkEgW6SAIIAUINCgR0YXNrEgW6SAIIASJaChRVcGxvYWRJbnB1dHNSZXNwb25zZRJCChRvZmZsb2FkZWRfaW5wdXRfZGF0YRgBIAEoCzIkLmZseXRlaWRsMi5jb21tb24uT2ZmbG9hZGVkSW5wdXREYXRhIlMKDVByZVNpZ25lZFVSTHMSEgoKc2lnbmVkX3VybBgBIAMoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLHAgoZQ3JlYXRlRG93bmxvYWRMaW5rUmVxdWVzdBJCCg1hcnRpZmFjdF90eXBlGAEgASgOMiEuZmx5dGVpZGwyLmRhdGFwcm94eS5BcnRpZmFjdFR5cGVCCLpIBYIBAiAAEi0KCmV4cGlyZXNfaW4YAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SRgoRYWN0aW9uX2F0dGVtcHRfaWQYAyABKAsyKS5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbkF0dGVtcHRJZGVudGlmaWVySAASKwoGYXBwX2lkGAQgASgLMhkuZmx5dGVpZGwyLmFwcC5JZGVudGlmaWVySAASMQoHdGFza19pZBgFIAEoCzIeLmZseXRlaWRsMi50YXNrLlRhc2tJZGVudGlmaWVySABCDwoGc291cmNlEgW6SAIIASJZChpDcmVhdGVEb3dubG9hZExpbmtSZXNwb25zZRI7Cg9wcmVfc2lnbmVkX3VybHMYASABKAsyIi5mbHl0ZWlkbDIuZGF0YXByb3h5LlByZVNpZ25lZFVSTHMiVQoUR2V0QWN0aW9uRGF0YVJlcXVlc3QSPQoJYWN0aW9uX2lkGAEgASgLMiIuZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25JZGVudGlmaWVyQga6SAPIAQEikgEKFUdldEFjdGlvbkRhdGFSZXNwb25zZRImCgZpbnB1dHMYASABKAsyFi5mbHl0ZWlkbDIudGFzay5JbnB1dHMSKAoHb3V0cHV0cxgCIAEoCzIXLmZseXRlaWRsMi50YXNrLk91dHB1dHMSEgoKaW5wdXRzX3VyaRgDIAEoCRITCgtvdXRwdXRzX3VyaRgEIAEoCSLxAQoPVGFpbExvZ3NSZXF1ZXN0Ej0KCWFjdGlvbl9pZBgBIAEoCzIiLmZseXRlaWRsMi5jb21tb24uQWN0aW9uSWRlbnRpZmllckIGukgDyAEBEhgKB2F0dGVtcHQYAiABKA1CB7pIBCoCIAASFQoLcHJpbWFyeV9wb2QYBiABKAhIABISCghhbGxfcG9kcxgFIAEoCEgAEhIKCHBvZF9uYW1lGAMgASgJSAASHwoSY29ubmVjdG9yX2VuZHBvaW50GAQgASgJSAGIAQFCDgoMcG9kX3NlbGVjdG9yQhUKE19jb25uZWN0b3JfZW5kcG9pbnQiyAEKEFRhaWxMb2dzUmVzcG9uc2USOAoEbG9ncxgBIAMoCzIqLmZseXRlaWRsMi5kYXRhcHJveHkuVGFpbExvZ3NSZXNwb25zZS5Mb2dzGnoKBExvZ3MSMAoFbGluZXMYASADKAsyIS5mbHl0ZWlkbDIubG9ncy5kYXRhcGxhbmUuTG9nTGluZRJACgljb250YWluZXIYAiABKAsyLS5mbHl0ZWlkbDIubG9ncy5kYXRhcGxhbmUuQ29udGFpbmVySWRlbnRpZmllcipmCgxBcnRpZmFjdFR5cGUSHQoZQVJUSUZBQ1RfVFlQRV9VTlNQRUNJRklFRBAAEhgKFEFSVElGQUNUX1RZUEVfUkVQT1JUEAESHQoZQVJUSUZBQ1RfVFlQRV9DT0RFX0JVTkRMRRACMrsEChBEYXRhUHJveHlTZXJ2aWNlEn0KFENyZWF0ZVVwbG9hZExvY2F0aW9uEjAuZmx5dGVpZGwyLmRhdGFwcm94eS5DcmVhdGVVcGxvYWRMb2NhdGlvblJlcXVlc3QaMS5mbHl0ZWlkbDIuZGF0YXByb3h5LkNyZWF0ZVVwbG9hZExvY2F0aW9uUmVzcG9uc2UiABJlCgxVcGxvYWRJbnB1dHMSKC5mbHl0ZWlkbDIuZGF0YXByb3h5LlVwbG9hZElucHV0c1JlcXVlc3QaKS5mbHl0ZWlkbDIuZGF0YXByb3h5LlVwbG9hZElucHV0c1Jlc3BvbnNlIgASdwoSQ3JlYXRlRG93bmxvYWRMaW5rEi4uZmx5dGVpZGwyLmRhdGFwcm94eS5DcmVhdGVEb3dubG9hZExpbmtSZXF1ZXN0Gi8uZmx5dGVpZGwyLmRhdGFwcm94eS5DcmVhdGVEb3dubG9hZExpbmtSZXNwb25zZSIAEmsKDUdldEFjdGlvbkRhdGESKS5mbHl0ZWlkbDIuZGF0YXByb3h5LkdldEFjdGlvbkRhdGFSZXF1ZXN0GiouZmx5dGVpZGwyLmRhdGFwcm94eS5HZXRBY3Rpb25EYXRhUmVzcG9uc2UiA5ACARJbCghUYWlsTG9ncxIkLmZseXRlaWRsMi5kYXRhcHJveHkuVGFpbExvZ3NSZXF1ZXN0GiUuZmx5dGVpZGwyLmRhdGFwcm94eS5UYWlsTG9nc1Jlc3BvbnNlIgAwAULYAQoXY29tLmZseXRlaWRsMi5kYXRhcHJveHlCFURhdGFwcm94eVNlcnZpY2VQcm90b0gCUAFaN2dpdGh1Yi5jb20vZmx5dGVvcmcvZmx5dGUvdjIvZ2VuL2dvL2ZseXRlaWRsMi9kYXRhcHJveHmiAgNGRFiqAhNGbHl0ZWlkbDIuRGF0YXByb3h5ygITRmx5dGVpZGwyXERhdGFwcm94eeICH0ZseXRlaWRsMlxEYXRhcHJveHlcR1BCTWV0YWRhdGHqAhRGbHl0ZWlkbDI6OkRhdGFwcm94eWIGcHJvdG8z", [file_buf_validate_validate, file_flyteidl2_app_app_definition, file_flyteidl2_common_identifier, file_flyteidl2_common_run, file_flyteidl2_logs_dataplane_payload, file_flyteidl2_task_common, file_flyteidl2_task_task_definition, file_google_protobuf_duration, file_google_protobuf_timestamp]); + fileDesc("CitmbHl0ZWlkbDIvZGF0YXByb3h5L2RhdGFwcm94eV9zZXJ2aWNlLnByb3RvEhNmbHl0ZWlkbDIuZGF0YXByb3h5Io0CChtDcmVhdGVVcGxvYWRMb2NhdGlvblJlcXVlc3QSGAoHcHJvamVjdBgBIAEoCUIHukgEcgIQARIXCgZkb21haW4YAiABKAlCB7pIBHICEAESEAoIZmlsZW5hbWUYAyABKAkSLQoKZXhwaXJlc19pbhgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIcCgtjb250ZW50X21kNRgFIAEoDEIHukgEegJoEBIVCg1maWxlbmFtZV9yb290GAYgASgJEiAKGGFkZF9jb250ZW50X21kNV9tZXRhZGF0YRgHIAEoCBILCgNvcmcYCCABKAkSFgoOY29udGVudF9sZW5ndGgYCSABKAMi9wEKHENyZWF0ZVVwbG9hZExvY2F0aW9uUmVzcG9uc2USEgoKc2lnbmVkX3VybBgBIAEoCRISCgpuYXRpdmVfdXJsGAIgASgJEi4KCmV4cGlyZXNfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEk8KB2hlYWRlcnMYBCADKAsyPi5mbHl0ZWlkbDIuZGF0YXByb3h5LkNyZWF0ZVVwbG9hZExvY2F0aW9uUmVzcG9uc2UuSGVhZGVyc0VudHJ5Gi4KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvICChNVcGxvYWRJbnB1dHNSZXF1ZXN0EjEKBnJ1bl9pZBgBIAEoCzIfLmZseXRlaWRsMi5jb21tb24uUnVuSWRlbnRpZmllckgAEjkKCnByb2plY3RfaWQYAiABKAsyIy5mbHl0ZWlkbDIuY29tbW9uLlByb2plY3RJZGVudGlmaWVySAASMQoHdGFza19pZBgDIAEoCzIeLmZseXRlaWRsMi50YXNrLlRhc2tJZGVudGlmaWVySAESLQoJdGFza19zcGVjGAQgASgLMhguZmx5dGVpZGwyLnRhc2suVGFza1NwZWNIARI1Cgx0cmlnZ2VyX25hbWUYBSABKAsyHS5mbHl0ZWlkbDIuY29tbW9uLlRyaWdnZXJOYW1lSAESJgoGaW5wdXRzGAYgASgLMhYuZmx5dGVpZGwyLnRhc2suSW5wdXRzEhAKCGJhc2VfZGlyGAcgASgJQgsKAmlkEgW6SAIIAUINCgR0YXNrEgW6SAIIASJaChRVcGxvYWRJbnB1dHNSZXNwb25zZRJCChRvZmZsb2FkZWRfaW5wdXRfZGF0YRgBIAEoCzIkLmZseXRlaWRsMi5jb21tb24uT2ZmbG9hZGVkSW5wdXREYXRhIlMKDVByZVNpZ25lZFVSTHMSEgoKc2lnbmVkX3VybBgBIAMoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLHAgoZQ3JlYXRlRG93bmxvYWRMaW5rUmVxdWVzdBJCCg1hcnRpZmFjdF90eXBlGAEgASgOMiEuZmx5dGVpZGwyLmRhdGFwcm94eS5BcnRpZmFjdFR5cGVCCLpIBYIBAiAAEi0KCmV4cGlyZXNfaW4YAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SRgoRYWN0aW9uX2F0dGVtcHRfaWQYAyABKAsyKS5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbkF0dGVtcHRJZGVudGlmaWVySAASKwoGYXBwX2lkGAQgASgLMhkuZmx5dGVpZGwyLmFwcC5JZGVudGlmaWVySAASMQoHdGFza19pZBgFIAEoCzIeLmZseXRlaWRsMi50YXNrLlRhc2tJZGVudGlmaWVySABCDwoGc291cmNlEgW6SAIIASJZChpDcmVhdGVEb3dubG9hZExpbmtSZXNwb25zZRI7Cg9wcmVfc2lnbmVkX3VybHMYASABKAsyIi5mbHl0ZWlkbDIuZGF0YXByb3h5LlByZVNpZ25lZFVSTHMiVQoUR2V0QWN0aW9uRGF0YVJlcXVlc3QSPQoJYWN0aW9uX2lkGAEgASgLMiIuZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25JZGVudGlmaWVyQga6SAPIAQEikgEKFUdldEFjdGlvbkRhdGFSZXNwb25zZRImCgZpbnB1dHMYASABKAsyFi5mbHl0ZWlkbDIudGFzay5JbnB1dHMSKAoHb3V0cHV0cxgCIAEoCzIXLmZseXRlaWRsMi50YXNrLk91dHB1dHMSEgoKaW5wdXRzX3VyaRgDIAEoCRITCgtvdXRwdXRzX3VyaRgEIAEoCSLxAQoPVGFpbExvZ3NSZXF1ZXN0Ej0KCWFjdGlvbl9pZBgBIAEoCzIiLmZseXRlaWRsMi5jb21tb24uQWN0aW9uSWRlbnRpZmllckIGukgDyAEBEhgKB2F0dGVtcHQYAiABKA1CB7pIBCoCIAASFQoLcHJpbWFyeV9wb2QYBiABKAhIABISCghhbGxfcG9kcxgFIAEoCEgAEhIKCHBvZF9uYW1lGAMgASgJSAASHwoSY29ubmVjdG9yX2VuZHBvaW50GAQgASgJSAGIAQFCDgoMcG9kX3NlbGVjdG9yQhUKE19jb25uZWN0b3JfZW5kcG9pbnQi+AIKFVVwbG9hZE1ldGFkYXRhUmVxdWVzdBJGCg1hcnRpZmFjdF90eXBlGAEgASgOMiEuZmx5dGVpZGwyLmRhdGFwcm94eS5BcnRpZmFjdFR5cGVCDLpICYIBBhgBGAMYBBI3CglhY3Rpb25faWQYAiABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXJIABJGChFhY3Rpb25fYXR0ZW1wdF9pZBgDIAEoCzIpLmZseXRlaWRsMi5jb21tb24uQWN0aW9uQXR0ZW1wdElkZW50aWZpZXJIABIcCgtjb250ZW50X21kNRgEIAEoDEIHukgEegJoEBIWCg5jb250ZW50X2xlbmd0aBgFIAEoAxItCgpleHBpcmVzX2luGAYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEiAKGGFkZF9jb250ZW50X21kNV9tZXRhZGF0YRgHIAEoCEIPCgZ0YXJnZXQSBbpIAggBIuEBCh5DcmVhdGVMb2NhbERvd25sb2FkTGlua1JlcXVlc3QSQgoNYXJ0aWZhY3RfdHlwZRgBIAEoDjIhLmZseXRlaWRsMi5kYXRhcHJveHkuQXJ0aWZhY3RUeXBlQgi6SAWCAQIgABJMChFhY3Rpb25fYXR0ZW1wdF9pZBgCIAEoCzIpLmZseXRlaWRsMi5jb21tb24uQWN0aW9uQXR0ZW1wdElkZW50aWZpZXJCBrpIA8gBARItCgpleHBpcmVzX2luGAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIsgBChBUYWlsTG9nc1Jlc3BvbnNlEjgKBGxvZ3MYASADKAsyKi5mbHl0ZWlkbDIuZGF0YXByb3h5LlRhaWxMb2dzUmVzcG9uc2UuTG9ncxp6CgRMb2dzEjAKBWxpbmVzGAEgAygLMiEuZmx5dGVpZGwyLmxvZ3MuZGF0YXBsYW5lLkxvZ0xpbmUSQAoJY29udGFpbmVyGAIgASgLMi0uZmx5dGVpZGwyLmxvZ3MuZGF0YXBsYW5lLkNvbnRhaW5lcklkZW50aWZpZXIqmwEKDEFydGlmYWN0VHlwZRIdChlBUlRJRkFDVF9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUQVJUSUZBQ1RfVFlQRV9SRVBPUlQQARIdChlBUlRJRkFDVF9UWVBFX0NPREVfQlVORExFEAISGAoUQVJUSUZBQ1RfVFlQRV9JTlBVVFMQAxIZChVBUlRJRkFDVF9UWVBFX09VVFBVVFMQBDKkBwoQRGF0YVByb3h5U2VydmljZRJ9ChRDcmVhdGVVcGxvYWRMb2NhdGlvbhIwLmZseXRlaWRsMi5kYXRhcHJveHkuQ3JlYXRlVXBsb2FkTG9jYXRpb25SZXF1ZXN0GjEuZmx5dGVpZGwyLmRhdGFwcm94eS5DcmVhdGVVcGxvYWRMb2NhdGlvblJlc3BvbnNlIgASZQoMVXBsb2FkSW5wdXRzEiguZmx5dGVpZGwyLmRhdGFwcm94eS5VcGxvYWRJbnB1dHNSZXF1ZXN0GikuZmx5dGVpZGwyLmRhdGFwcm94eS5VcGxvYWRJbnB1dHNSZXNwb25zZSIAEncKEkNyZWF0ZURvd25sb2FkTGluaxIuLmZseXRlaWRsMi5kYXRhcHJveHkuQ3JlYXRlRG93bmxvYWRMaW5rUmVxdWVzdBovLmZseXRlaWRsMi5kYXRhcHJveHkuQ3JlYXRlRG93bmxvYWRMaW5rUmVzcG9uc2UiABJrCg1HZXRBY3Rpb25EYXRhEikuZmx5dGVpZGwyLmRhdGFwcm94eS5HZXRBY3Rpb25EYXRhUmVxdWVzdBoqLmZseXRlaWRsMi5kYXRhcHJveHkuR2V0QWN0aW9uRGF0YVJlc3BvbnNlIgOQAgESWwoIVGFpbExvZ3MSJC5mbHl0ZWlkbDIuZGF0YXByb3h5LlRhaWxMb2dzUmVxdWVzdBolLmZseXRlaWRsMi5kYXRhcHJveHkuVGFpbExvZ3NSZXNwb25zZSIAMAEScQoOVXBsb2FkTWV0YWRhdGESKi5mbHl0ZWlkbDIuZGF0YXByb3h5LlVwbG9hZE1ldGFkYXRhUmVxdWVzdBoxLmZseXRlaWRsMi5kYXRhcHJveHkuQ3JlYXRlVXBsb2FkTG9jYXRpb25SZXNwb25zZSIAEnAKEkdldExvY2FsQWN0aW9uRGF0YRIpLmZseXRlaWRsMi5kYXRhcHJveHkuR2V0QWN0aW9uRGF0YVJlcXVlc3QaKi5mbHl0ZWlkbDIuZGF0YXByb3h5LkdldEFjdGlvbkRhdGFSZXNwb25zZSIDkAIBEoEBChdDcmVhdGVMb2NhbERvd25sb2FkTGluaxIzLmZseXRlaWRsMi5kYXRhcHJveHkuQ3JlYXRlTG9jYWxEb3dubG9hZExpbmtSZXF1ZXN0Gi8uZmx5dGVpZGwyLmRhdGFwcm94eS5DcmVhdGVEb3dubG9hZExpbmtSZXNwb25zZSIAQtgBChdjb20uZmx5dGVpZGwyLmRhdGFwcm94eUIVRGF0YXByb3h5U2VydmljZVByb3RvSAJQAVo3Z2l0aHViLmNvbS9mbHl0ZW9yZy9mbHl0ZS92Mi9nZW4vZ28vZmx5dGVpZGwyL2RhdGFwcm94eaICA0ZEWKoCE0ZseXRlaWRsMi5EYXRhcHJveHnKAhNGbHl0ZWlkbDJcRGF0YXByb3h54gIfRmx5dGVpZGwyXERhdGFwcm94eVxHUEJNZXRhZGF0YeoCFEZseXRlaWRsMjo6RGF0YXByb3h5YgZwcm90bzM", [file_buf_validate_validate, file_flyteidl2_app_app_definition, file_flyteidl2_common_identifier, file_flyteidl2_common_run, file_flyteidl2_logs_dataplane_payload, file_flyteidl2_task_common, file_flyteidl2_task_task_definition, file_google_protobuf_duration, file_google_protobuf_timestamp]); /** * CreateUploadLocationRequest specifies the request for the CreateUploadLocation API. @@ -505,6 +505,123 @@ export type TailLogsRequest = Message<"flyteidl2.dataproxy.TailLogsRequest"> & { export const TailLogsRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_flyteidl2_dataproxy_dataproxy_service, 9); +/** + * UploadMetadataRequest specifies the request for the UploadMetadata API. The data proxy service + * derives the storage path from the authenticated org and the target action, following the local + * run metadata layout: //////inputs.pb for inputs and + * ///////{outputs.pb,report.html} otherwise. + * + * @generated from message flyteidl2.dataproxy.UploadMetadataRequest + */ +export type UploadMetadataRequest = Message<"flyteidl2.dataproxy.UploadMetadataRequest"> & { + /** + * ArtifactType is the type of artifact to upload. INPUTS targets an action; OUTPUTS and REPORT + * target an action attempt. + * + * @generated from field: flyteidl2.dataproxy.ArtifactType artifact_type = 1; + */ + artifactType: ArtifactType; + + /** + * Target identifies the action (INPUTS) or action attempt (OUTPUTS / REPORT) the artifact + * belongs to. + * + * @generated from oneof flyteidl2.dataproxy.UploadMetadataRequest.target + */ + target: { + /** + * @generated from field: flyteidl2.common.ActionIdentifier action_id = 2; + */ + value: ActionIdentifier; + case: "actionId"; + } | { + /** + * @generated from field: flyteidl2.common.ActionAttemptIdentifier action_attempt_id = 3; + */ + value: ActionAttemptIdentifier; + case: "actionAttemptId"; + } | { case: undefined; value?: undefined }; + + /** + * ContentMD5 restricts the upload location to the specific MD5 provided. + * +required + * + * @generated from field: bytes content_md5 = 4; + */ + contentMd5: Uint8Array; + + /** + * ContentLength specifies the size of the content to be uploaded in bytes. Validated against + * the platform's maximum upload size. + * +optional + * + * @generated from field: int64 content_length = 5; + */ + contentLength: bigint; + + /** + * ExpiresIn defines the requested expiration duration for the generated URL. The request will + * be rejected if this exceeds the platform's configured maximum. + * +optional. The default value comes from the global config. + * + * @generated from field: google.protobuf.Duration expires_in = 6; + */ + expiresIn?: Duration; + + /** + * If true, the data proxy will add content_md5 to the Signed URL requirements, forcing clients + * to send this checksum with the object. Required for data integrity on backends like GCP. + * + * @generated from field: bool add_content_md5_metadata = 7; + */ + addContentMd5Metadata: boolean; +}; + +/** + * Describes the message flyteidl2.dataproxy.UploadMetadataRequest. + * Use `create(UploadMetadataRequestSchema)` to create a new message. + */ +export const UploadMetadataRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_flyteidl2_dataproxy_dataproxy_service, 10); + +/** + * CreateLocalDownloadLinkRequest specifies the request for the CreateLocalDownloadLink API. + * + * @generated from message flyteidl2.dataproxy.CreateLocalDownloadLinkRequest + */ +export type CreateLocalDownloadLinkRequest = Message<"flyteidl2.dataproxy.CreateLocalDownloadLinkRequest"> & { + /** + * ArtifactType is the type of artifact to download. + * +required + * + * @generated from field: flyteidl2.dataproxy.ArtifactType artifact_type = 1; + */ + artifactType: ArtifactType; + + /** + * ActionAttemptId identifies the local run action attempt whose artifact is to be downloaded. + * + * @generated from field: flyteidl2.common.ActionAttemptIdentifier action_attempt_id = 2; + */ + actionAttemptId?: ActionAttemptIdentifier; + + /** + * ExpiresIn defines the requested expiration duration for the generated URLs. The request will + * be rejected if this exceeds the platform's configured maximum. + * +optional. The default value comes from the global config. + * + * @generated from field: google.protobuf.Duration expires_in = 3; + */ + expiresIn?: Duration; +}; + +/** + * Describes the message flyteidl2.dataproxy.CreateLocalDownloadLinkRequest. + * Use `create(CreateLocalDownloadLinkRequestSchema)` to create a new message. + */ +export const CreateLocalDownloadLinkRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_flyteidl2_dataproxy_dataproxy_service, 11); + /** * Reponse message for tailing logs. * @@ -524,7 +641,7 @@ export type TailLogsResponse = Message<"flyteidl2.dataproxy.TailLogsResponse"> & * Use `create(TailLogsResponseSchema)` to create a new message. */ export const TailLogsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_flyteidl2_dataproxy_dataproxy_service, 10); + messageDesc(file_flyteidl2_dataproxy_dataproxy_service, 12); /** * A batch of logs. @@ -552,7 +669,7 @@ export type TailLogsResponse_Logs = Message<"flyteidl2.dataproxy.TailLogsRespons * Use `create(TailLogsResponse_LogsSchema)` to create a new message. */ export const TailLogsResponse_LogsSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_flyteidl2_dataproxy_dataproxy_service, 10, 0); + messageDesc(file_flyteidl2_dataproxy_dataproxy_service, 12, 0); /** * ArtifactType defines the type of artifact to be downloaded. @@ -578,6 +695,20 @@ export enum ArtifactType { * @generated from enum value: ARTIFACT_TYPE_CODE_BUNDLE = 2; */ CODE_BUNDLE = 2, + + /** + * ARTIFACT_TYPE_INPUTS refers to an action's serialized inputs (inputs.pb). + * + * @generated from enum value: ARTIFACT_TYPE_INPUTS = 3; + */ + INPUTS = 3, + + /** + * ARTIFACT_TYPE_OUTPUTS refers to an action's serialized outputs (outputs.pb). + * + * @generated from enum value: ARTIFACT_TYPE_OUTPUTS = 4; + */ + OUTPUTS = 4, } /** @@ -640,6 +771,41 @@ export const DataProxyService: GenService<{ input: typeof TailLogsRequestSchema; output: typeof TailLogsResponseSchema; }, + /** + * UploadMetadata generates a signed URL for uploading a local run's metadata artifact + * (inputs.pb / outputs.pb / report.html) directly to the control plane's storage backend. + * Local runs only; never routes to a dataplane. + * + * @generated from rpc flyteidl2.dataproxy.DataProxyService.UploadMetadata + */ + uploadMetadata: { + methodKind: "unary"; + input: typeof UploadMetadataRequestSchema; + output: typeof CreateUploadLocationResponseSchema; + }, + /** + * Get input and output data for an action of a local run, served directly from the control + * plane's storage backend. Local runs only; never routes to a dataplane. + * + * @generated from rpc flyteidl2.dataproxy.DataProxyService.GetLocalActionData + */ + getLocalActionData: { + methodKind: "unary"; + input: typeof GetActionDataRequestSchema; + output: typeof GetActionDataResponseSchema; + }, + /** + * CreateLocalDownloadLink generates signed URL(s) for downloading an artifact of a local run + * action attempt directly from the control plane's storage backend. Local runs only; never + * routes to a dataplane. + * + * @generated from rpc flyteidl2.dataproxy.DataProxyService.CreateLocalDownloadLink + */ + createLocalDownloadLink: { + methodKind: "unary"; + input: typeof CreateLocalDownloadLinkRequestSchema; + output: typeof CreateDownloadLinkResponseSchema; + }, }> = /*@__PURE__*/ serviceDesc(file_flyteidl2_dataproxy_dataproxy_service, 0); diff --git a/gen/ts/flyteidl2/workflow/local_run_service_pb.ts b/gen/ts/flyteidl2/workflow/local_run_service_pb.ts new file mode 100644 index 00000000000..74727fc312e --- /dev/null +++ b/gen/ts/flyteidl2/workflow/local_run_service_pb.ts @@ -0,0 +1,352 @@ +// @generated by protoc-gen-es v2.2.5 with parameter "target=ts,import_extension=.ts" +// @generated from file flyteidl2/workflow/local_run_service.proto (package flyteidl2.workflow, syntax proto3) +/* eslint-disable */ + +import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; +import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1"; +import { file_buf_validate_validate } from "../../buf/validate/validate_pb.ts"; +import type { ProjectIdentifier, RunIdentifier } from "../common/identifier_pb.ts"; +import { file_flyteidl2_common_identifier } from "../common/identifier_pb.ts"; +import type { OffloadedInputData } from "../common/run_pb.ts"; +import { file_flyteidl2_common_run } from "../common/run_pb.ts"; +import { file_flyteidl2_task_common } from "../task/common_pb.ts"; +import type { RunSpec } from "../task/run_pb.ts"; +import { file_flyteidl2_task_run } from "../task/run_pb.ts"; +import type { TaskIdentifier, TaskSpec } from "../task/task_definition_pb.ts"; +import { file_flyteidl2_task_task_definition } from "../task/task_definition_pb.ts"; +import type { ActionEvent, ActionStatus, TaskAction, TraceAction } from "./run_definition_pb.ts"; +import { file_flyteidl2_workflow_run_definition } from "./run_definition_pb.ts"; +import type { CreateRunResponseSchema, GetActionDetailsRequestSchema, GetActionDetailsResponseSchema, GetRunDetailsRequestSchema, GetRunDetailsResponseSchema, ListActionsRequestSchema, ListActionsResponseSchema, ListRunsRequestSchema, ListRunsResponseSchema, WatchActionDetailsRequestSchema, WatchActionDetailsResponseSchema, WatchActionsRequestSchema, WatchActionsResponseSchema, WatchRunDetailsRequestSchema, WatchRunDetailsResponseSchema, WatchRunsRequestSchema, WatchRunsResponseSchema } from "./run_service_pb.ts"; +import { file_flyteidl2_workflow_run_service } from "./run_service_pb.ts"; +import type { Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Status } from "../../google/rpc/status_pb.ts"; +import { file_google_rpc_status } from "../../google/rpc/status_pb.ts"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file flyteidl2/workflow/local_run_service.proto. + */ +export const file_flyteidl2_workflow_local_run_service: GenFile = /*@__PURE__*/ + fileDesc("CipmbHl0ZWlkbDIvd29ya2Zsb3cvbG9jYWxfcnVuX3NlcnZpY2UucHJvdG8SEmZseXRlaWRsMi53b3JrZmxvdyK6BAoVQ3JlYXRlTG9jYWxSdW5SZXF1ZXN0EjEKBnJ1bl9pZBgBIAEoCzIfLmZseXRlaWRsMi5jb21tb24uUnVuSWRlbnRpZmllckgAEjkKCnByb2plY3RfaWQYAiABKAsyIy5mbHl0ZWlkbDIuY29tbW9uLlByb2plY3RJZGVudGlmaWVySAASMQoHdGFza19pZBgDIAEoCzIeLmZseXRlaWRsMi50YXNrLlRhc2tJZGVudGlmaWVySAESLQoJdGFza19zcGVjGAQgASgLMhguZmx5dGVpZGwyLnRhc2suVGFza1NwZWNIARJHChRvZmZsb2FkZWRfaW5wdXRfZGF0YRgFIAEoCzIkLmZseXRlaWRsMi5jb21tb24uT2ZmbG9hZGVkSW5wdXREYXRhSAKIAQESKQoIcnVuX3NwZWMYBiABKAsyFy5mbHl0ZWlkbDIudGFzay5SdW5TcGVjEkUKBmxhYmVscxgHIAMoCzI1LmZseXRlaWRsMi53b3JrZmxvdy5DcmVhdGVMb2NhbFJ1blJlcXVlc3QuTGFiZWxzRW50cnkSMgoOcnVuX3N0YXJ0X3RpbWUYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCwoCaWQSBbpIAggBQg0KBHRhc2sSBbpIAggBQhcKFV9vZmZsb2FkZWRfaW5wdXRfZGF0YSKLAgoRTG9jYWxBY3Rpb25VcGRhdGUSNgoFZXZlbnQYASABKAsyHy5mbHl0ZWlkbDIud29ya2Zsb3cuQWN0aW9uRXZlbnRCBrpIA8gBARITCgtwYXJlbnRfbmFtZRgCIAEoCRINCgVncm91cBgDIAEoCRIuCgR0YXNrGAQgASgLMh4uZmx5dGVpZGwyLndvcmtmbG93LlRhc2tBY3Rpb25IABIwCgV0cmFjZRgFIAEoCzIfLmZseXRlaWRsMi53b3JrZmxvdy5UcmFjZUFjdGlvbkgAEjAKBnN0YXR1cxgGIAEoCzIgLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb25TdGF0dXNCBgoEc3BlYyKWAQoZUmVwb3J0TG9jYWxBY3Rpb25zUmVxdWVzdBI3CgZydW5faWQYASABKAsyHy5mbHl0ZWlkbDIuY29tbW9uLlJ1bklkZW50aWZpZXJCBrpIA8gBARJACgd1cGRhdGVzGAIgAygLMiUuZmx5dGVpZGwyLndvcmtmbG93LkxvY2FsQWN0aW9uVXBkYXRlQgi6SAWSAQIIASJCChpSZXBvcnRMb2NhbEFjdGlvbnNSZXNwb25zZRIkCghzdGF0dXNlcxgBIAMoCzISLmdvb2dsZS5ycGMuU3RhdHVzMrIICg9Mb2NhbFJ1blNlcnZpY2USXwoJQ3JlYXRlUnVuEikuZmx5dGVpZGwyLndvcmtmbG93LkNyZWF0ZUxvY2FsUnVuUmVxdWVzdBolLmZseXRlaWRsMi53b3JrZmxvdy5DcmVhdGVSdW5SZXNwb25zZSIAEnAKDVJlcG9ydEFjdGlvbnMSLS5mbHl0ZWlkbDIud29ya2Zsb3cuUmVwb3J0TG9jYWxBY3Rpb25zUmVxdWVzdBouLmZseXRlaWRsMi53b3JrZmxvdy5SZXBvcnRMb2NhbEFjdGlvbnNSZXNwb25zZSIAEmkKDUdldFJ1bkRldGFpbHMSKC5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0UnVuRGV0YWlsc1JlcXVlc3QaKS5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0UnVuRGV0YWlsc1Jlc3BvbnNlIgOQAgESbgoPV2F0Y2hSdW5EZXRhaWxzEiouZmx5dGVpZGwyLndvcmtmbG93LldhdGNoUnVuRGV0YWlsc1JlcXVlc3QaKy5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hSdW5EZXRhaWxzUmVzcG9uc2UiADABEnIKEEdldEFjdGlvbkRldGFpbHMSKy5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0QWN0aW9uRGV0YWlsc1JlcXVlc3QaLC5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0QWN0aW9uRGV0YWlsc1Jlc3BvbnNlIgOQAgESdwoSV2F0Y2hBY3Rpb25EZXRhaWxzEi0uZmx5dGVpZGwyLndvcmtmbG93LldhdGNoQWN0aW9uRGV0YWlsc1JlcXVlc3QaLi5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hBY3Rpb25EZXRhaWxzUmVzcG9uc2UiADABEloKCExpc3RSdW5zEiMuZmx5dGVpZGwyLndvcmtmbG93Lkxpc3RSdW5zUmVxdWVzdBokLmZseXRlaWRsMi53b3JrZmxvdy5MaXN0UnVuc1Jlc3BvbnNlIgOQAgESXAoJV2F0Y2hSdW5zEiQuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoUnVuc1JlcXVlc3QaJS5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hSdW5zUmVzcG9uc2UiADABEmMKC0xpc3RBY3Rpb25zEiYuZmx5dGVpZGwyLndvcmtmbG93Lkxpc3RBY3Rpb25zUmVxdWVzdBonLmZseXRlaWRsMi53b3JrZmxvdy5MaXN0QWN0aW9uc1Jlc3BvbnNlIgOQAgESZQoMV2F0Y2hBY3Rpb25zEicuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoQWN0aW9uc1JlcXVlc3QaKC5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hBY3Rpb25zUmVzcG9uc2UiADABQtEBChZjb20uZmx5dGVpZGwyLndvcmtmbG93QhRMb2NhbFJ1blNlcnZpY2VQcm90b0gCUAFaNmdpdGh1Yi5jb20vZmx5dGVvcmcvZmx5dGUvdjIvZ2VuL2dvL2ZseXRlaWRsMi93b3JrZmxvd6ICA0ZXWKoCEkZseXRlaWRsMi5Xb3JrZmxvd8oCEkZseXRlaWRsMlxXb3JrZmxvd+ICHkZseXRlaWRsMlxXb3JrZmxvd1xHUEJNZXRhZGF0YeoCE0ZseXRlaWRsMjo6V29ya2Zsb3diBnByb3RvMw", [file_buf_validate_validate, file_flyteidl2_common_identifier, file_flyteidl2_common_run, file_flyteidl2_task_common, file_flyteidl2_task_run, file_flyteidl2_task_task_definition, file_flyteidl2_workflow_run_definition, file_flyteidl2_workflow_run_service, file_google_protobuf_timestamp, file_google_rpc_status]); + +/** + * Request message for creating a local run. + * + * @generated from message flyteidl2.workflow.CreateLocalRunRequest + */ +export type CreateLocalRunRequest = Message<"flyteidl2.workflow.CreateLocalRunRequest"> & { + /** + * @generated from oneof flyteidl2.workflow.CreateLocalRunRequest.id + */ + id: { + /** + * The user provided run id. + * + * @generated from field: flyteidl2.common.RunIdentifier run_id = 1; + */ + value: RunIdentifier; + case: "runId"; + } | { + /** + * The project id for this run. Run name will be generated. + * + * @generated from field: flyteidl2.common.ProjectIdentifier project_id = 2; + */ + value: ProjectIdentifier; + case: "projectId"; + } | { case: undefined; value?: undefined }; + + /** + * The task this run executes. + * + * @generated from oneof flyteidl2.workflow.CreateLocalRunRequest.task + */ + task: { + /** + * The task id to use. + * + * @generated from field: flyteidl2.task.TaskIdentifier task_id = 3; + */ + value: TaskIdentifier; + case: "taskId"; + } | { + /** + * The task spec to use. + * + * @generated from field: flyteidl2.task.TaskSpec task_spec = 4; + */ + value: TaskSpec; + case: "taskSpec"; + } | { case: undefined; value?: undefined }; + + /** + * Reference to the run's inputs, previously uploaded via DataProxyService.UploadMetadata. + * + * @generated from field: optional flyteidl2.common.OffloadedInputData offloaded_input_data = 5; + */ + offloadedInputData?: OffloadedInputData; + + /** + * The run spec to use. Only client-relevant fields are honored; dataplane scheduling fields + * (queue, cluster) are ignored for local runs. + * + * @generated from field: flyteidl2.task.RunSpec run_spec = 6; + */ + runSpec?: RunSpec; + + /** + * User-defined labels attached to this run at creation time. + * + * @generated from field: map labels = 7; + */ + labels: { [key: string]: string }; + + /** + * Time the local run actually started. If unset, the server defaults it to the current time. + * + * @generated from field: google.protobuf.Timestamp run_start_time = 8; + */ + runStartTime?: Timestamp; +}; + +/** + * Describes the message flyteidl2.workflow.CreateLocalRunRequest. + * Use `create(CreateLocalRunRequestSchema)` to create a new message. + */ +export const CreateLocalRunRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_flyteidl2_workflow_local_run_service, 0); + +/** + * A single action state report within a local run. + * + * @generated from message flyteidl2.workflow.LocalActionUpdate + */ +export type LocalActionUpdate = Message<"flyteidl2.workflow.LocalActionUpdate"> & { + /** + * The event describing this state transition. Carries the action id, attempt (starting at 1), + * phase, monotonically increasing version, timestamps, error info and output references + * (output_uri / report_uri under the control plane's storage). + * + * @generated from field: flyteidl2.workflow.ActionEvent event = 1; + */ + event?: ActionEvent; + + /** + * Name of the parent action if this is a nested action. Empty for the root action. Only + * honored on the first report of an action. + * + * @generated from field: string parent_name = 2; + */ + parentName: string; + + /** + * Group this action belongs to, if applicable. Only honored on the first report of an action. + * + * @generated from field: string group = 3; + */ + group: string; + + /** + * The action's spec. Should be provided on the first report of an action; ignored afterwards. + * + * @generated from oneof flyteidl2.workflow.LocalActionUpdate.spec + */ + spec: { + /** + * @generated from field: flyteidl2.workflow.TaskAction task = 4; + */ + value: TaskAction; + case: "task"; + } | { + /** + * @generated from field: flyteidl2.workflow.TraceAction trace = 5; + */ + value: TraceAction; + case: "trace"; + } | { case: undefined; value?: undefined }; + + /** + * Rolled-up status of the action (attempts count, start/end time). + * + * @generated from field: flyteidl2.workflow.ActionStatus status = 6; + */ + status?: ActionStatus; +}; + +/** + * Describes the message flyteidl2.workflow.LocalActionUpdate. + * Use `create(LocalActionUpdateSchema)` to create a new message. + */ +export const LocalActionUpdateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_flyteidl2_workflow_local_run_service, 1); + +/** + * Request message for reporting local action state. + * + * @generated from message flyteidl2.workflow.ReportLocalActionsRequest + */ +export type ReportLocalActionsRequest = Message<"flyteidl2.workflow.ReportLocalActionsRequest"> & { + /** + * The run these action reports belong to. Every update's action id must reference this run. + * + * @generated from field: flyteidl2.common.RunIdentifier run_id = 1; + */ + runId?: RunIdentifier; + + /** + * The action state reports. + * + * @generated from field: repeated flyteidl2.workflow.LocalActionUpdate updates = 2; + */ + updates: LocalActionUpdate[]; +}; + +/** + * Describes the message flyteidl2.workflow.ReportLocalActionsRequest. + * Use `create(ReportLocalActionsRequestSchema)` to create a new message. + */ +export const ReportLocalActionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_flyteidl2_workflow_local_run_service, 2); + +/** + * Response message for reporting local action state. + * + * @generated from message flyteidl2.workflow.ReportLocalActionsResponse + */ +export type ReportLocalActionsResponse = Message<"flyteidl2.workflow.ReportLocalActionsResponse"> & { + /** + * Per-update results, parallel to the request's updates. Duplicate (already recorded) events + * are reported as success. + * + * @generated from field: repeated google.rpc.Status statuses = 1; + */ + statuses: Status[]; +}; + +/** + * Describes the message flyteidl2.workflow.ReportLocalActionsResponse. + * Use `create(ReportLocalActionsResponseSchema)` to create a new message. + */ +export const ReportLocalActionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_flyteidl2_workflow_local_run_service, 3); + +/** + * LocalRunService manages runs that are orchestrated OUTSIDE the platform — typically on a user's + * machine — where the client executes actions itself and only reports their state here. Local runs + * are tracked separately from platform-orchestrated runs and never involve a dataplane. + * + * The read/watch surface deliberately mirrors RunService (same request/response messages) so that + * clients and UIs built against RunService work against local runs with only a service swap. + * + * @generated from service flyteidl2.workflow.LocalRunService + */ +export const LocalRunService: GenService<{ + /** + * Register a new local run. The server creates the root action ("a0") in the reported state and + * returns the resolved run. If a run name is not provided, the server generates one. + * + * @generated from rpc flyteidl2.workflow.LocalRunService.CreateRun + */ + createRun: { + methodKind: "unary"; + input: typeof CreateLocalRunRequestSchema; + output: typeof CreateRunResponseSchema; + }, + /** + * Report state for one or more actions of a local run. Creates actions on first report and + * updates them on subsequent reports. Reports are idempotent: an event with an + * (attempt, version, phase) tuple that was already recorded is acknowledged as success. + * + * @generated from rpc flyteidl2.workflow.LocalRunService.ReportActions + */ + reportActions: { + methodKind: "unary"; + input: typeof ReportLocalActionsRequestSchema; + output: typeof ReportLocalActionsResponseSchema; + }, + /** + * Get detailed information about a local run. + * + * @generated from rpc flyteidl2.workflow.LocalRunService.GetRunDetails + */ + getRunDetails: { + methodKind: "unary"; + input: typeof GetRunDetailsRequestSchema; + output: typeof GetRunDetailsResponseSchema; + }, + /** + * Stream detailed information updates about a local run. The call will terminate when the run + * reaches a terminal phase. + * + * @generated from rpc flyteidl2.workflow.LocalRunService.WatchRunDetails + */ + watchRunDetails: { + methodKind: "server_streaming"; + input: typeof WatchRunDetailsRequestSchema; + output: typeof WatchRunDetailsResponseSchema; + }, + /** + * Get detailed information about an action of a local run. + * + * @generated from rpc flyteidl2.workflow.LocalRunService.GetActionDetails + */ + getActionDetails: { + methodKind: "unary"; + input: typeof GetActionDetailsRequestSchema; + output: typeof GetActionDetailsResponseSchema; + }, + /** + * Stream detailed information updates about an action of a local run. The call will terminate + * when the action reaches a terminal phase. + * + * @generated from rpc flyteidl2.workflow.LocalRunService.WatchActionDetails + */ + watchActionDetails: { + methodKind: "server_streaming"; + input: typeof WatchActionDetailsRequestSchema; + output: typeof WatchActionDetailsResponseSchema; + }, + /** + * List local runs based on the provided filter criteria. + * + * @generated from rpc flyteidl2.workflow.LocalRunService.ListRuns + */ + listRuns: { + methodKind: "unary"; + input: typeof ListRunsRequestSchema; + output: typeof ListRunsResponseSchema; + }, + /** + * Stream updates for local runs based on the provided filter criteria. + * + * @generated from rpc flyteidl2.workflow.LocalRunService.WatchRuns + */ + watchRuns: { + methodKind: "server_streaming"; + input: typeof WatchRunsRequestSchema; + output: typeof WatchRunsResponseSchema; + }, + /** + * List all actions for a given local run. + * + * @generated from rpc flyteidl2.workflow.LocalRunService.ListActions + */ + listActions: { + methodKind: "unary"; + input: typeof ListActionsRequestSchema; + output: typeof ListActionsResponseSchema; + }, + /** + * Stream updates for actions of a given local run. + * + * @generated from rpc flyteidl2.workflow.LocalRunService.WatchActions + */ + watchActions: { + methodKind: "server_streaming"; + input: typeof WatchActionsRequestSchema; + output: typeof WatchActionsResponseSchema; + }, +}> = /*@__PURE__*/ + serviceDesc(file_flyteidl2_workflow_local_run_service, 0); + diff --git a/gen/ts/flyteidl2/workflow/run_definition_pb.ts b/gen/ts/flyteidl2/workflow/run_definition_pb.ts index e3ba4a26228..834ec77704d 100644 --- a/gen/ts/flyteidl2/workflow/run_definition_pb.ts +++ b/gen/ts/flyteidl2/workflow/run_definition_pb.ts @@ -37,7 +37,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf"; * Describes the file flyteidl2/workflow/run_definition.proto. */ export const file_flyteidl2_workflow_run_definition: GenFile = /*@__PURE__*/ - fileDesc("CidmbHl0ZWlkbDIvd29ya2Zsb3cvcnVuX2RlZmluaXRpb24ucHJvdG8SEmZseXRlaWRsMi53b3JrZmxvdyKVAQoDUnVuEioKBmFjdGlvbhgBIAEoCzIaLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb24SMwoGbGFiZWxzGAIgAygLMiMuZmx5dGVpZGwyLndvcmtmbG93LlJ1bi5MYWJlbHNFbnRyeRotCgtMYWJlbHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBImoKClJ1bkRldGFpbHMSKQoIcnVuX3NwZWMYASABKAsyFy5mbHl0ZWlkbDIudGFzay5SdW5TcGVjEjEKBmFjdGlvbhgCIAEoCzIhLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb25EZXRhaWxzIrEBCgpUYXNrQWN0aW9uEioKAmlkGAEgASgLMh4uZmx5dGVpZGwyLnRhc2suVGFza0lkZW50aWZpZXISLgoEc3BlYxgCIAEoCzIYLmZseXRlaWRsMi50YXNrLlRhc2tTcGVjQga6SAPIAQESLwoJY2FjaGVfa2V5GAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEg0KBXF1ZXVlGAQgASgJUgdjbHVzdGVyIqYCCgtUcmFjZUFjdGlvbhIVCgRuYW1lGAEgASgJQge6SARyAhABEiwKBXBoYXNlGAIgASgOMh0uZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25QaGFzZRIuCgpzdGFydF90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCghlbmRfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIxCgdvdXRwdXRzGAUgASgLMiAuZmx5dGVpZGwyLnRhc2suT3V0cHV0UmVmZXJlbmNlcxIvCgRzcGVjGAYgASgLMhkuZmx5dGVpZGwyLnRhc2suVHJhY2VTcGVjQga6SAPIAQFCCwoJX2VuZF90aW1lItoCCg9Db25kaXRpb25BY3Rpb24SFQoEbmFtZRgBIAEoCUIHukgEcgIQARIpCgR0eXBlGAYgASgLMhsuZmx5dGVpZGwyLmNvcmUuTGl0ZXJhbFR5cGUSGAoGcHJvbXB0GAcgASgJQgi6SAVyAxiAIBIdCgtkZXNjcmlwdGlvbhgIIAEoCUIIukgFcgMYgBASPAoLcHJvbXB0X3R5cGUYCSABKA4yJy5mbHl0ZWlkbDIud29ya2Zsb3cuQ29uZGl0aW9uUHJvbXB0VHlwZRIqCgd0aW1lb3V0GAogASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjUKB3dlYmhvb2sYCyABKAsyJC5mbHl0ZWlkbDIud29ya2Zsb3cuQ29uZGl0aW9uV2ViaG9va0oECAIQA0oECAMQBEoECAQQBVIGcnVuX2lkUglhY3Rpb25faWRSBmdsb2JhbCJJChBDb25kaXRpb25XZWJob29rEgsKA3VybBgBIAEoCRIoCgdwYXlsb2FkGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJnChJUYXNrQWN0aW9uTWV0YWRhdGESKgoCaWQYASABKAsyHi5mbHl0ZWlkbDIudGFzay5UYXNrSWRlbnRpZmllchIRCgl0YXNrX3R5cGUYAiABKAkSEgoKc2hvcnRfbmFtZRgDIAEoCSIjChNUcmFjZUFjdGlvbk1ldGFkYXRhEgwKBG5hbWUYASABKAkifwoXQ29uZGl0aW9uQWN0aW9uTWV0YWRhdGESDAoEbmFtZRgBIAEoCRIpCgR0eXBlGAUgASgLMhsuZmx5dGVpZGwyLmNvcmUuTGl0ZXJhbFR5cGVKBAgCEANKBAgDEARKBAgEEAVSBnJ1bl9pZFIJYWN0aW9uX2lkUgZnbG9iYWwirgUKDkFjdGlvbk1ldGFkYXRhEg4KBnBhcmVudBgDIAEoCRINCgVncm91cBgFIAEoCRI3CgtleGVjdXRlZF9ieRgGIAEoCzIiLmZseXRlaWRsMi5jb21tb24uRW5yaWNoZWRJZGVudGl0eRI2CgR0YXNrGAcgASgLMiYuZmx5dGVpZGwyLndvcmtmbG93LlRhc2tBY3Rpb25NZXRhZGF0YUgAEjgKBXRyYWNlGAggASgLMicuZmx5dGVpZGwyLndvcmtmbG93LlRyYWNlQWN0aW9uTWV0YWRhdGFIABJACgljb25kaXRpb24YCSABKAsyKy5mbHl0ZWlkbDIud29ya2Zsb3cuQ29uZGl0aW9uQWN0aW9uTWV0YWRhdGFIABIzCgthY3Rpb25fdHlwZRgKIAEoDjIeLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb25UeXBlEjcKCnRyaWdnZXJfaWQYCyABKAsyIy5mbHl0ZWlkbDIuY29tbW9uLlRyaWdnZXJJZGVudGlmaWVyEhgKEGVudmlyb25tZW50X25hbWUYDCABKAkSFAoMZnVudGlvbl9uYW1lGA0gASgJEhQKDHRyaWdnZXJfbmFtZRgOIAEoCRI7Cgx0cmlnZ2VyX3R5cGUYDyABKAsyJS5mbHl0ZWlkbDIudGFzay5UcmlnZ2VyQXV0b21hdGlvblNwZWMSLQoGc291cmNlGBAgASgOMh0uZmx5dGVpZGwyLndvcmtmbG93LlJ1blNvdXJjZRIsCghyZWxhdGlvbhgRIAEoCzIaLmZseXRlaWRsMi5jb21tb24uUmVsYXRpb24SOgoOcmVjb3ZlcmVkX2Zyb20YEiABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXJCBgoEc3BlYyKrAgoMQWN0aW9uU3RhdHVzEiwKBXBoYXNlGAEgASgOMh0uZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25QaGFzZRIuCgpzdGFydF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCghlbmRfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIZCghhdHRlbXB0cxgEIAEoDUIHukgEKgIgABI4CgxjYWNoZV9zdGF0dXMYBSABKA4yIi5mbHl0ZWlkbDIuY29yZS5DYXRhbG9nQ2FjaGVTdGF0dXMSGAoLZHVyYXRpb25fbXMYBiABKARIAYgBAUILCglfZW5kX3RpbWVCDgoMX2R1cmF0aW9uX21zIqABCgZBY3Rpb24SLgoCaWQYASABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXISNAoIbWV0YWRhdGEYAiABKAsyIi5mbHl0ZWlkbDIud29ya2Zsb3cuQWN0aW9uTWV0YWRhdGESMAoGc3RhdHVzGAMgASgLMiAuZmx5dGVpZGwyLndvcmtmbG93LkFjdGlvblN0YXR1cyLqAQoORW5yaWNoZWRBY3Rpb24SKgoGYWN0aW9uGAEgASgLMhouZmx5dGVpZGwyLndvcmtmbG93LkFjdGlvbhIUCgxtZWV0c19maWx0ZXIYAiABKAgSWgoVY2hpbGRyZW5fcGhhc2VfY291bnRzGAMgAygLMjsuZmx5dGVpZGwyLndvcmtmbG93LkVucmljaGVkQWN0aW9uLkNoaWxkcmVuUGhhc2VDb3VudHNFbnRyeRo6ChhDaGlsZHJlblBoYXNlQ291bnRzRW50cnkSCwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgFOgI4ASKMAQoJRXJyb3JJbmZvEg8KB21lc3NhZ2UYASABKAkSMAoEa2luZBgCIAEoDjIiLmZseXRlaWRsMi53b3JrZmxvdy5FcnJvckluZm8uS2luZCI8CgRLaW5kEhQKEEtJTkRfVU5TUEVDSUZJRUQQABINCglLSU5EX1VTRVIQARIPCgtLSU5EX1NZU1RFTRACIlMKCUFib3J0SW5mbxIOCgZyZWFzb24YASABKAkSNgoKYWJvcnRlZF9ieRgCIAEoCzIiLmZseXRlaWRsMi5jb21tb24uRW5yaWNoZWRJZGVudGl0eSJvCgpTaWduYWxJbmZvEjgKDHNpZ25hbGxlZF9ieRgBIAEoCzIiLmZseXRlaWRsMi5jb21tb24uRW5yaWNoZWRJZGVudGl0eRInCgZvdXRwdXQYAiABKAsyFy5mbHl0ZWlkbDIuY29yZS5MaXRlcmFsIp8ECg1BY3Rpb25EZXRhaWxzEi4KAmlkGAEgASgLMiIuZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25JZGVudGlmaWVyEjQKCG1ldGFkYXRhGAIgASgLMiIuZmx5dGVpZGwyLndvcmtmbG93LkFjdGlvbk1ldGFkYXRhEjAKBnN0YXR1cxgDIAEoCzIgLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb25TdGF0dXMSMwoKZXJyb3JfaW5mbxgEIAEoCzIdLmZseXRlaWRsMi53b3JrZmxvdy5FcnJvckluZm9IABIzCgphYm9ydF9pbmZvGAUgASgLMh0uZmx5dGVpZGwyLndvcmtmbG93LkFib3J0SW5mb0gAEjUKC3NpZ25hbF9pbmZvGAogASgLMh4uZmx5dGVpZGwyLndvcmtmbG93LlNpZ25hbEluZm9IABIoCgR0YXNrGAYgASgLMhguZmx5dGVpZGwyLnRhc2suVGFza1NwZWNIARIqCgV0cmFjZRgIIAEoCzIZLmZseXRlaWRsMi50YXNrLlRyYWNlU3BlY0gBEjgKCWNvbmRpdGlvbhgJIAEoCzIjLmZseXRlaWRsMi53b3JrZmxvdy5Db25kaXRpb25BY3Rpb25IARIzCghhdHRlbXB0cxgHIAMoCzIhLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb25BdHRlbXB0QggKBnJlc3VsdEIGCgRzcGVjIrMFCg1BY3Rpb25BdHRlbXB0EiwKBXBoYXNlGAEgASgOMh0uZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25QaGFzZRIuCgpzdGFydF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCghlbmRfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARI2CgplcnJvcl9pbmZvGAQgASgLMh0uZmx5dGVpZGwyLndvcmtmbG93LkVycm9ySW5mb0gBiAEBEhgKB2F0dGVtcHQYBSABKA1CB7pIBCoCIAASKQoIbG9nX2luZm8YBiADKAsyFy5mbHl0ZWlkbDIuY29yZS5UYXNrTG9nEjEKB291dHB1dHMYByABKAsyIC5mbHl0ZWlkbDIudGFzay5PdXRwdXRSZWZlcmVuY2VzEhYKDmxvZ3NfYXZhaWxhYmxlGAggASgIEjgKDGNhY2hlX3N0YXR1cxgJIAEoDjIiLmZseXRlaWRsMi5jb3JlLkNhdGFsb2dDYWNoZVN0YXR1cxI4Cg5jbHVzdGVyX2V2ZW50cxgKIAMoCzIgLmZseXRlaWRsMi53b3JrZmxvdy5DbHVzdGVyRXZlbnQSPgoRcGhhc2VfdHJhbnNpdGlvbnMYCyADKAsyIy5mbHl0ZWlkbDIud29ya2Zsb3cuUGhhc2VUcmFuc2l0aW9uEg8KB2NsdXN0ZXIYDCABKAkSLwoLbG9nX2NvbnRleHQYDSABKAsyGi5mbHl0ZWlkbDIuY29yZS5Mb2dDb250ZXh0EjcKDmNhY2hlX21ldGFkYXRhGA4gASgLMh8uZmx5dGVpZGwyLmNvbW1vbi5DYWNoZU1ldGFkYXRhQgsKCV9lbmRfdGltZUINCgtfZXJyb3JfaW5mbyJQCgxDbHVzdGVyRXZlbnQSLwoLb2NjdXJyZWRfYXQYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB21lc3NhZ2UYAiABKAkirwEKD1BoYXNlVHJhbnNpdGlvbhIsCgVwaGFzZRgBIAEoDjIdLmZseXRlaWRsMi5jb21tb24uQWN0aW9uUGhhc2USLgoKc3RhcnRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMQoIZW5kX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCCwoJX2VuZF90aW1lIo8GCgtBY3Rpb25FdmVudBI2CgJpZBgBIAEoCzIiLmZseXRlaWRsMi5jb21tb24uQWN0aW9uSWRlbnRpZmllckIGukgDyAEBEhgKB2F0dGVtcHQYAiABKA1CB7pIBCoCIAASLAoFcGhhc2UYAyABKA4yHS5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvblBoYXNlEg8KB3ZlcnNpb24YBCABKA0SMgoKc3RhcnRfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCAhgBEjAKDHVwZGF0ZWRfdGltZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoIZW5kX3RpbWUYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgIYAUgAiAEBEjYKCmVycm9yX2luZm8YCCABKAsyHS5mbHl0ZWlkbDIud29ya2Zsb3cuRXJyb3JJbmZvSAGIAQESKQoIbG9nX2luZm8YCSADKAsyFy5mbHl0ZWlkbDIuY29yZS5UYXNrTG9nEi8KC2xvZ19jb250ZXh0GAogASgLMhouZmx5dGVpZGwyLmNvcmUuTG9nQ29udGV4dBIPCgdjbHVzdGVyGAsgASgJEjEKB291dHB1dHMYDCABKAsyIC5mbHl0ZWlkbDIudGFzay5PdXRwdXRSZWZlcmVuY2VzEjgKDGNhY2hlX3N0YXR1cxgNIAEoDjIiLmZseXRlaWRsMi5jb3JlLkNhdGFsb2dDYWNoZVN0YXR1cxI4Cg5jbHVzdGVyX2V2ZW50cxgOIAMoCzIgLmZseXRlaWRsMi53b3JrZmxvdy5DbHVzdGVyRXZlbnQSMQoNcmVwb3J0ZWRfdGltZRgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNwoOY2FjaGVfbWV0YWRhdGEYECABKAsyHy5mbHl0ZWlkbDIuY29tbW9uLkNhY2hlTWV0YWRhdGFCCwoJX2VuZF90aW1lQg0KC19lcnJvcl9pbmZvIqYDCgpBY3Rpb25TcGVjEj0KCWFjdGlvbl9pZBgBIAEoCzIiLmZseXRlaWRsMi5jb21tb24uQWN0aW9uSWRlbnRpZmllckIGukgDyAEBEh8KEnBhcmVudF9hY3Rpb25fbmFtZRgCIAEoCUgBiAEBEikKCHJ1bl9zcGVjGAMgASgLMhcuZmx5dGVpZGwyLnRhc2suUnVuU3BlYxIaCglpbnB1dF91cmkYBCABKAlCB7pIBHICEAESIAoPcnVuX291dHB1dF9iYXNlGAUgASgJQge6SARyAhABEi4KBHRhc2sYBiABKAsyHi5mbHl0ZWlkbDIud29ya2Zsb3cuVGFza0FjdGlvbkgAEjgKCWNvbmRpdGlvbhgHIAEoCzIjLmZseXRlaWRsMi53b3JrZmxvdy5Db25kaXRpb25BY3Rpb25IABIwCgV0cmFjZRgKIAEoCzIfLmZseXRlaWRsMi53b3JrZmxvdy5UcmFjZUFjdGlvbkgAEg0KBWdyb3VwGAggASgJQg0KBHNwZWMSBbpIAggBQhUKE19wYXJlbnRfYWN0aW9uX25hbWUi5AYKCVRhc2tHcm91cBIRCgl0YXNrX25hbWUYASABKAkSGAoQZW52aXJvbm1lbnRfbmFtZRgCIAEoCRISCgp0b3RhbF9ydW5zGAMgASgDEjMKD2xhdGVzdF9ydW5fdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASQwoPcmVjZW50X3N0YXR1c2VzGAUgAygLMiouZmx5dGVpZGwyLndvcmtmbG93LlRhc2tHcm91cC5SZWNlbnRTdGF0dXMSHAoUYXZlcmFnZV9mYWlsdXJlX3JhdGUYBiABKAESMwoQYXZlcmFnZV9kdXJhdGlvbhgHIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhI4ChRsYXRlc3RfZmluaXNoZWRfdGltZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNgoKY3JlYXRlZF9ieRgJIAMoCzIiLmZseXRlaWRsMi5jb21tb24uRW5yaWNoZWRJZGVudGl0eRIVCg1zaG91bGRfZGVsZXRlGAogASgIEhIKCnNob3J0X25hbWUYCyABKAkSPwoMZXJyb3JfY291bnRzGAwgASgLMikuZmx5dGVpZGwyLndvcmtmbG93LlRhc2tHcm91cC5FcnJvckNvdW50cxI/CgxwaGFzZV9jb3VudHMYDSADKAsyKS5mbHl0ZWlkbDIud29ya2Zsb3cuVGFza0dyb3VwLlBoYXNlQ291bnRzEjoKF2F2ZXJhZ2VfdGltZV90b19ydW5uaW5nGA4gASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uGk4KDFJlY2VudFN0YXR1cxIQCghydW5fbmFtZRgBIAEoCRIsCgVwaGFzZRgCIAEoDjIdLmZseXRlaWRsMi5jb21tb24uQWN0aW9uUGhhc2UaUgoLRXJyb3JDb3VudHMSEgoKdXNlcl9lcnJvchgBIAEoAxIUCgxzeXN0ZW1fZXJyb3IYAiABKAMSGQoRdW5zcGVjaWZpZWRfZXJyb3IYAyABKAMaSgoLUGhhc2VDb3VudHMSLAoFcGhhc2UYASABKA4yHS5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvblBoYXNlEg0KBWNvdW50GAIgASgDKoABChNDb25kaXRpb25Qcm9tcHRUeXBlEiUKIUNPTkRJVElPTl9QUk9NUFRfVFlQRV9VTlNQRUNJRklFRBAAEh4KGkNPTkRJVElPTl9QUk9NUFRfVFlQRV9URVhUEAESIgoeQ09ORElUSU9OX1BST01QVF9UWVBFX01BUktET1dOEAIqcQoKQWN0aW9uVHlwZRIbChdBQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEhQKEEFDVElPTl9UWVBFX1RBU0sQARIVChFBQ1RJT05fVFlQRV9UUkFDRRACEhkKFUFDVElPTl9UWVBFX0NPTkRJVElPThADKnAKCVJ1blNvdXJjZRIaChZSVU5fU09VUkNFX1VOU1BFQ0lGSUVEEAASEgoOUlVOX1NPVVJDRV9XRUIQARISCg5SVU5fU09VUkNFX0NMSRACEh8KG1JVTl9TT1VSQ0VfU0NIRURVTEVfVFJJR0dFUhADQs8BChZjb20uZmx5dGVpZGwyLndvcmtmbG93QhJSdW5EZWZpbml0aW9uUHJvdG9IAlABWjZnaXRodWIuY29tL2ZseXRlb3JnL2ZseXRlL3YyL2dlbi9nby9mbHl0ZWlkbDIvd29ya2Zsb3eiAgNGV1iqAhJGbHl0ZWlkbDIuV29ya2Zsb3fKAhJGbHl0ZWlkbDJcV29ya2Zsb3fiAh5GbHl0ZWlkbDJcV29ya2Zsb3dcR1BCTWV0YWRhdGHqAhNGbHl0ZWlkbDI6OldvcmtmbG93YgZwcm90bzM", [file_buf_validate_validate, file_flyteidl2_common_cache, file_flyteidl2_common_identifier, file_flyteidl2_common_identity, file_flyteidl2_common_phase, file_flyteidl2_common_run, file_flyteidl2_core_catalog, file_flyteidl2_core_execution, file_flyteidl2_core_literals, file_flyteidl2_core_types, file_flyteidl2_task_common, file_flyteidl2_task_run, file_flyteidl2_task_task_definition, file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_timestamp, file_google_protobuf_wrappers]); + fileDesc("CidmbHl0ZWlkbDIvd29ya2Zsb3cvcnVuX2RlZmluaXRpb24ucHJvdG8SEmZseXRlaWRsMi53b3JrZmxvdyKVAQoDUnVuEioKBmFjdGlvbhgBIAEoCzIaLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb24SMwoGbGFiZWxzGAIgAygLMiMuZmx5dGVpZGwyLndvcmtmbG93LlJ1bi5MYWJlbHNFbnRyeRotCgtMYWJlbHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBImoKClJ1bkRldGFpbHMSKQoIcnVuX3NwZWMYASABKAsyFy5mbHl0ZWlkbDIudGFzay5SdW5TcGVjEjEKBmFjdGlvbhgCIAEoCzIhLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb25EZXRhaWxzIrEBCgpUYXNrQWN0aW9uEioKAmlkGAEgASgLMh4uZmx5dGVpZGwyLnRhc2suVGFza0lkZW50aWZpZXISLgoEc3BlYxgCIAEoCzIYLmZseXRlaWRsMi50YXNrLlRhc2tTcGVjQga6SAPIAQESLwoJY2FjaGVfa2V5GAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEg0KBXF1ZXVlGAQgASgJUgdjbHVzdGVyIqYCCgtUcmFjZUFjdGlvbhIVCgRuYW1lGAEgASgJQge6SARyAhABEiwKBXBoYXNlGAIgASgOMh0uZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25QaGFzZRIuCgpzdGFydF90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCghlbmRfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIxCgdvdXRwdXRzGAUgASgLMiAuZmx5dGVpZGwyLnRhc2suT3V0cHV0UmVmZXJlbmNlcxIvCgRzcGVjGAYgASgLMhkuZmx5dGVpZGwyLnRhc2suVHJhY2VTcGVjQga6SAPIAQFCCwoJX2VuZF90aW1lItoCCg9Db25kaXRpb25BY3Rpb24SFQoEbmFtZRgBIAEoCUIHukgEcgIQARIpCgR0eXBlGAYgASgLMhsuZmx5dGVpZGwyLmNvcmUuTGl0ZXJhbFR5cGUSGAoGcHJvbXB0GAcgASgJQgi6SAVyAxiAIBIdCgtkZXNjcmlwdGlvbhgIIAEoCUIIukgFcgMYgBASPAoLcHJvbXB0X3R5cGUYCSABKA4yJy5mbHl0ZWlkbDIud29ya2Zsb3cuQ29uZGl0aW9uUHJvbXB0VHlwZRIqCgd0aW1lb3V0GAogASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjUKB3dlYmhvb2sYCyABKAsyJC5mbHl0ZWlkbDIud29ya2Zsb3cuQ29uZGl0aW9uV2ViaG9va0oECAIQA0oECAMQBEoECAQQBVIGcnVuX2lkUglhY3Rpb25faWRSBmdsb2JhbCJJChBDb25kaXRpb25XZWJob29rEgsKA3VybBgBIAEoCRIoCgdwYXlsb2FkGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJnChJUYXNrQWN0aW9uTWV0YWRhdGESKgoCaWQYASABKAsyHi5mbHl0ZWlkbDIudGFzay5UYXNrSWRlbnRpZmllchIRCgl0YXNrX3R5cGUYAiABKAkSEgoKc2hvcnRfbmFtZRgDIAEoCSIjChNUcmFjZUFjdGlvbk1ldGFkYXRhEgwKBG5hbWUYASABKAkifwoXQ29uZGl0aW9uQWN0aW9uTWV0YWRhdGESDAoEbmFtZRgBIAEoCRIpCgR0eXBlGAUgASgLMhsuZmx5dGVpZGwyLmNvcmUuTGl0ZXJhbFR5cGVKBAgCEANKBAgDEARKBAgEEAVSBnJ1bl9pZFIJYWN0aW9uX2lkUgZnbG9iYWwirgUKDkFjdGlvbk1ldGFkYXRhEg4KBnBhcmVudBgDIAEoCRINCgVncm91cBgFIAEoCRI3CgtleGVjdXRlZF9ieRgGIAEoCzIiLmZseXRlaWRsMi5jb21tb24uRW5yaWNoZWRJZGVudGl0eRI2CgR0YXNrGAcgASgLMiYuZmx5dGVpZGwyLndvcmtmbG93LlRhc2tBY3Rpb25NZXRhZGF0YUgAEjgKBXRyYWNlGAggASgLMicuZmx5dGVpZGwyLndvcmtmbG93LlRyYWNlQWN0aW9uTWV0YWRhdGFIABJACgljb25kaXRpb24YCSABKAsyKy5mbHl0ZWlkbDIud29ya2Zsb3cuQ29uZGl0aW9uQWN0aW9uTWV0YWRhdGFIABIzCgthY3Rpb25fdHlwZRgKIAEoDjIeLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb25UeXBlEjcKCnRyaWdnZXJfaWQYCyABKAsyIy5mbHl0ZWlkbDIuY29tbW9uLlRyaWdnZXJJZGVudGlmaWVyEhgKEGVudmlyb25tZW50X25hbWUYDCABKAkSFAoMZnVudGlvbl9uYW1lGA0gASgJEhQKDHRyaWdnZXJfbmFtZRgOIAEoCRI7Cgx0cmlnZ2VyX3R5cGUYDyABKAsyJS5mbHl0ZWlkbDIudGFzay5UcmlnZ2VyQXV0b21hdGlvblNwZWMSLQoGc291cmNlGBAgASgOMh0uZmx5dGVpZGwyLndvcmtmbG93LlJ1blNvdXJjZRIsCghyZWxhdGlvbhgRIAEoCzIaLmZseXRlaWRsMi5jb21tb24uUmVsYXRpb24SOgoOcmVjb3ZlcmVkX2Zyb20YEiABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXJCBgoEc3BlYyKrAgoMQWN0aW9uU3RhdHVzEiwKBXBoYXNlGAEgASgOMh0uZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25QaGFzZRIuCgpzdGFydF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCghlbmRfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIZCghhdHRlbXB0cxgEIAEoDUIHukgEKgIgABI4CgxjYWNoZV9zdGF0dXMYBSABKA4yIi5mbHl0ZWlkbDIuY29yZS5DYXRhbG9nQ2FjaGVTdGF0dXMSGAoLZHVyYXRpb25fbXMYBiABKARIAYgBAUILCglfZW5kX3RpbWVCDgoMX2R1cmF0aW9uX21zIqABCgZBY3Rpb24SLgoCaWQYASABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXISNAoIbWV0YWRhdGEYAiABKAsyIi5mbHl0ZWlkbDIud29ya2Zsb3cuQWN0aW9uTWV0YWRhdGESMAoGc3RhdHVzGAMgASgLMiAuZmx5dGVpZGwyLndvcmtmbG93LkFjdGlvblN0YXR1cyLqAQoORW5yaWNoZWRBY3Rpb24SKgoGYWN0aW9uGAEgASgLMhouZmx5dGVpZGwyLndvcmtmbG93LkFjdGlvbhIUCgxtZWV0c19maWx0ZXIYAiABKAgSWgoVY2hpbGRyZW5fcGhhc2VfY291bnRzGAMgAygLMjsuZmx5dGVpZGwyLndvcmtmbG93LkVucmljaGVkQWN0aW9uLkNoaWxkcmVuUGhhc2VDb3VudHNFbnRyeRo6ChhDaGlsZHJlblBoYXNlQ291bnRzRW50cnkSCwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgFOgI4ASKMAQoJRXJyb3JJbmZvEg8KB21lc3NhZ2UYASABKAkSMAoEa2luZBgCIAEoDjIiLmZseXRlaWRsMi53b3JrZmxvdy5FcnJvckluZm8uS2luZCI8CgRLaW5kEhQKEEtJTkRfVU5TUEVDSUZJRUQQABINCglLSU5EX1VTRVIQARIPCgtLSU5EX1NZU1RFTRACIlMKCUFib3J0SW5mbxIOCgZyZWFzb24YASABKAkSNgoKYWJvcnRlZF9ieRgCIAEoCzIiLmZseXRlaWRsMi5jb21tb24uRW5yaWNoZWRJZGVudGl0eSJvCgpTaWduYWxJbmZvEjgKDHNpZ25hbGxlZF9ieRgBIAEoCzIiLmZseXRlaWRsMi5jb21tb24uRW5yaWNoZWRJZGVudGl0eRInCgZvdXRwdXQYAiABKAsyFy5mbHl0ZWlkbDIuY29yZS5MaXRlcmFsIp8ECg1BY3Rpb25EZXRhaWxzEi4KAmlkGAEgASgLMiIuZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25JZGVudGlmaWVyEjQKCG1ldGFkYXRhGAIgASgLMiIuZmx5dGVpZGwyLndvcmtmbG93LkFjdGlvbk1ldGFkYXRhEjAKBnN0YXR1cxgDIAEoCzIgLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb25TdGF0dXMSMwoKZXJyb3JfaW5mbxgEIAEoCzIdLmZseXRlaWRsMi53b3JrZmxvdy5FcnJvckluZm9IABIzCgphYm9ydF9pbmZvGAUgASgLMh0uZmx5dGVpZGwyLndvcmtmbG93LkFib3J0SW5mb0gAEjUKC3NpZ25hbF9pbmZvGAogASgLMh4uZmx5dGVpZGwyLndvcmtmbG93LlNpZ25hbEluZm9IABIoCgR0YXNrGAYgASgLMhguZmx5dGVpZGwyLnRhc2suVGFza1NwZWNIARIqCgV0cmFjZRgIIAEoCzIZLmZseXRlaWRsMi50YXNrLlRyYWNlU3BlY0gBEjgKCWNvbmRpdGlvbhgJIAEoCzIjLmZseXRlaWRsMi53b3JrZmxvdy5Db25kaXRpb25BY3Rpb25IARIzCghhdHRlbXB0cxgHIAMoCzIhLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb25BdHRlbXB0QggKBnJlc3VsdEIGCgRzcGVjIrMFCg1BY3Rpb25BdHRlbXB0EiwKBXBoYXNlGAEgASgOMh0uZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25QaGFzZRIuCgpzdGFydF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCghlbmRfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARI2CgplcnJvcl9pbmZvGAQgASgLMh0uZmx5dGVpZGwyLndvcmtmbG93LkVycm9ySW5mb0gBiAEBEhgKB2F0dGVtcHQYBSABKA1CB7pIBCoCIAASKQoIbG9nX2luZm8YBiADKAsyFy5mbHl0ZWlkbDIuY29yZS5UYXNrTG9nEjEKB291dHB1dHMYByABKAsyIC5mbHl0ZWlkbDIudGFzay5PdXRwdXRSZWZlcmVuY2VzEhYKDmxvZ3NfYXZhaWxhYmxlGAggASgIEjgKDGNhY2hlX3N0YXR1cxgJIAEoDjIiLmZseXRlaWRsMi5jb3JlLkNhdGFsb2dDYWNoZVN0YXR1cxI4Cg5jbHVzdGVyX2V2ZW50cxgKIAMoCzIgLmZseXRlaWRsMi53b3JrZmxvdy5DbHVzdGVyRXZlbnQSPgoRcGhhc2VfdHJhbnNpdGlvbnMYCyADKAsyIy5mbHl0ZWlkbDIud29ya2Zsb3cuUGhhc2VUcmFuc2l0aW9uEg8KB2NsdXN0ZXIYDCABKAkSLwoLbG9nX2NvbnRleHQYDSABKAsyGi5mbHl0ZWlkbDIuY29yZS5Mb2dDb250ZXh0EjcKDmNhY2hlX21ldGFkYXRhGA4gASgLMh8uZmx5dGVpZGwyLmNvbW1vbi5DYWNoZU1ldGFkYXRhQgsKCV9lbmRfdGltZUINCgtfZXJyb3JfaW5mbyJQCgxDbHVzdGVyRXZlbnQSLwoLb2NjdXJyZWRfYXQYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB21lc3NhZ2UYAiABKAkirwEKD1BoYXNlVHJhbnNpdGlvbhIsCgVwaGFzZRgBIAEoDjIdLmZseXRlaWRsMi5jb21tb24uQWN0aW9uUGhhc2USLgoKc3RhcnRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMQoIZW5kX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCCwoJX2VuZF90aW1lIo8GCgtBY3Rpb25FdmVudBI2CgJpZBgBIAEoCzIiLmZseXRlaWRsMi5jb21tb24uQWN0aW9uSWRlbnRpZmllckIGukgDyAEBEhgKB2F0dGVtcHQYAiABKA1CB7pIBCoCIAASLAoFcGhhc2UYAyABKA4yHS5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvblBoYXNlEg8KB3ZlcnNpb24YBCABKA0SMgoKc3RhcnRfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCAhgBEjAKDHVwZGF0ZWRfdGltZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoIZW5kX3RpbWUYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgIYAUgAiAEBEjYKCmVycm9yX2luZm8YCCABKAsyHS5mbHl0ZWlkbDIud29ya2Zsb3cuRXJyb3JJbmZvSAGIAQESKQoIbG9nX2luZm8YCSADKAsyFy5mbHl0ZWlkbDIuY29yZS5UYXNrTG9nEi8KC2xvZ19jb250ZXh0GAogASgLMhouZmx5dGVpZGwyLmNvcmUuTG9nQ29udGV4dBIPCgdjbHVzdGVyGAsgASgJEjEKB291dHB1dHMYDCABKAsyIC5mbHl0ZWlkbDIudGFzay5PdXRwdXRSZWZlcmVuY2VzEjgKDGNhY2hlX3N0YXR1cxgNIAEoDjIiLmZseXRlaWRsMi5jb3JlLkNhdGFsb2dDYWNoZVN0YXR1cxI4Cg5jbHVzdGVyX2V2ZW50cxgOIAMoCzIgLmZseXRlaWRsMi53b3JrZmxvdy5DbHVzdGVyRXZlbnQSMQoNcmVwb3J0ZWRfdGltZRgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNwoOY2FjaGVfbWV0YWRhdGEYECABKAsyHy5mbHl0ZWlkbDIuY29tbW9uLkNhY2hlTWV0YWRhdGFCCwoJX2VuZF90aW1lQg0KC19lcnJvcl9pbmZvIqYDCgpBY3Rpb25TcGVjEj0KCWFjdGlvbl9pZBgBIAEoCzIiLmZseXRlaWRsMi5jb21tb24uQWN0aW9uSWRlbnRpZmllckIGukgDyAEBEh8KEnBhcmVudF9hY3Rpb25fbmFtZRgCIAEoCUgBiAEBEikKCHJ1bl9zcGVjGAMgASgLMhcuZmx5dGVpZGwyLnRhc2suUnVuU3BlYxIaCglpbnB1dF91cmkYBCABKAlCB7pIBHICEAESIAoPcnVuX291dHB1dF9iYXNlGAUgASgJQge6SARyAhABEi4KBHRhc2sYBiABKAsyHi5mbHl0ZWlkbDIud29ya2Zsb3cuVGFza0FjdGlvbkgAEjgKCWNvbmRpdGlvbhgHIAEoCzIjLmZseXRlaWRsMi53b3JrZmxvdy5Db25kaXRpb25BY3Rpb25IABIwCgV0cmFjZRgKIAEoCzIfLmZseXRlaWRsMi53b3JrZmxvdy5UcmFjZUFjdGlvbkgAEg0KBWdyb3VwGAggASgJQg0KBHNwZWMSBbpIAggBQhUKE19wYXJlbnRfYWN0aW9uX25hbWUi5AYKCVRhc2tHcm91cBIRCgl0YXNrX25hbWUYASABKAkSGAoQZW52aXJvbm1lbnRfbmFtZRgCIAEoCRISCgp0b3RhbF9ydW5zGAMgASgDEjMKD2xhdGVzdF9ydW5fdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASQwoPcmVjZW50X3N0YXR1c2VzGAUgAygLMiouZmx5dGVpZGwyLndvcmtmbG93LlRhc2tHcm91cC5SZWNlbnRTdGF0dXMSHAoUYXZlcmFnZV9mYWlsdXJlX3JhdGUYBiABKAESMwoQYXZlcmFnZV9kdXJhdGlvbhgHIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhI4ChRsYXRlc3RfZmluaXNoZWRfdGltZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNgoKY3JlYXRlZF9ieRgJIAMoCzIiLmZseXRlaWRsMi5jb21tb24uRW5yaWNoZWRJZGVudGl0eRIVCg1zaG91bGRfZGVsZXRlGAogASgIEhIKCnNob3J0X25hbWUYCyABKAkSPwoMZXJyb3JfY291bnRzGAwgASgLMikuZmx5dGVpZGwyLndvcmtmbG93LlRhc2tHcm91cC5FcnJvckNvdW50cxI/CgxwaGFzZV9jb3VudHMYDSADKAsyKS5mbHl0ZWlkbDIud29ya2Zsb3cuVGFza0dyb3VwLlBoYXNlQ291bnRzEjoKF2F2ZXJhZ2VfdGltZV90b19ydW5uaW5nGA4gASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uGk4KDFJlY2VudFN0YXR1cxIQCghydW5fbmFtZRgBIAEoCRIsCgVwaGFzZRgCIAEoDjIdLmZseXRlaWRsMi5jb21tb24uQWN0aW9uUGhhc2UaUgoLRXJyb3JDb3VudHMSEgoKdXNlcl9lcnJvchgBIAEoAxIUCgxzeXN0ZW1fZXJyb3IYAiABKAMSGQoRdW5zcGVjaWZpZWRfZXJyb3IYAyABKAMaSgoLUGhhc2VDb3VudHMSLAoFcGhhc2UYASABKA4yHS5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvblBoYXNlEg0KBWNvdW50GAIgASgDKoABChNDb25kaXRpb25Qcm9tcHRUeXBlEiUKIUNPTkRJVElPTl9QUk9NUFRfVFlQRV9VTlNQRUNJRklFRBAAEh4KGkNPTkRJVElPTl9QUk9NUFRfVFlQRV9URVhUEAESIgoeQ09ORElUSU9OX1BST01QVF9UWVBFX01BUktET1dOEAIqcQoKQWN0aW9uVHlwZRIbChdBQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEhQKEEFDVElPTl9UWVBFX1RBU0sQARIVChFBQ1RJT05fVFlQRV9UUkFDRRACEhkKFUFDVElPTl9UWVBFX0NPTkRJVElPThADKoYBCglSdW5Tb3VyY2USGgoWUlVOX1NPVVJDRV9VTlNQRUNJRklFRBAAEhIKDlJVTl9TT1VSQ0VfV0VCEAESEgoOUlVOX1NPVVJDRV9DTEkQAhIfChtSVU5fU09VUkNFX1NDSEVEVUxFX1RSSUdHRVIQAxIUChBSVU5fU09VUkNFX0xPQ0FMEARCzwEKFmNvbS5mbHl0ZWlkbDIud29ya2Zsb3dCElJ1bkRlZmluaXRpb25Qcm90b0gCUAFaNmdpdGh1Yi5jb20vZmx5dGVvcmcvZmx5dGUvdjIvZ2VuL2dvL2ZseXRlaWRsMi93b3JrZmxvd6ICA0ZXWKoCEkZseXRlaWRsMi5Xb3JrZmxvd8oCEkZseXRlaWRsMlxXb3JrZmxvd+ICHkZseXRlaWRsMlxXb3JrZmxvd1xHUEJNZXRhZGF0YeoCE0ZseXRlaWRsMjo6V29ya2Zsb3diBnByb3RvMw", [file_buf_validate_validate, file_flyteidl2_common_cache, file_flyteidl2_common_identifier, file_flyteidl2_common_identity, file_flyteidl2_common_phase, file_flyteidl2_common_run, file_flyteidl2_core_catalog, file_flyteidl2_core_execution, file_flyteidl2_core_literals, file_flyteidl2_core_types, file_flyteidl2_task_common, file_flyteidl2_task_run, file_flyteidl2_task_task_definition, file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_timestamp, file_google_protobuf_wrappers]); /** * @generated from message flyteidl2.workflow.Run @@ -1464,6 +1464,14 @@ export enum RunSource { * @generated from enum value: RUN_SOURCE_SCHEDULE_TRIGGER = 3; */ SCHEDULE_TRIGGER = 3, + + /** + * The run is orchestrated outside the platform (e.g. on a user's machine) and its state is + * reported via LocalRunService. + * + * @generated from enum value: RUN_SOURCE_LOCAL = 4; + */ + LOCAL = 4, } /** From e23c87a0e5e0abbbf602a192c0813bba7f365c94 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Sat, 1 Aug 2026 20:25:55 -0700 Subject: [PATCH 2/3] Add AbortRun to LocalRunService Marks a local run and all its non-terminal actions ABORTED server-side. The platform cannot stop the local orchestrator, so this is a bookkeeping abort: subsequent reports against aborted actions are rejected, and aborting an already-terminal run is acknowledged as a no-op. Reuses RunService's AbortRunRequest/AbortRunResponse messages. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01VJa4n1pjJUBVQbjeWCZJyQ Signed-off-by: Haytham Abuelfutuh --- flyteidl2/workflow/local_run_service.proto | 5 + .../workflow/local_run_service.pb.go | 83 +- .../workflow/local_run_service_grpc.pb.go | 43 + .../local_run_service.connect.go | 36 + .../workflow/workflowconnect/mocks/mocks.go | 136 + .../workflow/local_run_service_connect.py | 65 + .../workflow/local_run_service_pb2.py | 4 +- .../workflow/local_run_service_pb2_grpc.py | 36 + gen/rust/src/flyteidl2.workflow.rs | 2297 +++++++++-------- gen/rust/src/flyteidl2.workflow.tonic.rs | 79 + .../workflow/local_run_service_pb.ts | 16 +- 11 files changed, 1624 insertions(+), 1176 deletions(-) diff --git a/flyteidl2/workflow/local_run_service.proto b/flyteidl2/workflow/local_run_service.proto index ed99c08d2a8..1305dcb4a8b 100644 --- a/flyteidl2/workflow/local_run_service.proto +++ b/flyteidl2/workflow/local_run_service.proto @@ -64,6 +64,11 @@ service LocalRunService { // Stream updates for actions of a given local run. rpc WatchActions(WatchActionsRequest) returns (stream WatchActionsResponse) {} + + // Abort a local run: mark the run and all of its non-terminal actions ABORTED on the server. + // The platform cannot stop the local orchestrator; subsequent reports against aborted actions + // are rejected. Aborting an already-terminal run is a no-op acknowledged as success. + rpc AbortRun(AbortRunRequest) returns (AbortRunResponse) {} } // Request message for creating a local run. diff --git a/gen/go/flyteidl2/workflow/local_run_service.pb.go b/gen/go/flyteidl2/workflow/local_run_service.pb.go index 9fb69acb98f..09f75980b49 100644 --- a/gen/go/flyteidl2/workflow/local_run_service.pb.go +++ b/gen/go/flyteidl2/workflow/local_run_service.pb.go @@ -527,7 +527,7 @@ var file_flyteidl2_workflow_local_run_service_proto_rawDesc = []byte{ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x32, 0xb2, 0x08, 0x0a, 0x0f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x32, 0x8b, 0x09, 0x0a, 0x0f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x72, 0x65, @@ -594,21 +594,26 @@ var file_flyteidl2_workflow_local_run_service_proto_rawDesc = []byte{ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x42, 0xd1, 0x01, 0x0a, 0x16, - 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x14, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x02, 0x50, 0x01, - 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, - 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, - 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, - 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x57, 0x0a, 0x08, 0x41, + 0x62, 0x6f, 0x72, 0x74, 0x52, 0x75, 0x6e, 0x12, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, + 0x72, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x42, 0xd1, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, + 0x14, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x02, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, + 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -650,15 +655,17 @@ var file_flyteidl2_workflow_local_run_service_proto_goTypes = []interface{}{ (*WatchRunsRequest)(nil), // 22: flyteidl2.workflow.WatchRunsRequest (*ListActionsRequest)(nil), // 23: flyteidl2.workflow.ListActionsRequest (*WatchActionsRequest)(nil), // 24: flyteidl2.workflow.WatchActionsRequest - (*CreateRunResponse)(nil), // 25: flyteidl2.workflow.CreateRunResponse - (*GetRunDetailsResponse)(nil), // 26: flyteidl2.workflow.GetRunDetailsResponse - (*WatchRunDetailsResponse)(nil), // 27: flyteidl2.workflow.WatchRunDetailsResponse - (*GetActionDetailsResponse)(nil), // 28: flyteidl2.workflow.GetActionDetailsResponse - (*WatchActionDetailsResponse)(nil), // 29: flyteidl2.workflow.WatchActionDetailsResponse - (*ListRunsResponse)(nil), // 30: flyteidl2.workflow.ListRunsResponse - (*WatchRunsResponse)(nil), // 31: flyteidl2.workflow.WatchRunsResponse - (*ListActionsResponse)(nil), // 32: flyteidl2.workflow.ListActionsResponse - (*WatchActionsResponse)(nil), // 33: flyteidl2.workflow.WatchActionsResponse + (*AbortRunRequest)(nil), // 25: flyteidl2.workflow.AbortRunRequest + (*CreateRunResponse)(nil), // 26: flyteidl2.workflow.CreateRunResponse + (*GetRunDetailsResponse)(nil), // 27: flyteidl2.workflow.GetRunDetailsResponse + (*WatchRunDetailsResponse)(nil), // 28: flyteidl2.workflow.WatchRunDetailsResponse + (*GetActionDetailsResponse)(nil), // 29: flyteidl2.workflow.GetActionDetailsResponse + (*WatchActionDetailsResponse)(nil), // 30: flyteidl2.workflow.WatchActionDetailsResponse + (*ListRunsResponse)(nil), // 31: flyteidl2.workflow.ListRunsResponse + (*WatchRunsResponse)(nil), // 32: flyteidl2.workflow.WatchRunsResponse + (*ListActionsResponse)(nil), // 33: flyteidl2.workflow.ListActionsResponse + (*WatchActionsResponse)(nil), // 34: flyteidl2.workflow.WatchActionsResponse + (*AbortRunResponse)(nil), // 35: flyteidl2.workflow.AbortRunResponse } var file_flyteidl2_workflow_local_run_service_proto_depIdxs = []int32{ 5, // 0: flyteidl2.workflow.CreateLocalRunRequest.run_id:type_name -> flyteidl2.common.RunIdentifier @@ -686,18 +693,20 @@ var file_flyteidl2_workflow_local_run_service_proto_depIdxs = []int32{ 22, // 22: flyteidl2.workflow.LocalRunService.WatchRuns:input_type -> flyteidl2.workflow.WatchRunsRequest 23, // 23: flyteidl2.workflow.LocalRunService.ListActions:input_type -> flyteidl2.workflow.ListActionsRequest 24, // 24: flyteidl2.workflow.LocalRunService.WatchActions:input_type -> flyteidl2.workflow.WatchActionsRequest - 25, // 25: flyteidl2.workflow.LocalRunService.CreateRun:output_type -> flyteidl2.workflow.CreateRunResponse - 3, // 26: flyteidl2.workflow.LocalRunService.ReportActions:output_type -> flyteidl2.workflow.ReportLocalActionsResponse - 26, // 27: flyteidl2.workflow.LocalRunService.GetRunDetails:output_type -> flyteidl2.workflow.GetRunDetailsResponse - 27, // 28: flyteidl2.workflow.LocalRunService.WatchRunDetails:output_type -> flyteidl2.workflow.WatchRunDetailsResponse - 28, // 29: flyteidl2.workflow.LocalRunService.GetActionDetails:output_type -> flyteidl2.workflow.GetActionDetailsResponse - 29, // 30: flyteidl2.workflow.LocalRunService.WatchActionDetails:output_type -> flyteidl2.workflow.WatchActionDetailsResponse - 30, // 31: flyteidl2.workflow.LocalRunService.ListRuns:output_type -> flyteidl2.workflow.ListRunsResponse - 31, // 32: flyteidl2.workflow.LocalRunService.WatchRuns:output_type -> flyteidl2.workflow.WatchRunsResponse - 32, // 33: flyteidl2.workflow.LocalRunService.ListActions:output_type -> flyteidl2.workflow.ListActionsResponse - 33, // 34: flyteidl2.workflow.LocalRunService.WatchActions:output_type -> flyteidl2.workflow.WatchActionsResponse - 25, // [25:35] is the sub-list for method output_type - 15, // [15:25] is the sub-list for method input_type + 25, // 25: flyteidl2.workflow.LocalRunService.AbortRun:input_type -> flyteidl2.workflow.AbortRunRequest + 26, // 26: flyteidl2.workflow.LocalRunService.CreateRun:output_type -> flyteidl2.workflow.CreateRunResponse + 3, // 27: flyteidl2.workflow.LocalRunService.ReportActions:output_type -> flyteidl2.workflow.ReportLocalActionsResponse + 27, // 28: flyteidl2.workflow.LocalRunService.GetRunDetails:output_type -> flyteidl2.workflow.GetRunDetailsResponse + 28, // 29: flyteidl2.workflow.LocalRunService.WatchRunDetails:output_type -> flyteidl2.workflow.WatchRunDetailsResponse + 29, // 30: flyteidl2.workflow.LocalRunService.GetActionDetails:output_type -> flyteidl2.workflow.GetActionDetailsResponse + 30, // 31: flyteidl2.workflow.LocalRunService.WatchActionDetails:output_type -> flyteidl2.workflow.WatchActionDetailsResponse + 31, // 32: flyteidl2.workflow.LocalRunService.ListRuns:output_type -> flyteidl2.workflow.ListRunsResponse + 32, // 33: flyteidl2.workflow.LocalRunService.WatchRuns:output_type -> flyteidl2.workflow.WatchRunsResponse + 33, // 34: flyteidl2.workflow.LocalRunService.ListActions:output_type -> flyteidl2.workflow.ListActionsResponse + 34, // 35: flyteidl2.workflow.LocalRunService.WatchActions:output_type -> flyteidl2.workflow.WatchActionsResponse + 35, // 36: flyteidl2.workflow.LocalRunService.AbortRun:output_type -> flyteidl2.workflow.AbortRunResponse + 26, // [26:37] is the sub-list for method output_type + 15, // [15:26] 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 diff --git a/gen/go/flyteidl2/workflow/local_run_service_grpc.pb.go b/gen/go/flyteidl2/workflow/local_run_service_grpc.pb.go index f2843e97a39..ca68a8caca3 100644 --- a/gen/go/flyteidl2/workflow/local_run_service_grpc.pb.go +++ b/gen/go/flyteidl2/workflow/local_run_service_grpc.pb.go @@ -29,6 +29,7 @@ const ( LocalRunService_WatchRuns_FullMethodName = "/flyteidl2.workflow.LocalRunService/WatchRuns" LocalRunService_ListActions_FullMethodName = "/flyteidl2.workflow.LocalRunService/ListActions" LocalRunService_WatchActions_FullMethodName = "/flyteidl2.workflow.LocalRunService/WatchActions" + LocalRunService_AbortRun_FullMethodName = "/flyteidl2.workflow.LocalRunService/AbortRun" ) // LocalRunServiceClient is the client API for LocalRunService service. @@ -60,6 +61,10 @@ type LocalRunServiceClient interface { ListActions(ctx context.Context, in *ListActionsRequest, opts ...grpc.CallOption) (*ListActionsResponse, error) // Stream updates for actions of a given local run. WatchActions(ctx context.Context, in *WatchActionsRequest, opts ...grpc.CallOption) (LocalRunService_WatchActionsClient, error) + // Abort a local run: mark the run and all of its non-terminal actions ABORTED on the server. + // The platform cannot stop the local orchestrator; subsequent reports against aborted actions + // are rejected. Aborting an already-terminal run is a no-op acknowledged as success. + AbortRun(ctx context.Context, in *AbortRunRequest, opts ...grpc.CallOption) (*AbortRunResponse, error) } type localRunServiceClient struct { @@ -252,6 +257,15 @@ func (x *localRunServiceWatchActionsClient) Recv() (*WatchActionsResponse, error return m, nil } +func (c *localRunServiceClient) AbortRun(ctx context.Context, in *AbortRunRequest, opts ...grpc.CallOption) (*AbortRunResponse, error) { + out := new(AbortRunResponse) + err := c.cc.Invoke(ctx, LocalRunService_AbortRun_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // LocalRunServiceServer is the server API for LocalRunService service. // All implementations should embed UnimplementedLocalRunServiceServer // for forward compatibility @@ -281,6 +295,10 @@ type LocalRunServiceServer interface { ListActions(context.Context, *ListActionsRequest) (*ListActionsResponse, error) // Stream updates for actions of a given local run. WatchActions(*WatchActionsRequest, LocalRunService_WatchActionsServer) error + // Abort a local run: mark the run and all of its non-terminal actions ABORTED on the server. + // The platform cannot stop the local orchestrator; subsequent reports against aborted actions + // are rejected. Aborting an already-terminal run is a no-op acknowledged as success. + AbortRun(context.Context, *AbortRunRequest) (*AbortRunResponse, error) } // UnimplementedLocalRunServiceServer should be embedded to have forward compatible implementations. @@ -317,6 +335,9 @@ func (UnimplementedLocalRunServiceServer) ListActions(context.Context, *ListActi func (UnimplementedLocalRunServiceServer) WatchActions(*WatchActionsRequest, LocalRunService_WatchActionsServer) error { return status.Errorf(codes.Unimplemented, "method WatchActions not implemented") } +func (UnimplementedLocalRunServiceServer) AbortRun(context.Context, *AbortRunRequest) (*AbortRunResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AbortRun not implemented") +} // UnsafeLocalRunServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to LocalRunServiceServer will @@ -521,6 +542,24 @@ func (x *localRunServiceWatchActionsServer) Send(m *WatchActionsResponse) error return x.ServerStream.SendMsg(m) } +func _LocalRunService_AbortRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AbortRunRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LocalRunServiceServer).AbortRun(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LocalRunService_AbortRun_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LocalRunServiceServer).AbortRun(ctx, req.(*AbortRunRequest)) + } + return interceptor(ctx, in, info, handler) +} + // LocalRunService_ServiceDesc is the grpc.ServiceDesc for LocalRunService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -552,6 +591,10 @@ var LocalRunService_ServiceDesc = grpc.ServiceDesc{ MethodName: "ListActions", Handler: _LocalRunService_ListActions_Handler, }, + { + MethodName: "AbortRun", + Handler: _LocalRunService_AbortRun_Handler, + }, }, Streams: []grpc.StreamDesc{ { diff --git a/gen/go/flyteidl2/workflow/workflowconnect/local_run_service.connect.go b/gen/go/flyteidl2/workflow/workflowconnect/local_run_service.connect.go index 3d7802c331c..0053db451b4 100644 --- a/gen/go/flyteidl2/workflow/workflowconnect/local_run_service.connect.go +++ b/gen/go/flyteidl2/workflow/workflowconnect/local_run_service.connect.go @@ -63,6 +63,9 @@ const ( // LocalRunServiceWatchActionsProcedure is the fully-qualified name of the LocalRunService's // WatchActions RPC. LocalRunServiceWatchActionsProcedure = "/flyteidl2.workflow.LocalRunService/WatchActions" + // LocalRunServiceAbortRunProcedure is the fully-qualified name of the LocalRunService's AbortRun + // RPC. + LocalRunServiceAbortRunProcedure = "/flyteidl2.workflow.LocalRunService/AbortRun" ) // These variables are the protoreflect.Descriptor objects for the RPCs defined in this package. @@ -78,6 +81,7 @@ var ( localRunServiceWatchRunsMethodDescriptor = localRunServiceServiceDescriptor.Methods().ByName("WatchRuns") localRunServiceListActionsMethodDescriptor = localRunServiceServiceDescriptor.Methods().ByName("ListActions") localRunServiceWatchActionsMethodDescriptor = localRunServiceServiceDescriptor.Methods().ByName("WatchActions") + localRunServiceAbortRunMethodDescriptor = localRunServiceServiceDescriptor.Methods().ByName("AbortRun") ) // LocalRunServiceClient is a client for the flyteidl2.workflow.LocalRunService service. @@ -107,6 +111,10 @@ type LocalRunServiceClient interface { ListActions(context.Context, *connect.Request[workflow.ListActionsRequest]) (*connect.Response[workflow.ListActionsResponse], error) // Stream updates for actions of a given local run. WatchActions(context.Context, *connect.Request[workflow.WatchActionsRequest]) (*connect.ServerStreamForClient[workflow.WatchActionsResponse], error) + // Abort a local run: mark the run and all of its non-terminal actions ABORTED on the server. + // The platform cannot stop the local orchestrator; subsequent reports against aborted actions + // are rejected. Aborting an already-terminal run is a no-op acknowledged as success. + AbortRun(context.Context, *connect.Request[workflow.AbortRunRequest]) (*connect.Response[workflow.AbortRunResponse], error) } // NewLocalRunServiceClient constructs a client for the flyteidl2.workflow.LocalRunService service. @@ -183,6 +191,12 @@ func NewLocalRunServiceClient(httpClient connect.HTTPClient, baseURL string, opt connect.WithSchema(localRunServiceWatchActionsMethodDescriptor), connect.WithClientOptions(opts...), ), + abortRun: connect.NewClient[workflow.AbortRunRequest, workflow.AbortRunResponse]( + httpClient, + baseURL+LocalRunServiceAbortRunProcedure, + connect.WithSchema(localRunServiceAbortRunMethodDescriptor), + connect.WithClientOptions(opts...), + ), } } @@ -198,6 +212,7 @@ type localRunServiceClient struct { watchRuns *connect.Client[workflow.WatchRunsRequest, workflow.WatchRunsResponse] listActions *connect.Client[workflow.ListActionsRequest, workflow.ListActionsResponse] watchActions *connect.Client[workflow.WatchActionsRequest, workflow.WatchActionsResponse] + abortRun *connect.Client[workflow.AbortRunRequest, workflow.AbortRunResponse] } // CreateRun calls flyteidl2.workflow.LocalRunService.CreateRun. @@ -250,6 +265,11 @@ func (c *localRunServiceClient) WatchActions(ctx context.Context, req *connect.R return c.watchActions.CallServerStream(ctx, req) } +// AbortRun calls flyteidl2.workflow.LocalRunService.AbortRun. +func (c *localRunServiceClient) AbortRun(ctx context.Context, req *connect.Request[workflow.AbortRunRequest]) (*connect.Response[workflow.AbortRunResponse], error) { + return c.abortRun.CallUnary(ctx, req) +} + // LocalRunServiceHandler is an implementation of the flyteidl2.workflow.LocalRunService service. type LocalRunServiceHandler interface { // Register a new local run. The server creates the root action ("a0") in the reported state and @@ -277,6 +297,10 @@ type LocalRunServiceHandler interface { ListActions(context.Context, *connect.Request[workflow.ListActionsRequest]) (*connect.Response[workflow.ListActionsResponse], error) // Stream updates for actions of a given local run. WatchActions(context.Context, *connect.Request[workflow.WatchActionsRequest], *connect.ServerStream[workflow.WatchActionsResponse]) error + // Abort a local run: mark the run and all of its non-terminal actions ABORTED on the server. + // The platform cannot stop the local orchestrator; subsequent reports against aborted actions + // are rejected. Aborting an already-terminal run is a no-op acknowledged as success. + AbortRun(context.Context, *connect.Request[workflow.AbortRunRequest]) (*connect.Response[workflow.AbortRunResponse], error) } // NewLocalRunServiceHandler builds an HTTP handler from the service implementation. It returns the @@ -349,6 +373,12 @@ func NewLocalRunServiceHandler(svc LocalRunServiceHandler, opts ...connect.Handl connect.WithSchema(localRunServiceWatchActionsMethodDescriptor), connect.WithHandlerOptions(opts...), ) + localRunServiceAbortRunHandler := connect.NewUnaryHandler( + LocalRunServiceAbortRunProcedure, + svc.AbortRun, + connect.WithSchema(localRunServiceAbortRunMethodDescriptor), + connect.WithHandlerOptions(opts...), + ) return "/flyteidl2.workflow.LocalRunService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { case LocalRunServiceCreateRunProcedure: @@ -371,6 +401,8 @@ func NewLocalRunServiceHandler(svc LocalRunServiceHandler, opts ...connect.Handl localRunServiceListActionsHandler.ServeHTTP(w, r) case LocalRunServiceWatchActionsProcedure: localRunServiceWatchActionsHandler.ServeHTTP(w, r) + case LocalRunServiceAbortRunProcedure: + localRunServiceAbortRunHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } @@ -419,3 +451,7 @@ func (UnimplementedLocalRunServiceHandler) ListActions(context.Context, *connect func (UnimplementedLocalRunServiceHandler) WatchActions(context.Context, *connect.Request[workflow.WatchActionsRequest], *connect.ServerStream[workflow.WatchActionsResponse]) error { return connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.workflow.LocalRunService.WatchActions is not implemented")) } + +func (UnimplementedLocalRunServiceHandler) AbortRun(context.Context, *connect.Request[workflow.AbortRunRequest]) (*connect.Response[workflow.AbortRunResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.workflow.LocalRunService.AbortRun is not implemented")) +} diff --git a/gen/go/flyteidl2/workflow/workflowconnect/mocks/mocks.go b/gen/go/flyteidl2/workflow/workflowconnect/mocks/mocks.go index 0db76e64b70..6558822b620 100644 --- a/gen/go/flyteidl2/workflow/workflowconnect/mocks/mocks.go +++ b/gen/go/flyteidl2/workflow/workflowconnect/mocks/mocks.go @@ -1021,6 +1021,74 @@ func (_m *LocalRunServiceClient) EXPECT() *LocalRunServiceClient_Expecter { return &LocalRunServiceClient_Expecter{mock: &_m.Mock} } +// AbortRun provides a mock function for the type LocalRunServiceClient +func (_mock *LocalRunServiceClient) AbortRun(context1 context.Context, request *connect.Request[workflow.AbortRunRequest]) (*connect.Response[workflow.AbortRunResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for AbortRun") + } + + var r0 *connect.Response[workflow.AbortRunResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.AbortRunRequest]) (*connect.Response[workflow.AbortRunResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.AbortRunRequest]) *connect.Response[workflow.AbortRunResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.Response[workflow.AbortRunResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.AbortRunRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceClient_AbortRun_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'AbortRun' +type LocalRunServiceClient_AbortRun_Call struct { + *mock.Call +} + +// AbortRun is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.AbortRunRequest] +func (_e *LocalRunServiceClient_Expecter) AbortRun(context1 interface{}, request interface{}) *LocalRunServiceClient_AbortRun_Call { + return &LocalRunServiceClient_AbortRun_Call{Call: _e.mock.On("AbortRun", context1, request)} +} + +func (_c *LocalRunServiceClient_AbortRun_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.AbortRunRequest])) *LocalRunServiceClient_AbortRun_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.AbortRunRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.AbortRunRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceClient_AbortRun_Call) Return(response *connect.Response[workflow.AbortRunResponse], err error) *LocalRunServiceClient_AbortRun_Call { + _c.Call.Return(response, err) + return _c +} + +func (_c *LocalRunServiceClient_AbortRun_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.AbortRunRequest]) (*connect.Response[workflow.AbortRunResponse], error)) *LocalRunServiceClient_AbortRun_Call { + _c.Call.Return(run) + return _c +} + // CreateRun provides a mock function for the type LocalRunServiceClient func (_mock *LocalRunServiceClient) CreateRun(context1 context.Context, request *connect.Request[workflow.CreateLocalRunRequest]) (*connect.Response[workflow.CreateRunResponse], error) { ret := _mock.Called(context1, request) @@ -1728,6 +1796,74 @@ func (_m *LocalRunServiceHandler) EXPECT() *LocalRunServiceHandler_Expecter { return &LocalRunServiceHandler_Expecter{mock: &_m.Mock} } +// AbortRun provides a mock function for the type LocalRunServiceHandler +func (_mock *LocalRunServiceHandler) AbortRun(context1 context.Context, request *connect.Request[workflow.AbortRunRequest]) (*connect.Response[workflow.AbortRunResponse], error) { + ret := _mock.Called(context1, request) + + if len(ret) == 0 { + panic("no return value specified for AbortRun") + } + + var r0 *connect.Response[workflow.AbortRunResponse] + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.AbortRunRequest]) (*connect.Response[workflow.AbortRunResponse], error)); ok { + return returnFunc(context1, request) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, *connect.Request[workflow.AbortRunRequest]) *connect.Response[workflow.AbortRunResponse]); ok { + r0 = returnFunc(context1, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*connect.Response[workflow.AbortRunResponse]) + } + } + if returnFunc, ok := ret.Get(1).(func(context.Context, *connect.Request[workflow.AbortRunRequest]) error); ok { + r1 = returnFunc(context1, request) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// LocalRunServiceHandler_AbortRun_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'AbortRun' +type LocalRunServiceHandler_AbortRun_Call struct { + *mock.Call +} + +// AbortRun is a helper method to define mock.On call +// - context1 context.Context +// - request *connect.Request[workflow.AbortRunRequest] +func (_e *LocalRunServiceHandler_Expecter) AbortRun(context1 interface{}, request interface{}) *LocalRunServiceHandler_AbortRun_Call { + return &LocalRunServiceHandler_AbortRun_Call{Call: _e.mock.On("AbortRun", context1, request)} +} + +func (_c *LocalRunServiceHandler_AbortRun_Call) Run(run func(context1 context.Context, request *connect.Request[workflow.AbortRunRequest])) *LocalRunServiceHandler_AbortRun_Call { + _c.Call.Run(func(args mock.Arguments) { + var arg0 context.Context + if args[0] != nil { + arg0 = args[0].(context.Context) + } + var arg1 *connect.Request[workflow.AbortRunRequest] + if args[1] != nil { + arg1 = args[1].(*connect.Request[workflow.AbortRunRequest]) + } + run( + arg0, + arg1, + ) + }) + return _c +} + +func (_c *LocalRunServiceHandler_AbortRun_Call) Return(response *connect.Response[workflow.AbortRunResponse], err error) *LocalRunServiceHandler_AbortRun_Call { + _c.Call.Return(response, err) + return _c +} + +func (_c *LocalRunServiceHandler_AbortRun_Call) RunAndReturn(run func(context1 context.Context, request *connect.Request[workflow.AbortRunRequest]) (*connect.Response[workflow.AbortRunResponse], error)) *LocalRunServiceHandler_AbortRun_Call { + _c.Call.Return(run) + return _c +} + // CreateRun provides a mock function for the type LocalRunServiceHandler func (_mock *LocalRunServiceHandler) CreateRun(context1 context.Context, request *connect.Request[workflow.CreateLocalRunRequest]) (*connect.Response[workflow.CreateRunResponse], error) { ret := _mock.Called(context1, request) diff --git a/gen/python/flyteidl2/workflow/local_run_service_connect.py b/gen/python/flyteidl2/workflow/local_run_service_connect.py index c8ccedfdc82..d1faf3b0e25 100644 --- a/gen/python/flyteidl2/workflow/local_run_service_connect.py +++ b/gen/python/flyteidl2/workflow/local_run_service_connect.py @@ -48,6 +48,9 @@ async def list_actions(self, request: flyteidl2_dot_workflow_dot_run__service__p def watch_actions(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest, ctx: RequestContext) -> AsyncIterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse]: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + async def abort_run(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + class LocalRunServiceASGIApplication(ConnectASGIApplication[LocalRunService]): def __init__(self, service: LocalRunService | AsyncGenerator[LocalRunService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None: @@ -154,6 +157,16 @@ def __init__(self, service: LocalRunService | AsyncGenerator[LocalRunService], * ), function=svc.watch_actions, ), + "/flyteidl2.workflow.LocalRunService/AbortRun": Endpoint.unary( + method=MethodInfo( + name="AbortRun", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=svc.abort_run, + ), }, interceptors=interceptors, read_max_bytes=read_max_bytes, @@ -375,6 +388,26 @@ def watch_actions( timeout_ms=timeout_ms, ) + async def abort_run( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunResponse: + return await self.execute_unary( + request=request, + method=MethodInfo( + name="AbortRun", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) + class LocalRunServiceSync(Protocol): def create_run(self, request: flyteidl2_dot_workflow_dot_local__run__service__pb2.CreateLocalRunRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_run__service__pb2.CreateRunResponse: @@ -397,6 +430,8 @@ def list_actions(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.Lis raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def watch_actions(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest, ctx: RequestContext) -> Iterator[flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse]: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") + def abort_run(self, request: flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunRequest, ctx: RequestContext) -> flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunResponse: + raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") class LocalRunServiceWSGIApplication(ConnectWSGIApplication): @@ -503,6 +538,16 @@ def __init__(self, service: LocalRunServiceSync, interceptors: Iterable[Intercep ), function=service.watch_actions, ), + "/flyteidl2.workflow.LocalRunService/AbortRun": EndpointSync.unary( + method=MethodInfo( + name="AbortRun", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + function=service.abort_run, + ), }, interceptors=interceptors, read_max_bytes=read_max_bytes, @@ -723,3 +768,23 @@ def watch_actions( headers=headers, timeout_ms=timeout_ms, ) + + def abort_run( + self, + request: flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunRequest, + *, + headers: Headers | Mapping[str, str] | None = None, + timeout_ms: int | None = None, + ) -> flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunResponse: + return self.execute_unary( + request=request, + method=MethodInfo( + name="AbortRun", + service_name="flyteidl2.workflow.LocalRunService", + input=flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunRequest, + output=flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunResponse, + idempotency_level=IdempotencyLevel.UNKNOWN, + ), + headers=headers, + timeout_ms=timeout_ms, + ) diff --git a/gen/python/flyteidl2/workflow/local_run_service_pb2.py b/gen/python/flyteidl2/workflow/local_run_service_pb2.py index a24c8526a66..c878faf07aa 100644 --- a/gen/python/flyteidl2/workflow/local_run_service_pb2.py +++ b/gen/python/flyteidl2/workflow/local_run_service_pb2.py @@ -23,7 +23,7 @@ from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*flyteidl2/workflow/local_run_service.proto\x12\x12\x66lyteidl2.workflow\x1a\x1b\x62uf/validate/validate.proto\x1a!flyteidl2/common/identifier.proto\x1a\x1a\x66lyteidl2/common/run.proto\x1a\x1b\x66lyteidl2/task/common.proto\x1a\x18\x66lyteidl2/task/run.proto\x1a$flyteidl2/task/task_definition.proto\x1a\'flyteidl2/workflow/run_definition.proto\x1a$flyteidl2/workflow/run_service.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\x9d\x05\n\x15\x43reateLocalRunRequest\x12\x38\n\x06run_id\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.common.RunIdentifierH\x00R\x05runId\x12\x44\n\nproject_id\x18\x02 \x01(\x0b\x32#.flyteidl2.common.ProjectIdentifierH\x00R\tprojectId\x12\x39\n\x07task_id\x18\x03 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierH\x01R\x06taskId\x12\x37\n\ttask_spec\x18\x04 \x01(\x0b\x32\x18.flyteidl2.task.TaskSpecH\x01R\x08taskSpec\x12[\n\x14offloaded_input_data\x18\x05 \x01(\x0b\x32$.flyteidl2.common.OffloadedInputDataH\x02R\x12offloadedInputData\x88\x01\x01\x12\x32\n\x08run_spec\x18\x06 \x01(\x0b\x32\x17.flyteidl2.task.RunSpecR\x07runSpec\x12M\n\x06labels\x18\x07 \x03(\x0b\x32\x35.flyteidl2.workflow.CreateLocalRunRequest.LabelsEntryR\x06labels\x12@\n\x0erun_start_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0crunStartTime\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0b\n\x02id\x12\x05\xbaH\x02\x08\x01\x42\r\n\x04task\x12\x05\xbaH\x02\x08\x01\x42\x17\n\x15_offloaded_input_data\"\xba\x02\n\x11LocalActionUpdate\x12=\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.workflow.ActionEventB\x06\xbaH\x03\xc8\x01\x01R\x05\x65vent\x12\x1f\n\x0bparent_name\x18\x02 \x01(\tR\nparentName\x12\x14\n\x05group\x18\x03 \x01(\tR\x05group\x12\x34\n\x04task\x18\x04 \x01(\x0b\x32\x1e.flyteidl2.workflow.TaskActionH\x00R\x04task\x12\x37\n\x05trace\x18\x05 \x01(\x0b\x32\x1f.flyteidl2.workflow.TraceActionH\x00R\x05trace\x12\x38\n\x06status\x18\x06 \x01(\x0b\x32 .flyteidl2.workflow.ActionStatusR\x06statusB\x06\n\x04spec\"\xa6\x01\n\x19ReportLocalActionsRequest\x12>\n\x06run_id\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.common.RunIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x05runId\x12I\n\x07updates\x18\x02 \x03(\x0b\x32%.flyteidl2.workflow.LocalActionUpdateB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x07updates\"L\n\x1aReportLocalActionsResponse\x12.\n\x08statuses\x18\x01 \x03(\x0b\x32\x12.google.rpc.StatusR\x08statuses2\xb2\x08\n\x0fLocalRunService\x12_\n\tCreateRun\x12).flyteidl2.workflow.CreateLocalRunRequest\x1a%.flyteidl2.workflow.CreateRunResponse\"\x00\x12p\n\rReportActions\x12-.flyteidl2.workflow.ReportLocalActionsRequest\x1a..flyteidl2.workflow.ReportLocalActionsResponse\"\x00\x12i\n\rGetRunDetails\x12(.flyteidl2.workflow.GetRunDetailsRequest\x1a).flyteidl2.workflow.GetRunDetailsResponse\"\x03\x90\x02\x01\x12n\n\x0fWatchRunDetails\x12*.flyteidl2.workflow.WatchRunDetailsRequest\x1a+.flyteidl2.workflow.WatchRunDetailsResponse\"\x00\x30\x01\x12r\n\x10GetActionDetails\x12+.flyteidl2.workflow.GetActionDetailsRequest\x1a,.flyteidl2.workflow.GetActionDetailsResponse\"\x03\x90\x02\x01\x12w\n\x12WatchActionDetails\x12-.flyteidl2.workflow.WatchActionDetailsRequest\x1a..flyteidl2.workflow.WatchActionDetailsResponse\"\x00\x30\x01\x12Z\n\x08ListRuns\x12#.flyteidl2.workflow.ListRunsRequest\x1a$.flyteidl2.workflow.ListRunsResponse\"\x03\x90\x02\x01\x12\\\n\tWatchRuns\x12$.flyteidl2.workflow.WatchRunsRequest\x1a%.flyteidl2.workflow.WatchRunsResponse\"\x00\x30\x01\x12\x63\n\x0bListActions\x12&.flyteidl2.workflow.ListActionsRequest\x1a\'.flyteidl2.workflow.ListActionsResponse\"\x03\x90\x02\x01\x12\x65\n\x0cWatchActions\x12\'.flyteidl2.workflow.WatchActionsRequest\x1a(.flyteidl2.workflow.WatchActionsResponse\"\x00\x30\x01\x42\xd1\x01\n\x16\x63om.flyteidl2.workflowB\x14LocalRunServiceProtoH\x02P\x01Z6github.com/flyteorg/flyte/v2/gen/go/flyteidl2/workflow\xa2\x02\x03\x46WX\xaa\x02\x12\x46lyteidl2.Workflow\xca\x02\x12\x46lyteidl2\\Workflow\xe2\x02\x1e\x46lyteidl2\\Workflow\\GPBMetadata\xea\x02\x13\x46lyteidl2::Workflowb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*flyteidl2/workflow/local_run_service.proto\x12\x12\x66lyteidl2.workflow\x1a\x1b\x62uf/validate/validate.proto\x1a!flyteidl2/common/identifier.proto\x1a\x1a\x66lyteidl2/common/run.proto\x1a\x1b\x66lyteidl2/task/common.proto\x1a\x18\x66lyteidl2/task/run.proto\x1a$flyteidl2/task/task_definition.proto\x1a\'flyteidl2/workflow/run_definition.proto\x1a$flyteidl2/workflow/run_service.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\x9d\x05\n\x15\x43reateLocalRunRequest\x12\x38\n\x06run_id\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.common.RunIdentifierH\x00R\x05runId\x12\x44\n\nproject_id\x18\x02 \x01(\x0b\x32#.flyteidl2.common.ProjectIdentifierH\x00R\tprojectId\x12\x39\n\x07task_id\x18\x03 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierH\x01R\x06taskId\x12\x37\n\ttask_spec\x18\x04 \x01(\x0b\x32\x18.flyteidl2.task.TaskSpecH\x01R\x08taskSpec\x12[\n\x14offloaded_input_data\x18\x05 \x01(\x0b\x32$.flyteidl2.common.OffloadedInputDataH\x02R\x12offloadedInputData\x88\x01\x01\x12\x32\n\x08run_spec\x18\x06 \x01(\x0b\x32\x17.flyteidl2.task.RunSpecR\x07runSpec\x12M\n\x06labels\x18\x07 \x03(\x0b\x32\x35.flyteidl2.workflow.CreateLocalRunRequest.LabelsEntryR\x06labels\x12@\n\x0erun_start_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0crunStartTime\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0b\n\x02id\x12\x05\xbaH\x02\x08\x01\x42\r\n\x04task\x12\x05\xbaH\x02\x08\x01\x42\x17\n\x15_offloaded_input_data\"\xba\x02\n\x11LocalActionUpdate\x12=\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.workflow.ActionEventB\x06\xbaH\x03\xc8\x01\x01R\x05\x65vent\x12\x1f\n\x0bparent_name\x18\x02 \x01(\tR\nparentName\x12\x14\n\x05group\x18\x03 \x01(\tR\x05group\x12\x34\n\x04task\x18\x04 \x01(\x0b\x32\x1e.flyteidl2.workflow.TaskActionH\x00R\x04task\x12\x37\n\x05trace\x18\x05 \x01(\x0b\x32\x1f.flyteidl2.workflow.TraceActionH\x00R\x05trace\x12\x38\n\x06status\x18\x06 \x01(\x0b\x32 .flyteidl2.workflow.ActionStatusR\x06statusB\x06\n\x04spec\"\xa6\x01\n\x19ReportLocalActionsRequest\x12>\n\x06run_id\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.common.RunIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x05runId\x12I\n\x07updates\x18\x02 \x03(\x0b\x32%.flyteidl2.workflow.LocalActionUpdateB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x07updates\"L\n\x1aReportLocalActionsResponse\x12.\n\x08statuses\x18\x01 \x03(\x0b\x32\x12.google.rpc.StatusR\x08statuses2\x8b\t\n\x0fLocalRunService\x12_\n\tCreateRun\x12).flyteidl2.workflow.CreateLocalRunRequest\x1a%.flyteidl2.workflow.CreateRunResponse\"\x00\x12p\n\rReportActions\x12-.flyteidl2.workflow.ReportLocalActionsRequest\x1a..flyteidl2.workflow.ReportLocalActionsResponse\"\x00\x12i\n\rGetRunDetails\x12(.flyteidl2.workflow.GetRunDetailsRequest\x1a).flyteidl2.workflow.GetRunDetailsResponse\"\x03\x90\x02\x01\x12n\n\x0fWatchRunDetails\x12*.flyteidl2.workflow.WatchRunDetailsRequest\x1a+.flyteidl2.workflow.WatchRunDetailsResponse\"\x00\x30\x01\x12r\n\x10GetActionDetails\x12+.flyteidl2.workflow.GetActionDetailsRequest\x1a,.flyteidl2.workflow.GetActionDetailsResponse\"\x03\x90\x02\x01\x12w\n\x12WatchActionDetails\x12-.flyteidl2.workflow.WatchActionDetailsRequest\x1a..flyteidl2.workflow.WatchActionDetailsResponse\"\x00\x30\x01\x12Z\n\x08ListRuns\x12#.flyteidl2.workflow.ListRunsRequest\x1a$.flyteidl2.workflow.ListRunsResponse\"\x03\x90\x02\x01\x12\\\n\tWatchRuns\x12$.flyteidl2.workflow.WatchRunsRequest\x1a%.flyteidl2.workflow.WatchRunsResponse\"\x00\x30\x01\x12\x63\n\x0bListActions\x12&.flyteidl2.workflow.ListActionsRequest\x1a\'.flyteidl2.workflow.ListActionsResponse\"\x03\x90\x02\x01\x12\x65\n\x0cWatchActions\x12\'.flyteidl2.workflow.WatchActionsRequest\x1a(.flyteidl2.workflow.WatchActionsResponse\"\x00\x30\x01\x12W\n\x08\x41\x62ortRun\x12#.flyteidl2.workflow.AbortRunRequest\x1a$.flyteidl2.workflow.AbortRunResponse\"\x00\x42\xd1\x01\n\x16\x63om.flyteidl2.workflowB\x14LocalRunServiceProtoH\x02P\x01Z6github.com/flyteorg/flyte/v2/gen/go/flyteidl2/workflow\xa2\x02\x03\x46WX\xaa\x02\x12\x46lyteidl2.Workflow\xca\x02\x12\x46lyteidl2\\Workflow\xe2\x02\x1e\x46lyteidl2\\Workflow\\GPBMetadata\xea\x02\x13\x46lyteidl2::Workflowb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -62,5 +62,5 @@ _globals['_REPORTLOCALACTIONSRESPONSE']._serialized_start=1546 _globals['_REPORTLOCALACTIONSRESPONSE']._serialized_end=1622 _globals['_LOCALRUNSERVICE']._serialized_start=1625 - _globals['_LOCALRUNSERVICE']._serialized_end=2699 + _globals['_LOCALRUNSERVICE']._serialized_end=2788 # @@protoc_insertion_point(module_scope) diff --git a/gen/python/flyteidl2/workflow/local_run_service_pb2_grpc.py b/gen/python/flyteidl2/workflow/local_run_service_pb2_grpc.py index 31bfec42433..f36cb36be79 100644 --- a/gen/python/flyteidl2/workflow/local_run_service_pb2_grpc.py +++ b/gen/python/flyteidl2/workflow/local_run_service_pb2_grpc.py @@ -71,6 +71,11 @@ def __init__(self, channel): request_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest.SerializeToString, response_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse.FromString, ) + self.AbortRun = channel.unary_unary( + '/flyteidl2.workflow.LocalRunService/AbortRun', + request_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunRequest.SerializeToString, + response_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunResponse.FromString, + ) class LocalRunServiceServicer(object): @@ -157,6 +162,15 @@ def WatchActions(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def AbortRun(self, request, context): + """Abort a local run: mark the run and all of its non-terminal actions ABORTED on the server. + The platform cannot stop the local orchestrator; subsequent reports against aborted actions + are rejected. Aborting an already-terminal run is a no-op acknowledged as success. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_LocalRunServiceServicer_to_server(servicer, server): rpc_method_handlers = { @@ -210,6 +224,11 @@ def add_LocalRunServiceServicer_to_server(servicer, server): request_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsRequest.FromString, response_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse.SerializeToString, ), + 'AbortRun': grpc.unary_unary_rpc_method_handler( + servicer.AbortRun, + request_deserializer=flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunRequest.FromString, + response_serializer=flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'flyteidl2.workflow.LocalRunService', rpc_method_handlers) @@ -395,3 +414,20 @@ def WatchActions(request, flyteidl2_dot_workflow_dot_run__service__pb2.WatchActionsResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def AbortRun(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flyteidl2.workflow.LocalRunService/AbortRun', + flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunRequest.SerializeToString, + flyteidl2_dot_workflow_dot_run__service__pb2.AbortRunResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/gen/rust/src/flyteidl2.workflow.rs b/gen/rust/src/flyteidl2.workflow.rs index fa967518f2a..2cc0bbab4a3 100644 --- a/gen/rust/src/flyteidl2.workflow.rs +++ b/gen/rust/src/flyteidl2.workflow.rs @@ -7270,7 +7270,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x05, 0x04, 0x2a, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf6, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf6, 0x04, 0x07, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf6, 0x04, 0x12, 0x13, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, 0x0a, 0x85, 0x41, 0x0a, 0x2a, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x6f, 0x33, 0x0a, 0xac, 0x44, 0x0a, 0x2a, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, @@ -7371,7 +7371,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x32, 0xb2, 0x08, 0x0a, 0x0f, + 0x73, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x32, 0x8b, 0x09, 0x0a, 0x0f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, @@ -7439,1154 +7439,1181 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, - 0x42, 0xcf, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x14, 0x4c, 0x6f, 0x63, - 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, - 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, - 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x4a, 0x9d, 0x2a, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0x8f, 0x01, 0x01, 0x0a, 0x08, + 0x12, 0x57, 0x0a, 0x08, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x75, 0x6e, 0x12, 0x23, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x75, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xcf, 0x01, 0x0a, 0x16, 0x63, 0x6f, + 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x14, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, + 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, + 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, + 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xeb, 0x2c, 0x0a, 0x07, + 0x12, 0x05, 0x00, 0x00, 0x94, 0x01, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, + 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, + 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, + 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x24, 0x0a, 0x09, 0x0a, 0x02, + 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, + 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x2e, 0x0a, 0x09, 0x0a, + 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, 0x00, 0x31, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, 0x03, + 0x0b, 0x00, 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x08, 0x12, 0x03, 0x0c, 0x00, 0x29, 0x0a, 0x09, + 0x0a, 0x02, 0x03, 0x09, 0x12, 0x03, 0x0d, 0x00, 0x21, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, + 0x0f, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x0f, 0x00, 0x4d, 0x0a, 0xe9, + 0x03, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x17, 0x00, 0x47, 0x01, 0x1a, 0xdc, 0x03, 0x20, 0x4c, + 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x4f, 0x55, 0x54, 0x53, 0x49, 0x44, 0x45, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x74, 0x79, 0x70, 0x69, 0x63, + 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x27, 0x73, + 0x0a, 0x20, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x20, 0xe2, 0x80, 0x94, 0x20, 0x77, 0x68, + 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, + 0x69, 0x74, 0x73, 0x65, 0x6c, 0x66, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x20, 0x68, 0x65, 0x72, 0x65, 0x2e, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x72, 0x75, 0x6e, 0x73, 0x0a, 0x20, 0x61, 0x72, 0x65, 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x20, 0x66, 0x72, 0x6f, + 0x6d, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2d, 0x6f, 0x72, 0x63, 0x68, 0x65, + 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x20, 0x61, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x2f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x20, 0x73, 0x75, 0x72, + 0x66, 0x61, 0x63, 0x65, 0x20, 0x64, 0x65, 0x6c, 0x69, 0x62, 0x65, 0x72, 0x61, 0x74, 0x65, 0x6c, + 0x79, 0x20, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x20, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x20, 0x28, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x29, 0x20, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x74, 0x0a, 0x20, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x55, 0x49, 0x73, 0x20, 0x62, + 0x75, 0x69, 0x6c, 0x74, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x52, 0x75, 0x6e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x61, 0x67, 0x61, + 0x69, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x61, 0x20, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x20, 0x73, 0x77, 0x61, 0x70, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, + 0x01, 0x12, 0x03, 0x17, 0x08, 0x17, 0x0a, 0xc1, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, + 0x03, 0x1a, 0x02, 0x45, 0x1a, 0xb3, 0x01, 0x20, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, + 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x22, 0x61, 0x30, 0x22, 0x29, 0x20, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x2e, + 0x20, 0x49, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, + 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x1a, 0x06, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, + 0x02, 0x12, 0x03, 0x1a, 0x10, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x1a, 0x30, 0x41, 0x0a, 0x8d, 0x02, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x03, 0x1f, + 0x02, 0x56, 0x1a, 0xff, 0x01, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, + 0x72, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x20, 0x6f, 0x6e, 0x20, + 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, + 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x20, 0x61, 0x6e, 0x20, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x0a, 0x20, 0x28, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, + 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x29, 0x20, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x64, 0x20, 0x69, 0x73, 0x20, 0x61, 0x63, 0x6b, 0x6e, 0x6f, + 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1f, + 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x1f, 0x14, 0x2d, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1f, 0x38, 0x52, 0x0a, 0x3b, + 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x04, 0x22, 0x02, 0x24, 0x03, 0x1a, 0x2d, 0x20, 0x47, + 0x65, 0x74, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x22, 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x02, 0x02, 0x12, 0x03, 0x22, 0x14, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, + 0x12, 0x03, 0x22, 0x33, 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, + 0x23, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x02, 0x04, 0x22, 0x12, 0x03, 0x23, + 0x04, 0x2f, 0x0a, 0x85, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, 0x12, 0x03, 0x28, 0x02, 0x59, + 0x1a, 0x78, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x61, + 0x6c, 0x6c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, + 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x0a, 0x20, + 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x73, 0x20, 0x61, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x03, 0x01, 0x12, 0x03, 0x28, 0x06, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, + 0x02, 0x12, 0x03, 0x28, 0x16, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x06, 0x12, + 0x03, 0x28, 0x37, 0x3d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x28, + 0x3e, 0x55, 0x0a, 0x48, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x04, 0x12, 0x04, 0x2b, 0x02, 0x2d, 0x03, + 0x1a, 0x3a, 0x20, 0x47, 0x65, 0x74, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, + 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x2b, 0x06, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x04, 0x02, 0x12, 0x03, 0x2b, 0x17, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, + 0x03, 0x12, 0x03, 0x2b, 0x39, 0x51, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, + 0x03, 0x2c, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x04, 0x04, 0x22, 0x12, 0x03, + 0x2c, 0x04, 0x2f, 0x0a, 0x96, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x05, 0x12, 0x03, 0x31, 0x02, + 0x62, 0x1a, 0x88, 0x01, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, + 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, + 0x0a, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x73, 0x20, 0x61, 0x20, 0x74, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x31, 0x06, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x05, 0x02, 0x12, 0x03, 0x31, 0x19, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, + 0x06, 0x12, 0x03, 0x31, 0x3d, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, + 0x03, 0x31, 0x44, 0x5e, 0x0a, 0x46, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x06, 0x12, 0x04, 0x34, 0x02, + 0x36, 0x03, 0x1a, 0x38, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x72, 0x75, 0x6e, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x34, 0x06, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x06, 0x02, 0x12, 0x03, 0x34, 0x0f, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, + 0x03, 0x12, 0x03, 0x34, 0x29, 0x39, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, + 0x03, 0x35, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x06, 0x04, 0x22, 0x12, 0x03, + 0x35, 0x04, 0x2f, 0x0a, 0x53, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x07, 0x12, 0x03, 0x39, 0x02, 0x47, + 0x1a, 0x46, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, + 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, + 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, + 0x01, 0x12, 0x03, 0x39, 0x06, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, + 0x03, 0x39, 0x10, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x39, + 0x2b, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x39, 0x32, 0x43, + 0x0a, 0x37, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x08, 0x12, 0x04, 0x3c, 0x02, 0x3e, 0x03, 0x1a, 0x29, + 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x08, 0x01, 0x12, 0x03, 0x3c, 0x06, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x02, + 0x12, 0x03, 0x3c, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, + 0x3c, 0x2f, 0x42, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x04, 0x12, 0x03, 0x3d, 0x04, + 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x08, 0x04, 0x22, 0x12, 0x03, 0x3d, 0x04, 0x2f, + 0x0a, 0x3f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x09, 0x12, 0x03, 0x41, 0x02, 0x50, 0x1a, 0x32, 0x20, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, + 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x41, 0x06, 0x12, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x02, 0x12, 0x03, 0x41, 0x13, 0x26, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x09, 0x06, 0x12, 0x03, 0x41, 0x31, 0x37, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x41, 0x38, 0x4c, 0x0a, 0x9b, 0x02, 0x0a, 0x04, 0x06, 0x00, + 0x02, 0x0a, 0x12, 0x03, 0x46, 0x02, 0x3d, 0x1a, 0x8d, 0x02, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x74, + 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x3a, 0x20, 0x6d, 0x61, + 0x72, 0x6b, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, + 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x74, 0x73, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x74, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x41, + 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x20, 0x63, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x74, 0x6f, 0x70, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3b, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, + 0x73, 0x74, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x0a, 0x20, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x2e, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6c, + 0x72, 0x65, 0x61, 0x64, 0x79, 0x2d, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x72, + 0x75, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x6f, 0x2d, 0x6f, 0x70, 0x20, 0x61, 0x63, + 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x01, + 0x12, 0x03, 0x46, 0x06, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x02, 0x12, 0x03, + 0x46, 0x0f, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x03, 0x12, 0x03, 0x46, 0x29, + 0x39, 0x0a, 0x37, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x4a, 0x00, 0x6c, 0x01, 0x1a, 0x2b, 0x20, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, + 0x01, 0x12, 0x03, 0x4a, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x00, 0x12, 0x04, + 0x4b, 0x02, 0x53, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, 0x12, 0x03, 0x4b, + 0x08, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x02, 0x12, 0x03, 0x4c, 0x04, 0x30, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x4c, 0x04, + 0x30, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x4f, 0x04, 0x24, 0x1a, 0x1b, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x4f, 0x04, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x00, 0x01, 0x12, 0x03, 0x4f, 0x19, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, + 0x12, 0x03, 0x4f, 0x22, 0x23, 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x52, + 0x04, 0x2c, 0x1a, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x20, 0x69, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, + 0x2e, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, + 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x52, 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x52, 0x1d, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x01, 0x03, 0x12, 0x03, 0x52, 0x2a, 0x2b, 0x0a, 0x2b, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x01, + 0x12, 0x04, 0x56, 0x02, 0x5e, 0x03, 0x1a, 0x1d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, + 0x6b, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x01, 0x01, 0x12, 0x03, + 0x56, 0x08, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x01, 0x02, 0x12, 0x03, 0x57, 0x04, + 0x30, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x08, 0x01, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x57, + 0x04, 0x30, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x5a, 0x04, 0x24, 0x1a, + 0x15, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x69, 0x64, 0x20, 0x74, 0x6f, + 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, + 0x03, 0x5a, 0x04, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x5a, + 0x18, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x5a, 0x22, 0x23, + 0x0a, 0x24, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x5d, 0x04, 0x20, 0x1a, 0x17, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, 0x6f, + 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, + 0x03, 0x5d, 0x04, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x5d, + 0x12, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x5d, 0x1e, 0x1f, + 0x0a, 0x66, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x61, 0x02, 0x3e, 0x1a, 0x59, 0x20, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x75, 0x6e, 0x27, 0x73, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2c, 0x20, 0x70, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x65, 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, + 0x04, 0x12, 0x03, 0x61, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, + 0x03, 0x61, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x61, + 0x25, 0x39, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x61, 0x3c, 0x3d, + 0x0a, 0x97, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x65, 0x02, 0x1c, 0x1a, 0x89, + 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, + 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x2d, 0x72, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x74, 0x20, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x3b, 0x20, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x0a, 0x20, 0x28, 0x71, 0x75, + 0x65, 0x75, 0x65, 0x2c, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x29, 0x20, 0x61, 0x72, + 0x65, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x05, 0x06, 0x12, 0x03, 0x65, 0x02, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, + 0x01, 0x12, 0x03, 0x65, 0x0f, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, + 0x03, 0x65, 0x1a, 0x1b, 0x0a, 0x49, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x68, 0x02, + 0x21, 0x1a, 0x3c, 0x20, 0x55, 0x73, 0x65, 0x72, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x74, 0x20, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x68, 0x02, 0x15, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x68, 0x16, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x68, 0x1f, 0x20, 0x0a, 0x69, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x07, 0x12, 0x03, 0x6b, 0x02, 0x2f, 0x1a, 0x5c, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x75, + 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x66, + 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x69, 0x74, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, + 0x6d, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x6b, + 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x6b, 0x1c, 0x2a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x6b, 0x2d, 0x2e, 0x0a, 0x3f, + 0x0a, 0x02, 0x04, 0x01, 0x12, 0x05, 0x6f, 0x00, 0x84, 0x01, 0x01, 0x1a, 0x32, 0x20, 0x41, 0x20, + 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, + 0x6e, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x6f, 0x08, 0x19, 0x0a, 0x80, 0x02, 0x0a, 0x04, + 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x73, 0x02, 0x3f, 0x1a, 0xf2, 0x01, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x43, 0x61, 0x72, 0x72, 0x69, 0x65, 0x73, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x2c, 0x20, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x28, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, + 0x67, 0x20, 0x61, 0x74, 0x20, 0x31, 0x29, 0x2c, 0x0a, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2c, + 0x20, 0x6d, 0x6f, 0x6e, 0x6f, 0x74, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, + 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x2c, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x2c, 0x20, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x0a, + 0x20, 0x28, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x20, 0x2f, 0x20, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x27, 0x73, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x73, 0x02, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x73, 0x0e, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x00, 0x03, 0x12, 0x03, 0x73, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, + 0x08, 0x12, 0x03, 0x73, 0x18, 0x3e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x87, + 0x09, 0x19, 0x12, 0x03, 0x73, 0x19, 0x3d, 0x0a, 0x90, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, + 0x12, 0x03, 0x77, 0x02, 0x19, 0x1a, 0x82, 0x01, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, + 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6f, + 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x0a, 0x20, + 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, + 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x01, 0x05, 0x12, 0x03, 0x77, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, + 0x01, 0x12, 0x03, 0x77, 0x09, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, + 0x03, 0x77, 0x17, 0x18, 0x0a, 0x6a, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x03, 0x7a, 0x02, + 0x13, 0x1a, 0x5d, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, + 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, + 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x6f, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x05, 0x12, 0x03, 0x7a, 0x02, 0x08, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x7a, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, 0x03, 0x7a, 0x11, 0x12, 0x0a, 0x6c, 0x0a, 0x04, 0x04, 0x01, + 0x08, 0x00, 0x12, 0x05, 0x7d, 0x02, 0x80, 0x01, 0x03, 0x1a, 0x5d, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x20, 0x53, + 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x3b, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x08, 0x00, + 0x01, 0x12, 0x03, 0x7d, 0x08, 0x0c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x03, 0x12, 0x03, + 0x7e, 0x04, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x06, 0x12, 0x03, 0x7e, 0x04, + 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x03, 0x7e, 0x0f, 0x13, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x03, 0x7e, 0x16, 0x17, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x01, 0x02, 0x04, 0x12, 0x03, 0x7f, 0x04, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x04, 0x06, 0x12, 0x03, 0x7f, 0x04, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, + 0x01, 0x12, 0x03, 0x7f, 0x10, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x03, 0x12, + 0x03, 0x7f, 0x18, 0x19, 0x0a, 0x50, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x05, 0x12, 0x04, 0x83, 0x01, + 0x02, 0x1a, 0x1a, 0x42, 0x20, 0x52, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x2d, 0x75, 0x70, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x20, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x2f, 0x65, 0x6e, 0x64, 0x20, 0x74, + 0x69, 0x6d, 0x65, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x06, 0x12, + 0x04, 0x83, 0x01, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x01, 0x12, 0x04, + 0x83, 0x01, 0x0f, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x03, 0x12, 0x04, 0x83, + 0x01, 0x18, 0x19, 0x0a, 0x41, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0x87, 0x01, 0x00, 0x8d, 0x01, + 0x01, 0x1a, 0x33, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, + 0x67, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0x87, + 0x01, 0x08, 0x21, 0x0a, 0x69, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0x89, 0x01, 0x02, + 0x49, 0x1a, 0x5b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x73, + 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x2e, 0x20, 0x45, 0x76, 0x65, 0x72, + 0x79, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x27, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x69, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x04, 0x89, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0x89, 0x01, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0x89, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x00, 0x08, 0x12, 0x04, 0x89, 0x01, 0x22, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, + 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0x89, 0x01, 0x23, 0x47, 0x0a, 0x29, 0x0a, 0x04, + 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x57, 0x1a, 0x1b, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x04, + 0x12, 0x04, 0x8c, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, + 0x04, 0x8c, 0x01, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, + 0x8c, 0x01, 0x1d, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8c, + 0x01, 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, 0x04, 0x8c, 0x01, + 0x29, 0x56, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x02, 0x02, 0x01, 0x08, 0x87, 0x09, 0x12, 0x01, 0x12, + 0x04, 0x8c, 0x01, 0x2a, 0x55, 0x0a, 0x42, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, 0x90, 0x01, 0x00, + 0x94, 0x01, 0x01, 0x1a, 0x34, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, + 0x12, 0x04, 0x90, 0x01, 0x08, 0x22, 0x0a, 0x84, 0x01, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, + 0x04, 0x93, 0x01, 0x02, 0x2a, 0x1a, 0x76, 0x20, 0x50, 0x65, 0x72, 0x2d, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2c, 0x20, 0x70, 0x61, 0x72, 0x61, + 0x6c, 0x6c, 0x65, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x27, 0x73, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x2e, 0x20, 0x44, + 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x28, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, + 0x79, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x64, 0x29, 0x20, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x0a, 0x20, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x20, 0x61, 0x73, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, 0x04, 0x93, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x04, 0x93, 0x01, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0x93, 0x01, 0x1d, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x00, 0x03, 0x12, 0x04, 0x93, 0x01, 0x28, 0x29, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, 0x0a, 0x9a, 0x21, 0x0a, 0x26, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x18, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, + 0x2f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, + 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x04, 0x0a, 0x14, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x52, 0x75, 0x6e, 0x53, + 0x70, 0x65, 0x63, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x24, 0x0a, 0x09, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, + 0x72, 0x69, 0x12, 0x2f, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, + 0x61, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x37, 0x0a, 0x05, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x72, + 0x61, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x12, 0x43, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, + 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, + 0x15, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x0a, 0x15, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, + 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, + 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x18, 0x0a, 0x16, 0x41, 0x62, 0x6f, 0x72, 0x74, + 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x18, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, + 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, + 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, + 0x1b, 0x0a, 0x19, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd5, 0x02, 0x0a, + 0x0c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x66, 0x0a, + 0x0d, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x45, 0x6e, + 0x71, 0x75, 0x65, 0x75, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, + 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, + 0x75, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x72, 0x0a, 0x11, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, + 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x42, 0xcc, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, + 0x11, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, + 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, + 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, + 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x4a, 0xa0, 0x14, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x4e, 0x24, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, - 0x06, 0x00, 0x24, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x25, 0x0a, 0x09, - 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, - 0x03, 0x09, 0x00, 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, 0x00, 0x31, 0x0a, - 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, 0x03, 0x0b, 0x00, 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x08, - 0x12, 0x03, 0x0c, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x09, 0x12, 0x03, 0x0d, 0x00, 0x21, - 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x0f, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, - 0x12, 0x03, 0x0f, 0x00, 0x4d, 0x0a, 0xe9, 0x03, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x17, 0x00, - 0x42, 0x01, 0x1a, 0xdc, 0x03, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x73, 0x20, 0x72, 0x75, - 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x63, 0x68, - 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x4f, 0x55, 0x54, 0x53, 0x49, 0x44, 0x45, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0xe2, 0x80, - 0x94, 0x20, 0x74, 0x79, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x20, 0x61, - 0x20, 0x75, 0x73, 0x65, 0x72, 0x27, 0x73, 0x0a, 0x20, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x20, 0xe2, 0x80, 0x94, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x73, 0x20, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x69, 0x74, 0x73, 0x65, 0x6c, 0x66, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x69, 0x72, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x68, 0x65, 0x72, 0x65, 0x2e, - 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x0a, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, - 0x65, 0x6c, 0x79, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2d, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, - 0x75, 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x20, 0x69, 0x6e, - 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x2f, 0x77, 0x61, - 0x74, 0x63, 0x68, 0x20, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x64, 0x65, 0x6c, 0x69, - 0x62, 0x65, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x20, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x73, - 0x20, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x28, 0x73, 0x61, 0x6d, - 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x29, 0x20, 0x73, 0x6f, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x0a, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x55, 0x49, 0x73, 0x20, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x20, 0x61, 0x67, 0x61, 0x69, - 0x6e, 0x73, 0x74, 0x20, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x77, - 0x6f, 0x72, 0x6b, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6f, 0x6e, 0x6c, 0x79, - 0x20, 0x61, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x73, 0x77, 0x61, 0x70, 0x2e, - 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x17, 0x08, 0x17, 0x0a, 0xc1, 0x01, - 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, 0x1a, 0x02, 0x45, 0x1a, 0xb3, 0x01, 0x20, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x22, 0x61, 0x30, - 0x22, 0x29, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x1a, 0x06, 0x0f, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x1a, 0x10, 0x25, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1a, 0x30, 0x41, 0x0a, 0x8d, 0x02, 0x0a, 0x04, - 0x06, 0x00, 0x02, 0x01, 0x12, 0x03, 0x1f, 0x02, 0x56, 0x1a, 0xff, 0x01, 0x20, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x6e, - 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, - 0x2e, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x6d, 0x20, 0x6f, 0x6e, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, - 0x74, 0x3a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x20, 0x61, 0x6e, 0x0a, 0x20, 0x28, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2c, 0x20, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x29, 0x20, 0x74, - 0x75, 0x70, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6c, - 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x64, 0x20, 0x69, - 0x73, 0x20, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x20, 0x61, - 0x73, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1f, 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x01, 0x02, 0x12, 0x03, 0x1f, 0x14, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, - 0x12, 0x03, 0x1f, 0x38, 0x52, 0x0a, 0x3b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x04, 0x22, - 0x02, 0x24, 0x03, 0x1a, 0x2d, 0x20, 0x47, 0x65, 0x74, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, - 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x22, 0x06, 0x13, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x22, 0x14, 0x28, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x22, 0x33, 0x48, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x23, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, - 0x02, 0x02, 0x04, 0x22, 0x12, 0x03, 0x23, 0x04, 0x2f, 0x0a, 0x85, 0x01, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x03, 0x12, 0x03, 0x28, 0x02, 0x59, 0x1a, 0x78, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x62, - 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x74, - 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x75, 0x6e, 0x0a, 0x20, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x73, 0x20, 0x61, - 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x28, 0x06, 0x15, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x28, 0x16, 0x2c, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x28, 0x37, 0x3d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x28, 0x3e, 0x55, 0x0a, 0x48, 0x0a, 0x04, 0x06, 0x00, 0x02, - 0x04, 0x12, 0x04, 0x2b, 0x02, 0x2d, 0x03, 0x1a, 0x3a, 0x20, 0x47, 0x65, 0x74, 0x20, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x2b, 0x06, - 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x2b, 0x17, 0x2e, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x2b, 0x39, 0x51, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x03, 0x2c, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, - 0x00, 0x02, 0x04, 0x04, 0x22, 0x12, 0x03, 0x2c, 0x04, 0x2f, 0x0a, 0x96, 0x01, 0x0a, 0x04, 0x06, - 0x00, 0x02, 0x05, 0x12, 0x03, 0x31, 0x02, 0x62, 0x1a, 0x88, 0x01, 0x20, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, - 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x6f, 0x66, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x74, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x0a, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x73, - 0x20, 0x61, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x68, 0x61, 0x73, - 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x31, 0x06, - 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x31, 0x19, 0x32, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, 0x31, 0x3d, 0x43, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x31, 0x44, 0x5e, 0x0a, 0x46, 0x0a, 0x04, 0x06, - 0x00, 0x02, 0x06, 0x12, 0x04, 0x34, 0x02, 0x36, 0x03, 0x1a, 0x38, 0x20, 0x4c, 0x69, 0x73, 0x74, - 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, - 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x34, 0x06, - 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x34, 0x0f, 0x1e, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x34, 0x29, 0x39, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x03, 0x35, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, - 0x00, 0x02, 0x06, 0x04, 0x22, 0x12, 0x03, 0x35, 0x04, 0x2f, 0x0a, 0x53, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x07, 0x12, 0x03, 0x39, 0x02, 0x47, 0x1a, 0x46, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x39, 0x06, 0x0f, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x39, 0x10, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x39, 0x2b, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x07, 0x03, 0x12, 0x03, 0x39, 0x32, 0x43, 0x0a, 0x37, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x08, 0x12, - 0x04, 0x3c, 0x02, 0x3e, 0x03, 0x1a, 0x29, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x61, 0x6c, 0x6c, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x67, - 0x69, 0x76, 0x65, 0x6e, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x3c, 0x06, 0x11, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x02, 0x12, 0x03, 0x3c, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x3c, 0x2f, 0x42, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x08, 0x04, 0x12, 0x03, 0x3d, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x08, - 0x04, 0x22, 0x12, 0x03, 0x3d, 0x04, 0x2f, 0x0a, 0x3f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x09, 0x12, - 0x03, 0x41, 0x02, 0x50, 0x1a, 0x32, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, - 0x01, 0x12, 0x03, 0x41, 0x06, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x02, 0x12, - 0x03, 0x41, 0x13, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x06, 0x12, 0x03, 0x41, - 0x31, 0x37, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x41, 0x38, 0x4c, - 0x0a, 0x37, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x45, 0x00, 0x67, 0x01, 0x1a, 0x2b, 0x20, 0x52, + 0x06, 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x31, 0x0a, 0x08, + 0x0a, 0x01, 0x08, 0x12, 0x03, 0x09, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, + 0x09, 0x00, 0x4d, 0x0a, 0x60, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x0c, 0x00, 0x15, 0x01, 0x1a, + 0x54, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x61, 0x20, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x77, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x0c, 0x08, + 0x14, 0x0a, 0x30, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0e, 0x02, 0x4c, 0x1a, 0x23, + 0x20, 0x71, 0x75, 0x65, 0x75, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0e, 0x06, + 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x0e, 0x14, 0x28, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0e, 0x33, 0x48, 0x0a, 0x22, 0x0a, + 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x03, 0x11, 0x02, 0x4f, 0x1a, 0x15, 0x20, 0x61, 0x62, 0x6f, + 0x72, 0x74, 0x20, 0x61, 0x20, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x11, 0x06, 0x14, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x11, 0x15, 0x2a, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x11, 0x35, 0x4b, 0x0a, 0x79, 0x0a, 0x04, 0x06, + 0x00, 0x02, 0x02, 0x12, 0x03, 0x14, 0x02, 0x58, 0x1a, 0x6c, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x61, 0x20, + 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, + 0x79, 0x20, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x70, + 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x77, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, + 0x03, 0x14, 0x06, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x14, + 0x18, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x14, 0x3b, 0x54, + 0x0a, 0x34, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x18, 0x00, 0x35, 0x01, 0x1a, 0x28, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, - 0x12, 0x03, 0x45, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x00, 0x12, 0x04, 0x46, - 0x02, 0x4e, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, 0x12, 0x03, 0x46, 0x08, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x02, 0x12, 0x03, 0x47, 0x04, 0x30, 0x0a, - 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x47, 0x04, 0x30, - 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x4a, 0x04, 0x24, 0x1a, 0x1b, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x00, 0x06, 0x12, 0x03, 0x4a, 0x04, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, - 0x01, 0x12, 0x03, 0x4a, 0x19, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, - 0x03, 0x4a, 0x22, 0x23, 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x4d, 0x04, - 0x2c, 0x1a, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, - 0x69, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, - 0x20, 0x52, 0x75, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, - 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x4d, 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x4d, 0x1d, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x01, 0x03, 0x12, 0x03, 0x4d, 0x2a, 0x2b, 0x0a, 0x2b, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x01, 0x12, - 0x04, 0x51, 0x02, 0x59, 0x03, 0x1a, 0x1d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x01, 0x01, 0x12, 0x03, 0x51, - 0x08, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x01, 0x02, 0x12, 0x03, 0x52, 0x04, 0x30, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x08, 0x01, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x52, 0x04, - 0x30, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x55, 0x04, 0x24, 0x1a, 0x15, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x69, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, - 0x55, 0x04, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x55, 0x18, - 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x55, 0x22, 0x23, 0x0a, - 0x24, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x58, 0x04, 0x20, 0x1a, 0x17, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, 0x6f, 0x20, - 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, - 0x58, 0x04, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x58, 0x12, - 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x58, 0x1e, 0x1f, 0x0a, - 0x66, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x5c, 0x02, 0x3e, 0x1a, 0x59, 0x20, 0x52, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x75, 0x6e, 0x27, 0x73, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2c, 0x20, 0x70, 0x72, - 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, - 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x04, - 0x12, 0x03, 0x5c, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, - 0x5c, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x5c, 0x25, - 0x39, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x5c, 0x3c, 0x3d, 0x0a, - 0x97, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x60, 0x02, 0x1c, 0x1a, 0x89, 0x01, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, 0x6f, - 0x20, 0x75, 0x73, 0x65, 0x2e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x2d, 0x72, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x74, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x3b, 0x20, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x69, 0x6e, 0x67, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x0a, 0x20, 0x28, 0x71, 0x75, 0x65, - 0x75, 0x65, 0x2c, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x29, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x05, 0x06, 0x12, 0x03, 0x60, 0x02, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, - 0x12, 0x03, 0x60, 0x0f, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, - 0x60, 0x1a, 0x1b, 0x0a, 0x49, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x63, 0x02, 0x21, - 0x1a, 0x3c, 0x20, 0x55, 0x73, 0x65, 0x72, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, - 0x74, 0x6f, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x74, 0x20, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x63, 0x02, 0x15, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x63, 0x16, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x06, 0x03, 0x12, 0x03, 0x63, 0x1f, 0x20, 0x0a, 0x69, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, - 0x12, 0x03, 0x66, 0x02, 0x2f, 0x1a, 0x5c, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x75, 0x61, - 0x6c, 0x6c, 0x79, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x69, 0x74, 0x20, 0x74, 0x6f, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x66, 0x02, - 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x66, 0x1c, 0x2a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x66, 0x2d, 0x2e, 0x0a, 0x3e, 0x0a, - 0x02, 0x04, 0x01, 0x12, 0x04, 0x6a, 0x00, 0x7f, 0x01, 0x1a, 0x32, 0x20, 0x41, 0x20, 0x73, 0x69, - 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, - 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x6a, 0x08, 0x19, 0x0a, 0x80, 0x02, 0x0a, 0x04, 0x04, 0x01, - 0x02, 0x00, 0x12, 0x03, 0x6e, 0x02, 0x3f, 0x1a, 0xf2, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x6e, 0x67, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x43, 0x61, 0x72, 0x72, 0x69, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x2c, 0x20, 0x61, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x28, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, - 0x61, 0x74, 0x20, 0x31, 0x29, 0x2c, 0x0a, 0x20, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2c, 0x20, 0x6d, - 0x6f, 0x6e, 0x6f, 0x74, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x63, - 0x72, 0x65, 0x61, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, - 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x2c, 0x20, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x0a, 0x20, 0x28, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x20, 0x2f, 0x20, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x27, - 0x73, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x6e, 0x02, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x00, 0x01, 0x12, 0x03, 0x6e, 0x0e, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, - 0x03, 0x12, 0x03, 0x6e, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, - 0x03, 0x6e, 0x18, 0x3e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, - 0x12, 0x03, 0x6e, 0x19, 0x3d, 0x0a, 0x90, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, - 0x72, 0x02, 0x19, 0x1a, 0x82, 0x01, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x0a, 0x20, 0x68, 0x6f, - 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, - 0x73, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, - 0x05, 0x12, 0x03, 0x72, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, - 0x03, 0x72, 0x09, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x72, - 0x17, 0x18, 0x0a, 0x6a, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x03, 0x75, 0x02, 0x13, 0x1a, - 0x5d, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x2c, 0x20, - 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x20, 0x4f, - 0x6e, 0x6c, 0x79, 0x20, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, - 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x05, 0x12, 0x03, 0x75, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x75, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x02, 0x03, 0x12, 0x03, 0x75, 0x11, 0x12, 0x0a, 0x6b, 0x0a, 0x04, 0x04, 0x01, 0x08, 0x00, - 0x12, 0x04, 0x78, 0x02, 0x7b, 0x03, 0x1a, 0x5d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x20, 0x53, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x6f, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3b, - 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x08, 0x00, 0x01, 0x12, 0x03, - 0x78, 0x08, 0x0c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x03, 0x12, 0x03, 0x79, 0x04, 0x18, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x06, 0x12, 0x03, 0x79, 0x04, 0x0e, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x03, 0x79, 0x0f, 0x13, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x03, 0x79, 0x16, 0x17, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, - 0x02, 0x04, 0x12, 0x03, 0x7a, 0x04, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x06, - 0x12, 0x03, 0x7a, 0x04, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x01, 0x12, 0x03, - 0x7a, 0x10, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x03, 0x12, 0x03, 0x7a, 0x18, - 0x19, 0x0a, 0x4f, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x05, 0x12, 0x03, 0x7e, 0x02, 0x1a, 0x1a, 0x42, - 0x20, 0x52, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x2d, 0x75, 0x70, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x28, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2c, - 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x2f, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x29, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x06, 0x12, 0x03, 0x7e, 0x02, 0x0e, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x01, 0x12, 0x03, 0x7e, 0x0f, 0x15, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x03, 0x12, 0x03, 0x7e, 0x18, 0x19, 0x0a, 0x41, 0x0a, 0x02, - 0x04, 0x02, 0x12, 0x06, 0x82, 0x01, 0x00, 0x88, 0x01, 0x01, 0x1a, 0x33, 0x20, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0x82, 0x01, 0x08, 0x21, 0x0a, 0x69, 0x0a, 0x04, - 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0x84, 0x01, 0x02, 0x49, 0x1a, 0x5b, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, - 0x20, 0x74, 0x6f, 0x2e, 0x20, 0x45, 0x76, 0x65, 0x72, 0x79, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x27, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, - 0x12, 0x04, 0x84, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, - 0x04, 0x84, 0x01, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, - 0x84, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x04, 0x84, - 0x01, 0x22, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, - 0x04, 0x84, 0x01, 0x23, 0x47, 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, 0x87, - 0x01, 0x02, 0x57, 0x1a, 0x1b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x04, 0x12, 0x04, 0x87, 0x01, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, 0x04, 0x87, 0x01, 0x0b, 0x1c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0x87, 0x01, 0x1d, 0x24, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x04, 0x87, 0x01, 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, 0x04, 0x87, 0x01, 0x29, 0x56, 0x0a, 0x11, 0x0a, 0x09, 0x04, - 0x02, 0x02, 0x01, 0x08, 0x87, 0x09, 0x12, 0x01, 0x12, 0x04, 0x87, 0x01, 0x2a, 0x55, 0x0a, 0x42, - 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, 0x8b, 0x01, 0x00, 0x8f, 0x01, 0x01, 0x1a, 0x34, 0x20, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, 0x8b, 0x01, 0x08, 0x22, 0x0a, - 0x84, 0x01, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, 0x8e, 0x01, 0x02, 0x2a, 0x1a, 0x76, - 0x20, 0x50, 0x65, 0x72, 0x2d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x2c, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x20, 0x74, 0x6f, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x27, 0x73, 0x20, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x2e, 0x20, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x20, 0x28, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x65, 0x64, 0x29, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, - 0x04, 0x8e, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x04, - 0x8e, 0x01, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8e, - 0x01, 0x1d, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8e, 0x01, - 0x28, 0x29, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0x9a, 0x21, 0x0a, 0x26, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x75, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x18, + 0x08, 0x1c, 0x0a, 0x34, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x1a, 0x02, 0x59, 0x1a, + 0x27, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, + 0x06, 0x12, 0x03, 0x1a, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, + 0x03, 0x1a, 0x24, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1a, + 0x30, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x1a, 0x32, 0x58, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x1a, 0x33, + 0x57, 0x0a, 0xad, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x1e, 0x02, 0x29, 0x1a, + 0x9f, 0x01, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, + 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x2e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6d, + 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x20, 0x28, 0x65, 0x78, 0x2e, 0x20, 0x6f, 0x72, 0x67, 0x2c, 0x0a, 0x20, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x29, 0x20, + 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, + 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, 0x1e, 0x02, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x1e, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1e, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1e, 0x27, 0x28, 0x0a, 0x72, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x02, 0x12, 0x03, 0x21, 0x02, 0x1c, 0x1a, 0x65, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x70, 0x61, 0x73, 0x73, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6f, 0x74, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x74, + 0x69, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x64, 0x6f, + 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, 0x21, 0x02, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x21, 0x0f, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x02, 0x03, 0x12, 0x03, 0x21, 0x1a, 0x1b, 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, + 0x03, 0x24, 0x02, 0x41, 0x1a, 0x2d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, + 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, 0x74, + 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x24, 0x02, + 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x24, 0x09, 0x12, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x24, 0x15, 0x16, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x03, 0x08, 0x12, 0x03, 0x24, 0x17, 0x40, 0x0a, 0x10, 0x0a, 0x09, 0x04, + 0x00, 0x02, 0x03, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x24, 0x18, 0x3f, 0x0a, 0x48, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x27, 0x02, 0x47, 0x1a, 0x3b, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x75, 0x6e, 0x20, 0x62, 0x61, 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, + 0x64, 0x20, 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x20, 0x74, 0x6f, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, + 0x12, 0x03, 0x27, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, + 0x27, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x27, 0x1b, + 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x03, 0x27, 0x1d, 0x46, 0x0a, + 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x04, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x27, 0x1e, + 0x45, 0x0a, 0x3b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x2a, 0x02, 0x13, 0x1a, 0x2e, + 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x2c, 0x20, 0x69, + 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, 0x12, 0x03, 0x2a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x2a, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x05, 0x03, 0x12, 0x03, 0x2a, 0x11, 0x12, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, + 0x12, 0x03, 0x2d, 0x02, 0x15, 0x1a, 0x29, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x05, 0x12, 0x03, 0x2d, 0x02, 0x08, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x2d, 0x09, 0x10, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x2d, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, + 0x08, 0x00, 0x12, 0x04, 0x2f, 0x02, 0x34, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, + 0x01, 0x12, 0x03, 0x2f, 0x08, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x02, 0x12, + 0x03, 0x30, 0x04, 0x30, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, + 0x12, 0x03, 0x30, 0x04, 0x30, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x31, + 0x04, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x31, 0x04, 0x0e, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x31, 0x0f, 0x13, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x31, 0x16, 0x18, 0x0a, 0x0b, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x32, 0x04, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x08, 0x06, 0x12, 0x03, 0x32, 0x04, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, + 0x12, 0x03, 0x32, 0x10, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, + 0x32, 0x18, 0x1a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x09, 0x12, 0x03, 0x33, 0x04, 0x23, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x06, 0x12, 0x03, 0x33, 0x04, 0x13, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x33, 0x14, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x33, 0x20, 0x22, 0x0a, 0x34, 0x0a, 0x02, 0x04, 0x01, + 0x12, 0x03, 0x38, 0x00, 0x20, 0x1a, 0x29, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, + 0x75, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, + 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x38, 0x08, 0x1d, 0x0a, 0x31, 0x0a, 0x02, + 0x04, 0x02, 0x12, 0x04, 0x3b, 0x00, 0x41, 0x01, 0x1a, 0x25, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, + 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x3b, 0x08, 0x1d, 0x0a, 0x3f, 0x0a, 0x04, 0x04, + 0x02, 0x02, 0x00, 0x12, 0x03, 0x3d, 0x02, 0x49, 0x1a, 0x32, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, + 0x62, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x3d, 0x02, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x3d, 0x17, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, + 0x03, 0x12, 0x03, 0x3d, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, + 0x03, 0x3d, 0x22, 0x48, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, + 0x12, 0x03, 0x3d, 0x23, 0x47, 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x40, + 0x02, 0x1d, 0x1a, 0x2d, 0x20, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, + 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x04, 0x12, 0x03, 0x40, 0x02, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, 0x03, 0x40, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x40, 0x12, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x40, 0x1b, 0x1c, 0x0a, 0x31, 0x0a, 0x02, 0x04, 0x03, 0x12, + 0x03, 0x44, 0x00, 0x21, 0x1a, 0x26, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, + 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, + 0x04, 0x03, 0x01, 0x12, 0x03, 0x44, 0x08, 0x1e, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, + 0x46, 0x00, 0x4c, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x46, 0x08, 0x20, + 0x0a, 0x4d, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x48, 0x02, 0x4f, 0x1a, 0x40, 0x20, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x03, 0x48, 0x02, 0x19, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x48, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x48, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x00, 0x08, 0x12, 0x03, 0x48, 0x28, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, + 0x87, 0x09, 0x19, 0x12, 0x03, 0x48, 0x29, 0x4d, 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, + 0x12, 0x03, 0x4b, 0x02, 0x1d, 0x1a, 0x30, 0x20, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x04, + 0x12, 0x03, 0x4b, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x03, + 0x4b, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x03, 0x4b, 0x12, + 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x03, 0x4b, 0x1b, 0x1c, 0x0a, + 0x09, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x03, 0x4e, 0x00, 0x24, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, + 0x01, 0x12, 0x03, 0x4e, 0x08, 0x21, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xc6, + 0x0e, 0x0a, 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x1a, 0x1f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x27, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x02, 0x0a, 0x07, + 0x52, 0x75, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x73, 0x6b, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x44, 0x69, 0x67, 0x65, 0x73, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, + 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, + 0x69, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x72, 0x75, + 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x41, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x40, 0x0a, 0x09, 0x70, 0x72, 0x69, + 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x42, 0xc7, 0x01, 0x0a, 0x16, + 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x0c, 0x52, 0x75, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, + 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, + 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xd7, 0x08, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x24, 0x01, + 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, + 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x29, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x27, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, + 0x12, 0x03, 0x06, 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x31, + 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x09, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, + 0x12, 0x03, 0x09, 0x00, 0x4d, 0x0a, 0x8f, 0x01, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x0d, 0x00, + 0x24, 0x01, 0x1a, 0x82, 0x01, 0x20, 0x52, 0x75, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, + 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x0a, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x27, 0x73, + 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, + 0x0d, 0x08, 0x0f, 0x0a, 0x5e, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0f, 0x02, 0x1e, + 0x1a, 0x51, 0x20, 0x54, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x64, 0x69, 0x67, + 0x65, 0x73, 0x74, 0x2e, 0x20, 0x55, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x6f, 0x6f, + 0x6b, 0x20, 0x75, 0x70, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x74, 0x61, + 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x20, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x0f, 0x02, + 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0f, 0x09, 0x19, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0f, 0x1c, 0x1d, 0x0a, 0x1a, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x12, 0x02, 0x18, 0x1a, 0x0d, 0x20, 0x49, 0x6e, 0x70, + 0x75, 0x74, 0x73, 0x20, 0x75, 0x72, 0x69, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x01, 0x05, 0x12, 0x03, 0x12, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, + 0x12, 0x03, 0x12, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, + 0x12, 0x16, 0x17, 0x0a, 0x1b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x15, 0x02, 0x19, + 0x1a, 0x0e, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x20, 0x75, 0x72, 0x69, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x15, 0x02, 0x08, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x15, 0x09, 0x14, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x15, 0x17, 0x18, 0x0a, 0x18, 0x0a, 0x04, 0x04, 0x00, + 0x02, 0x03, 0x12, 0x03, 0x18, 0x02, 0x26, 0x1a, 0x0b, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x73, 0x70, + 0x65, 0x63, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x18, + 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x18, 0x19, 0x21, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x18, 0x24, 0x25, 0x0a, 0x92, + 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x1c, 0x02, 0x33, 0x1a, 0x84, 0x01, 0x20, + 0x46, 0x6f, 0x72, 0x20, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x3a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x73, 0x70, 0x65, 0x63, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x65, 0x64, 0x20, 0x28, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x29, 0x20, 0x61, 0x66, 0x74, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x52, 0x20, 0x69, 0x73, 0x20, 0x47, 0x43, 0x27, + 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x1c, 0x02, + 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x1c, 0x25, 0x2e, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x1c, 0x31, 0x32, 0x0a, 0x9d, 0x01, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x20, 0x02, 0x24, 0x1a, 0x8f, 0x01, 0x20, 0x46, + 0x6f, 0x72, 0x20, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, + 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x3a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x64, 0x0a, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x28, 0x6e, 0x65, 0x76, + 0x65, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x70, 0x62, + 0x29, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x2d, 0x74, 0x65, 0x72, 0x6d, + 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x43, 0x52, 0x20, 0x69, 0x73, 0x20, 0x47, 0x43, 0x27, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, 0x20, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x20, 0x19, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x05, 0x03, 0x12, 0x03, 0x20, 0x22, 0x23, 0x0a, 0x4c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, + 0x03, 0x23, 0x02, 0x32, 0x1a, 0x3f, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x28, 0x6f, 0x72, 0x20, + 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x29, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, + 0x23, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x23, 0x24, + 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x23, 0x30, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xb3, 0x0d, 0x0a, 0x29, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, + 0x75, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x04, 0x0a, - 0x14, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, - 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, - 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x72, 0x75, - 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x24, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x75, - 0x72, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, - 0x01, 0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x12, 0x2f, 0x0a, 0x0f, 0x72, - 0x75, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x72, - 0x75, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x61, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x04, - 0x74, 0x61, 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, - 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, - 0x73, 0x6b, 0x12, 0x37, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x09, 0x63, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x0d, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, - 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x7f, 0x0a, 0x15, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, - 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x22, 0x18, 0x0a, 0x16, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, - 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x18, 0x41, - 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, - 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x41, 0x62, 0x6f, 0x72, - 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd5, 0x02, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x66, 0x0a, 0x0d, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, - 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x45, 0x6e, 0x71, - 0x75, 0x65, 0x75, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, - 0x0a, 0x0e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, 0x6e, - 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, - 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x11, 0x41, 0x62, 0x6f, - 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, + 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x7d, 0x0a, 0x0f, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, + 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, + 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, + 0xba, 0x48, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x22, 0x92, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x04, + 0x6c, 0x6f, 0x67, 0x73, 0x1a, 0x3f, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x05, + 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x05, + 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x32, 0x71, 0x0a, 0x0e, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x73, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x08, 0x54, 0x61, 0x69, 0x6c, 0x4c, + 0x6f, 0x67, 0x73, 0x12, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, + 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, + 0x88, 0x02, 0x01, 0x90, 0x02, 0x01, 0x30, 0x01, 0x42, 0xce, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xcc, 0x01, - 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x11, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, - 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xa0, 0x14, 0x0a, - 0x06, 0x12, 0x04, 0x00, 0x00, 0x4e, 0x24, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, - 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, - 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, - 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x31, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x09, 0x00, - 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x09, 0x00, 0x4d, 0x0a, 0x60, 0x0a, 0x02, - 0x06, 0x00, 0x12, 0x04, 0x0c, 0x00, 0x15, 0x01, 0x1a, 0x54, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, - 0x6f, 0x76, 0x65, 0x72, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, - 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x0c, 0x08, 0x14, 0x0a, 0x30, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x00, 0x12, 0x03, 0x0e, 0x02, 0x4c, 0x1a, 0x23, 0x20, 0x71, 0x75, 0x65, 0x75, 0x65, 0x20, - 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0e, 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x00, 0x02, 0x12, 0x03, 0x0e, 0x14, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, - 0x03, 0x12, 0x03, 0x0e, 0x33, 0x48, 0x0a, 0x22, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x03, - 0x11, 0x02, 0x4f, 0x1a, 0x15, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x20, 0x61, 0x20, 0x71, 0x75, - 0x65, 0x75, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x01, 0x01, 0x12, 0x03, 0x11, 0x06, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, - 0x02, 0x12, 0x03, 0x11, 0x15, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, - 0x03, 0x11, 0x35, 0x4b, 0x0a, 0x79, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x03, 0x14, 0x02, - 0x58, 0x1a, 0x6c, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x61, 0x62, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, - 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x20, 0x71, 0x75, 0x65, 0x75, 0x65, - 0x64, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, - 0x79, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, - 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x14, 0x06, 0x17, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x14, 0x18, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x14, 0x3b, 0x54, 0x0a, 0x34, 0x0a, 0x02, 0x04, 0x00, 0x12, - 0x04, 0x18, 0x00, 0x35, 0x01, 0x1a, 0x28, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x75, - 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, - 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x18, 0x08, 0x1c, 0x0a, 0x34, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x00, 0x12, 0x03, 0x1a, 0x02, 0x59, 0x1a, 0x27, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, - 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x1a, 0x02, 0x23, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x1a, 0x24, 0x2d, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1a, 0x30, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x1a, 0x32, 0x58, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, - 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x1a, 0x33, 0x57, 0x0a, 0xad, 0x01, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x01, 0x12, 0x03, 0x1e, 0x02, 0x29, 0x1a, 0x9f, 0x01, 0x20, 0x61, 0x6e, 0x20, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, - 0x2e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, - 0x72, 0x75, 0x6e, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x28, 0x65, 0x78, - 0x2e, 0x20, 0x6f, 0x72, 0x67, 0x2c, 0x0a, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x29, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x65, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x01, 0x04, 0x12, 0x03, 0x1e, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, - 0x05, 0x12, 0x03, 0x1e, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, - 0x03, 0x1e, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1e, - 0x27, 0x28, 0x0a, 0x72, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x21, 0x02, 0x1c, 0x1a, - 0x65, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x20, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x79, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, - 0x62, 0x79, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, - 0x03, 0x21, 0x02, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x21, - 0x0f, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x21, 0x1a, 0x1b, - 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x24, 0x02, 0x41, 0x1a, 0x2d, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x24, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x03, 0x01, 0x12, 0x03, 0x24, 0x09, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, - 0x03, 0x12, 0x03, 0x24, 0x15, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x08, 0x12, - 0x03, 0x24, 0x17, 0x40, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x03, 0x08, 0x87, 0x09, 0x0e, - 0x02, 0x12, 0x03, 0x24, 0x18, 0x3f, 0x0a, 0x48, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, - 0x27, 0x02, 0x47, 0x1a, 0x3b, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x62, 0x61, - 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x20, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x74, 0x6f, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, 0x12, 0x03, 0x27, 0x02, 0x08, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x27, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x27, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x04, 0x08, 0x12, 0x03, 0x27, 0x1d, 0x46, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x04, - 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x27, 0x1e, 0x45, 0x0a, 0x3b, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x05, 0x12, 0x03, 0x2a, 0x02, 0x13, 0x1a, 0x2e, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x6c, 0x6f, - 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, - 0x12, 0x03, 0x2a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, - 0x2a, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x2a, 0x11, - 0x12, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x2d, 0x02, 0x15, 0x1a, 0x29, - 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x69, - 0x66, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x06, 0x05, 0x12, 0x03, 0x2d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, - 0x12, 0x03, 0x2d, 0x09, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, - 0x2d, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x00, 0x12, 0x04, 0x2f, 0x02, 0x34, - 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, 0x12, 0x03, 0x2f, 0x08, 0x0c, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x02, 0x12, 0x03, 0x30, 0x04, 0x30, 0x0a, 0x0f, 0x0a, - 0x08, 0x04, 0x00, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x30, 0x04, 0x30, 0x0a, 0x0b, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x31, 0x04, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x31, 0x04, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x07, 0x01, 0x12, 0x03, 0x31, 0x0f, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, - 0x12, 0x03, 0x31, 0x16, 0x18, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x32, - 0x04, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x06, 0x12, 0x03, 0x32, 0x04, 0x0f, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x32, 0x10, 0x15, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x32, 0x18, 0x1a, 0x0a, 0x0b, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x09, 0x12, 0x03, 0x33, 0x04, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x09, 0x06, 0x12, 0x03, 0x33, 0x04, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, - 0x12, 0x03, 0x33, 0x14, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, - 0x33, 0x20, 0x22, 0x0a, 0x34, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x03, 0x38, 0x00, 0x20, 0x1a, 0x29, - 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x75, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, - 0x12, 0x03, 0x38, 0x08, 0x1d, 0x0a, 0x31, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x3b, 0x00, 0x41, - 0x01, 0x1a, 0x25, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, - 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, - 0x03, 0x3b, 0x08, 0x1d, 0x0a, 0x3f, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x3d, 0x02, - 0x49, 0x1a, 0x32, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, - 0x3d, 0x02, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x3d, 0x17, - 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x3d, 0x20, 0x21, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x03, 0x3d, 0x22, 0x48, 0x0a, 0x0f, 0x0a, - 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x3d, 0x23, 0x47, 0x0a, 0x3a, - 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x40, 0x02, 0x1d, 0x1a, 0x2d, 0x20, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, - 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x01, 0x04, 0x12, 0x03, 0x40, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, - 0x05, 0x12, 0x03, 0x40, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, - 0x03, 0x40, 0x12, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x40, - 0x1b, 0x1c, 0x0a, 0x31, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x03, 0x44, 0x00, 0x21, 0x1a, 0x26, 0x20, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, - 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x44, 0x08, - 0x1e, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x46, 0x00, 0x4c, 0x01, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x46, 0x08, 0x20, 0x0a, 0x4d, 0x0a, 0x04, 0x04, 0x04, 0x02, - 0x00, 0x12, 0x03, 0x48, 0x02, 0x4f, 0x1a, 0x40, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, - 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, - 0x06, 0x12, 0x03, 0x48, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x48, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x48, - 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x48, 0x28, 0x4e, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x48, 0x29, - 0x4d, 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x4b, 0x02, 0x1d, 0x1a, 0x30, - 0x20, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, - 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, - 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x04, 0x12, 0x03, 0x4b, 0x02, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x03, 0x4b, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x03, 0x4b, 0x12, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x01, 0x03, 0x12, 0x03, 0x4b, 0x1b, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x03, - 0x4e, 0x00, 0x24, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x4e, 0x08, 0x21, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xc6, 0x0e, 0x0a, 0x21, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, - 0x75, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x1a, 0x1f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x1d, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, - 0x72, 0x65, 0x2f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x18, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, - 0x6b, 0x2f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, - 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x02, 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x64, 0x69, - 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x73, 0x6b, - 0x53, 0x70, 0x65, 0x63, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x75, - 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x52, 0x75, - 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x41, - 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x12, 0x40, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, - 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, - 0x69, 0x70, 0x61, 0x6c, 0x42, 0xc7, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, - 0x0c, 0x52, 0x75, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, - 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, - 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xd7, - 0x08, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x24, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, - 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, - 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, - 0x05, 0x00, 0x27, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x22, 0x0a, 0x09, - 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x31, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, - 0x09, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x09, 0x00, 0x4d, 0x0a, 0x8f, - 0x01, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x0d, 0x00, 0x24, 0x01, 0x1a, 0x82, 0x01, 0x20, 0x52, - 0x75, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x61, 0x73, - 0x20, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x0a, 0x20, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x27, 0x73, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2e, 0x0a, - 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x0d, 0x08, 0x0f, 0x0a, 0x5e, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0f, 0x02, 0x1e, 0x1a, 0x51, 0x20, 0x54, 0x61, 0x73, 0x6b, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x20, 0x55, 0x73, - 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x20, 0x75, 0x70, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, - 0x70, 0x65, 0x63, 0x73, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x0f, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x00, 0x01, 0x12, 0x03, 0x0f, 0x09, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, - 0x03, 0x12, 0x03, 0x0f, 0x1c, 0x1d, 0x0a, 0x1a, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, - 0x12, 0x02, 0x18, 0x1a, 0x0d, 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x75, 0x72, 0x69, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x12, 0x02, 0x08, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x12, 0x09, 0x13, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x12, 0x16, 0x17, 0x0a, 0x1b, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x15, 0x02, 0x19, 0x1a, 0x0e, 0x20, 0x4f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x73, 0x20, 0x75, 0x72, 0x69, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x02, 0x05, 0x12, 0x03, 0x15, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, - 0x12, 0x03, 0x15, 0x09, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, - 0x15, 0x17, 0x18, 0x0a, 0x18, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x18, 0x02, 0x26, - 0x1a, 0x0b, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x18, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x18, 0x19, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x03, 0x03, 0x12, 0x03, 0x18, 0x24, 0x25, 0x0a, 0x92, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, - 0x12, 0x03, 0x1c, 0x02, 0x33, 0x1a, 0x84, 0x01, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, - 0x4f, 0x4e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x2c, 0x20, - 0x73, 0x6f, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, - 0x65, 0x0a, 0x20, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x28, 0x70, 0x72, 0x6f, - 0x6d, 0x70, 0x74, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2f, - 0x74, 0x79, 0x70, 0x65, 0x29, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x43, 0x52, 0x20, 0x69, 0x73, 0x20, 0x47, 0x43, 0x27, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x1c, 0x02, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x04, 0x01, 0x12, 0x03, 0x1c, 0x25, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, - 0x03, 0x12, 0x03, 0x1c, 0x31, 0x32, 0x0a, 0x9d, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, - 0x03, 0x20, 0x02, 0x24, 0x1a, 0x8f, 0x01, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x41, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, - 0x4e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x0a, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x28, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x70, 0x62, 0x29, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x6c, 0x6f, 0x6e, 0x67, 0x2d, 0x74, 0x65, 0x72, 0x6d, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x52, 0x20, 0x69, 0x73, 0x20, - 0x47, 0x43, 0x27, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x06, 0x12, - 0x03, 0x20, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x20, - 0x19, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x20, 0x22, 0x23, - 0x0a, 0x4c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x23, 0x02, 0x32, 0x1a, 0x3f, 0x20, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x61, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x28, 0x6f, 0x72, 0x20, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x29, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x23, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x23, 0x24, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x06, 0x03, 0x12, 0x03, 0x23, 0x30, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - 0x0a, 0xb3, 0x0d, 0x0a, 0x29, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x73, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x26, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x6c, 0x6f, - 0x67, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x0f, 0x54, 0x61, - 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, - 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x20, 0x00, - 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x22, 0x92, 0x01, 0x0a, 0x10, 0x54, 0x61, - 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, - 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x1a, 0x3f, 0x0a, - 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x32, 0x71, - 0x0a, 0x0e, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x5f, 0x0a, 0x08, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x23, 0x2e, 0x66, + 0x6c, 0x6f, 0x77, 0x42, 0x13, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, + 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, + 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xa9, 0x07, 0x0a, 0x06, 0x12, 0x04, + 0x00, 0x00, 0x26, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, + 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, + 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2b, 0x0a, 0x09, + 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x30, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, + 0x08, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x08, 0x00, 0x4d, 0x0a, 0x46, + 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x0b, 0x00, 0x11, 0x01, 0x1a, 0x3a, 0x20, 0x52, 0x75, 0x6e, + 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, + 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x0b, + 0x08, 0x16, 0x0a, 0x42, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x0d, 0x02, 0x10, 0x03, + 0x1a, 0x34, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, + 0x73, 0x65, 0x20, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x20, 0x69, 0x6e, 0x73, + 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, + 0x03, 0x0d, 0x06, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x0d, + 0x0f, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x0d, 0x29, 0x2f, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0d, 0x30, 0x40, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x0e, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x06, + 0x06, 0x00, 0x02, 0x00, 0x04, 0x21, 0x12, 0x03, 0x0e, 0x04, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x0f, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, + 0x00, 0x04, 0x22, 0x12, 0x03, 0x0f, 0x04, 0x2f, 0x0a, 0x2f, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, + 0x14, 0x00, 0x1a, 0x01, 0x1a, 0x23, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x69, 0x6c, 0x69, + 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, + 0x12, 0x03, 0x14, 0x08, 0x17, 0x0a, 0x1d, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x16, + 0x02, 0x4f, 0x1a, 0x10, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x16, + 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x16, 0x1a, 0x23, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x16, 0x26, 0x27, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x16, 0x28, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, + 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x03, 0x16, 0x29, 0x4d, 0x0a, 0x22, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x19, 0x02, 0x3a, 0x1a, 0x15, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x19, 0x02, 0x08, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x19, 0x09, 0x10, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x19, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x19, 0x15, 0x39, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, + 0x01, 0x08, 0x87, 0x09, 0x05, 0x04, 0x12, 0x03, 0x19, 0x16, 0x38, 0x0a, 0x2f, 0x0a, 0x02, 0x04, + 0x01, 0x12, 0x04, 0x1d, 0x00, 0x26, 0x01, 0x1a, 0x23, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, + 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, + 0x04, 0x01, 0x01, 0x12, 0x03, 0x1d, 0x08, 0x18, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x01, 0x03, 0x00, + 0x12, 0x04, 0x1f, 0x02, 0x22, 0x03, 0x1a, 0x12, 0x20, 0x41, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x03, 0x00, 0x01, 0x12, 0x03, 0x1f, 0x0a, 0x0e, 0x0a, 0x26, 0x0a, 0x06, 0x04, 0x01, 0x03, 0x00, + 0x02, 0x00, 0x12, 0x03, 0x21, 0x04, 0x38, 0x1a, 0x17, 0x20, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2e, 0x0a, + 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x21, 0x04, 0x0c, + 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x21, 0x0d, 0x2d, + 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x21, 0x2e, 0x33, + 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x21, 0x36, 0x37, + 0x0a, 0x2b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x25, 0x02, 0x19, 0x1a, 0x1e, 0x20, + 0x4f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x00, 0x04, 0x12, 0x03, 0x25, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x25, 0x0b, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x00, 0x01, 0x12, 0x03, 0x25, 0x10, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, + 0x12, 0x03, 0x25, 0x17, 0x18, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xa1, 0x26, + 0x0a, 0x2b, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x88, 0x02, 0x01, 0x90, 0x02, 0x01, 0x30, - 0x01, 0x42, 0xce, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x13, 0x52, 0x75, - 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, - 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, - 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x4a, 0xa9, 0x07, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x26, 0x01, 0x0a, 0x08, 0x0a, - 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, - 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, - 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, - 0x00, 0x30, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x08, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, - 0x08, 0x0b, 0x12, 0x03, 0x08, 0x00, 0x4d, 0x0a, 0x46, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x0b, - 0x00, 0x11, 0x01, 0x1a, 0x3a, 0x20, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, - 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, - 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x0b, 0x08, 0x16, 0x0a, 0x42, 0x0a, 0x04, 0x06, - 0x00, 0x02, 0x00, 0x12, 0x04, 0x0d, 0x02, 0x10, 0x03, 0x1a, 0x34, 0x20, 0x44, 0x65, 0x70, 0x72, - 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x44, 0x61, 0x74, 0x61, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x69, - 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0d, 0x06, 0x0e, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x0d, 0x0f, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x0d, 0x29, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x00, 0x03, 0x12, 0x03, 0x0d, 0x30, 0x40, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, - 0x12, 0x03, 0x0e, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x00, 0x04, 0x21, 0x12, - 0x03, 0x0e, 0x04, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x0f, - 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x00, 0x04, 0x22, 0x12, 0x03, 0x0f, 0x04, - 0x2f, 0x0a, 0x2f, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x14, 0x00, 0x1a, 0x01, 0x1a, 0x23, 0x20, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x73, - 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x14, 0x08, 0x17, 0x0a, 0x1d, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x16, 0x02, 0x4f, 0x1a, 0x10, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x16, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x16, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x00, 0x03, 0x12, 0x03, 0x16, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, - 0x12, 0x03, 0x16, 0x28, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, - 0x19, 0x12, 0x03, 0x16, 0x29, 0x4d, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, - 0x19, 0x02, 0x3a, 0x1a, 0x15, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x01, 0x05, 0x12, 0x03, 0x19, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, - 0x01, 0x12, 0x03, 0x19, 0x09, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, - 0x03, 0x19, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x19, - 0x15, 0x39, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x01, 0x08, 0x87, 0x09, 0x05, 0x04, 0x12, - 0x03, 0x19, 0x16, 0x38, 0x0a, 0x2f, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x1d, 0x00, 0x26, 0x01, - 0x1a, 0x23, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x6c, - 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x1d, 0x08, - 0x18, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x01, 0x03, 0x00, 0x12, 0x04, 0x1f, 0x02, 0x22, 0x03, 0x1a, - 0x12, 0x20, 0x41, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, 0x67, - 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x03, 0x00, 0x01, 0x12, 0x03, 0x1f, 0x0a, - 0x0e, 0x0a, 0x26, 0x0a, 0x06, 0x04, 0x01, 0x03, 0x00, 0x02, 0x00, 0x12, 0x03, 0x21, 0x04, 0x38, - 0x1a, 0x17, 0x20, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x20, 0x6c, 0x6f, - 0x67, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, - 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x21, 0x04, 0x0c, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, - 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x21, 0x0d, 0x2d, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, - 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x21, 0x2e, 0x33, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x01, 0x03, - 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x21, 0x36, 0x37, 0x0a, 0x2b, 0x0a, 0x04, 0x04, 0x01, 0x02, - 0x00, 0x12, 0x03, 0x25, 0x02, 0x19, 0x1a, 0x1e, 0x20, 0x4f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, - 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, - 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x04, 0x12, - 0x03, 0x25, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x25, - 0x0b, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x25, 0x10, 0x14, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x25, 0x17, 0x18, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xa1, 0x26, 0x0a, 0x2b, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x1a, 0x21, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x5f, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 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, 0x22, 0xcb, - 0x02, 0x0a, 0x1f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, - 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x74, 0x65, 0x72, - 0x61, 0x6c, 0x52, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x12, 0x39, 0x0a, 0x09, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x09, 0x76, 0x61, - 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x74, 0x65, 0x72, - 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, - 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x55, 0x72, 0x69, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x48, 0x00, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, - 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x4f, 0x0a, 0x20, - 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, + 0x77, 0x1a, 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, + 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, + 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, + 0x6b, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 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, 0x22, 0xcb, 0x02, 0x0a, 0x1f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x6c, 0x69, 0x74, + 0x65, 0x72, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4e, 0x61, 0x6d, + 0x65, 0x64, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x4d, 0x61, 0x70, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x21, + 0x0a, 0x0c, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x55, 0x72, + 0x69, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, + 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x22, 0x4f, 0x0a, 0x20, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x54, + 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, + 0x01, 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, 0x04, + 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x4e, 0x0a, 0x1f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, + 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, + 0x01, 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, 0x04, + 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, 0x20, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, + 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6c, 0x69, 0x74, 0x65, + 0x72, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4e, 0x61, 0x6d, 0x65, + 0x64, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x73, 0x22, 0x58, 0x0a, 0x1f, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, + 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, + 0x65, 0x63, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x22, 0x4f, 0x0a, 0x20, + 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 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, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x4e, 0x0a, - 0x1f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, - 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 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, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, - 0x20, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, - 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, - 0x6c, 0x52, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x22, 0x58, 0x0a, 0x1f, 0x54, - 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, - 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, - 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, - 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x74, 0x61, 0x73, - 0x6b, 0x53, 0x70, 0x65, 0x63, 0x22, 0x4f, 0x0a, 0x20, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, - 0x63, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x73, 0x6f, - 0x6e, 0x18, 0x01, 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, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x4a, 0x73, 0x6f, 0x6e, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, - 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 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, 0x06, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x22, 0x58, 0x0a, 0x1c, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x74, 0x65, 0x72, - 0x61, 0x6c, 0x52, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x32, 0xba, 0x04, 0x0a, - 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x54, - 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x12, - 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x54, 0x6f, 0x4c, - 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, - 0x6c, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, - 0x8a, 0x01, 0x0a, 0x18, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, - 0x6f, 0x6e, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x12, 0x33, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, - 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x34, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, - 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x8a, 0x01, 0x0a, - 0x18, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, - 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, - 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, - 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, - 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x4c, 0x61, - 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x7e, 0x0a, 0x14, 0x4a, 0x73, 0x6f, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x89, 0x01, + 0x0a, 0x1b, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x69, + 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, + 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x09, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x18, 0x02, 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, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x58, 0x0a, 0x1c, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, - 0x73, 0x12, 0x2f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x42, 0xd1, 0x01, 0x0a, 0x16, 0x63, 0x6f, - 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x16, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, - 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xc2, 0x16, - 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x5b, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, - 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, - 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, - 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x25, 0x0a, 0x09, 0x0a, - 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, - 0x08, 0x00, 0x26, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x0a, 0x00, 0x4d, 0x0a, 0x09, 0x0a, - 0x02, 0x08, 0x0b, 0x12, 0x03, 0x0a, 0x00, 0x4d, 0x0a, 0x6e, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, - 0x0d, 0x00, 0x1a, 0x01, 0x1a, 0x62, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, - 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x64, 0x69, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, - 0x03, 0x0d, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x0e, 0x02, - 0x10, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0e, 0x06, 0x1e, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x0e, 0x1f, 0x3e, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0e, 0x49, 0x69, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x0f, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, - 0x02, 0x00, 0x04, 0x22, 0x12, 0x03, 0x0f, 0x04, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, - 0x01, 0x12, 0x04, 0x11, 0x02, 0x13, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, - 0x12, 0x03, 0x11, 0x06, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, - 0x11, 0x1f, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x11, 0x49, - 0x69, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, 0x12, 0x04, 0x2f, 0x0a, - 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x01, 0x04, 0x22, 0x12, 0x03, 0x12, 0x04, 0x2f, 0x0a, 0x0c, - 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x04, 0x14, 0x02, 0x16, 0x03, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x14, 0x06, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x02, 0x02, 0x12, 0x03, 0x14, 0x1f, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, - 0x03, 0x12, 0x03, 0x14, 0x49, 0x69, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, - 0x03, 0x15, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x02, 0x04, 0x22, 0x12, 0x03, - 0x15, 0x04, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, 0x12, 0x04, 0x17, 0x02, 0x19, - 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x17, 0x06, 0x1a, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x17, 0x1b, 0x36, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x17, 0x41, 0x5d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x03, 0x04, 0x12, 0x03, 0x18, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, - 0x03, 0x04, 0x22, 0x12, 0x03, 0x18, 0x04, 0x2f, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, - 0x1c, 0x00, 0x35, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x1c, 0x08, 0x27, - 0x0a, 0x51, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x1e, 0x02, 0x2a, 0x1a, 0x44, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x2e, - 0x20, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x6c, 0x69, - 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, - 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x1e, 0x02, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x1e, 0x0b, 0x1c, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x1e, 0x1d, 0x25, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1e, 0x28, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x01, 0x12, 0x03, 0x1f, 0x02, 0x2b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, - 0x06, 0x12, 0x03, 0x1f, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, - 0x03, 0x1f, 0x1d, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1f, - 0x29, 0x2a, 0x0a, 0xeb, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x26, 0x02, 0x1a, - 0x1a, 0xdd, 0x02, 0x20, 0x52, 0x61, 0x77, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x20, 0x55, 0x52, 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x66, - 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x69, - 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2c, 0x20, 0x61, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x0a, 0x20, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x20, 0x28, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, - 0x72, 0x69, 0x20, 0x2f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, - 0x29, 0x2e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, - 0x68, 0x0a, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x3a, 0x20, 0x77, 0x68, - 0x65, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, - 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x0a, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2c, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x20, - 0x61, 0x20, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x72, 0x69, 0x70, 0x20, 0x6f, 0x66, 0x20, - 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x6c, 0x61, 0x72, 0x67, - 0x65, 0x20, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x0a, 0x20, 0x74, 0x68, 0x72, 0x6f, - 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x20, - 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x26, 0x02, 0x08, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x26, 0x09, 0x15, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x26, 0x18, 0x19, 0x0a, 0x81, 0x01, 0x0a, 0x04, 0x04, - 0x00, 0x08, 0x00, 0x12, 0x04, 0x2a, 0x02, 0x34, 0x03, 0x1a, 0x73, 0x20, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, - 0x64, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x2e, 0x20, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x20, 0x75, 0x6e, 0x73, - 0x65, 0x74, 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x60, 0x6c, 0x69, 0x74, 0x65, 0x72, - 0x61, 0x6c, 0x73, 0x60, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, 0x12, 0x03, 0x2a, 0x08, 0x0d, 0x0a, 0xa9, 0x01, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x2e, 0x04, 0x2a, 0x1a, 0x9b, 0x01, 0x20, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6f, 0x77, 0x6e, 0x73, 0x20, 0x6c, 0x69, - 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, - 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x0a, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x3b, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x55, 0x52, 0x49, 0x20, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x55, - 0x52, 0x49, 0x73, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, - 0x0a, 0x20, 0x72, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, - 0x06, 0x12, 0x03, 0x2e, 0x04, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, - 0x03, 0x2e, 0x1c, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x2e, - 0x28, 0x29, 0x0a, 0xd8, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x33, 0x04, 0x2c, - 0x1a, 0xca, 0x01, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x61, - 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x6f, - 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x73, 0x20, 0x75, 0x70, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x27, 0x73, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, - 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x55, 0x52, 0x49, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x69, 0x74, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, - 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x69, 0x74, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, - 0x79, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x20, - 0x61, 0x72, 0x65, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x33, 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x33, 0x1d, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x04, 0x03, 0x12, 0x03, 0x33, 0x2a, 0x2b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x37, - 0x00, 0x3a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x37, 0x08, 0x28, 0x0a, - 0x29, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x39, 0x02, 0x22, 0x1a, 0x1c, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x00, 0x06, 0x12, 0x03, 0x39, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, - 0x01, 0x12, 0x03, 0x39, 0x19, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, - 0x03, 0x39, 0x20, 0x21, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x3c, 0x00, 0x3f, 0x01, - 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x3c, 0x08, 0x27, 0x0a, 0x36, 0x0a, 0x04, - 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x3e, 0x02, 0x22, 0x1a, 0x29, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x74, 0x6f, 0x20, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, - 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x3e, - 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x3e, 0x19, 0x1d, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x3e, 0x20, 0x21, 0x0a, 0x0a, - 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x41, 0x00, 0x44, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, - 0x01, 0x12, 0x03, 0x41, 0x08, 0x28, 0x0a, 0x3b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, - 0x43, 0x02, 0x2a, 0x1a, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, - 0x6c, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, 0x03, 0x43, 0x02, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x03, 0x43, 0x0b, 0x1c, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x43, 0x1d, 0x25, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x43, 0x28, 0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x04, - 0x04, 0x12, 0x04, 0x46, 0x00, 0x4a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, - 0x46, 0x08, 0x27, 0x0a, 0x5f, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x49, 0x02, 0x28, - 0x1a, 0x52, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x4a, - 0x53, 0x4f, 0x4e, 0x2e, 0x0a, 0x20, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x69, 0x6e, 0x70, - 0x75, 0x74, 0x73, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x03, 0x49, - 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x49, 0x1a, 0x23, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x49, 0x26, 0x27, 0x0a, 0x0a, - 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x4c, 0x00, 0x4f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, - 0x01, 0x12, 0x03, 0x4c, 0x08, 0x28, 0x0a, 0x2a, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, - 0x4e, 0x02, 0x22, 0x1a, 0x1d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x03, 0x4e, 0x02, 0x18, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x4e, 0x19, 0x1d, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x4e, 0x20, 0x21, 0x0a, 0x0a, 0x0a, 0x02, - 0x04, 0x06, 0x12, 0x04, 0x51, 0x00, 0x56, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, - 0x03, 0x51, 0x08, 0x23, 0x0a, 0x54, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x53, 0x02, - 0x2b, 0x1a, 0x47, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x28, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x29, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x6e, - 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x00, 0x06, 0x12, 0x03, 0x53, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, - 0x01, 0x12, 0x03, 0x53, 0x1d, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, - 0x03, 0x53, 0x29, 0x2a, 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x03, 0x55, 0x02, - 0x24, 0x1a, 0x2d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x61, 0x77, 0x20, 0x4a, 0x53, 0x4f, 0x4e, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x06, 0x12, 0x03, 0x55, 0x02, 0x18, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x03, 0x55, 0x19, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x03, 0x55, 0x22, 0x23, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x07, - 0x12, 0x04, 0x58, 0x00, 0x5b, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x03, 0x58, - 0x08, 0x24, 0x0a, 0x56, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x03, 0x5a, 0x02, 0x2a, 0x1a, - 0x49, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x75, 0x73, - 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x00, 0x04, 0x12, 0x03, 0x5a, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, - 0x06, 0x12, 0x03, 0x5a, 0x0b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x5a, 0x1d, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x03, 0x5a, - 0x28, 0x29, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6c, 0x69, 0x74, + 0x65, 0x72, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4e, 0x61, 0x6d, + 0x65, 0x64, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x73, 0x32, 0xba, 0x04, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, + 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x18, 0x4c, 0x69, + 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, + 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x69, 0x74, 0x65, + 0x72, 0x61, 0x6c, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, + 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, + 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x8a, 0x01, 0x0a, 0x18, 0x4c, 0x61, 0x75, 0x6e, 0x63, + 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x73, 0x12, 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, + 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4c, 0x61, + 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4c, 0x69, + 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, + 0x90, 0x02, 0x01, 0x12, 0x8a, 0x01, 0x0a, 0x18, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, + 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, + 0x12, 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, + 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, + 0x70, 0x65, 0x63, 0x54, 0x6f, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x4a, + 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, + 0x12, 0x7e, 0x0a, 0x14, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x54, 0x6f, + 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4a, 0x73, + 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x4a, + 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, + 0x42, 0xd1, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x16, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xa2, 0x02, 0x03, + 0x46, 0x57, 0x58, 0xaa, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xca, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0xe2, 0x02, 0x1e, + 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x57, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x4a, 0xc2, 0x16, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x5b, 0x01, 0x0a, + 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, + 0x02, 0x00, 0x1b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x2b, 0x0a, 0x09, + 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, + 0x03, 0x06, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x2e, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x26, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, + 0x03, 0x0a, 0x00, 0x4d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x0a, 0x00, 0x4d, 0x0a, + 0x6e, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x0d, 0x00, 0x1a, 0x01, 0x1a, 0x62, 0x20, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x64, 0x69, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x0a, 0x0a, + 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x0d, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x06, + 0x00, 0x02, 0x00, 0x12, 0x04, 0x0e, 0x02, 0x10, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x00, 0x01, 0x12, 0x03, 0x0e, 0x06, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, + 0x12, 0x03, 0x0e, 0x1f, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, + 0x0e, 0x49, 0x69, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x0f, 0x04, + 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x00, 0x04, 0x22, 0x12, 0x03, 0x0f, 0x04, 0x2f, + 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x04, 0x11, 0x02, 0x13, 0x03, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x11, 0x06, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x11, 0x1f, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x01, 0x03, 0x12, 0x03, 0x11, 0x49, 0x69, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, + 0x04, 0x12, 0x03, 0x12, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x01, 0x04, 0x22, + 0x12, 0x03, 0x12, 0x04, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x04, 0x14, + 0x02, 0x16, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x14, 0x06, + 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x14, 0x1f, 0x3e, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x14, 0x49, 0x69, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x15, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, + 0x00, 0x02, 0x02, 0x04, 0x22, 0x12, 0x03, 0x15, 0x04, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, + 0x02, 0x03, 0x12, 0x04, 0x17, 0x02, 0x19, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, + 0x01, 0x12, 0x03, 0x17, 0x06, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, + 0x03, 0x17, 0x1b, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x17, + 0x41, 0x5d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x03, 0x18, 0x04, 0x2f, + 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x03, 0x04, 0x22, 0x12, 0x03, 0x18, 0x04, 0x2f, 0x0a, + 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x1c, 0x00, 0x35, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, + 0x00, 0x01, 0x12, 0x03, 0x1c, 0x08, 0x27, 0x0a, 0x51, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, + 0x03, 0x1e, 0x02, 0x2a, 0x1a, 0x44, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, + 0x6f, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x2e, 0x20, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, + 0x77, 0x68, 0x65, 0x6e, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, + 0x69, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x00, 0x04, 0x12, 0x03, 0x1e, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, + 0x06, 0x12, 0x03, 0x1e, 0x0b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, + 0x03, 0x1e, 0x1d, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1e, + 0x28, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x1f, 0x02, 0x2b, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x1f, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1f, 0x1d, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1f, 0x29, 0x2a, 0x0a, 0xeb, 0x02, 0x0a, 0x04, 0x04, 0x00, + 0x02, 0x02, 0x12, 0x03, 0x26, 0x02, 0x1a, 0x1a, 0xdd, 0x02, 0x20, 0x52, 0x61, 0x77, 0x20, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x55, 0x52, 0x49, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2c, 0x20, 0x61, + 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x0a, 0x20, 0x44, + 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x20, 0x28, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x20, 0x2f, 0x20, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x29, 0x2e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x75, + 0x73, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x0a, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x3a, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x66, 0x72, + 0x6f, 0x6d, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, + 0x61, 0x64, 0x20, 0x6f, 0x66, 0x0a, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x68, 0x65, 0x6d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2c, 0x20, 0x61, 0x76, + 0x6f, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, + 0x72, 0x69, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x6c, 0x79, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x20, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x73, 0x0a, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x20, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x77, + 0x68, 0x65, 0x6e, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x20, 0x69, + 0x73, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, + 0x12, 0x03, 0x26, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, + 0x26, 0x09, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x26, 0x18, + 0x19, 0x0a, 0x81, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x00, 0x12, 0x04, 0x2a, 0x02, 0x34, 0x03, + 0x1a, 0x73, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, + 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x2e, 0x20, 0x4c, 0x65, + 0x61, 0x76, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x20, 0x60, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x60, 0x20, 0x69, 0x6e, 0x73, 0x74, + 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, 0x12, 0x03, + 0x2a, 0x08, 0x0d, 0x0a, 0xa9, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x2e, 0x04, + 0x2a, 0x1a, 0x9b, 0x01, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x6f, 0x77, 0x6e, 0x73, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, + 0x69, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, + 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x0a, 0x20, 0x69, + 0x73, 0x20, 0x73, 0x65, 0x74, 0x3b, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x52, 0x49, 0x20, 0x69, + 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, + 0x6e, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x55, 0x52, 0x49, 0x73, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, + 0x65, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x72, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x2e, 0x04, 0x1b, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x2e, 0x1c, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x2e, 0x28, 0x29, 0x0a, 0xd8, 0x01, 0x0a, 0x04, 0x04, 0x00, + 0x02, 0x04, 0x12, 0x03, 0x33, 0x04, 0x2c, 0x1a, 0xca, 0x01, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x61, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, + 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, + 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x0a, + 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x73, 0x20, 0x75, + 0x70, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x27, 0x73, 0x20, + 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, + 0x55, 0x52, 0x49, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x69, 0x74, 0x73, 0x20, 0x73, 0x70, 0x65, + 0x63, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x69, 0x74, 0x20, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x6c, 0x69, 0x74, + 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x20, 0x61, 0x72, 0x65, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, + 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x33, + 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x33, 0x1d, 0x27, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x33, 0x2a, 0x2b, 0x0a, 0x0a, + 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x37, 0x00, 0x3a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, + 0x01, 0x12, 0x03, 0x37, 0x08, 0x28, 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, + 0x39, 0x02, 0x22, 0x1a, 0x1c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x39, 0x02, 0x18, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x39, 0x19, 0x1d, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x39, 0x20, 0x21, 0x0a, 0x0a, 0x0a, 0x02, 0x04, + 0x02, 0x12, 0x04, 0x3c, 0x00, 0x3f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, + 0x3c, 0x08, 0x27, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x3e, 0x02, 0x22, + 0x1a, 0x29, 0x20, 0x54, 0x68, 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, 0x6f, + 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x3e, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, + 0x00, 0x01, 0x12, 0x03, 0x3e, 0x19, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, + 0x12, 0x03, 0x3e, 0x20, 0x21, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x41, 0x00, 0x44, + 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x41, 0x08, 0x28, 0x0a, 0x3b, 0x0a, + 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x43, 0x02, 0x2a, 0x1a, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4a, 0x53, 0x4f, + 0x4e, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x00, 0x04, 0x12, 0x03, 0x43, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, + 0x06, 0x12, 0x03, 0x43, 0x0b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, + 0x03, 0x43, 0x1d, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x43, + 0x28, 0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x46, 0x00, 0x4a, 0x01, 0x0a, 0x0a, + 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x46, 0x08, 0x27, 0x0a, 0x5f, 0x0a, 0x04, 0x04, 0x04, + 0x02, 0x00, 0x12, 0x03, 0x49, 0x02, 0x28, 0x1a, 0x52, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, + 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x2e, 0x0a, 0x20, 0x4d, 0x65, 0x72, + 0x67, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x4d, 0x61, 0x70, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x04, 0x02, 0x00, 0x06, 0x12, 0x03, 0x49, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x00, 0x01, 0x12, 0x03, 0x49, 0x1a, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, + 0x12, 0x03, 0x49, 0x26, 0x27, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x4c, 0x00, 0x4f, + 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x4c, 0x08, 0x28, 0x0a, 0x2a, 0x0a, + 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, 0x4e, 0x02, 0x22, 0x1a, 0x1d, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x00, 0x06, 0x12, 0x03, 0x4e, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, + 0x12, 0x03, 0x4e, 0x19, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, + 0x4e, 0x20, 0x21, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x04, 0x51, 0x00, 0x56, 0x01, 0x0a, + 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x03, 0x51, 0x08, 0x23, 0x0a, 0x54, 0x0a, 0x04, 0x04, + 0x06, 0x02, 0x00, 0x12, 0x03, 0x53, 0x02, 0x2b, 0x1a, 0x47, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, + 0x79, 0x70, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, + 0x28, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x29, 0x20, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x03, 0x53, 0x02, 0x1c, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x03, 0x53, 0x1d, 0x26, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x03, 0x53, 0x29, 0x2a, 0x0a, 0x3a, 0x0a, 0x04, 0x04, + 0x06, 0x02, 0x01, 0x12, 0x03, 0x55, 0x02, 0x24, 0x1a, 0x2d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, + 0x61, 0x77, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x69, 0x74, + 0x65, 0x72, 0x61, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x06, + 0x12, 0x03, 0x55, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x03, + 0x55, 0x19, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x03, 0x55, 0x22, + 0x23, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x04, 0x58, 0x00, 0x5b, 0x01, 0x0a, 0x0a, 0x0a, + 0x03, 0x04, 0x07, 0x01, 0x12, 0x03, 0x58, 0x08, 0x24, 0x0a, 0x56, 0x0a, 0x04, 0x04, 0x07, 0x02, + 0x00, 0x12, 0x03, 0x5a, 0x02, 0x2a, 0x1a, 0x49, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x74, + 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, + 0x79, 0x70, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x04, 0x12, 0x03, 0x5a, 0x02, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, 0x12, 0x03, 0x5a, 0x0b, 0x1c, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x03, 0x5a, 0x1d, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x07, 0x02, 0x00, 0x03, 0x12, 0x03, 0x5a, 0x28, 0x29, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, ]; include!("flyteidl2.workflow.tonic.rs"); // @@protoc_insertion_point(module) \ No newline at end of file diff --git a/gen/rust/src/flyteidl2.workflow.tonic.rs b/gen/rust/src/flyteidl2.workflow.tonic.rs index 89c63da6b47..5c6d89700d6 100644 --- a/gen/rust/src/flyteidl2.workflow.tonic.rs +++ b/gen/rust/src/flyteidl2.workflow.tonic.rs @@ -3438,6 +3438,33 @@ pub mod local_run_service_client { ); self.inner.server_streaming(req, path, codec).await } + pub async fn abort_run( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/flyteidl2.workflow.LocalRunService/AbortRun", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("flyteidl2.workflow.LocalRunService", "AbortRun"), + ); + self.inner.unary(req, path, codec).await + } } } /// Generated server implementations. @@ -3541,6 +3568,13 @@ pub mod local_run_service_server { tonic::Response, tonic::Status, >; + async fn abort_run( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; } #[derive(Debug)] pub struct LocalRunServiceServer { @@ -4082,6 +4116,51 @@ pub mod local_run_service_server { }; Box::pin(fut) } + "/flyteidl2.workflow.LocalRunService/AbortRun" => { + #[allow(non_camel_case_types)] + struct AbortRunSvc(pub Arc); + impl< + T: LocalRunService, + > tonic::server::UnaryService + for AbortRunSvc { + type Response = super::AbortRunResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::abort_run(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = AbortRunSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } _ => { Box::pin(async move { Ok( diff --git a/gen/ts/flyteidl2/workflow/local_run_service_pb.ts b/gen/ts/flyteidl2/workflow/local_run_service_pb.ts index 74727fc312e..4ca2c6580d5 100644 --- a/gen/ts/flyteidl2/workflow/local_run_service_pb.ts +++ b/gen/ts/flyteidl2/workflow/local_run_service_pb.ts @@ -16,7 +16,7 @@ import type { TaskIdentifier, TaskSpec } from "../task/task_definition_pb.ts"; import { file_flyteidl2_task_task_definition } from "../task/task_definition_pb.ts"; import type { ActionEvent, ActionStatus, TaskAction, TraceAction } from "./run_definition_pb.ts"; import { file_flyteidl2_workflow_run_definition } from "./run_definition_pb.ts"; -import type { CreateRunResponseSchema, GetActionDetailsRequestSchema, GetActionDetailsResponseSchema, GetRunDetailsRequestSchema, GetRunDetailsResponseSchema, ListActionsRequestSchema, ListActionsResponseSchema, ListRunsRequestSchema, ListRunsResponseSchema, WatchActionDetailsRequestSchema, WatchActionDetailsResponseSchema, WatchActionsRequestSchema, WatchActionsResponseSchema, WatchRunDetailsRequestSchema, WatchRunDetailsResponseSchema, WatchRunsRequestSchema, WatchRunsResponseSchema } from "./run_service_pb.ts"; +import type { AbortRunRequestSchema, AbortRunResponseSchema, CreateRunResponseSchema, GetActionDetailsRequestSchema, GetActionDetailsResponseSchema, GetRunDetailsRequestSchema, GetRunDetailsResponseSchema, ListActionsRequestSchema, ListActionsResponseSchema, ListRunsRequestSchema, ListRunsResponseSchema, WatchActionDetailsRequestSchema, WatchActionDetailsResponseSchema, WatchActionsRequestSchema, WatchActionsResponseSchema, WatchRunDetailsRequestSchema, WatchRunDetailsResponseSchema, WatchRunsRequestSchema, WatchRunsResponseSchema } from "./run_service_pb.ts"; import { file_flyteidl2_workflow_run_service } from "./run_service_pb.ts"; import type { Timestamp } from "@bufbuild/protobuf/wkt"; import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; @@ -28,7 +28,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file flyteidl2/workflow/local_run_service.proto. */ export const file_flyteidl2_workflow_local_run_service: GenFile = /*@__PURE__*/ - fileDesc("CipmbHl0ZWlkbDIvd29ya2Zsb3cvbG9jYWxfcnVuX3NlcnZpY2UucHJvdG8SEmZseXRlaWRsMi53b3JrZmxvdyK6BAoVQ3JlYXRlTG9jYWxSdW5SZXF1ZXN0EjEKBnJ1bl9pZBgBIAEoCzIfLmZseXRlaWRsMi5jb21tb24uUnVuSWRlbnRpZmllckgAEjkKCnByb2plY3RfaWQYAiABKAsyIy5mbHl0ZWlkbDIuY29tbW9uLlByb2plY3RJZGVudGlmaWVySAASMQoHdGFza19pZBgDIAEoCzIeLmZseXRlaWRsMi50YXNrLlRhc2tJZGVudGlmaWVySAESLQoJdGFza19zcGVjGAQgASgLMhguZmx5dGVpZGwyLnRhc2suVGFza1NwZWNIARJHChRvZmZsb2FkZWRfaW5wdXRfZGF0YRgFIAEoCzIkLmZseXRlaWRsMi5jb21tb24uT2ZmbG9hZGVkSW5wdXREYXRhSAKIAQESKQoIcnVuX3NwZWMYBiABKAsyFy5mbHl0ZWlkbDIudGFzay5SdW5TcGVjEkUKBmxhYmVscxgHIAMoCzI1LmZseXRlaWRsMi53b3JrZmxvdy5DcmVhdGVMb2NhbFJ1blJlcXVlc3QuTGFiZWxzRW50cnkSMgoOcnVuX3N0YXJ0X3RpbWUYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCwoCaWQSBbpIAggBQg0KBHRhc2sSBbpIAggBQhcKFV9vZmZsb2FkZWRfaW5wdXRfZGF0YSKLAgoRTG9jYWxBY3Rpb25VcGRhdGUSNgoFZXZlbnQYASABKAsyHy5mbHl0ZWlkbDIud29ya2Zsb3cuQWN0aW9uRXZlbnRCBrpIA8gBARITCgtwYXJlbnRfbmFtZRgCIAEoCRINCgVncm91cBgDIAEoCRIuCgR0YXNrGAQgASgLMh4uZmx5dGVpZGwyLndvcmtmbG93LlRhc2tBY3Rpb25IABIwCgV0cmFjZRgFIAEoCzIfLmZseXRlaWRsMi53b3JrZmxvdy5UcmFjZUFjdGlvbkgAEjAKBnN0YXR1cxgGIAEoCzIgLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb25TdGF0dXNCBgoEc3BlYyKWAQoZUmVwb3J0TG9jYWxBY3Rpb25zUmVxdWVzdBI3CgZydW5faWQYASABKAsyHy5mbHl0ZWlkbDIuY29tbW9uLlJ1bklkZW50aWZpZXJCBrpIA8gBARJACgd1cGRhdGVzGAIgAygLMiUuZmx5dGVpZGwyLndvcmtmbG93LkxvY2FsQWN0aW9uVXBkYXRlQgi6SAWSAQIIASJCChpSZXBvcnRMb2NhbEFjdGlvbnNSZXNwb25zZRIkCghzdGF0dXNlcxgBIAMoCzISLmdvb2dsZS5ycGMuU3RhdHVzMrIICg9Mb2NhbFJ1blNlcnZpY2USXwoJQ3JlYXRlUnVuEikuZmx5dGVpZGwyLndvcmtmbG93LkNyZWF0ZUxvY2FsUnVuUmVxdWVzdBolLmZseXRlaWRsMi53b3JrZmxvdy5DcmVhdGVSdW5SZXNwb25zZSIAEnAKDVJlcG9ydEFjdGlvbnMSLS5mbHl0ZWlkbDIud29ya2Zsb3cuUmVwb3J0TG9jYWxBY3Rpb25zUmVxdWVzdBouLmZseXRlaWRsMi53b3JrZmxvdy5SZXBvcnRMb2NhbEFjdGlvbnNSZXNwb25zZSIAEmkKDUdldFJ1bkRldGFpbHMSKC5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0UnVuRGV0YWlsc1JlcXVlc3QaKS5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0UnVuRGV0YWlsc1Jlc3BvbnNlIgOQAgESbgoPV2F0Y2hSdW5EZXRhaWxzEiouZmx5dGVpZGwyLndvcmtmbG93LldhdGNoUnVuRGV0YWlsc1JlcXVlc3QaKy5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hSdW5EZXRhaWxzUmVzcG9uc2UiADABEnIKEEdldEFjdGlvbkRldGFpbHMSKy5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0QWN0aW9uRGV0YWlsc1JlcXVlc3QaLC5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0QWN0aW9uRGV0YWlsc1Jlc3BvbnNlIgOQAgESdwoSV2F0Y2hBY3Rpb25EZXRhaWxzEi0uZmx5dGVpZGwyLndvcmtmbG93LldhdGNoQWN0aW9uRGV0YWlsc1JlcXVlc3QaLi5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hBY3Rpb25EZXRhaWxzUmVzcG9uc2UiADABEloKCExpc3RSdW5zEiMuZmx5dGVpZGwyLndvcmtmbG93Lkxpc3RSdW5zUmVxdWVzdBokLmZseXRlaWRsMi53b3JrZmxvdy5MaXN0UnVuc1Jlc3BvbnNlIgOQAgESXAoJV2F0Y2hSdW5zEiQuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoUnVuc1JlcXVlc3QaJS5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hSdW5zUmVzcG9uc2UiADABEmMKC0xpc3RBY3Rpb25zEiYuZmx5dGVpZGwyLndvcmtmbG93Lkxpc3RBY3Rpb25zUmVxdWVzdBonLmZseXRlaWRsMi53b3JrZmxvdy5MaXN0QWN0aW9uc1Jlc3BvbnNlIgOQAgESZQoMV2F0Y2hBY3Rpb25zEicuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoQWN0aW9uc1JlcXVlc3QaKC5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hBY3Rpb25zUmVzcG9uc2UiADABQtEBChZjb20uZmx5dGVpZGwyLndvcmtmbG93QhRMb2NhbFJ1blNlcnZpY2VQcm90b0gCUAFaNmdpdGh1Yi5jb20vZmx5dGVvcmcvZmx5dGUvdjIvZ2VuL2dvL2ZseXRlaWRsMi93b3JrZmxvd6ICA0ZXWKoCEkZseXRlaWRsMi5Xb3JrZmxvd8oCEkZseXRlaWRsMlxXb3JrZmxvd+ICHkZseXRlaWRsMlxXb3JrZmxvd1xHUEJNZXRhZGF0YeoCE0ZseXRlaWRsMjo6V29ya2Zsb3diBnByb3RvMw", [file_buf_validate_validate, file_flyteidl2_common_identifier, file_flyteidl2_common_run, file_flyteidl2_task_common, file_flyteidl2_task_run, file_flyteidl2_task_task_definition, file_flyteidl2_workflow_run_definition, file_flyteidl2_workflow_run_service, file_google_protobuf_timestamp, file_google_rpc_status]); + fileDesc("CipmbHl0ZWlkbDIvd29ya2Zsb3cvbG9jYWxfcnVuX3NlcnZpY2UucHJvdG8SEmZseXRlaWRsMi53b3JrZmxvdyK6BAoVQ3JlYXRlTG9jYWxSdW5SZXF1ZXN0EjEKBnJ1bl9pZBgBIAEoCzIfLmZseXRlaWRsMi5jb21tb24uUnVuSWRlbnRpZmllckgAEjkKCnByb2plY3RfaWQYAiABKAsyIy5mbHl0ZWlkbDIuY29tbW9uLlByb2plY3RJZGVudGlmaWVySAASMQoHdGFza19pZBgDIAEoCzIeLmZseXRlaWRsMi50YXNrLlRhc2tJZGVudGlmaWVySAESLQoJdGFza19zcGVjGAQgASgLMhguZmx5dGVpZGwyLnRhc2suVGFza1NwZWNIARJHChRvZmZsb2FkZWRfaW5wdXRfZGF0YRgFIAEoCzIkLmZseXRlaWRsMi5jb21tb24uT2ZmbG9hZGVkSW5wdXREYXRhSAKIAQESKQoIcnVuX3NwZWMYBiABKAsyFy5mbHl0ZWlkbDIudGFzay5SdW5TcGVjEkUKBmxhYmVscxgHIAMoCzI1LmZseXRlaWRsMi53b3JrZmxvdy5DcmVhdGVMb2NhbFJ1blJlcXVlc3QuTGFiZWxzRW50cnkSMgoOcnVuX3N0YXJ0X3RpbWUYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCwoCaWQSBbpIAggBQg0KBHRhc2sSBbpIAggBQhcKFV9vZmZsb2FkZWRfaW5wdXRfZGF0YSKLAgoRTG9jYWxBY3Rpb25VcGRhdGUSNgoFZXZlbnQYASABKAsyHy5mbHl0ZWlkbDIud29ya2Zsb3cuQWN0aW9uRXZlbnRCBrpIA8gBARITCgtwYXJlbnRfbmFtZRgCIAEoCRINCgVncm91cBgDIAEoCRIuCgR0YXNrGAQgASgLMh4uZmx5dGVpZGwyLndvcmtmbG93LlRhc2tBY3Rpb25IABIwCgV0cmFjZRgFIAEoCzIfLmZseXRlaWRsMi53b3JrZmxvdy5UcmFjZUFjdGlvbkgAEjAKBnN0YXR1cxgGIAEoCzIgLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb25TdGF0dXNCBgoEc3BlYyKWAQoZUmVwb3J0TG9jYWxBY3Rpb25zUmVxdWVzdBI3CgZydW5faWQYASABKAsyHy5mbHl0ZWlkbDIuY29tbW9uLlJ1bklkZW50aWZpZXJCBrpIA8gBARJACgd1cGRhdGVzGAIgAygLMiUuZmx5dGVpZGwyLndvcmtmbG93LkxvY2FsQWN0aW9uVXBkYXRlQgi6SAWSAQIIASJCChpSZXBvcnRMb2NhbEFjdGlvbnNSZXNwb25zZRIkCghzdGF0dXNlcxgBIAMoCzISLmdvb2dsZS5ycGMuU3RhdHVzMosJCg9Mb2NhbFJ1blNlcnZpY2USXwoJQ3JlYXRlUnVuEikuZmx5dGVpZGwyLndvcmtmbG93LkNyZWF0ZUxvY2FsUnVuUmVxdWVzdBolLmZseXRlaWRsMi53b3JrZmxvdy5DcmVhdGVSdW5SZXNwb25zZSIAEnAKDVJlcG9ydEFjdGlvbnMSLS5mbHl0ZWlkbDIud29ya2Zsb3cuUmVwb3J0TG9jYWxBY3Rpb25zUmVxdWVzdBouLmZseXRlaWRsMi53b3JrZmxvdy5SZXBvcnRMb2NhbEFjdGlvbnNSZXNwb25zZSIAEmkKDUdldFJ1bkRldGFpbHMSKC5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0UnVuRGV0YWlsc1JlcXVlc3QaKS5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0UnVuRGV0YWlsc1Jlc3BvbnNlIgOQAgESbgoPV2F0Y2hSdW5EZXRhaWxzEiouZmx5dGVpZGwyLndvcmtmbG93LldhdGNoUnVuRGV0YWlsc1JlcXVlc3QaKy5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hSdW5EZXRhaWxzUmVzcG9uc2UiADABEnIKEEdldEFjdGlvbkRldGFpbHMSKy5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0QWN0aW9uRGV0YWlsc1JlcXVlc3QaLC5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0QWN0aW9uRGV0YWlsc1Jlc3BvbnNlIgOQAgESdwoSV2F0Y2hBY3Rpb25EZXRhaWxzEi0uZmx5dGVpZGwyLndvcmtmbG93LldhdGNoQWN0aW9uRGV0YWlsc1JlcXVlc3QaLi5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hBY3Rpb25EZXRhaWxzUmVzcG9uc2UiADABEloKCExpc3RSdW5zEiMuZmx5dGVpZGwyLndvcmtmbG93Lkxpc3RSdW5zUmVxdWVzdBokLmZseXRlaWRsMi53b3JrZmxvdy5MaXN0UnVuc1Jlc3BvbnNlIgOQAgESXAoJV2F0Y2hSdW5zEiQuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoUnVuc1JlcXVlc3QaJS5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hSdW5zUmVzcG9uc2UiADABEmMKC0xpc3RBY3Rpb25zEiYuZmx5dGVpZGwyLndvcmtmbG93Lkxpc3RBY3Rpb25zUmVxdWVzdBonLmZseXRlaWRsMi53b3JrZmxvdy5MaXN0QWN0aW9uc1Jlc3BvbnNlIgOQAgESZQoMV2F0Y2hBY3Rpb25zEicuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoQWN0aW9uc1JlcXVlc3QaKC5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hBY3Rpb25zUmVzcG9uc2UiADABElcKCEFib3J0UnVuEiMuZmx5dGVpZGwyLndvcmtmbG93LkFib3J0UnVuUmVxdWVzdBokLmZseXRlaWRsMi53b3JrZmxvdy5BYm9ydFJ1blJlc3BvbnNlIgBC0QEKFmNvbS5mbHl0ZWlkbDIud29ya2Zsb3dCFExvY2FsUnVuU2VydmljZVByb3RvSAJQAVo2Z2l0aHViLmNvbS9mbHl0ZW9yZy9mbHl0ZS92Mi9nZW4vZ28vZmx5dGVpZGwyL3dvcmtmbG93ogIDRldYqgISRmx5dGVpZGwyLldvcmtmbG93ygISRmx5dGVpZGwyXFdvcmtmbG934gIeRmx5dGVpZGwyXFdvcmtmbG93XEdQQk1ldGFkYXRh6gITRmx5dGVpZGwyOjpXb3JrZmxvd2IGcHJvdG8z", [file_buf_validate_validate, file_flyteidl2_common_identifier, file_flyteidl2_common_run, file_flyteidl2_task_common, file_flyteidl2_task_run, file_flyteidl2_task_task_definition, file_flyteidl2_workflow_run_definition, file_flyteidl2_workflow_run_service, file_google_protobuf_timestamp, file_google_rpc_status]); /** * Request message for creating a local run. @@ -347,6 +347,18 @@ export const LocalRunService: GenService<{ input: typeof WatchActionsRequestSchema; output: typeof WatchActionsResponseSchema; }, + /** + * Abort a local run: mark the run and all of its non-terminal actions ABORTED on the server. + * The platform cannot stop the local orchestrator; subsequent reports against aborted actions + * are rejected. Aborting an already-terminal run is a no-op acknowledged as success. + * + * @generated from rpc flyteidl2.workflow.LocalRunService.AbortRun + */ + abortRun: { + methodKind: "unary"; + input: typeof AbortRunRequestSchema; + output: typeof AbortRunResponseSchema; + }, }> = /*@__PURE__*/ serviceDesc(file_flyteidl2_workflow_local_run_service, 0); From 3a79f56b02754b9ee4fd10eaf6a1be44cfb25fb5 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Sun, 2 Aug 2026 13:45:00 -0700 Subject: [PATCH 3/3] Rework local-run data path onto existing dataproxy APIs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Local runs no longer get dedicated dataproxy RPCs. Uploads use CreateUploadLocation and reads use GetActionData/CreateDownloadLink, routed like every other data operation: the client asks ClusterService.SelectCluster (new OPERATION_LOCAL_RUN_DATA) and the server answers with a dataplane endpoint when the org's clusters are directly reachable, or its own endpoint otherwise — in which case the control plane serves the artifacts from its own storage. Two small extensions to existing messages make this routable: - SelectClusterResponse.cluster names the selected cluster so reporters can stamp it on the action attempt; reads later route by the recorded attempt cluster (empty = control-plane storage). - GetActionDataRequest.run_source disambiguates resolution: run names are not unique across platform and local runs, so RUN_SOURCE_LOCAL resolves the action via LocalRunService. Removes UploadMetadata, GetLocalActionData, CreateLocalDownloadLink and their request messages, and the INPUTS/OUTPUTS artifact types that only they used. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01VJa4n1pjJUBVQbjeWCZJyQ Signed-off-by: Haytham Abuelfutuh --- buf.yaml | 6 +- flyteidl2/cluster/payload.proto | 9 + flyteidl2/dataproxy/dataproxy_service.proto | 89 +- gen/go/flyteidl2/cluster/payload.pb.go | 63 +- .../flyteidl2/cluster/payload.pb.validate.go | 2 + .../dataproxy/dataproxy_service.pb.go | 919 +++----- .../dataproxy_service.pb.validate.go | 395 +--- .../dataproxy/dataproxy_service_grpc.pb.go | 137 +- .../dataproxy_service.connect.go | 130 +- gen/python/flyteidl2/cluster/payload_pb2.py | 10 +- gen/python/flyteidl2/cluster/payload_pb2.pyi | 8 +- .../dataproxy/dataproxy_service_connect.py | 199 -- .../dataproxy/dataproxy_service_pb2.py | 79 +- .../dataproxy/dataproxy_service_pb2.pyi | 39 +- .../dataproxy/dataproxy_service_pb2_grpc.py | 107 - gen/rust/src/flyteidl2.cluster.rs | 338 +-- gen/rust/src/flyteidl2.dataproxy.rs | 2080 +++++++---------- gen/rust/src/flyteidl2.dataproxy.tonic.rs | 257 -- gen/ts/flyteidl2/cluster/payload_pb.ts | 20 +- .../dataproxy/dataproxy_service_pb.ts | 185 +- 20 files changed, 1535 insertions(+), 3537 deletions(-) diff --git a/buf.yaml b/buf.yaml index 3bae457b1b9..b4629ab065a 100755 --- a/buf.yaml +++ b/buf.yaml @@ -20,20 +20,16 @@ lint: - flyteidl2/cacheservice/v2/cacheservice.proto - flyteidl2/project/project_service.proto # LocalRunService deliberately reuses RunService request/response messages so clients and - # UIs work against local runs with only a service swap. The local-run dataproxy RPCs reuse - # the corresponding dataplane RPCs' messages for the same reason. - - flyteidl2/dataproxy/dataproxy_service.proto + # UIs work against local runs with only a service swap. - flyteidl2/workflow/local_run_service.proto - flyteidl2/workflow/run_service.proto RPC_REQUEST_STANDARD_NAME: - flyteidl2/cacheservice/cacheservice.proto - flyteidl2/cacheservice/v2/cacheservice.proto - - flyteidl2/dataproxy/dataproxy_service.proto - flyteidl2/workflow/local_run_service.proto RPC_RESPONSE_STANDARD_NAME: - flyteidl2/cacheservice/cacheservice.proto - flyteidl2/cacheservice/v2/cacheservice.proto - - flyteidl2/dataproxy/dataproxy_service.proto - flyteidl2/workflow/local_run_service.proto SERVICE_SUFFIX: - flyteidl2/datacatalog/datacatalog.proto diff --git a/flyteidl2/cluster/payload.proto b/flyteidl2/cluster/payload.proto index e95ae8c96e9..2b344276faf 100644 --- a/flyteidl2/cluster/payload.proto +++ b/flyteidl2/cluster/payload.proto @@ -34,6 +34,10 @@ message SelectClusterRequest { OPERATION_USE_SECRETS = 8; OPERATION_UPLOAD_TRIGGER = 9; OPERATION_GET_IMAGE = 10; + // Data operations (uploads/reads/download links) for locally-orchestrated runs. Routes to a + // dataplane only when the org's clusters are all directly reachable (zero trust); otherwise + // the server answers with its own endpoint and serves these from control-plane storage. + OPERATION_LOCAL_RUN_DATA = 11; } Operation operation = 8 [(buf.validate.field).enum = { @@ -43,4 +47,9 @@ message SelectClusterRequest { message SelectClusterResponse { string cluster_endpoint = 1; + + // Name of the cluster the endpoint belongs to. Empty when the request was routed to the + // control plane's own endpoint. Clients that persist where an artifact was written (e.g. + // local-run reporters stamping the attempt's cluster) use this to make reads routable later. + string cluster = 2; } diff --git a/flyteidl2/dataproxy/dataproxy_service.proto b/flyteidl2/dataproxy/dataproxy_service.proto index 23c3fc8c7b5..bb29ff47701 100644 --- a/flyteidl2/dataproxy/dataproxy_service.proto +++ b/flyteidl2/dataproxy/dataproxy_service.proto @@ -9,6 +9,7 @@ import "flyteidl2/common/run.proto"; import "flyteidl2/logs/dataplane/payload.proto"; import "flyteidl2/task/common.proto"; import "flyteidl2/task/task_definition.proto"; +import "flyteidl2/workflow/run_definition.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; @@ -21,10 +22,6 @@ enum ArtifactType { ARTIFACT_TYPE_REPORT = 1; // ARTIFACT_TYPE_CODE_BUNDLE refers to the code bundle (tarball) generated for an action. ARTIFACT_TYPE_CODE_BUNDLE = 2; - // ARTIFACT_TYPE_INPUTS refers to an action's serialized inputs (inputs.pb). - ARTIFACT_TYPE_INPUTS = 3; - // ARTIFACT_TYPE_OUTPUTS refers to an action's serialized outputs (outputs.pb). - ARTIFACT_TYPE_OUTPUTS = 4; } // DataProxyService provides an interface for managing data uploads and downloads. @@ -44,22 +41,6 @@ service DataProxyService { // Stream logs for an action attempt. rpc TailLogs(TailLogsRequest) returns (stream TailLogsResponse) {} - - // UploadMetadata generates a signed URL for uploading a local run's metadata artifact - // (inputs.pb / outputs.pb / report.html) directly to the control plane's storage backend. - // Local runs only; never routes to a dataplane. - rpc UploadMetadata(UploadMetadataRequest) returns (CreateUploadLocationResponse) {} - - // Get input and output data for an action of a local run, served directly from the control - // plane's storage backend. Local runs only; never routes to a dataplane. - rpc GetLocalActionData(GetActionDataRequest) returns (GetActionDataResponse) { - option idempotency_level = NO_SIDE_EFFECTS; - } - - // CreateLocalDownloadLink generates signed URL(s) for downloading an artifact of a local run - // action attempt directly from the control plane's storage backend. Local runs only; never - // routes to a dataplane. - rpc CreateLocalDownloadLink(CreateLocalDownloadLinkRequest) returns (CreateDownloadLinkResponse) {} } // CreateUploadLocationRequest specifies the request for the CreateUploadLocation API. @@ -211,6 +192,13 @@ message CreateDownloadLinkResponse { message GetActionDataRequest { // Action to query. common.ActionIdentifier action_id = 1 [(buf.validate.field).required = true]; + + // Source of the run the action belongs to. Run names are not unique across platform and + // local runs, so the server uses this to resolve the action against the matching service + // (RUN_SOURCE_LOCAL resolves via LocalRunService; anything else keeps the platform + // behavior). + // +optional + workflow.RunSource run_source = 2; } // Response message for querying action data. @@ -253,67 +241,6 @@ message TailLogsRequest { optional string connector_endpoint = 4; } -// UploadMetadataRequest specifies the request for the UploadMetadata API. The data proxy service -// derives the storage path from the authenticated org and the target action, following the local -// run metadata layout: //////inputs.pb for inputs and -// ///////{outputs.pb,report.html} otherwise. -message UploadMetadataRequest { - // ArtifactType is the type of artifact to upload. INPUTS targets an action; OUTPUTS and REPORT - // target an action attempt. - ArtifactType artifact_type = 1 [(buf.validate.field).enum = { - in: [ - 1, - 3, - 4 - ] - }]; - - // Target identifies the action (INPUTS) or action attempt (OUTPUTS / REPORT) the artifact - // belongs to. - oneof target { - option (buf.validate.oneof).required = true; - - common.ActionIdentifier action_id = 2; - - common.ActionAttemptIdentifier action_attempt_id = 3; - } - - // ContentMD5 restricts the upload location to the specific MD5 provided. - // +required - bytes content_md5 = 4 [(buf.validate.field).bytes.len = 16]; - - // ContentLength specifies the size of the content to be uploaded in bytes. Validated against - // the platform's maximum upload size. - // +optional - int64 content_length = 5; - - // ExpiresIn defines the requested expiration duration for the generated URL. The request will - // be rejected if this exceeds the platform's configured maximum. - // +optional. The default value comes from the global config. - google.protobuf.Duration expires_in = 6; - - // If true, the data proxy will add content_md5 to the Signed URL requirements, forcing clients - // to send this checksum with the object. Required for data integrity on backends like GCP. - bool add_content_md5_metadata = 7; -} - -// CreateLocalDownloadLinkRequest specifies the request for the CreateLocalDownloadLink API. -message CreateLocalDownloadLinkRequest { - // ArtifactType is the type of artifact to download. - // +required - ArtifactType artifact_type = 1 [(buf.validate.field).enum = { - not_in: [0] - }]; - - // ActionAttemptId identifies the local run action attempt whose artifact is to be downloaded. - common.ActionAttemptIdentifier action_attempt_id = 2 [(buf.validate.field).required = true]; - - // ExpiresIn defines the requested expiration duration for the generated URLs. The request will - // be rejected if this exceeds the platform's configured maximum. - // +optional. The default value comes from the global config. - google.protobuf.Duration expires_in = 3; -} - // Reponse message for tailing logs. message TailLogsResponse { // A batch of logs. diff --git a/gen/go/flyteidl2/cluster/payload.pb.go b/gen/go/flyteidl2/cluster/payload.pb.go index c9a9fd442f1..535d7d677a0 100644 --- a/gen/go/flyteidl2/cluster/payload.pb.go +++ b/gen/go/flyteidl2/cluster/payload.pb.go @@ -38,6 +38,10 @@ const ( SelectClusterRequest_OPERATION_USE_SECRETS SelectClusterRequest_Operation = 8 SelectClusterRequest_OPERATION_UPLOAD_TRIGGER SelectClusterRequest_Operation = 9 SelectClusterRequest_OPERATION_GET_IMAGE SelectClusterRequest_Operation = 10 + // Data operations (uploads/reads/download links) for locally-orchestrated runs. Routes to a + // dataplane only when the org's clusters are all directly reachable (zero trust); otherwise + // the server answers with its own endpoint and serves these from control-plane storage. + SelectClusterRequest_OPERATION_LOCAL_RUN_DATA SelectClusterRequest_Operation = 11 ) // Enum value maps for SelectClusterRequest_Operation. @@ -54,6 +58,7 @@ var ( 8: "OPERATION_USE_SECRETS", 9: "OPERATION_UPLOAD_TRIGGER", 10: "OPERATION_GET_IMAGE", + 11: "OPERATION_LOCAL_RUN_DATA", } SelectClusterRequest_Operation_value = map[string]int32{ "OPERATION_UNSPECIFIED": 0, @@ -67,6 +72,7 @@ var ( "OPERATION_USE_SECRETS": 8, "OPERATION_UPLOAD_TRIGGER": 9, "OPERATION_GET_IMAGE": 10, + "OPERATION_LOCAL_RUN_DATA": 11, } ) @@ -276,6 +282,10 @@ type SelectClusterResponse struct { unknownFields protoimpl.UnknownFields ClusterEndpoint string `protobuf:"bytes,1,opt,name=cluster_endpoint,json=clusterEndpoint,proto3" json:"cluster_endpoint,omitempty"` + // Name of the cluster the endpoint belongs to. Empty when the request was routed to the + // control plane's own endpoint. Clients that persist where an artifact was written (e.g. + // local-run reporters stamping the attempt's cluster) use this to make reads routable later. + Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"` } func (x *SelectClusterResponse) Reset() { @@ -317,6 +327,13 @@ func (x *SelectClusterResponse) GetClusterEndpoint() string { return "" } +func (x *SelectClusterResponse) GetCluster() string { + if x != nil { + return x.Cluster + } + return "" +} + var File_flyteidl2_cluster_payload_proto protoreflect.FileDescriptor var file_flyteidl2_cluster_payload_proto_rawDesc = []byte{ @@ -331,7 +348,7 @@ var file_flyteidl2_cluster_payload_proto_rawDesc = []byte{ 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x08, 0x0a, 0x14, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, @@ -373,7 +390,7 @@ var file_flyteidl2_cluster_payload_proto_rawDesc = []byte{ 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xba, 0x48, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xe4, 0x02, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x03, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, @@ -395,25 +412,29 @@ var file_flyteidl2_cluster_payload_proto_rawDesc = []byte{ 0x53, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, - 0x45, 0x54, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x0a, 0x42, 0x11, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0x42, 0x0a, - 0x15, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x42, 0xc3, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x0c, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x02, 0x50, 0x01, 0x5a, 0x35, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, - 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0xa2, 0x02, 0x03, 0x46, 0x43, 0x58, 0xaa, 0x02, 0x11, 0x46, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xca, 0x02, - 0x11, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0xe2, 0x02, 0x1d, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x45, 0x54, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x50, + 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x52, 0x55, + 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x0b, 0x42, 0x11, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0x5c, 0x0a, 0x15, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0xc3, 0x01, 0x0a, 0x15, 0x63, 0x6f, + 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x42, 0x0c, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x48, 0x02, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xa2, 0x02, 0x03, 0x46, + 0x43, 0x58, 0xaa, 0x02, 0x11, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xca, 0x02, 0x11, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x5c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xe2, 0x02, 0x1d, 0x46, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x12, 0x46, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/gen/go/flyteidl2/cluster/payload.pb.validate.go b/gen/go/flyteidl2/cluster/payload.pb.validate.go index aeac98cc560..06664aff4ae 100644 --- a/gen/go/flyteidl2/cluster/payload.pb.validate.go +++ b/gen/go/flyteidl2/cluster/payload.pb.validate.go @@ -496,6 +496,8 @@ func (m *SelectClusterResponse) validate(all bool) error { // no validation rules for ClusterEndpoint + // no validation rules for Cluster + if len(errors) > 0 { return SelectClusterResponseMultiError(errors) } diff --git a/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.go b/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.go index 5eb506ddfb3..522d7569b96 100644 --- a/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.go +++ b/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.go @@ -12,6 +12,7 @@ import ( common "github.com/flyteorg/flyte/v2/gen/go/flyteidl2/common" dataplane "github.com/flyteorg/flyte/v2/gen/go/flyteidl2/logs/dataplane" task "github.com/flyteorg/flyte/v2/gen/go/flyteidl2/task" + workflow "github.com/flyteorg/flyte/v2/gen/go/flyteidl2/workflow" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" durationpb "google.golang.org/protobuf/types/known/durationpb" @@ -36,10 +37,6 @@ const ( ArtifactType_ARTIFACT_TYPE_REPORT ArtifactType = 1 // ARTIFACT_TYPE_CODE_BUNDLE refers to the code bundle (tarball) generated for an action. ArtifactType_ARTIFACT_TYPE_CODE_BUNDLE ArtifactType = 2 - // ARTIFACT_TYPE_INPUTS refers to an action's serialized inputs (inputs.pb). - ArtifactType_ARTIFACT_TYPE_INPUTS ArtifactType = 3 - // ARTIFACT_TYPE_OUTPUTS refers to an action's serialized outputs (outputs.pb). - ArtifactType_ARTIFACT_TYPE_OUTPUTS ArtifactType = 4 ) // Enum value maps for ArtifactType. @@ -48,15 +45,11 @@ var ( 0: "ARTIFACT_TYPE_UNSPECIFIED", 1: "ARTIFACT_TYPE_REPORT", 2: "ARTIFACT_TYPE_CODE_BUNDLE", - 3: "ARTIFACT_TYPE_INPUTS", - 4: "ARTIFACT_TYPE_OUTPUTS", } ArtifactType_value = map[string]int32{ "ARTIFACT_TYPE_UNSPECIFIED": 0, "ARTIFACT_TYPE_REPORT": 1, "ARTIFACT_TYPE_CODE_BUNDLE": 2, - "ARTIFACT_TYPE_INPUTS": 3, - "ARTIFACT_TYPE_OUTPUTS": 4, } ) @@ -753,6 +746,12 @@ type GetActionDataRequest struct { // Action to query. ActionId *common.ActionIdentifier `protobuf:"bytes,1,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"` + // Source of the run the action belongs to. Run names are not unique across platform and + // local runs, so the server uses this to resolve the action against the matching service + // (RUN_SOURCE_LOCAL resolves via LocalRunService; anything else keeps the platform + // behavior). + // +optional + RunSource workflow.RunSource `protobuf:"varint,2,opt,name=run_source,json=runSource,proto3,enum=flyteidl2.workflow.RunSource" json:"run_source,omitempty"` } func (x *GetActionDataRequest) Reset() { @@ -794,6 +793,13 @@ func (x *GetActionDataRequest) GetActionId() *common.ActionIdentifier { return nil } +func (x *GetActionDataRequest) GetRunSource() workflow.RunSource { + if x != nil { + return x.RunSource + } + return workflow.RunSource(0) +} + // Response message for querying action data. type GetActionDataResponse struct { state protoimpl.MessageState @@ -1001,216 +1007,6 @@ func (*TailLogsRequest_AllPods) isTailLogsRequest_PodSelector() {} func (*TailLogsRequest_PodName) isTailLogsRequest_PodSelector() {} -// UploadMetadataRequest specifies the request for the UploadMetadata API. The data proxy service -// derives the storage path from the authenticated org and the target action, following the local -// run metadata layout: //////inputs.pb for inputs and -// ///////{outputs.pb,report.html} otherwise. -type UploadMetadataRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // ArtifactType is the type of artifact to upload. INPUTS targets an action; OUTPUTS and REPORT - // target an action attempt. - ArtifactType ArtifactType `protobuf:"varint,1,opt,name=artifact_type,json=artifactType,proto3,enum=flyteidl2.dataproxy.ArtifactType" json:"artifact_type,omitempty"` - // Target identifies the action (INPUTS) or action attempt (OUTPUTS / REPORT) the artifact - // belongs to. - // - // Types that are assignable to Target: - // - // *UploadMetadataRequest_ActionId - // *UploadMetadataRequest_ActionAttemptId - Target isUploadMetadataRequest_Target `protobuf_oneof:"target"` - // ContentMD5 restricts the upload location to the specific MD5 provided. - // +required - ContentMd5 []byte `protobuf:"bytes,4,opt,name=content_md5,json=contentMd5,proto3" json:"content_md5,omitempty"` - // ContentLength specifies the size of the content to be uploaded in bytes. Validated against - // the platform's maximum upload size. - // +optional - ContentLength int64 `protobuf:"varint,5,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"` - // ExpiresIn defines the requested expiration duration for the generated URL. The request will - // be rejected if this exceeds the platform's configured maximum. - // +optional. The default value comes from the global config. - ExpiresIn *durationpb.Duration `protobuf:"bytes,6,opt,name=expires_in,json=expiresIn,proto3" json:"expires_in,omitempty"` - // If true, the data proxy will add content_md5 to the Signed URL requirements, forcing clients - // to send this checksum with the object. Required for data integrity on backends like GCP. - AddContentMd5Metadata bool `protobuf:"varint,7,opt,name=add_content_md5_metadata,json=addContentMd5Metadata,proto3" json:"add_content_md5_metadata,omitempty"` -} - -func (x *UploadMetadataRequest) Reset() { - *x = UploadMetadataRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UploadMetadataRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UploadMetadataRequest) ProtoMessage() {} - -func (x *UploadMetadataRequest) ProtoReflect() protoreflect.Message { - mi := &file_flyteidl2_dataproxy_dataproxy_service_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 UploadMetadataRequest.ProtoReflect.Descriptor instead. -func (*UploadMetadataRequest) Descriptor() ([]byte, []int) { - return file_flyteidl2_dataproxy_dataproxy_service_proto_rawDescGZIP(), []int{10} -} - -func (x *UploadMetadataRequest) GetArtifactType() ArtifactType { - if x != nil { - return x.ArtifactType - } - return ArtifactType_ARTIFACT_TYPE_UNSPECIFIED -} - -func (m *UploadMetadataRequest) GetTarget() isUploadMetadataRequest_Target { - if m != nil { - return m.Target - } - return nil -} - -func (x *UploadMetadataRequest) GetActionId() *common.ActionIdentifier { - if x, ok := x.GetTarget().(*UploadMetadataRequest_ActionId); ok { - return x.ActionId - } - return nil -} - -func (x *UploadMetadataRequest) GetActionAttemptId() *common.ActionAttemptIdentifier { - if x, ok := x.GetTarget().(*UploadMetadataRequest_ActionAttemptId); ok { - return x.ActionAttemptId - } - return nil -} - -func (x *UploadMetadataRequest) GetContentMd5() []byte { - if x != nil { - return x.ContentMd5 - } - return nil -} - -func (x *UploadMetadataRequest) GetContentLength() int64 { - if x != nil { - return x.ContentLength - } - return 0 -} - -func (x *UploadMetadataRequest) GetExpiresIn() *durationpb.Duration { - if x != nil { - return x.ExpiresIn - } - return nil -} - -func (x *UploadMetadataRequest) GetAddContentMd5Metadata() bool { - if x != nil { - return x.AddContentMd5Metadata - } - return false -} - -type isUploadMetadataRequest_Target interface { - isUploadMetadataRequest_Target() -} - -type UploadMetadataRequest_ActionId struct { - ActionId *common.ActionIdentifier `protobuf:"bytes,2,opt,name=action_id,json=actionId,proto3,oneof"` -} - -type UploadMetadataRequest_ActionAttemptId struct { - ActionAttemptId *common.ActionAttemptIdentifier `protobuf:"bytes,3,opt,name=action_attempt_id,json=actionAttemptId,proto3,oneof"` -} - -func (*UploadMetadataRequest_ActionId) isUploadMetadataRequest_Target() {} - -func (*UploadMetadataRequest_ActionAttemptId) isUploadMetadataRequest_Target() {} - -// CreateLocalDownloadLinkRequest specifies the request for the CreateLocalDownloadLink API. -type CreateLocalDownloadLinkRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // ArtifactType is the type of artifact to download. - // +required - ArtifactType ArtifactType `protobuf:"varint,1,opt,name=artifact_type,json=artifactType,proto3,enum=flyteidl2.dataproxy.ArtifactType" json:"artifact_type,omitempty"` - // ActionAttemptId identifies the local run action attempt whose artifact is to be downloaded. - ActionAttemptId *common.ActionAttemptIdentifier `protobuf:"bytes,2,opt,name=action_attempt_id,json=actionAttemptId,proto3" json:"action_attempt_id,omitempty"` - // ExpiresIn defines the requested expiration duration for the generated URLs. The request will - // be rejected if this exceeds the platform's configured maximum. - // +optional. The default value comes from the global config. - ExpiresIn *durationpb.Duration `protobuf:"bytes,3,opt,name=expires_in,json=expiresIn,proto3" json:"expires_in,omitempty"` -} - -func (x *CreateLocalDownloadLinkRequest) Reset() { - *x = CreateLocalDownloadLinkRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateLocalDownloadLinkRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateLocalDownloadLinkRequest) ProtoMessage() {} - -func (x *CreateLocalDownloadLinkRequest) ProtoReflect() protoreflect.Message { - mi := &file_flyteidl2_dataproxy_dataproxy_service_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 CreateLocalDownloadLinkRequest.ProtoReflect.Descriptor instead. -func (*CreateLocalDownloadLinkRequest) Descriptor() ([]byte, []int) { - return file_flyteidl2_dataproxy_dataproxy_service_proto_rawDescGZIP(), []int{11} -} - -func (x *CreateLocalDownloadLinkRequest) GetArtifactType() ArtifactType { - if x != nil { - return x.ArtifactType - } - return ArtifactType_ARTIFACT_TYPE_UNSPECIFIED -} - -func (x *CreateLocalDownloadLinkRequest) GetActionAttemptId() *common.ActionAttemptIdentifier { - if x != nil { - return x.ActionAttemptId - } - return nil -} - -func (x *CreateLocalDownloadLinkRequest) GetExpiresIn() *durationpb.Duration { - if x != nil { - return x.ExpiresIn - } - return nil -} - // Reponse message for tailing logs. type TailLogsResponse struct { state protoimpl.MessageState @@ -1224,7 +1020,7 @@ type TailLogsResponse struct { func (x *TailLogsResponse) Reset() { *x = TailLogsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[12] + mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1237,7 +1033,7 @@ func (x *TailLogsResponse) String() string { func (*TailLogsResponse) ProtoMessage() {} func (x *TailLogsResponse) ProtoReflect() protoreflect.Message { - mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[12] + mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1250,7 +1046,7 @@ func (x *TailLogsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TailLogsResponse.ProtoReflect.Descriptor instead. func (*TailLogsResponse) Descriptor() ([]byte, []int) { - return file_flyteidl2_dataproxy_dataproxy_service_proto_rawDescGZIP(), []int{12} + return file_flyteidl2_dataproxy_dataproxy_service_proto_rawDescGZIP(), []int{10} } func (x *TailLogsResponse) GetLogs() []*TailLogsResponse_Logs { @@ -1275,7 +1071,7 @@ type TailLogsResponse_Logs struct { func (x *TailLogsResponse_Logs) Reset() { *x = TailLogsResponse_Logs{} if protoimpl.UnsafeEnabled { - mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[14] + mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1288,7 +1084,7 @@ func (x *TailLogsResponse_Logs) String() string { func (*TailLogsResponse_Logs) ProtoMessage() {} func (x *TailLogsResponse_Logs) ProtoReflect() protoreflect.Message { - mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[14] + mi := &file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1301,7 +1097,7 @@ func (x *TailLogsResponse_Logs) ProtoReflect() protoreflect.Message { // Deprecated: Use TailLogsResponse_Logs.ProtoReflect.Descriptor instead. func (*TailLogsResponse_Logs) Descriptor() ([]byte, []int) { - return file_flyteidl2_dataproxy_dataproxy_service_proto_rawDescGZIP(), []int{12, 0} + return file_flyteidl2_dataproxy_dataproxy_service_proto_rawDescGZIP(), []int{10, 0} } func (x *TailLogsResponse_Logs) GetLines() []*dataplane.LogLine { @@ -1339,307 +1135,241 @@ var file_flyteidl2_dataproxy_dataproxy_service_proto_rawDesc = []byte{ 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x22, 0xf8, - 0x02, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, - 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x04, 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, 0x09, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x28, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xba, - 0x48, 0x04, 0x7a, 0x02, 0x68, 0x10, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, - 0x64, 0x35, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, - 0x6f, 0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x64, 0x64, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x64, 0x64, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, - 0x72, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xad, 0x02, 0x0a, 0x1c, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, - 0x73, 0x41, 0x74, 0x12, 0x58, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x3a, 0x0a, - 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb4, 0x03, 0x0a, 0x13, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, - 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x48, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, - 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, - 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x48, 0x01, 0x52, 0x08, 0x74, 0x61, 0x73, - 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x42, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x01, 0x52, 0x0b, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x69, 0x6e, 0x70, - 0x75, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x73, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x73, - 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x73, - 0x65, 0x44, 0x69, 0x72, 0x42, 0x0b, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, - 0x01, 0x42, 0x0d, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, - 0x22, 0x6e, 0x0a, 0x14, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x14, 0x6f, 0x66, 0x66, 0x6c, - 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, - 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x12, 0x6f, 0x66, - 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x22, 0x69, 0x0a, 0x0d, 0x50, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x52, 0x4c, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, - 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x02, - 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x22, 0x80, 0x03, 0x0a, 0x19, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, - 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x61, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x42, 0x08, 0xba, 0x48, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x0c, 0x61, - 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x02, 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, 0x09, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x57, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x32, - 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x61, 0x70, 0x70, - 0x49, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x42, 0x0f, 0x0a, - 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0x68, - 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, - 0x70, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x53, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x73, 0x22, 0x5f, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, - 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xba, 0x01, 0x0a, 0x15, 0x47, 0x65, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x06, 0x69, 0x6e, 0x70, - 0x75, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x52, 0x07, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, - 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, - 0x74, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, - 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, 0x22, 0xb5, 0x02, 0x0a, 0x0f, 0x54, 0x61, 0x69, 0x6c, 0x4c, - 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x07, 0x61, - 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x5f, 0x70, 0x6f, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x70, - 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x6f, 0x64, 0x12, 0x1b, 0x0a, 0x08, 0x61, 0x6c, 0x6c, - 0x5f, 0x70, 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x08, 0x70, 0x6f, 0x64, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x70, 0x6f, 0x64, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, 0x64, 0x5f, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xde, - 0x03, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x0d, 0x61, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x82, 0x01, 0x06, 0x18, 0x01, 0x18, 0x03, 0x18, 0x04, - 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, - 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x57, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0b, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x42, - 0x07, 0xba, 0x48, 0x04, 0x7a, 0x02, 0x68, 0x10, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x4d, 0x64, 0x35, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, - 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x0a, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x06, 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, 0x09, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0f, - 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, - 0x8b, 0x02, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 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, 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, 0x22, 0xf8, 0x02, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, + 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x04, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, + 0x6e, 0x12, 0x28, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xba, 0x48, 0x04, 0x7a, 0x02, 0x68, 0x10, 0x52, + 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x12, 0x23, 0x0a, 0x0d, 0x66, + 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x6f, 0x74, + 0x12, 0x37, 0x0a, 0x18, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, + 0x6d, 0x64, 0x35, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x15, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x64, + 0x35, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x22, 0xad, 0x02, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, + 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x72, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x55, 0x72, + 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, + 0x03, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x58, 0x0a, 0x07, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0xb4, 0x03, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, + 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x75, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, + 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x72, + 0x75, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, + 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, + 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x01, 0x52, 0x06, 0x74, + 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, + 0x65, 0x63, 0x48, 0x01, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x42, + 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x48, 0x01, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, + 0x61, 0x73, 0x6b, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x73, 0x65, 0x44, 0x69, 0x72, 0x42, 0x0b, 0x0a, + 0x02, 0x69, 0x64, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, 0x0d, 0x0a, 0x04, 0x74, 0x61, + 0x73, 0x6b, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0x6e, 0x0a, 0x14, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x56, 0x0a, 0x14, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x12, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x69, 0x0a, 0x0d, 0x50, 0x72, 0x65, + 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x02, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x73, 0x41, 0x74, 0x22, 0x80, 0x03, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xba, 0x48, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x5d, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, - 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, - 0x01, 0x01, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, - 0x6e, 0x18, 0x03, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x22, 0xe1, 0x01, - 0x0a, 0x10, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x04, 0x6c, 0x6f, - 0x67, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x6c, - 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x05, 0x6c, - 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x2a, 0x9b, 0x01, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x41, - 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x52, - 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x50, 0x55, - 0x54, 0x53, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x53, 0x10, 0x04, 0x32, - 0xa4, 0x07, 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x7d, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, - 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x0c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, - 0x75, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x12, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, - 0x12, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, - 0x12, 0x5b, 0x0a, 0x08, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x24, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x71, 0x0a, - 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, - 0x02, 0x01, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, - 0x61, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x33, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, + 0x69, 0x6e, 0x18, 0x02, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x57, + 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x74, + 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, + 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, + 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x42, 0x0f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0x68, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x52, + 0x4c, 0x73, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, + 0x73, 0x22, 0x9d, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x75, 0x6e, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0xba, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x49, 0x6e, 0x70, + 0x75, 0x74, 0x73, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x73, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x1d, + 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, + 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, 0x22, 0xb5, + 0x02, 0x0a, 0x0f, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, + 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x07, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, + 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x21, + 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x6f, + 0x64, 0x12, 0x1b, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x64, 0x73, 0x12, 0x1b, + 0x0a, 0x08, 0x70, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x07, 0x70, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x12, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, + 0x0e, 0x0a, 0x0c, 0x70, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, + 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xe1, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x69, 0x6c, 0x4c, + 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x6c, + 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, + 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x04, + 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x4c, + 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4b, 0x0a, + 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x6c, 0x6f, 0x67, + 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, + 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2a, 0x66, 0x0a, 0x0c, 0x41, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x52, + 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x52, 0x54, + 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, + 0x54, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, + 0x10, 0x02, 0x32, 0xbb, 0x04, 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7d, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x30, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x0c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, + 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, + 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, + 0x69, 0x6e, 0x6b, 0x12, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xd8, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x42, 0x15, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x02, 0x50, 0x01, 0x5a, 0x37, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, - 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0xa2, 0x02, 0x03, 0x46, 0x44, 0x58, 0xaa, 0x02, 0x13, 0x46, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0xca, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x44, - 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0xe2, 0x02, 0x1f, 0x46, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x46, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, + 0x90, 0x02, 0x01, 0x12, 0x5b, 0x0a, 0x08, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x12, + 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, + 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, + 0x42, 0xd8, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x15, 0x44, 0x61, + 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x48, 0x02, 0x50, 0x01, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0xa2, 0x02, 0x03, 0x46, 0x44, 0x58, 0xaa, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0xca, 0x02, 0x13, 0x46, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0xe2, 0x02, 0x1f, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x44, + 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -1655,7 +1385,7 @@ func file_flyteidl2_dataproxy_dataproxy_service_proto_rawDescGZIP() []byte { } var file_flyteidl2_dataproxy_dataproxy_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes = make([]protoimpl.MessageInfo, 13) var file_flyteidl2_dataproxy_dataproxy_service_proto_goTypes = []interface{}{ (ArtifactType)(0), // 0: flyteidl2.dataproxy.ArtifactType (*CreateUploadLocationRequest)(nil), // 1: flyteidl2.dataproxy.CreateUploadLocationRequest @@ -1668,80 +1398,67 @@ var file_flyteidl2_dataproxy_dataproxy_service_proto_goTypes = []interface{}{ (*GetActionDataRequest)(nil), // 8: flyteidl2.dataproxy.GetActionDataRequest (*GetActionDataResponse)(nil), // 9: flyteidl2.dataproxy.GetActionDataResponse (*TailLogsRequest)(nil), // 10: flyteidl2.dataproxy.TailLogsRequest - (*UploadMetadataRequest)(nil), // 11: flyteidl2.dataproxy.UploadMetadataRequest - (*CreateLocalDownloadLinkRequest)(nil), // 12: flyteidl2.dataproxy.CreateLocalDownloadLinkRequest - (*TailLogsResponse)(nil), // 13: flyteidl2.dataproxy.TailLogsResponse - nil, // 14: flyteidl2.dataproxy.CreateUploadLocationResponse.HeadersEntry - (*TailLogsResponse_Logs)(nil), // 15: flyteidl2.dataproxy.TailLogsResponse.Logs - (*durationpb.Duration)(nil), // 16: google.protobuf.Duration - (*timestamppb.Timestamp)(nil), // 17: google.protobuf.Timestamp - (*common.RunIdentifier)(nil), // 18: flyteidl2.common.RunIdentifier - (*common.ProjectIdentifier)(nil), // 19: flyteidl2.common.ProjectIdentifier - (*task.TaskIdentifier)(nil), // 20: flyteidl2.task.TaskIdentifier - (*task.TaskSpec)(nil), // 21: flyteidl2.task.TaskSpec - (*common.TriggerName)(nil), // 22: flyteidl2.common.TriggerName - (*task.Inputs)(nil), // 23: flyteidl2.task.Inputs - (*common.OffloadedInputData)(nil), // 24: flyteidl2.common.OffloadedInputData - (*common.ActionAttemptIdentifier)(nil), // 25: flyteidl2.common.ActionAttemptIdentifier - (*app.Identifier)(nil), // 26: flyteidl2.app.Identifier - (*common.ActionIdentifier)(nil), // 27: flyteidl2.common.ActionIdentifier - (*task.Outputs)(nil), // 28: flyteidl2.task.Outputs - (*dataplane.LogLine)(nil), // 29: flyteidl2.logs.dataplane.LogLine - (*dataplane.ContainerIdentifier)(nil), // 30: flyteidl2.logs.dataplane.ContainerIdentifier + (*TailLogsResponse)(nil), // 11: flyteidl2.dataproxy.TailLogsResponse + nil, // 12: flyteidl2.dataproxy.CreateUploadLocationResponse.HeadersEntry + (*TailLogsResponse_Logs)(nil), // 13: flyteidl2.dataproxy.TailLogsResponse.Logs + (*durationpb.Duration)(nil), // 14: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp + (*common.RunIdentifier)(nil), // 16: flyteidl2.common.RunIdentifier + (*common.ProjectIdentifier)(nil), // 17: flyteidl2.common.ProjectIdentifier + (*task.TaskIdentifier)(nil), // 18: flyteidl2.task.TaskIdentifier + (*task.TaskSpec)(nil), // 19: flyteidl2.task.TaskSpec + (*common.TriggerName)(nil), // 20: flyteidl2.common.TriggerName + (*task.Inputs)(nil), // 21: flyteidl2.task.Inputs + (*common.OffloadedInputData)(nil), // 22: flyteidl2.common.OffloadedInputData + (*common.ActionAttemptIdentifier)(nil), // 23: flyteidl2.common.ActionAttemptIdentifier + (*app.Identifier)(nil), // 24: flyteidl2.app.Identifier + (*common.ActionIdentifier)(nil), // 25: flyteidl2.common.ActionIdentifier + (workflow.RunSource)(0), // 26: flyteidl2.workflow.RunSource + (*task.Outputs)(nil), // 27: flyteidl2.task.Outputs + (*dataplane.LogLine)(nil), // 28: flyteidl2.logs.dataplane.LogLine + (*dataplane.ContainerIdentifier)(nil), // 29: flyteidl2.logs.dataplane.ContainerIdentifier } var file_flyteidl2_dataproxy_dataproxy_service_proto_depIdxs = []int32{ - 16, // 0: flyteidl2.dataproxy.CreateUploadLocationRequest.expires_in:type_name -> google.protobuf.Duration - 17, // 1: flyteidl2.dataproxy.CreateUploadLocationResponse.expires_at:type_name -> google.protobuf.Timestamp - 14, // 2: flyteidl2.dataproxy.CreateUploadLocationResponse.headers:type_name -> flyteidl2.dataproxy.CreateUploadLocationResponse.HeadersEntry - 18, // 3: flyteidl2.dataproxy.UploadInputsRequest.run_id:type_name -> flyteidl2.common.RunIdentifier - 19, // 4: flyteidl2.dataproxy.UploadInputsRequest.project_id:type_name -> flyteidl2.common.ProjectIdentifier - 20, // 5: flyteidl2.dataproxy.UploadInputsRequest.task_id:type_name -> flyteidl2.task.TaskIdentifier - 21, // 6: flyteidl2.dataproxy.UploadInputsRequest.task_spec:type_name -> flyteidl2.task.TaskSpec - 22, // 7: flyteidl2.dataproxy.UploadInputsRequest.trigger_name:type_name -> flyteidl2.common.TriggerName - 23, // 8: flyteidl2.dataproxy.UploadInputsRequest.inputs:type_name -> flyteidl2.task.Inputs - 24, // 9: flyteidl2.dataproxy.UploadInputsResponse.offloaded_input_data:type_name -> flyteidl2.common.OffloadedInputData - 17, // 10: flyteidl2.dataproxy.PreSignedURLs.expires_at:type_name -> google.protobuf.Timestamp + 14, // 0: flyteidl2.dataproxy.CreateUploadLocationRequest.expires_in:type_name -> google.protobuf.Duration + 15, // 1: flyteidl2.dataproxy.CreateUploadLocationResponse.expires_at:type_name -> google.protobuf.Timestamp + 12, // 2: flyteidl2.dataproxy.CreateUploadLocationResponse.headers:type_name -> flyteidl2.dataproxy.CreateUploadLocationResponse.HeadersEntry + 16, // 3: flyteidl2.dataproxy.UploadInputsRequest.run_id:type_name -> flyteidl2.common.RunIdentifier + 17, // 4: flyteidl2.dataproxy.UploadInputsRequest.project_id:type_name -> flyteidl2.common.ProjectIdentifier + 18, // 5: flyteidl2.dataproxy.UploadInputsRequest.task_id:type_name -> flyteidl2.task.TaskIdentifier + 19, // 6: flyteidl2.dataproxy.UploadInputsRequest.task_spec:type_name -> flyteidl2.task.TaskSpec + 20, // 7: flyteidl2.dataproxy.UploadInputsRequest.trigger_name:type_name -> flyteidl2.common.TriggerName + 21, // 8: flyteidl2.dataproxy.UploadInputsRequest.inputs:type_name -> flyteidl2.task.Inputs + 22, // 9: flyteidl2.dataproxy.UploadInputsResponse.offloaded_input_data:type_name -> flyteidl2.common.OffloadedInputData + 15, // 10: flyteidl2.dataproxy.PreSignedURLs.expires_at:type_name -> google.protobuf.Timestamp 0, // 11: flyteidl2.dataproxy.CreateDownloadLinkRequest.artifact_type:type_name -> flyteidl2.dataproxy.ArtifactType - 16, // 12: flyteidl2.dataproxy.CreateDownloadLinkRequest.expires_in:type_name -> google.protobuf.Duration - 25, // 13: flyteidl2.dataproxy.CreateDownloadLinkRequest.action_attempt_id:type_name -> flyteidl2.common.ActionAttemptIdentifier - 26, // 14: flyteidl2.dataproxy.CreateDownloadLinkRequest.app_id:type_name -> flyteidl2.app.Identifier - 20, // 15: flyteidl2.dataproxy.CreateDownloadLinkRequest.task_id:type_name -> flyteidl2.task.TaskIdentifier + 14, // 12: flyteidl2.dataproxy.CreateDownloadLinkRequest.expires_in:type_name -> google.protobuf.Duration + 23, // 13: flyteidl2.dataproxy.CreateDownloadLinkRequest.action_attempt_id:type_name -> flyteidl2.common.ActionAttemptIdentifier + 24, // 14: flyteidl2.dataproxy.CreateDownloadLinkRequest.app_id:type_name -> flyteidl2.app.Identifier + 18, // 15: flyteidl2.dataproxy.CreateDownloadLinkRequest.task_id:type_name -> flyteidl2.task.TaskIdentifier 5, // 16: flyteidl2.dataproxy.CreateDownloadLinkResponse.pre_signed_urls:type_name -> flyteidl2.dataproxy.PreSignedURLs - 27, // 17: flyteidl2.dataproxy.GetActionDataRequest.action_id:type_name -> flyteidl2.common.ActionIdentifier - 23, // 18: flyteidl2.dataproxy.GetActionDataResponse.inputs:type_name -> flyteidl2.task.Inputs - 28, // 19: flyteidl2.dataproxy.GetActionDataResponse.outputs:type_name -> flyteidl2.task.Outputs - 27, // 20: flyteidl2.dataproxy.TailLogsRequest.action_id:type_name -> flyteidl2.common.ActionIdentifier - 0, // 21: flyteidl2.dataproxy.UploadMetadataRequest.artifact_type:type_name -> flyteidl2.dataproxy.ArtifactType - 27, // 22: flyteidl2.dataproxy.UploadMetadataRequest.action_id:type_name -> flyteidl2.common.ActionIdentifier - 25, // 23: flyteidl2.dataproxy.UploadMetadataRequest.action_attempt_id:type_name -> flyteidl2.common.ActionAttemptIdentifier - 16, // 24: flyteidl2.dataproxy.UploadMetadataRequest.expires_in:type_name -> google.protobuf.Duration - 0, // 25: flyteidl2.dataproxy.CreateLocalDownloadLinkRequest.artifact_type:type_name -> flyteidl2.dataproxy.ArtifactType - 25, // 26: flyteidl2.dataproxy.CreateLocalDownloadLinkRequest.action_attempt_id:type_name -> flyteidl2.common.ActionAttemptIdentifier - 16, // 27: flyteidl2.dataproxy.CreateLocalDownloadLinkRequest.expires_in:type_name -> google.protobuf.Duration - 15, // 28: flyteidl2.dataproxy.TailLogsResponse.logs:type_name -> flyteidl2.dataproxy.TailLogsResponse.Logs - 29, // 29: flyteidl2.dataproxy.TailLogsResponse.Logs.lines:type_name -> flyteidl2.logs.dataplane.LogLine - 30, // 30: flyteidl2.dataproxy.TailLogsResponse.Logs.container:type_name -> flyteidl2.logs.dataplane.ContainerIdentifier - 1, // 31: flyteidl2.dataproxy.DataProxyService.CreateUploadLocation:input_type -> flyteidl2.dataproxy.CreateUploadLocationRequest - 3, // 32: flyteidl2.dataproxy.DataProxyService.UploadInputs:input_type -> flyteidl2.dataproxy.UploadInputsRequest - 6, // 33: flyteidl2.dataproxy.DataProxyService.CreateDownloadLink:input_type -> flyteidl2.dataproxy.CreateDownloadLinkRequest - 8, // 34: flyteidl2.dataproxy.DataProxyService.GetActionData:input_type -> flyteidl2.dataproxy.GetActionDataRequest - 10, // 35: flyteidl2.dataproxy.DataProxyService.TailLogs:input_type -> flyteidl2.dataproxy.TailLogsRequest - 11, // 36: flyteidl2.dataproxy.DataProxyService.UploadMetadata:input_type -> flyteidl2.dataproxy.UploadMetadataRequest - 8, // 37: flyteidl2.dataproxy.DataProxyService.GetLocalActionData:input_type -> flyteidl2.dataproxy.GetActionDataRequest - 12, // 38: flyteidl2.dataproxy.DataProxyService.CreateLocalDownloadLink:input_type -> flyteidl2.dataproxy.CreateLocalDownloadLinkRequest - 2, // 39: flyteidl2.dataproxy.DataProxyService.CreateUploadLocation:output_type -> flyteidl2.dataproxy.CreateUploadLocationResponse - 4, // 40: flyteidl2.dataproxy.DataProxyService.UploadInputs:output_type -> flyteidl2.dataproxy.UploadInputsResponse - 7, // 41: flyteidl2.dataproxy.DataProxyService.CreateDownloadLink:output_type -> flyteidl2.dataproxy.CreateDownloadLinkResponse - 9, // 42: flyteidl2.dataproxy.DataProxyService.GetActionData:output_type -> flyteidl2.dataproxy.GetActionDataResponse - 13, // 43: flyteidl2.dataproxy.DataProxyService.TailLogs:output_type -> flyteidl2.dataproxy.TailLogsResponse - 2, // 44: flyteidl2.dataproxy.DataProxyService.UploadMetadata:output_type -> flyteidl2.dataproxy.CreateUploadLocationResponse - 9, // 45: flyteidl2.dataproxy.DataProxyService.GetLocalActionData:output_type -> flyteidl2.dataproxy.GetActionDataResponse - 7, // 46: flyteidl2.dataproxy.DataProxyService.CreateLocalDownloadLink:output_type -> flyteidl2.dataproxy.CreateDownloadLinkResponse - 39, // [39:47] is the sub-list for method output_type - 31, // [31:39] is the sub-list for method input_type - 31, // [31:31] is the sub-list for extension type_name - 31, // [31:31] is the sub-list for extension extendee - 0, // [0:31] is the sub-list for field type_name + 25, // 17: flyteidl2.dataproxy.GetActionDataRequest.action_id:type_name -> flyteidl2.common.ActionIdentifier + 26, // 18: flyteidl2.dataproxy.GetActionDataRequest.run_source:type_name -> flyteidl2.workflow.RunSource + 21, // 19: flyteidl2.dataproxy.GetActionDataResponse.inputs:type_name -> flyteidl2.task.Inputs + 27, // 20: flyteidl2.dataproxy.GetActionDataResponse.outputs:type_name -> flyteidl2.task.Outputs + 25, // 21: flyteidl2.dataproxy.TailLogsRequest.action_id:type_name -> flyteidl2.common.ActionIdentifier + 13, // 22: flyteidl2.dataproxy.TailLogsResponse.logs:type_name -> flyteidl2.dataproxy.TailLogsResponse.Logs + 28, // 23: flyteidl2.dataproxy.TailLogsResponse.Logs.lines:type_name -> flyteidl2.logs.dataplane.LogLine + 29, // 24: flyteidl2.dataproxy.TailLogsResponse.Logs.container:type_name -> flyteidl2.logs.dataplane.ContainerIdentifier + 1, // 25: flyteidl2.dataproxy.DataProxyService.CreateUploadLocation:input_type -> flyteidl2.dataproxy.CreateUploadLocationRequest + 3, // 26: flyteidl2.dataproxy.DataProxyService.UploadInputs:input_type -> flyteidl2.dataproxy.UploadInputsRequest + 6, // 27: flyteidl2.dataproxy.DataProxyService.CreateDownloadLink:input_type -> flyteidl2.dataproxy.CreateDownloadLinkRequest + 8, // 28: flyteidl2.dataproxy.DataProxyService.GetActionData:input_type -> flyteidl2.dataproxy.GetActionDataRequest + 10, // 29: flyteidl2.dataproxy.DataProxyService.TailLogs:input_type -> flyteidl2.dataproxy.TailLogsRequest + 2, // 30: flyteidl2.dataproxy.DataProxyService.CreateUploadLocation:output_type -> flyteidl2.dataproxy.CreateUploadLocationResponse + 4, // 31: flyteidl2.dataproxy.DataProxyService.UploadInputs:output_type -> flyteidl2.dataproxy.UploadInputsResponse + 7, // 32: flyteidl2.dataproxy.DataProxyService.CreateDownloadLink:output_type -> flyteidl2.dataproxy.CreateDownloadLinkResponse + 9, // 33: flyteidl2.dataproxy.DataProxyService.GetActionData:output_type -> flyteidl2.dataproxy.GetActionDataResponse + 11, // 34: flyteidl2.dataproxy.DataProxyService.TailLogs:output_type -> flyteidl2.dataproxy.TailLogsResponse + 30, // [30:35] is the sub-list for method output_type + 25, // [25:30] 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_flyteidl2_dataproxy_dataproxy_service_proto_init() } @@ -1871,30 +1588,6 @@ func file_flyteidl2_dataproxy_dataproxy_service_proto_init() { } } file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UploadMetadataRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateLocalDownloadLinkRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TailLogsResponse); i { case 0: return &v.state @@ -1906,7 +1599,7 @@ func file_flyteidl2_dataproxy_dataproxy_service_proto_init() { return nil } } - file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TailLogsResponse_Logs); i { case 0: return &v.state @@ -1936,17 +1629,13 @@ func file_flyteidl2_dataproxy_dataproxy_service_proto_init() { (*TailLogsRequest_AllPods)(nil), (*TailLogsRequest_PodName)(nil), } - file_flyteidl2_dataproxy_dataproxy_service_proto_msgTypes[10].OneofWrappers = []interface{}{ - (*UploadMetadataRequest_ActionId)(nil), - (*UploadMetadataRequest_ActionAttemptId)(nil), - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_flyteidl2_dataproxy_dataproxy_service_proto_rawDesc, NumEnums: 1, - NumMessages: 15, + NumMessages: 13, NumExtensions: 0, NumServices: 1, }, diff --git a/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.validate.go b/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.validate.go index f5aad3a175e..4177f891bcd 100644 --- a/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.validate.go +++ b/gen/go/flyteidl2/dataproxy/dataproxy_service.pb.validate.go @@ -17,6 +17,8 @@ import ( "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" + + workflow "github.com/flyteorg/flyte/v2/gen/go/flyteidl2/workflow" ) // ensure the imports are used @@ -33,6 +35,8 @@ var ( _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort + + _ = workflow.RunSource(0) ) // Validate checks the field values on CreateUploadLocationRequest with the @@ -1371,6 +1375,8 @@ func (m *GetActionDataRequest) validate(all bool) error { } } + // no validation rules for RunSource + if len(errors) > 0 { return GetActionDataRequestMultiError(errors) } @@ -1791,395 +1797,6 @@ var _ interface { ErrorName() string } = TailLogsRequestValidationError{} -// Validate checks the field values on UploadMetadataRequest with the rules -// defined in the proto definition for this message. If any rules are -// violated, the first error encountered is returned, or nil if there are no violations. -func (m *UploadMetadataRequest) Validate() error { - return m.validate(false) -} - -// ValidateAll checks the field values on UploadMetadataRequest with the rules -// defined in the proto definition for this message. If any rules are -// violated, the result is a list of violation errors wrapped in -// UploadMetadataRequestMultiError, or nil if none found. -func (m *UploadMetadataRequest) ValidateAll() error { - return m.validate(true) -} - -func (m *UploadMetadataRequest) validate(all bool) error { - if m == nil { - return nil - } - - var errors []error - - // no validation rules for ArtifactType - - // no validation rules for ContentMd5 - - // no validation rules for ContentLength - - if all { - switch v := interface{}(m.GetExpiresIn()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, UploadMetadataRequestValidationError{ - field: "ExpiresIn", - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, UploadMetadataRequestValidationError{ - field: "ExpiresIn", - reason: "embedded message failed validation", - cause: err, - }) - } - } - } else if v, ok := interface{}(m.GetExpiresIn()).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return UploadMetadataRequestValidationError{ - field: "ExpiresIn", - reason: "embedded message failed validation", - cause: err, - } - } - } - - // no validation rules for AddContentMd5Metadata - - switch v := m.Target.(type) { - case *UploadMetadataRequest_ActionId: - if v == nil { - err := UploadMetadataRequestValidationError{ - field: "Target", - reason: "oneof value cannot be a typed-nil", - } - if !all { - return err - } - errors = append(errors, err) - } - - if all { - switch v := interface{}(m.GetActionId()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, UploadMetadataRequestValidationError{ - field: "ActionId", - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, UploadMetadataRequestValidationError{ - field: "ActionId", - reason: "embedded message failed validation", - cause: err, - }) - } - } - } else if v, ok := interface{}(m.GetActionId()).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return UploadMetadataRequestValidationError{ - field: "ActionId", - reason: "embedded message failed validation", - cause: err, - } - } - } - - case *UploadMetadataRequest_ActionAttemptId: - if v == nil { - err := UploadMetadataRequestValidationError{ - field: "Target", - reason: "oneof value cannot be a typed-nil", - } - if !all { - return err - } - errors = append(errors, err) - } - - if all { - switch v := interface{}(m.GetActionAttemptId()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, UploadMetadataRequestValidationError{ - field: "ActionAttemptId", - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, UploadMetadataRequestValidationError{ - field: "ActionAttemptId", - reason: "embedded message failed validation", - cause: err, - }) - } - } - } else if v, ok := interface{}(m.GetActionAttemptId()).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return UploadMetadataRequestValidationError{ - field: "ActionAttemptId", - reason: "embedded message failed validation", - cause: err, - } - } - } - - default: - _ = v // ensures v is used - } - - if len(errors) > 0 { - return UploadMetadataRequestMultiError(errors) - } - - return nil -} - -// UploadMetadataRequestMultiError is an error wrapping multiple validation -// errors returned by UploadMetadataRequest.ValidateAll() if the designated -// constraints aren't met. -type UploadMetadataRequestMultiError []error - -// Error returns a concatenation of all the error messages it wraps. -func (m UploadMetadataRequestMultiError) Error() string { - msgs := make([]string, 0, len(m)) - for _, err := range m { - msgs = append(msgs, err.Error()) - } - return strings.Join(msgs, "; ") -} - -// AllErrors returns a list of validation violation errors. -func (m UploadMetadataRequestMultiError) AllErrors() []error { return m } - -// UploadMetadataRequestValidationError is the validation error returned by -// UploadMetadataRequest.Validate if the designated constraints aren't met. -type UploadMetadataRequestValidationError struct { - field string - reason string - cause error - key bool -} - -// Field function returns field value. -func (e UploadMetadataRequestValidationError) Field() string { return e.field } - -// Reason function returns reason value. -func (e UploadMetadataRequestValidationError) Reason() string { return e.reason } - -// Cause function returns cause value. -func (e UploadMetadataRequestValidationError) Cause() error { return e.cause } - -// Key function returns key value. -func (e UploadMetadataRequestValidationError) Key() bool { return e.key } - -// ErrorName returns error name. -func (e UploadMetadataRequestValidationError) ErrorName() string { - return "UploadMetadataRequestValidationError" -} - -// Error satisfies the builtin error interface -func (e UploadMetadataRequestValidationError) Error() string { - cause := "" - if e.cause != nil { - cause = fmt.Sprintf(" | caused by: %v", e.cause) - } - - key := "" - if e.key { - key = "key for " - } - - return fmt.Sprintf( - "invalid %sUploadMetadataRequest.%s: %s%s", - key, - e.field, - e.reason, - cause) -} - -var _ error = UploadMetadataRequestValidationError{} - -var _ interface { - Field() string - Reason() string - Key() bool - Cause() error - ErrorName() string -} = UploadMetadataRequestValidationError{} - -// Validate checks the field values on CreateLocalDownloadLinkRequest with the -// rules defined in the proto definition for this message. If any rules are -// violated, the first error encountered is returned, or nil if there are no violations. -func (m *CreateLocalDownloadLinkRequest) Validate() error { - return m.validate(false) -} - -// ValidateAll checks the field values on CreateLocalDownloadLinkRequest with -// the rules defined in the proto definition for this message. If any rules -// are violated, the result is a list of violation errors wrapped in -// CreateLocalDownloadLinkRequestMultiError, or nil if none found. -func (m *CreateLocalDownloadLinkRequest) ValidateAll() error { - return m.validate(true) -} - -func (m *CreateLocalDownloadLinkRequest) validate(all bool) error { - if m == nil { - return nil - } - - var errors []error - - // no validation rules for ArtifactType - - if all { - switch v := interface{}(m.GetActionAttemptId()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, CreateLocalDownloadLinkRequestValidationError{ - field: "ActionAttemptId", - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, CreateLocalDownloadLinkRequestValidationError{ - field: "ActionAttemptId", - reason: "embedded message failed validation", - cause: err, - }) - } - } - } else if v, ok := interface{}(m.GetActionAttemptId()).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return CreateLocalDownloadLinkRequestValidationError{ - field: "ActionAttemptId", - reason: "embedded message failed validation", - cause: err, - } - } - } - - if all { - switch v := interface{}(m.GetExpiresIn()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, CreateLocalDownloadLinkRequestValidationError{ - field: "ExpiresIn", - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, CreateLocalDownloadLinkRequestValidationError{ - field: "ExpiresIn", - reason: "embedded message failed validation", - cause: err, - }) - } - } - } else if v, ok := interface{}(m.GetExpiresIn()).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return CreateLocalDownloadLinkRequestValidationError{ - field: "ExpiresIn", - reason: "embedded message failed validation", - cause: err, - } - } - } - - if len(errors) > 0 { - return CreateLocalDownloadLinkRequestMultiError(errors) - } - - return nil -} - -// CreateLocalDownloadLinkRequestMultiError is an error wrapping multiple -// validation errors returned by CreateLocalDownloadLinkRequest.ValidateAll() -// if the designated constraints aren't met. -type CreateLocalDownloadLinkRequestMultiError []error - -// Error returns a concatenation of all the error messages it wraps. -func (m CreateLocalDownloadLinkRequestMultiError) Error() string { - msgs := make([]string, 0, len(m)) - for _, err := range m { - msgs = append(msgs, err.Error()) - } - return strings.Join(msgs, "; ") -} - -// AllErrors returns a list of validation violation errors. -func (m CreateLocalDownloadLinkRequestMultiError) AllErrors() []error { return m } - -// CreateLocalDownloadLinkRequestValidationError is the validation error -// returned by CreateLocalDownloadLinkRequest.Validate if the designated -// constraints aren't met. -type CreateLocalDownloadLinkRequestValidationError struct { - field string - reason string - cause error - key bool -} - -// Field function returns field value. -func (e CreateLocalDownloadLinkRequestValidationError) Field() string { return e.field } - -// Reason function returns reason value. -func (e CreateLocalDownloadLinkRequestValidationError) Reason() string { return e.reason } - -// Cause function returns cause value. -func (e CreateLocalDownloadLinkRequestValidationError) Cause() error { return e.cause } - -// Key function returns key value. -func (e CreateLocalDownloadLinkRequestValidationError) Key() bool { return e.key } - -// ErrorName returns error name. -func (e CreateLocalDownloadLinkRequestValidationError) ErrorName() string { - return "CreateLocalDownloadLinkRequestValidationError" -} - -// Error satisfies the builtin error interface -func (e CreateLocalDownloadLinkRequestValidationError) Error() string { - cause := "" - if e.cause != nil { - cause = fmt.Sprintf(" | caused by: %v", e.cause) - } - - key := "" - if e.key { - key = "key for " - } - - return fmt.Sprintf( - "invalid %sCreateLocalDownloadLinkRequest.%s: %s%s", - key, - e.field, - e.reason, - cause) -} - -var _ error = CreateLocalDownloadLinkRequestValidationError{} - -var _ interface { - Field() string - Reason() string - Key() bool - Cause() error - ErrorName() string -} = CreateLocalDownloadLinkRequestValidationError{} - // Validate checks the field values on TailLogsResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. diff --git a/gen/go/flyteidl2/dataproxy/dataproxy_service_grpc.pb.go b/gen/go/flyteidl2/dataproxy/dataproxy_service_grpc.pb.go index 62dd554c8b4..4044d8ef635 100644 --- a/gen/go/flyteidl2/dataproxy/dataproxy_service_grpc.pb.go +++ b/gen/go/flyteidl2/dataproxy/dataproxy_service_grpc.pb.go @@ -19,14 +19,11 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - DataProxyService_CreateUploadLocation_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/CreateUploadLocation" - DataProxyService_UploadInputs_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/UploadInputs" - DataProxyService_CreateDownloadLink_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/CreateDownloadLink" - DataProxyService_GetActionData_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/GetActionData" - DataProxyService_TailLogs_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/TailLogs" - DataProxyService_UploadMetadata_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/UploadMetadata" - DataProxyService_GetLocalActionData_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/GetLocalActionData" - DataProxyService_CreateLocalDownloadLink_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink" + DataProxyService_CreateUploadLocation_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/CreateUploadLocation" + DataProxyService_UploadInputs_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/UploadInputs" + DataProxyService_CreateDownloadLink_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/CreateDownloadLink" + DataProxyService_GetActionData_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/GetActionData" + DataProxyService_TailLogs_FullMethodName = "/flyteidl2.dataproxy.DataProxyService/TailLogs" ) // DataProxyServiceClient is the client API for DataProxyService service. @@ -42,17 +39,6 @@ type DataProxyServiceClient interface { GetActionData(ctx context.Context, in *GetActionDataRequest, opts ...grpc.CallOption) (*GetActionDataResponse, error) // Stream logs for an action attempt. TailLogs(ctx context.Context, in *TailLogsRequest, opts ...grpc.CallOption) (DataProxyService_TailLogsClient, error) - // UploadMetadata generates a signed URL for uploading a local run's metadata artifact - // (inputs.pb / outputs.pb / report.html) directly to the control plane's storage backend. - // Local runs only; never routes to a dataplane. - UploadMetadata(ctx context.Context, in *UploadMetadataRequest, opts ...grpc.CallOption) (*CreateUploadLocationResponse, error) - // Get input and output data for an action of a local run, served directly from the control - // plane's storage backend. Local runs only; never routes to a dataplane. - GetLocalActionData(ctx context.Context, in *GetActionDataRequest, opts ...grpc.CallOption) (*GetActionDataResponse, error) - // CreateLocalDownloadLink generates signed URL(s) for downloading an artifact of a local run - // action attempt directly from the control plane's storage backend. Local runs only; never - // routes to a dataplane. - CreateLocalDownloadLink(ctx context.Context, in *CreateLocalDownloadLinkRequest, opts ...grpc.CallOption) (*CreateDownloadLinkResponse, error) } type dataProxyServiceClient struct { @@ -131,33 +117,6 @@ func (x *dataProxyServiceTailLogsClient) Recv() (*TailLogsResponse, error) { return m, nil } -func (c *dataProxyServiceClient) UploadMetadata(ctx context.Context, in *UploadMetadataRequest, opts ...grpc.CallOption) (*CreateUploadLocationResponse, error) { - out := new(CreateUploadLocationResponse) - err := c.cc.Invoke(ctx, DataProxyService_UploadMetadata_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *dataProxyServiceClient) GetLocalActionData(ctx context.Context, in *GetActionDataRequest, opts ...grpc.CallOption) (*GetActionDataResponse, error) { - out := new(GetActionDataResponse) - err := c.cc.Invoke(ctx, DataProxyService_GetLocalActionData_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *dataProxyServiceClient) CreateLocalDownloadLink(ctx context.Context, in *CreateLocalDownloadLinkRequest, opts ...grpc.CallOption) (*CreateDownloadLinkResponse, error) { - out := new(CreateDownloadLinkResponse) - err := c.cc.Invoke(ctx, DataProxyService_CreateLocalDownloadLink_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - // DataProxyServiceServer is the server API for DataProxyService service. // All implementations should embed UnimplementedDataProxyServiceServer // for forward compatibility @@ -171,17 +130,6 @@ type DataProxyServiceServer interface { GetActionData(context.Context, *GetActionDataRequest) (*GetActionDataResponse, error) // Stream logs for an action attempt. TailLogs(*TailLogsRequest, DataProxyService_TailLogsServer) error - // UploadMetadata generates a signed URL for uploading a local run's metadata artifact - // (inputs.pb / outputs.pb / report.html) directly to the control plane's storage backend. - // Local runs only; never routes to a dataplane. - UploadMetadata(context.Context, *UploadMetadataRequest) (*CreateUploadLocationResponse, error) - // Get input and output data for an action of a local run, served directly from the control - // plane's storage backend. Local runs only; never routes to a dataplane. - GetLocalActionData(context.Context, *GetActionDataRequest) (*GetActionDataResponse, error) - // CreateLocalDownloadLink generates signed URL(s) for downloading an artifact of a local run - // action attempt directly from the control plane's storage backend. Local runs only; never - // routes to a dataplane. - CreateLocalDownloadLink(context.Context, *CreateLocalDownloadLinkRequest) (*CreateDownloadLinkResponse, error) } // UnimplementedDataProxyServiceServer should be embedded to have forward compatible implementations. @@ -203,15 +151,6 @@ func (UnimplementedDataProxyServiceServer) GetActionData(context.Context, *GetAc func (UnimplementedDataProxyServiceServer) TailLogs(*TailLogsRequest, DataProxyService_TailLogsServer) error { return status.Errorf(codes.Unimplemented, "method TailLogs not implemented") } -func (UnimplementedDataProxyServiceServer) UploadMetadata(context.Context, *UploadMetadataRequest) (*CreateUploadLocationResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UploadMetadata not implemented") -} -func (UnimplementedDataProxyServiceServer) GetLocalActionData(context.Context, *GetActionDataRequest) (*GetActionDataResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetLocalActionData not implemented") -} -func (UnimplementedDataProxyServiceServer) CreateLocalDownloadLink(context.Context, *CreateLocalDownloadLinkRequest) (*CreateDownloadLinkResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateLocalDownloadLink not implemented") -} // UnsafeDataProxyServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to DataProxyServiceServer will @@ -317,60 +256,6 @@ func (x *dataProxyServiceTailLogsServer) Send(m *TailLogsResponse) error { return x.ServerStream.SendMsg(m) } -func _DataProxyService_UploadMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UploadMetadataRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(DataProxyServiceServer).UploadMetadata(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: DataProxyService_UploadMetadata_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataProxyServiceServer).UploadMetadata(ctx, req.(*UploadMetadataRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _DataProxyService_GetLocalActionData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetActionDataRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(DataProxyServiceServer).GetLocalActionData(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: DataProxyService_GetLocalActionData_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataProxyServiceServer).GetLocalActionData(ctx, req.(*GetActionDataRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _DataProxyService_CreateLocalDownloadLink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateLocalDownloadLinkRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(DataProxyServiceServer).CreateLocalDownloadLink(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: DataProxyService_CreateLocalDownloadLink_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataProxyServiceServer).CreateLocalDownloadLink(ctx, req.(*CreateLocalDownloadLinkRequest)) - } - return interceptor(ctx, in, info, handler) -} - // DataProxyService_ServiceDesc is the grpc.ServiceDesc for DataProxyService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -394,18 +279,6 @@ var DataProxyService_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetActionData", Handler: _DataProxyService_GetActionData_Handler, }, - { - MethodName: "UploadMetadata", - Handler: _DataProxyService_UploadMetadata_Handler, - }, - { - MethodName: "GetLocalActionData", - Handler: _DataProxyService_GetLocalActionData_Handler, - }, - { - MethodName: "CreateLocalDownloadLink", - Handler: _DataProxyService_CreateLocalDownloadLink_Handler, - }, }, Streams: []grpc.StreamDesc{ { diff --git a/gen/go/flyteidl2/dataproxy/dataproxyconnect/dataproxy_service.connect.go b/gen/go/flyteidl2/dataproxy/dataproxyconnect/dataproxy_service.connect.go index b4ef9a9e53c..87c84d03292 100644 --- a/gen/go/flyteidl2/dataproxy/dataproxyconnect/dataproxy_service.connect.go +++ b/gen/go/flyteidl2/dataproxy/dataproxyconnect/dataproxy_service.connect.go @@ -48,28 +48,16 @@ const ( // DataProxyServiceTailLogsProcedure is the fully-qualified name of the DataProxyService's TailLogs // RPC. DataProxyServiceTailLogsProcedure = "/flyteidl2.dataproxy.DataProxyService/TailLogs" - // DataProxyServiceUploadMetadataProcedure is the fully-qualified name of the DataProxyService's - // UploadMetadata RPC. - DataProxyServiceUploadMetadataProcedure = "/flyteidl2.dataproxy.DataProxyService/UploadMetadata" - // DataProxyServiceGetLocalActionDataProcedure is the fully-qualified name of the DataProxyService's - // GetLocalActionData RPC. - DataProxyServiceGetLocalActionDataProcedure = "/flyteidl2.dataproxy.DataProxyService/GetLocalActionData" - // DataProxyServiceCreateLocalDownloadLinkProcedure is the fully-qualified name of the - // DataProxyService's CreateLocalDownloadLink RPC. - DataProxyServiceCreateLocalDownloadLinkProcedure = "/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink" ) // These variables are the protoreflect.Descriptor objects for the RPCs defined in this package. var ( - dataProxyServiceServiceDescriptor = dataproxy.File_flyteidl2_dataproxy_dataproxy_service_proto.Services().ByName("DataProxyService") - dataProxyServiceCreateUploadLocationMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("CreateUploadLocation") - dataProxyServiceUploadInputsMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("UploadInputs") - dataProxyServiceCreateDownloadLinkMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("CreateDownloadLink") - dataProxyServiceGetActionDataMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("GetActionData") - dataProxyServiceTailLogsMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("TailLogs") - dataProxyServiceUploadMetadataMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("UploadMetadata") - dataProxyServiceGetLocalActionDataMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("GetLocalActionData") - dataProxyServiceCreateLocalDownloadLinkMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("CreateLocalDownloadLink") + dataProxyServiceServiceDescriptor = dataproxy.File_flyteidl2_dataproxy_dataproxy_service_proto.Services().ByName("DataProxyService") + dataProxyServiceCreateUploadLocationMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("CreateUploadLocation") + dataProxyServiceUploadInputsMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("UploadInputs") + dataProxyServiceCreateDownloadLinkMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("CreateDownloadLink") + dataProxyServiceGetActionDataMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("GetActionData") + dataProxyServiceTailLogsMethodDescriptor = dataProxyServiceServiceDescriptor.Methods().ByName("TailLogs") ) // DataProxyServiceClient is a client for the flyteidl2.dataproxy.DataProxyService service. @@ -83,17 +71,6 @@ type DataProxyServiceClient interface { GetActionData(context.Context, *connect.Request[dataproxy.GetActionDataRequest]) (*connect.Response[dataproxy.GetActionDataResponse], error) // Stream logs for an action attempt. TailLogs(context.Context, *connect.Request[dataproxy.TailLogsRequest]) (*connect.ServerStreamForClient[dataproxy.TailLogsResponse], error) - // UploadMetadata generates a signed URL for uploading a local run's metadata artifact - // (inputs.pb / outputs.pb / report.html) directly to the control plane's storage backend. - // Local runs only; never routes to a dataplane. - UploadMetadata(context.Context, *connect.Request[dataproxy.UploadMetadataRequest]) (*connect.Response[dataproxy.CreateUploadLocationResponse], error) - // Get input and output data for an action of a local run, served directly from the control - // plane's storage backend. Local runs only; never routes to a dataplane. - GetLocalActionData(context.Context, *connect.Request[dataproxy.GetActionDataRequest]) (*connect.Response[dataproxy.GetActionDataResponse], error) - // CreateLocalDownloadLink generates signed URL(s) for downloading an artifact of a local run - // action attempt directly from the control plane's storage backend. Local runs only; never - // routes to a dataplane. - CreateLocalDownloadLink(context.Context, *connect.Request[dataproxy.CreateLocalDownloadLinkRequest]) (*connect.Response[dataproxy.CreateDownloadLinkResponse], error) } // NewDataProxyServiceClient constructs a client for the flyteidl2.dataproxy.DataProxyService @@ -137,38 +114,16 @@ func NewDataProxyServiceClient(httpClient connect.HTTPClient, baseURL string, op connect.WithSchema(dataProxyServiceTailLogsMethodDescriptor), connect.WithClientOptions(opts...), ), - uploadMetadata: connect.NewClient[dataproxy.UploadMetadataRequest, dataproxy.CreateUploadLocationResponse]( - httpClient, - baseURL+DataProxyServiceUploadMetadataProcedure, - connect.WithSchema(dataProxyServiceUploadMetadataMethodDescriptor), - connect.WithClientOptions(opts...), - ), - getLocalActionData: connect.NewClient[dataproxy.GetActionDataRequest, dataproxy.GetActionDataResponse]( - httpClient, - baseURL+DataProxyServiceGetLocalActionDataProcedure, - connect.WithSchema(dataProxyServiceGetLocalActionDataMethodDescriptor), - connect.WithIdempotency(connect.IdempotencyNoSideEffects), - connect.WithClientOptions(opts...), - ), - createLocalDownloadLink: connect.NewClient[dataproxy.CreateLocalDownloadLinkRequest, dataproxy.CreateDownloadLinkResponse]( - httpClient, - baseURL+DataProxyServiceCreateLocalDownloadLinkProcedure, - connect.WithSchema(dataProxyServiceCreateLocalDownloadLinkMethodDescriptor), - connect.WithClientOptions(opts...), - ), } } // dataProxyServiceClient implements DataProxyServiceClient. type dataProxyServiceClient struct { - createUploadLocation *connect.Client[dataproxy.CreateUploadLocationRequest, dataproxy.CreateUploadLocationResponse] - uploadInputs *connect.Client[dataproxy.UploadInputsRequest, dataproxy.UploadInputsResponse] - createDownloadLink *connect.Client[dataproxy.CreateDownloadLinkRequest, dataproxy.CreateDownloadLinkResponse] - getActionData *connect.Client[dataproxy.GetActionDataRequest, dataproxy.GetActionDataResponse] - tailLogs *connect.Client[dataproxy.TailLogsRequest, dataproxy.TailLogsResponse] - uploadMetadata *connect.Client[dataproxy.UploadMetadataRequest, dataproxy.CreateUploadLocationResponse] - getLocalActionData *connect.Client[dataproxy.GetActionDataRequest, dataproxy.GetActionDataResponse] - createLocalDownloadLink *connect.Client[dataproxy.CreateLocalDownloadLinkRequest, dataproxy.CreateDownloadLinkResponse] + createUploadLocation *connect.Client[dataproxy.CreateUploadLocationRequest, dataproxy.CreateUploadLocationResponse] + uploadInputs *connect.Client[dataproxy.UploadInputsRequest, dataproxy.UploadInputsResponse] + createDownloadLink *connect.Client[dataproxy.CreateDownloadLinkRequest, dataproxy.CreateDownloadLinkResponse] + getActionData *connect.Client[dataproxy.GetActionDataRequest, dataproxy.GetActionDataResponse] + tailLogs *connect.Client[dataproxy.TailLogsRequest, dataproxy.TailLogsResponse] } // CreateUploadLocation calls flyteidl2.dataproxy.DataProxyService.CreateUploadLocation. @@ -196,21 +151,6 @@ func (c *dataProxyServiceClient) TailLogs(ctx context.Context, req *connect.Requ return c.tailLogs.CallServerStream(ctx, req) } -// UploadMetadata calls flyteidl2.dataproxy.DataProxyService.UploadMetadata. -func (c *dataProxyServiceClient) UploadMetadata(ctx context.Context, req *connect.Request[dataproxy.UploadMetadataRequest]) (*connect.Response[dataproxy.CreateUploadLocationResponse], error) { - return c.uploadMetadata.CallUnary(ctx, req) -} - -// GetLocalActionData calls flyteidl2.dataproxy.DataProxyService.GetLocalActionData. -func (c *dataProxyServiceClient) GetLocalActionData(ctx context.Context, req *connect.Request[dataproxy.GetActionDataRequest]) (*connect.Response[dataproxy.GetActionDataResponse], error) { - return c.getLocalActionData.CallUnary(ctx, req) -} - -// CreateLocalDownloadLink calls flyteidl2.dataproxy.DataProxyService.CreateLocalDownloadLink. -func (c *dataProxyServiceClient) CreateLocalDownloadLink(ctx context.Context, req *connect.Request[dataproxy.CreateLocalDownloadLinkRequest]) (*connect.Response[dataproxy.CreateDownloadLinkResponse], error) { - return c.createLocalDownloadLink.CallUnary(ctx, req) -} - // DataProxyServiceHandler is an implementation of the flyteidl2.dataproxy.DataProxyService service. type DataProxyServiceHandler interface { // CreateUploadLocation generates a signed URL for uploading data to the configured storage backend. @@ -222,17 +162,6 @@ type DataProxyServiceHandler interface { GetActionData(context.Context, *connect.Request[dataproxy.GetActionDataRequest]) (*connect.Response[dataproxy.GetActionDataResponse], error) // Stream logs for an action attempt. TailLogs(context.Context, *connect.Request[dataproxy.TailLogsRequest], *connect.ServerStream[dataproxy.TailLogsResponse]) error - // UploadMetadata generates a signed URL for uploading a local run's metadata artifact - // (inputs.pb / outputs.pb / report.html) directly to the control plane's storage backend. - // Local runs only; never routes to a dataplane. - UploadMetadata(context.Context, *connect.Request[dataproxy.UploadMetadataRequest]) (*connect.Response[dataproxy.CreateUploadLocationResponse], error) - // Get input and output data for an action of a local run, served directly from the control - // plane's storage backend. Local runs only; never routes to a dataplane. - GetLocalActionData(context.Context, *connect.Request[dataproxy.GetActionDataRequest]) (*connect.Response[dataproxy.GetActionDataResponse], error) - // CreateLocalDownloadLink generates signed URL(s) for downloading an artifact of a local run - // action attempt directly from the control plane's storage backend. Local runs only; never - // routes to a dataplane. - CreateLocalDownloadLink(context.Context, *connect.Request[dataproxy.CreateLocalDownloadLinkRequest]) (*connect.Response[dataproxy.CreateDownloadLinkResponse], error) } // NewDataProxyServiceHandler builds an HTTP handler from the service implementation. It returns the @@ -272,25 +201,6 @@ func NewDataProxyServiceHandler(svc DataProxyServiceHandler, opts ...connect.Han connect.WithSchema(dataProxyServiceTailLogsMethodDescriptor), connect.WithHandlerOptions(opts...), ) - dataProxyServiceUploadMetadataHandler := connect.NewUnaryHandler( - DataProxyServiceUploadMetadataProcedure, - svc.UploadMetadata, - connect.WithSchema(dataProxyServiceUploadMetadataMethodDescriptor), - connect.WithHandlerOptions(opts...), - ) - dataProxyServiceGetLocalActionDataHandler := connect.NewUnaryHandler( - DataProxyServiceGetLocalActionDataProcedure, - svc.GetLocalActionData, - connect.WithSchema(dataProxyServiceGetLocalActionDataMethodDescriptor), - connect.WithIdempotency(connect.IdempotencyNoSideEffects), - connect.WithHandlerOptions(opts...), - ) - dataProxyServiceCreateLocalDownloadLinkHandler := connect.NewUnaryHandler( - DataProxyServiceCreateLocalDownloadLinkProcedure, - svc.CreateLocalDownloadLink, - connect.WithSchema(dataProxyServiceCreateLocalDownloadLinkMethodDescriptor), - connect.WithHandlerOptions(opts...), - ) return "/flyteidl2.dataproxy.DataProxyService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { case DataProxyServiceCreateUploadLocationProcedure: @@ -303,12 +213,6 @@ func NewDataProxyServiceHandler(svc DataProxyServiceHandler, opts ...connect.Han dataProxyServiceGetActionDataHandler.ServeHTTP(w, r) case DataProxyServiceTailLogsProcedure: dataProxyServiceTailLogsHandler.ServeHTTP(w, r) - case DataProxyServiceUploadMetadataProcedure: - dataProxyServiceUploadMetadataHandler.ServeHTTP(w, r) - case DataProxyServiceGetLocalActionDataProcedure: - dataProxyServiceGetLocalActionDataHandler.ServeHTTP(w, r) - case DataProxyServiceCreateLocalDownloadLinkProcedure: - dataProxyServiceCreateLocalDownloadLinkHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } @@ -337,15 +241,3 @@ func (UnimplementedDataProxyServiceHandler) GetActionData(context.Context, *conn func (UnimplementedDataProxyServiceHandler) TailLogs(context.Context, *connect.Request[dataproxy.TailLogsRequest], *connect.ServerStream[dataproxy.TailLogsResponse]) error { return connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.dataproxy.DataProxyService.TailLogs is not implemented")) } - -func (UnimplementedDataProxyServiceHandler) UploadMetadata(context.Context, *connect.Request[dataproxy.UploadMetadataRequest]) (*connect.Response[dataproxy.CreateUploadLocationResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.dataproxy.DataProxyService.UploadMetadata is not implemented")) -} - -func (UnimplementedDataProxyServiceHandler) GetLocalActionData(context.Context, *connect.Request[dataproxy.GetActionDataRequest]) (*connect.Response[dataproxy.GetActionDataResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.dataproxy.DataProxyService.GetLocalActionData is not implemented")) -} - -func (UnimplementedDataProxyServiceHandler) CreateLocalDownloadLink(context.Context, *connect.Request[dataproxy.CreateLocalDownloadLinkRequest]) (*connect.Response[dataproxy.CreateDownloadLinkResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("flyteidl2.dataproxy.DataProxyService.CreateLocalDownloadLink is not implemented")) -} diff --git a/gen/python/flyteidl2/cluster/payload_pb2.py b/gen/python/flyteidl2/cluster/payload_pb2.py index cb301cbfff0..48f51f07104 100644 --- a/gen/python/flyteidl2/cluster/payload_pb2.py +++ b/gen/python/flyteidl2/cluster/payload_pb2.py @@ -17,7 +17,7 @@ from flyteidl2.task import task_definition_pb2 as flyteidl2_dot_task_dot_task__definition__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x66lyteidl2/cluster/payload.proto\x12\x11\x66lyteidl2.cluster\x1a\x1b\x62uf/validate/validate.proto\x1a\"flyteidl2/app/app_definition.proto\x1a!flyteidl2/common/identifier.proto\x1a$flyteidl2/task/task_definition.proto\"\x8c\x08\n\x14SelectClusterRequest\x12\x38\n\x06org_id\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.common.OrgIdentifierH\x00R\x05orgId\x12\x44\n\nproject_id\x18\x02 \x01(\x0b\x32#.flyteidl2.common.ProjectIdentifierH\x00R\tprojectId\x12\x39\n\x07task_id\x18\x03 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierH\x00R\x06taskId\x12\x41\n\taction_id\x18\x04 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierH\x00R\x08\x61\x63tionId\x12W\n\x11\x61\x63tion_attempt_id\x18\x05 \x01(\x0b\x32).flyteidl2.common.ActionAttemptIdentifierH\x00R\x0f\x61\x63tionAttemptId\x12\x32\n\x06\x61pp_id\x18\x06 \x01(\x0b\x32\x19.flyteidl2.app.IdentifierH\x00R\x05\x61ppId\x12Q\n\x0f\x63luster_pool_id\x18\x07 \x01(\x0b\x32\'.flyteidl2.common.ClusterPoolIdentifierH\x00R\rclusterPoolId\x12\x41\n\tdomain_id\x18\t \x01(\x0b\x32\".flyteidl2.common.DomainIdentifierH\x00R\x08\x64omainId\x12Y\n\toperation\x18\x08 \x01(\x0e\x32\x31.flyteidl2.cluster.SelectClusterRequest.OperationB\x08\xbaH\x05\x82\x01\x02 \x00R\toperation\"\xe4\x02\n\tOperation\x12\x19\n\x15OPERATION_UNSPECIFIED\x10\x00\x12$\n OPERATION_CREATE_UPLOAD_LOCATION\x10\x01\x12\x1b\n\x17OPERATION_UPLOAD_INPUTS\x10\x02\x12\x1d\n\x19OPERATION_GET_ACTION_DATA\x10\x03\x12!\n\x1dOPERATION_QUERY_RANGE_METRICS\x10\x04\x12\"\n\x1eOPERATION_CREATE_DOWNLOAD_LINK\x10\x05\x12\x17\n\x13OPERATION_TAIL_LOGS\x10\x06\x12(\n$OPERATION_GET_ACTION_ATTEMPT_METRICS\x10\x07\x12\x19\n\x15OPERATION_USE_SECRETS\x10\x08\x12\x1c\n\x18OPERATION_UPLOAD_TRIGGER\x10\t\x12\x17\n\x13OPERATION_GET_IMAGE\x10\nB\x11\n\x08resource\x12\x05\xbaH\x02\x08\x01\"B\n\x15SelectClusterResponse\x12)\n\x10\x63luster_endpoint\x18\x01 \x01(\tR\x0f\x63lusterEndpointB\xc3\x01\n\x15\x63om.flyteidl2.clusterB\x0cPayloadProtoH\x02P\x01Z5github.com/flyteorg/flyte/v2/gen/go/flyteidl2/cluster\xa2\x02\x03\x46\x43X\xaa\x02\x11\x46lyteidl2.Cluster\xca\x02\x11\x46lyteidl2\\Cluster\xe2\x02\x1d\x46lyteidl2\\Cluster\\GPBMetadata\xea\x02\x12\x46lyteidl2::Clusterb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x66lyteidl2/cluster/payload.proto\x12\x11\x66lyteidl2.cluster\x1a\x1b\x62uf/validate/validate.proto\x1a\"flyteidl2/app/app_definition.proto\x1a!flyteidl2/common/identifier.proto\x1a$flyteidl2/task/task_definition.proto\"\xaa\x08\n\x14SelectClusterRequest\x12\x38\n\x06org_id\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.common.OrgIdentifierH\x00R\x05orgId\x12\x44\n\nproject_id\x18\x02 \x01(\x0b\x32#.flyteidl2.common.ProjectIdentifierH\x00R\tprojectId\x12\x39\n\x07task_id\x18\x03 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierH\x00R\x06taskId\x12\x41\n\taction_id\x18\x04 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierH\x00R\x08\x61\x63tionId\x12W\n\x11\x61\x63tion_attempt_id\x18\x05 \x01(\x0b\x32).flyteidl2.common.ActionAttemptIdentifierH\x00R\x0f\x61\x63tionAttemptId\x12\x32\n\x06\x61pp_id\x18\x06 \x01(\x0b\x32\x19.flyteidl2.app.IdentifierH\x00R\x05\x61ppId\x12Q\n\x0f\x63luster_pool_id\x18\x07 \x01(\x0b\x32\'.flyteidl2.common.ClusterPoolIdentifierH\x00R\rclusterPoolId\x12\x41\n\tdomain_id\x18\t \x01(\x0b\x32\".flyteidl2.common.DomainIdentifierH\x00R\x08\x64omainId\x12Y\n\toperation\x18\x08 \x01(\x0e\x32\x31.flyteidl2.cluster.SelectClusterRequest.OperationB\x08\xbaH\x05\x82\x01\x02 \x00R\toperation\"\x82\x03\n\tOperation\x12\x19\n\x15OPERATION_UNSPECIFIED\x10\x00\x12$\n OPERATION_CREATE_UPLOAD_LOCATION\x10\x01\x12\x1b\n\x17OPERATION_UPLOAD_INPUTS\x10\x02\x12\x1d\n\x19OPERATION_GET_ACTION_DATA\x10\x03\x12!\n\x1dOPERATION_QUERY_RANGE_METRICS\x10\x04\x12\"\n\x1eOPERATION_CREATE_DOWNLOAD_LINK\x10\x05\x12\x17\n\x13OPERATION_TAIL_LOGS\x10\x06\x12(\n$OPERATION_GET_ACTION_ATTEMPT_METRICS\x10\x07\x12\x19\n\x15OPERATION_USE_SECRETS\x10\x08\x12\x1c\n\x18OPERATION_UPLOAD_TRIGGER\x10\t\x12\x17\n\x13OPERATION_GET_IMAGE\x10\n\x12\x1c\n\x18OPERATION_LOCAL_RUN_DATA\x10\x0b\x42\x11\n\x08resource\x12\x05\xbaH\x02\x08\x01\"\\\n\x15SelectClusterResponse\x12)\n\x10\x63luster_endpoint\x18\x01 \x01(\tR\x0f\x63lusterEndpoint\x12\x18\n\x07\x63luster\x18\x02 \x01(\tR\x07\x63lusterB\xc3\x01\n\x15\x63om.flyteidl2.clusterB\x0cPayloadProtoH\x02P\x01Z5github.com/flyteorg/flyte/v2/gen/go/flyteidl2/cluster\xa2\x02\x03\x46\x43X\xaa\x02\x11\x46lyteidl2.Cluster\xca\x02\x11\x46lyteidl2\\Cluster\xe2\x02\x1d\x46lyteidl2\\Cluster\\GPBMetadata\xea\x02\x12\x46lyteidl2::Clusterb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -30,9 +30,9 @@ _SELECTCLUSTERREQUEST.fields_by_name['operation']._options = None _SELECTCLUSTERREQUEST.fields_by_name['operation']._serialized_options = b'\272H\005\202\001\002 \000' _globals['_SELECTCLUSTERREQUEST']._serialized_start=193 - _globals['_SELECTCLUSTERREQUEST']._serialized_end=1229 + _globals['_SELECTCLUSTERREQUEST']._serialized_end=1259 _globals['_SELECTCLUSTERREQUEST_OPERATION']._serialized_start=854 - _globals['_SELECTCLUSTERREQUEST_OPERATION']._serialized_end=1210 - _globals['_SELECTCLUSTERRESPONSE']._serialized_start=1231 - _globals['_SELECTCLUSTERRESPONSE']._serialized_end=1297 + _globals['_SELECTCLUSTERREQUEST_OPERATION']._serialized_end=1240 + _globals['_SELECTCLUSTERRESPONSE']._serialized_start=1261 + _globals['_SELECTCLUSTERRESPONSE']._serialized_end=1353 # @@protoc_insertion_point(module_scope) diff --git a/gen/python/flyteidl2/cluster/payload_pb2.pyi b/gen/python/flyteidl2/cluster/payload_pb2.pyi index 31825887504..07980808af6 100644 --- a/gen/python/flyteidl2/cluster/payload_pb2.pyi +++ b/gen/python/flyteidl2/cluster/payload_pb2.pyi @@ -24,6 +24,7 @@ class SelectClusterRequest(_message.Message): OPERATION_USE_SECRETS: _ClassVar[SelectClusterRequest.Operation] OPERATION_UPLOAD_TRIGGER: _ClassVar[SelectClusterRequest.Operation] OPERATION_GET_IMAGE: _ClassVar[SelectClusterRequest.Operation] + OPERATION_LOCAL_RUN_DATA: _ClassVar[SelectClusterRequest.Operation] OPERATION_UNSPECIFIED: SelectClusterRequest.Operation OPERATION_CREATE_UPLOAD_LOCATION: SelectClusterRequest.Operation OPERATION_UPLOAD_INPUTS: SelectClusterRequest.Operation @@ -35,6 +36,7 @@ class SelectClusterRequest(_message.Message): OPERATION_USE_SECRETS: SelectClusterRequest.Operation OPERATION_UPLOAD_TRIGGER: SelectClusterRequest.Operation OPERATION_GET_IMAGE: SelectClusterRequest.Operation + OPERATION_LOCAL_RUN_DATA: SelectClusterRequest.Operation ORG_ID_FIELD_NUMBER: _ClassVar[int] PROJECT_ID_FIELD_NUMBER: _ClassVar[int] TASK_ID_FIELD_NUMBER: _ClassVar[int] @@ -56,7 +58,9 @@ class SelectClusterRequest(_message.Message): def __init__(self, org_id: _Optional[_Union[_identifier_pb2.OrgIdentifier, _Mapping]] = ..., project_id: _Optional[_Union[_identifier_pb2.ProjectIdentifier, _Mapping]] = ..., task_id: _Optional[_Union[_task_definition_pb2.TaskIdentifier, _Mapping]] = ..., action_id: _Optional[_Union[_identifier_pb2.ActionIdentifier, _Mapping]] = ..., action_attempt_id: _Optional[_Union[_identifier_pb2.ActionAttemptIdentifier, _Mapping]] = ..., app_id: _Optional[_Union[_app_definition_pb2.Identifier, _Mapping]] = ..., cluster_pool_id: _Optional[_Union[_identifier_pb2.ClusterPoolIdentifier, _Mapping]] = ..., domain_id: _Optional[_Union[_identifier_pb2.DomainIdentifier, _Mapping]] = ..., operation: _Optional[_Union[SelectClusterRequest.Operation, str]] = ...) -> None: ... class SelectClusterResponse(_message.Message): - __slots__ = ["cluster_endpoint"] + __slots__ = ["cluster_endpoint", "cluster"] CLUSTER_ENDPOINT_FIELD_NUMBER: _ClassVar[int] + CLUSTER_FIELD_NUMBER: _ClassVar[int] cluster_endpoint: str - def __init__(self, cluster_endpoint: _Optional[str] = ...) -> None: ... + cluster: str + def __init__(self, cluster_endpoint: _Optional[str] = ..., cluster: _Optional[str] = ...) -> None: ... diff --git a/gen/python/flyteidl2/dataproxy/dataproxy_service_connect.py b/gen/python/flyteidl2/dataproxy/dataproxy_service_connect.py index b7459d0de2e..e8b62f43255 100644 --- a/gen/python/flyteidl2/dataproxy/dataproxy_service_connect.py +++ b/gen/python/flyteidl2/dataproxy/dataproxy_service_connect.py @@ -32,15 +32,6 @@ async def get_action_data(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__ def tail_logs(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsRequest, ctx: RequestContext) -> AsyncIterator[flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsResponse]: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - async def upload_metadata(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, ctx: RequestContext) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - - async def get_local_action_data(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, ctx: RequestContext) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - - async def create_local_download_link(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, ctx: RequestContext) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - class DataProxyServiceASGIApplication(ConnectASGIApplication[DataProxyService]): def __init__(self, service: DataProxyService | AsyncGenerator[DataProxyService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None: @@ -97,36 +88,6 @@ def __init__(self, service: DataProxyService | AsyncGenerator[DataProxyService], ), function=svc.tail_logs, ), - "/flyteidl2.dataproxy.DataProxyService/UploadMetadata": Endpoint.unary( - method=MethodInfo( - name="UploadMetadata", - service_name="flyteidl2.dataproxy.DataProxyService", - input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, - output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=svc.upload_metadata, - ), - "/flyteidl2.dataproxy.DataProxyService/GetLocalActionData": Endpoint.unary( - method=MethodInfo( - name="GetLocalActionData", - service_name="flyteidl2.dataproxy.DataProxyService", - input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, - output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse, - idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, - ), - function=svc.get_local_action_data, - ), - "/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink": Endpoint.unary( - method=MethodInfo( - name="CreateLocalDownloadLink", - service_name="flyteidl2.dataproxy.DataProxyService", - input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, - output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=svc.create_local_download_link, - ), }, interceptors=interceptors, read_max_bytes=read_max_bytes, @@ -242,68 +203,6 @@ def tail_logs( timeout_ms=timeout_ms, ) - async def upload_metadata( - self, - request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse: - return await self.execute_unary( - request=request, - method=MethodInfo( - name="UploadMetadata", - service_name="flyteidl2.dataproxy.DataProxyService", - input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, - output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - - async def get_local_action_data( - self, - request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - use_get: bool = False, - ) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse: - return await self.execute_unary( - request=request, - method=MethodInfo( - name="GetLocalActionData", - service_name="flyteidl2.dataproxy.DataProxyService", - input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, - output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse, - idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, - ), - headers=headers, - timeout_ms=timeout_ms, - use_get=use_get, - ) - - async def create_local_download_link( - self, - request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse: - return await self.execute_unary( - request=request, - method=MethodInfo( - name="CreateLocalDownloadLink", - service_name="flyteidl2.dataproxy.DataProxyService", - input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, - output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - class DataProxyServiceSync(Protocol): def create_upload_location(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationRequest, ctx: RequestContext) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse: @@ -316,12 +215,6 @@ def get_action_data(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__servic raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def tail_logs(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsRequest, ctx: RequestContext) -> Iterator[flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsResponse]: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - def upload_metadata(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, ctx: RequestContext) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - def get_local_action_data(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, ctx: RequestContext) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") - def create_local_download_link(self, request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, ctx: RequestContext) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse: - raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") class DataProxyServiceWSGIApplication(ConnectWSGIApplication): @@ -378,36 +271,6 @@ def __init__(self, service: DataProxyServiceSync, interceptors: Iterable[Interce ), function=service.tail_logs, ), - "/flyteidl2.dataproxy.DataProxyService/UploadMetadata": EndpointSync.unary( - method=MethodInfo( - name="UploadMetadata", - service_name="flyteidl2.dataproxy.DataProxyService", - input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, - output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=service.upload_metadata, - ), - "/flyteidl2.dataproxy.DataProxyService/GetLocalActionData": EndpointSync.unary( - method=MethodInfo( - name="GetLocalActionData", - service_name="flyteidl2.dataproxy.DataProxyService", - input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, - output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse, - idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, - ), - function=service.get_local_action_data, - ), - "/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink": EndpointSync.unary( - method=MethodInfo( - name="CreateLocalDownloadLink", - service_name="flyteidl2.dataproxy.DataProxyService", - input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, - output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - function=service.create_local_download_link, - ), }, interceptors=interceptors, read_max_bytes=read_max_bytes, @@ -522,65 +385,3 @@ def tail_logs( headers=headers, timeout_ms=timeout_ms, ) - - def upload_metadata( - self, - request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse: - return self.execute_unary( - request=request, - method=MethodInfo( - name="UploadMetadata", - service_name="flyteidl2.dataproxy.DataProxyService", - input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest, - output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) - - def get_local_action_data( - self, - request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - use_get: bool = False, - ) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse: - return self.execute_unary( - request=request, - method=MethodInfo( - name="GetLocalActionData", - service_name="flyteidl2.dataproxy.DataProxyService", - input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest, - output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse, - idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, - ), - headers=headers, - timeout_ms=timeout_ms, - use_get=use_get, - ) - - def create_local_download_link( - self, - request: flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, - *, - headers: Headers | Mapping[str, str] | None = None, - timeout_ms: int | None = None, - ) -> flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse: - return self.execute_unary( - request=request, - method=MethodInfo( - name="CreateLocalDownloadLink", - service_name="flyteidl2.dataproxy.DataProxyService", - input=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest, - output=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse, - idempotency_level=IdempotencyLevel.UNKNOWN, - ), - headers=headers, - timeout_ms=timeout_ms, - ) diff --git a/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.py b/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.py index 42a4ef9f30d..70ae3d16c0b 100644 --- a/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.py +++ b/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.py @@ -18,11 +18,12 @@ from flyteidl2.logs.dataplane import payload_pb2 as flyteidl2_dot_logs_dot_dataplane_dot_payload__pb2 from flyteidl2.task import common_pb2 as flyteidl2_dot_task_dot_common__pb2 from flyteidl2.task import task_definition_pb2 as flyteidl2_dot_task_dot_task__definition__pb2 +from flyteidl2.workflow import run_definition_pb2 as flyteidl2_dot_workflow_dot_run__definition__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+flyteidl2/dataproxy/dataproxy_service.proto\x12\x13\x66lyteidl2.dataproxy\x1a\x1b\x62uf/validate/validate.proto\x1a\"flyteidl2/app/app_definition.proto\x1a!flyteidl2/common/identifier.proto\x1a\x1a\x66lyteidl2/common/run.proto\x1a&flyteidl2/logs/dataplane/payload.proto\x1a\x1b\x66lyteidl2/task/common.proto\x1a$flyteidl2/task/task_definition.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf8\x02\n\x1b\x43reateUploadLocationRequest\x12!\n\x07project\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x07project\x12\x1f\n\x06\x64omain\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06\x64omain\x12\x1a\n\x08\x66ilename\x18\x03 \x01(\tR\x08\x66ilename\x12\x38\n\nexpires_in\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\x12(\n\x0b\x63ontent_md5\x18\x05 \x01(\x0c\x42\x07\xbaH\x04z\x02h\x10R\ncontentMd5\x12#\n\rfilename_root\x18\x06 \x01(\tR\x0c\x66ilenameRoot\x12\x37\n\x18\x61\x64\x64_content_md5_metadata\x18\x07 \x01(\x08R\x15\x61\x64\x64\x43ontentMd5Metadata\x12\x10\n\x03org\x18\x08 \x01(\tR\x03org\x12%\n\x0e\x63ontent_length\x18\t \x01(\x03R\rcontentLength\"\xad\x02\n\x1c\x43reateUploadLocationResponse\x12\x1d\n\nsigned_url\x18\x01 \x01(\tR\tsignedUrl\x12\x1d\n\nnative_url\x18\x02 \x01(\tR\tnativeUrl\x12\x39\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12X\n\x07headers\x18\x04 \x03(\x0b\x32>.flyteidl2.dataproxy.CreateUploadLocationResponse.HeadersEntryR\x07headers\x1a:\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xb4\x03\n\x13UploadInputsRequest\x12\x38\n\x06run_id\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.common.RunIdentifierH\x00R\x05runId\x12\x44\n\nproject_id\x18\x02 \x01(\x0b\x32#.flyteidl2.common.ProjectIdentifierH\x00R\tprojectId\x12\x39\n\x07task_id\x18\x03 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierH\x01R\x06taskId\x12\x37\n\ttask_spec\x18\x04 \x01(\x0b\x32\x18.flyteidl2.task.TaskSpecH\x01R\x08taskSpec\x12\x42\n\x0ctrigger_name\x18\x05 \x01(\x0b\x32\x1d.flyteidl2.common.TriggerNameH\x01R\x0btriggerName\x12.\n\x06inputs\x18\x06 \x01(\x0b\x32\x16.flyteidl2.task.InputsR\x06inputs\x12\x19\n\x08\x62\x61se_dir\x18\x07 \x01(\tR\x07\x62\x61seDirB\x0b\n\x02id\x12\x05\xbaH\x02\x08\x01\x42\r\n\x04task\x12\x05\xbaH\x02\x08\x01\"n\n\x14UploadInputsResponse\x12V\n\x14offloaded_input_data\x18\x01 \x01(\x0b\x32$.flyteidl2.common.OffloadedInputDataR\x12offloadedInputData\"i\n\rPreSignedURLs\x12\x1d\n\nsigned_url\x18\x01 \x03(\tR\tsignedUrl\x12\x39\n\nexpires_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\"\x80\x03\n\x19\x43reateDownloadLinkRequest\x12P\n\rartifact_type\x18\x01 \x01(\x0e\x32!.flyteidl2.dataproxy.ArtifactTypeB\x08\xbaH\x05\x82\x01\x02 \x00R\x0c\x61rtifactType\x12\x38\n\nexpires_in\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\x12W\n\x11\x61\x63tion_attempt_id\x18\x03 \x01(\x0b\x32).flyteidl2.common.ActionAttemptIdentifierH\x00R\x0f\x61\x63tionAttemptId\x12\x32\n\x06\x61pp_id\x18\x04 \x01(\x0b\x32\x19.flyteidl2.app.IdentifierH\x00R\x05\x61ppId\x12\x39\n\x07task_id\x18\x05 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierH\x00R\x06taskIdB\x0f\n\x06source\x12\x05\xbaH\x02\x08\x01\"h\n\x1a\x43reateDownloadLinkResponse\x12J\n\x0fpre_signed_urls\x18\x01 \x01(\x0b\x32\".flyteidl2.dataproxy.PreSignedURLsR\rpreSignedUrls\"_\n\x14GetActionDataRequest\x12G\n\taction_id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x08\x61\x63tionId\"\xba\x01\n\x15GetActionDataResponse\x12.\n\x06inputs\x18\x01 \x01(\x0b\x32\x16.flyteidl2.task.InputsR\x06inputs\x12\x31\n\x07outputs\x18\x02 \x01(\x0b\x32\x17.flyteidl2.task.OutputsR\x07outputs\x12\x1d\n\ninputs_uri\x18\x03 \x01(\tR\tinputsUri\x12\x1f\n\x0boutputs_uri\x18\x04 \x01(\tR\noutputsUri\"\xb5\x02\n\x0fTailLogsRequest\x12G\n\taction_id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x08\x61\x63tionId\x12!\n\x07\x61ttempt\x18\x02 \x01(\rB\x07\xbaH\x04*\x02 \x00R\x07\x61ttempt\x12!\n\x0bprimary_pod\x18\x06 \x01(\x08H\x00R\nprimaryPod\x12\x1b\n\x08\x61ll_pods\x18\x05 \x01(\x08H\x00R\x07\x61llPods\x12\x1b\n\x08pod_name\x18\x03 \x01(\tH\x00R\x07podName\x12\x32\n\x12\x63onnector_endpoint\x18\x04 \x01(\tH\x01R\x11\x63onnectorEndpoint\x88\x01\x01\x42\x0e\n\x0cpod_selectorB\x15\n\x13_connector_endpoint\"\xde\x03\n\x15UploadMetadataRequest\x12T\n\rartifact_type\x18\x01 \x01(\x0e\x32!.flyteidl2.dataproxy.ArtifactTypeB\x0c\xbaH\t\x82\x01\x06\x18\x01\x18\x03\x18\x04R\x0c\x61rtifactType\x12\x41\n\taction_id\x18\x02 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierH\x00R\x08\x61\x63tionId\x12W\n\x11\x61\x63tion_attempt_id\x18\x03 \x01(\x0b\x32).flyteidl2.common.ActionAttemptIdentifierH\x00R\x0f\x61\x63tionAttemptId\x12(\n\x0b\x63ontent_md5\x18\x04 \x01(\x0c\x42\x07\xbaH\x04z\x02h\x10R\ncontentMd5\x12%\n\x0e\x63ontent_length\x18\x05 \x01(\x03R\rcontentLength\x12\x38\n\nexpires_in\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\x12\x37\n\x18\x61\x64\x64_content_md5_metadata\x18\x07 \x01(\x08R\x15\x61\x64\x64\x43ontentMd5MetadataB\x0f\n\x06target\x12\x05\xbaH\x02\x08\x01\"\x8b\x02\n\x1e\x43reateLocalDownloadLinkRequest\x12P\n\rartifact_type\x18\x01 \x01(\x0e\x32!.flyteidl2.dataproxy.ArtifactTypeB\x08\xbaH\x05\x82\x01\x02 \x00R\x0c\x61rtifactType\x12]\n\x11\x61\x63tion_attempt_id\x18\x02 \x01(\x0b\x32).flyteidl2.common.ActionAttemptIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x0f\x61\x63tionAttemptId\x12\x38\n\nexpires_in\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\"\xe1\x01\n\x10TailLogsResponse\x12>\n\x04logs\x18\x01 \x03(\x0b\x32*.flyteidl2.dataproxy.TailLogsResponse.LogsR\x04logs\x1a\x8c\x01\n\x04Logs\x12\x37\n\x05lines\x18\x01 \x03(\x0b\x32!.flyteidl2.logs.dataplane.LogLineR\x05lines\x12K\n\tcontainer\x18\x02 \x01(\x0b\x32-.flyteidl2.logs.dataplane.ContainerIdentifierR\tcontainer*\x9b\x01\n\x0c\x41rtifactType\x12\x1d\n\x19\x41RTIFACT_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14\x41RTIFACT_TYPE_REPORT\x10\x01\x12\x1d\n\x19\x41RTIFACT_TYPE_CODE_BUNDLE\x10\x02\x12\x18\n\x14\x41RTIFACT_TYPE_INPUTS\x10\x03\x12\x19\n\x15\x41RTIFACT_TYPE_OUTPUTS\x10\x04\x32\xa4\x07\n\x10\x44\x61taProxyService\x12}\n\x14\x43reateUploadLocation\x12\x30.flyteidl2.dataproxy.CreateUploadLocationRequest\x1a\x31.flyteidl2.dataproxy.CreateUploadLocationResponse\"\x00\x12\x65\n\x0cUploadInputs\x12(.flyteidl2.dataproxy.UploadInputsRequest\x1a).flyteidl2.dataproxy.UploadInputsResponse\"\x00\x12w\n\x12\x43reateDownloadLink\x12..flyteidl2.dataproxy.CreateDownloadLinkRequest\x1a/.flyteidl2.dataproxy.CreateDownloadLinkResponse\"\x00\x12k\n\rGetActionData\x12).flyteidl2.dataproxy.GetActionDataRequest\x1a*.flyteidl2.dataproxy.GetActionDataResponse\"\x03\x90\x02\x01\x12[\n\x08TailLogs\x12$.flyteidl2.dataproxy.TailLogsRequest\x1a%.flyteidl2.dataproxy.TailLogsResponse\"\x00\x30\x01\x12q\n\x0eUploadMetadata\x12*.flyteidl2.dataproxy.UploadMetadataRequest\x1a\x31.flyteidl2.dataproxy.CreateUploadLocationResponse\"\x00\x12p\n\x12GetLocalActionData\x12).flyteidl2.dataproxy.GetActionDataRequest\x1a*.flyteidl2.dataproxy.GetActionDataResponse\"\x03\x90\x02\x01\x12\x81\x01\n\x17\x43reateLocalDownloadLink\x12\x33.flyteidl2.dataproxy.CreateLocalDownloadLinkRequest\x1a/.flyteidl2.dataproxy.CreateDownloadLinkResponse\"\x00\x42\xd8\x01\n\x17\x63om.flyteidl2.dataproxyB\x15\x44\x61taproxyServiceProtoH\x02P\x01Z7github.com/flyteorg/flyte/v2/gen/go/flyteidl2/dataproxy\xa2\x02\x03\x46\x44X\xaa\x02\x13\x46lyteidl2.Dataproxy\xca\x02\x13\x46lyteidl2\\Dataproxy\xe2\x02\x1f\x46lyteidl2\\Dataproxy\\GPBMetadata\xea\x02\x14\x46lyteidl2::Dataproxyb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+flyteidl2/dataproxy/dataproxy_service.proto\x12\x13\x66lyteidl2.dataproxy\x1a\x1b\x62uf/validate/validate.proto\x1a\"flyteidl2/app/app_definition.proto\x1a!flyteidl2/common/identifier.proto\x1a\x1a\x66lyteidl2/common/run.proto\x1a&flyteidl2/logs/dataplane/payload.proto\x1a\x1b\x66lyteidl2/task/common.proto\x1a$flyteidl2/task/task_definition.proto\x1a\'flyteidl2/workflow/run_definition.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf8\x02\n\x1b\x43reateUploadLocationRequest\x12!\n\x07project\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x07project\x12\x1f\n\x06\x64omain\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06\x64omain\x12\x1a\n\x08\x66ilename\x18\x03 \x01(\tR\x08\x66ilename\x12\x38\n\nexpires_in\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\x12(\n\x0b\x63ontent_md5\x18\x05 \x01(\x0c\x42\x07\xbaH\x04z\x02h\x10R\ncontentMd5\x12#\n\rfilename_root\x18\x06 \x01(\tR\x0c\x66ilenameRoot\x12\x37\n\x18\x61\x64\x64_content_md5_metadata\x18\x07 \x01(\x08R\x15\x61\x64\x64\x43ontentMd5Metadata\x12\x10\n\x03org\x18\x08 \x01(\tR\x03org\x12%\n\x0e\x63ontent_length\x18\t \x01(\x03R\rcontentLength\"\xad\x02\n\x1c\x43reateUploadLocationResponse\x12\x1d\n\nsigned_url\x18\x01 \x01(\tR\tsignedUrl\x12\x1d\n\nnative_url\x18\x02 \x01(\tR\tnativeUrl\x12\x39\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12X\n\x07headers\x18\x04 \x03(\x0b\x32>.flyteidl2.dataproxy.CreateUploadLocationResponse.HeadersEntryR\x07headers\x1a:\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xb4\x03\n\x13UploadInputsRequest\x12\x38\n\x06run_id\x18\x01 \x01(\x0b\x32\x1f.flyteidl2.common.RunIdentifierH\x00R\x05runId\x12\x44\n\nproject_id\x18\x02 \x01(\x0b\x32#.flyteidl2.common.ProjectIdentifierH\x00R\tprojectId\x12\x39\n\x07task_id\x18\x03 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierH\x01R\x06taskId\x12\x37\n\ttask_spec\x18\x04 \x01(\x0b\x32\x18.flyteidl2.task.TaskSpecH\x01R\x08taskSpec\x12\x42\n\x0ctrigger_name\x18\x05 \x01(\x0b\x32\x1d.flyteidl2.common.TriggerNameH\x01R\x0btriggerName\x12.\n\x06inputs\x18\x06 \x01(\x0b\x32\x16.flyteidl2.task.InputsR\x06inputs\x12\x19\n\x08\x62\x61se_dir\x18\x07 \x01(\tR\x07\x62\x61seDirB\x0b\n\x02id\x12\x05\xbaH\x02\x08\x01\x42\r\n\x04task\x12\x05\xbaH\x02\x08\x01\"n\n\x14UploadInputsResponse\x12V\n\x14offloaded_input_data\x18\x01 \x01(\x0b\x32$.flyteidl2.common.OffloadedInputDataR\x12offloadedInputData\"i\n\rPreSignedURLs\x12\x1d\n\nsigned_url\x18\x01 \x03(\tR\tsignedUrl\x12\x39\n\nexpires_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\"\x80\x03\n\x19\x43reateDownloadLinkRequest\x12P\n\rartifact_type\x18\x01 \x01(\x0e\x32!.flyteidl2.dataproxy.ArtifactTypeB\x08\xbaH\x05\x82\x01\x02 \x00R\x0c\x61rtifactType\x12\x38\n\nexpires_in\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\x12W\n\x11\x61\x63tion_attempt_id\x18\x03 \x01(\x0b\x32).flyteidl2.common.ActionAttemptIdentifierH\x00R\x0f\x61\x63tionAttemptId\x12\x32\n\x06\x61pp_id\x18\x04 \x01(\x0b\x32\x19.flyteidl2.app.IdentifierH\x00R\x05\x61ppId\x12\x39\n\x07task_id\x18\x05 \x01(\x0b\x32\x1e.flyteidl2.task.TaskIdentifierH\x00R\x06taskIdB\x0f\n\x06source\x12\x05\xbaH\x02\x08\x01\"h\n\x1a\x43reateDownloadLinkResponse\x12J\n\x0fpre_signed_urls\x18\x01 \x01(\x0b\x32\".flyteidl2.dataproxy.PreSignedURLsR\rpreSignedUrls\"\x9d\x01\n\x14GetActionDataRequest\x12G\n\taction_id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x08\x61\x63tionId\x12<\n\nrun_source\x18\x02 \x01(\x0e\x32\x1d.flyteidl2.workflow.RunSourceR\trunSource\"\xba\x01\n\x15GetActionDataResponse\x12.\n\x06inputs\x18\x01 \x01(\x0b\x32\x16.flyteidl2.task.InputsR\x06inputs\x12\x31\n\x07outputs\x18\x02 \x01(\x0b\x32\x17.flyteidl2.task.OutputsR\x07outputs\x12\x1d\n\ninputs_uri\x18\x03 \x01(\tR\tinputsUri\x12\x1f\n\x0boutputs_uri\x18\x04 \x01(\tR\noutputsUri\"\xb5\x02\n\x0fTailLogsRequest\x12G\n\taction_id\x18\x01 \x01(\x0b\x32\".flyteidl2.common.ActionIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x08\x61\x63tionId\x12!\n\x07\x61ttempt\x18\x02 \x01(\rB\x07\xbaH\x04*\x02 \x00R\x07\x61ttempt\x12!\n\x0bprimary_pod\x18\x06 \x01(\x08H\x00R\nprimaryPod\x12\x1b\n\x08\x61ll_pods\x18\x05 \x01(\x08H\x00R\x07\x61llPods\x12\x1b\n\x08pod_name\x18\x03 \x01(\tH\x00R\x07podName\x12\x32\n\x12\x63onnector_endpoint\x18\x04 \x01(\tH\x01R\x11\x63onnectorEndpoint\x88\x01\x01\x42\x0e\n\x0cpod_selectorB\x15\n\x13_connector_endpoint\"\xe1\x01\n\x10TailLogsResponse\x12>\n\x04logs\x18\x01 \x03(\x0b\x32*.flyteidl2.dataproxy.TailLogsResponse.LogsR\x04logs\x1a\x8c\x01\n\x04Logs\x12\x37\n\x05lines\x18\x01 \x03(\x0b\x32!.flyteidl2.logs.dataplane.LogLineR\x05lines\x12K\n\tcontainer\x18\x02 \x01(\x0b\x32-.flyteidl2.logs.dataplane.ContainerIdentifierR\tcontainer*f\n\x0c\x41rtifactType\x12\x1d\n\x19\x41RTIFACT_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14\x41RTIFACT_TYPE_REPORT\x10\x01\x12\x1d\n\x19\x41RTIFACT_TYPE_CODE_BUNDLE\x10\x02\x32\xbb\x04\n\x10\x44\x61taProxyService\x12}\n\x14\x43reateUploadLocation\x12\x30.flyteidl2.dataproxy.CreateUploadLocationRequest\x1a\x31.flyteidl2.dataproxy.CreateUploadLocationResponse\"\x00\x12\x65\n\x0cUploadInputs\x12(.flyteidl2.dataproxy.UploadInputsRequest\x1a).flyteidl2.dataproxy.UploadInputsResponse\"\x00\x12w\n\x12\x43reateDownloadLink\x12..flyteidl2.dataproxy.CreateDownloadLinkRequest\x1a/.flyteidl2.dataproxy.CreateDownloadLinkResponse\"\x00\x12k\n\rGetActionData\x12).flyteidl2.dataproxy.GetActionDataRequest\x1a*.flyteidl2.dataproxy.GetActionDataResponse\"\x03\x90\x02\x01\x12[\n\x08TailLogs\x12$.flyteidl2.dataproxy.TailLogsRequest\x1a%.flyteidl2.dataproxy.TailLogsResponse\"\x00\x30\x01\x42\xd8\x01\n\x17\x63om.flyteidl2.dataproxyB\x15\x44\x61taproxyServiceProtoH\x02P\x01Z7github.com/flyteorg/flyte/v2/gen/go/flyteidl2/dataproxy\xa2\x02\x03\x46\x44X\xaa\x02\x13\x46lyteidl2.Dataproxy\xca\x02\x13\x46lyteidl2\\Dataproxy\xe2\x02\x1f\x46lyteidl2\\Dataproxy\\GPBMetadata\xea\x02\x14\x46lyteidl2::Dataproxyb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -52,52 +53,36 @@ _TAILLOGSREQUEST.fields_by_name['action_id']._serialized_options = b'\272H\003\310\001\001' _TAILLOGSREQUEST.fields_by_name['attempt']._options = None _TAILLOGSREQUEST.fields_by_name['attempt']._serialized_options = b'\272H\004*\002 \000' - _UPLOADMETADATAREQUEST.oneofs_by_name['target']._options = None - _UPLOADMETADATAREQUEST.oneofs_by_name['target']._serialized_options = b'\272H\002\010\001' - _UPLOADMETADATAREQUEST.fields_by_name['artifact_type']._options = None - _UPLOADMETADATAREQUEST.fields_by_name['artifact_type']._serialized_options = b'\272H\t\202\001\006\030\001\030\003\030\004' - _UPLOADMETADATAREQUEST.fields_by_name['content_md5']._options = None - _UPLOADMETADATAREQUEST.fields_by_name['content_md5']._serialized_options = b'\272H\004z\002h\020' - _CREATELOCALDOWNLOADLINKREQUEST.fields_by_name['artifact_type']._options = None - _CREATELOCALDOWNLOADLINKREQUEST.fields_by_name['artifact_type']._serialized_options = b'\272H\005\202\001\002 \000' - _CREATELOCALDOWNLOADLINKREQUEST.fields_by_name['action_attempt_id']._options = None - _CREATELOCALDOWNLOADLINKREQUEST.fields_by_name['action_attempt_id']._serialized_options = b'\272H\003\310\001\001' _DATAPROXYSERVICE.methods_by_name['GetActionData']._options = None _DATAPROXYSERVICE.methods_by_name['GetActionData']._serialized_options = b'\220\002\001' - _DATAPROXYSERVICE.methods_by_name['GetLocalActionData']._options = None - _DATAPROXYSERVICE.methods_by_name['GetLocalActionData']._serialized_options = b'\220\002\001' - _globals['_ARTIFACTTYPE']._serialized_start=3780 - _globals['_ARTIFACTTYPE']._serialized_end=3935 - _globals['_CREATEUPLOADLOCATIONREQUEST']._serialized_start=369 - _globals['_CREATEUPLOADLOCATIONREQUEST']._serialized_end=745 - _globals['_CREATEUPLOADLOCATIONRESPONSE']._serialized_start=748 - _globals['_CREATEUPLOADLOCATIONRESPONSE']._serialized_end=1049 - _globals['_CREATEUPLOADLOCATIONRESPONSE_HEADERSENTRY']._serialized_start=991 - _globals['_CREATEUPLOADLOCATIONRESPONSE_HEADERSENTRY']._serialized_end=1049 - _globals['_UPLOADINPUTSREQUEST']._serialized_start=1052 - _globals['_UPLOADINPUTSREQUEST']._serialized_end=1488 - _globals['_UPLOADINPUTSRESPONSE']._serialized_start=1490 - _globals['_UPLOADINPUTSRESPONSE']._serialized_end=1600 - _globals['_PRESIGNEDURLS']._serialized_start=1602 - _globals['_PRESIGNEDURLS']._serialized_end=1707 - _globals['_CREATEDOWNLOADLINKREQUEST']._serialized_start=1710 - _globals['_CREATEDOWNLOADLINKREQUEST']._serialized_end=2094 - _globals['_CREATEDOWNLOADLINKRESPONSE']._serialized_start=2096 - _globals['_CREATEDOWNLOADLINKRESPONSE']._serialized_end=2200 - _globals['_GETACTIONDATAREQUEST']._serialized_start=2202 - _globals['_GETACTIONDATAREQUEST']._serialized_end=2297 - _globals['_GETACTIONDATARESPONSE']._serialized_start=2300 - _globals['_GETACTIONDATARESPONSE']._serialized_end=2486 - _globals['_TAILLOGSREQUEST']._serialized_start=2489 - _globals['_TAILLOGSREQUEST']._serialized_end=2798 - _globals['_UPLOADMETADATAREQUEST']._serialized_start=2801 - _globals['_UPLOADMETADATAREQUEST']._serialized_end=3279 - _globals['_CREATELOCALDOWNLOADLINKREQUEST']._serialized_start=3282 - _globals['_CREATELOCALDOWNLOADLINKREQUEST']._serialized_end=3549 - _globals['_TAILLOGSRESPONSE']._serialized_start=3552 - _globals['_TAILLOGSRESPONSE']._serialized_end=3777 - _globals['_TAILLOGSRESPONSE_LOGS']._serialized_start=3637 - _globals['_TAILLOGSRESPONSE_LOGS']._serialized_end=3777 - _globals['_DATAPROXYSERVICE']._serialized_start=3938 - _globals['_DATAPROXYSERVICE']._serialized_end=4870 + _globals['_ARTIFACTTYPE']._serialized_start=3132 + _globals['_ARTIFACTTYPE']._serialized_end=3234 + _globals['_CREATEUPLOADLOCATIONREQUEST']._serialized_start=410 + _globals['_CREATEUPLOADLOCATIONREQUEST']._serialized_end=786 + _globals['_CREATEUPLOADLOCATIONRESPONSE']._serialized_start=789 + _globals['_CREATEUPLOADLOCATIONRESPONSE']._serialized_end=1090 + _globals['_CREATEUPLOADLOCATIONRESPONSE_HEADERSENTRY']._serialized_start=1032 + _globals['_CREATEUPLOADLOCATIONRESPONSE_HEADERSENTRY']._serialized_end=1090 + _globals['_UPLOADINPUTSREQUEST']._serialized_start=1093 + _globals['_UPLOADINPUTSREQUEST']._serialized_end=1529 + _globals['_UPLOADINPUTSRESPONSE']._serialized_start=1531 + _globals['_UPLOADINPUTSRESPONSE']._serialized_end=1641 + _globals['_PRESIGNEDURLS']._serialized_start=1643 + _globals['_PRESIGNEDURLS']._serialized_end=1748 + _globals['_CREATEDOWNLOADLINKREQUEST']._serialized_start=1751 + _globals['_CREATEDOWNLOADLINKREQUEST']._serialized_end=2135 + _globals['_CREATEDOWNLOADLINKRESPONSE']._serialized_start=2137 + _globals['_CREATEDOWNLOADLINKRESPONSE']._serialized_end=2241 + _globals['_GETACTIONDATAREQUEST']._serialized_start=2244 + _globals['_GETACTIONDATAREQUEST']._serialized_end=2401 + _globals['_GETACTIONDATARESPONSE']._serialized_start=2404 + _globals['_GETACTIONDATARESPONSE']._serialized_end=2590 + _globals['_TAILLOGSREQUEST']._serialized_start=2593 + _globals['_TAILLOGSREQUEST']._serialized_end=2902 + _globals['_TAILLOGSRESPONSE']._serialized_start=2905 + _globals['_TAILLOGSRESPONSE']._serialized_end=3130 + _globals['_TAILLOGSRESPONSE_LOGS']._serialized_start=2990 + _globals['_TAILLOGSRESPONSE_LOGS']._serialized_end=3130 + _globals['_DATAPROXYSERVICE']._serialized_start=3237 + _globals['_DATAPROXYSERVICE']._serialized_end=3808 # @@protoc_insertion_point(module_scope) diff --git a/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.pyi b/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.pyi index 69abddd6fca..9c641dd7d3d 100644 --- a/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.pyi +++ b/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.pyi @@ -5,6 +5,7 @@ from flyteidl2.common import run_pb2 as _run_pb2 from flyteidl2.logs.dataplane import payload_pb2 as _payload_pb2 from flyteidl2.task import common_pb2 as _common_pb2 from flyteidl2.task import task_definition_pb2 as _task_definition_pb2 +from flyteidl2.workflow import run_definition_pb2 as _run_definition_pb2 from google.protobuf import duration_pb2 as _duration_pb2 from google.protobuf import timestamp_pb2 as _timestamp_pb2 from google.protobuf.internal import containers as _containers @@ -20,13 +21,9 @@ class ArtifactType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): ARTIFACT_TYPE_UNSPECIFIED: _ClassVar[ArtifactType] ARTIFACT_TYPE_REPORT: _ClassVar[ArtifactType] ARTIFACT_TYPE_CODE_BUNDLE: _ClassVar[ArtifactType] - ARTIFACT_TYPE_INPUTS: _ClassVar[ArtifactType] - ARTIFACT_TYPE_OUTPUTS: _ClassVar[ArtifactType] ARTIFACT_TYPE_UNSPECIFIED: ArtifactType ARTIFACT_TYPE_REPORT: ArtifactType ARTIFACT_TYPE_CODE_BUNDLE: ArtifactType -ARTIFACT_TYPE_INPUTS: ArtifactType -ARTIFACT_TYPE_OUTPUTS: ArtifactType class CreateUploadLocationRequest(_message.Message): __slots__ = ["project", "domain", "filename", "expires_in", "content_md5", "filename_root", "add_content_md5_metadata", "org", "content_length"] @@ -122,10 +119,12 @@ class CreateDownloadLinkResponse(_message.Message): def __init__(self, pre_signed_urls: _Optional[_Union[PreSignedURLs, _Mapping]] = ...) -> None: ... class GetActionDataRequest(_message.Message): - __slots__ = ["action_id"] + __slots__ = ["action_id", "run_source"] ACTION_ID_FIELD_NUMBER: _ClassVar[int] + RUN_SOURCE_FIELD_NUMBER: _ClassVar[int] action_id: _identifier_pb2.ActionIdentifier - def __init__(self, action_id: _Optional[_Union[_identifier_pb2.ActionIdentifier, _Mapping]] = ...) -> None: ... + run_source: _run_definition_pb2.RunSource + def __init__(self, action_id: _Optional[_Union[_identifier_pb2.ActionIdentifier, _Mapping]] = ..., run_source: _Optional[_Union[_run_definition_pb2.RunSource, str]] = ...) -> None: ... class GetActionDataResponse(_message.Message): __slots__ = ["inputs", "outputs", "inputs_uri", "outputs_uri"] @@ -155,34 +154,6 @@ class TailLogsRequest(_message.Message): connector_endpoint: str def __init__(self, action_id: _Optional[_Union[_identifier_pb2.ActionIdentifier, _Mapping]] = ..., attempt: _Optional[int] = ..., primary_pod: bool = ..., all_pods: bool = ..., pod_name: _Optional[str] = ..., connector_endpoint: _Optional[str] = ...) -> None: ... -class UploadMetadataRequest(_message.Message): - __slots__ = ["artifact_type", "action_id", "action_attempt_id", "content_md5", "content_length", "expires_in", "add_content_md5_metadata"] - ARTIFACT_TYPE_FIELD_NUMBER: _ClassVar[int] - ACTION_ID_FIELD_NUMBER: _ClassVar[int] - ACTION_ATTEMPT_ID_FIELD_NUMBER: _ClassVar[int] - CONTENT_MD5_FIELD_NUMBER: _ClassVar[int] - CONTENT_LENGTH_FIELD_NUMBER: _ClassVar[int] - EXPIRES_IN_FIELD_NUMBER: _ClassVar[int] - ADD_CONTENT_MD5_METADATA_FIELD_NUMBER: _ClassVar[int] - artifact_type: ArtifactType - action_id: _identifier_pb2.ActionIdentifier - action_attempt_id: _identifier_pb2.ActionAttemptIdentifier - content_md5: bytes - content_length: int - expires_in: _duration_pb2.Duration - add_content_md5_metadata: bool - def __init__(self, artifact_type: _Optional[_Union[ArtifactType, str]] = ..., action_id: _Optional[_Union[_identifier_pb2.ActionIdentifier, _Mapping]] = ..., action_attempt_id: _Optional[_Union[_identifier_pb2.ActionAttemptIdentifier, _Mapping]] = ..., content_md5: _Optional[bytes] = ..., content_length: _Optional[int] = ..., expires_in: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., add_content_md5_metadata: bool = ...) -> None: ... - -class CreateLocalDownloadLinkRequest(_message.Message): - __slots__ = ["artifact_type", "action_attempt_id", "expires_in"] - ARTIFACT_TYPE_FIELD_NUMBER: _ClassVar[int] - ACTION_ATTEMPT_ID_FIELD_NUMBER: _ClassVar[int] - EXPIRES_IN_FIELD_NUMBER: _ClassVar[int] - artifact_type: ArtifactType - action_attempt_id: _identifier_pb2.ActionAttemptIdentifier - expires_in: _duration_pb2.Duration - def __init__(self, artifact_type: _Optional[_Union[ArtifactType, str]] = ..., action_attempt_id: _Optional[_Union[_identifier_pb2.ActionAttemptIdentifier, _Mapping]] = ..., expires_in: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... - class TailLogsResponse(_message.Message): __slots__ = ["logs"] class Logs(_message.Message): diff --git a/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2_grpc.py b/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2_grpc.py index 6452136aa20..f28b619afae 100644 --- a/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2_grpc.py +++ b/gen/python/flyteidl2/dataproxy/dataproxy_service_pb2_grpc.py @@ -40,21 +40,6 @@ def __init__(self, channel): request_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsRequest.SerializeToString, response_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsResponse.FromString, ) - self.UploadMetadata = channel.unary_unary( - '/flyteidl2.dataproxy.DataProxyService/UploadMetadata', - request_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest.SerializeToString, - response_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse.FromString, - ) - self.GetLocalActionData = channel.unary_unary( - '/flyteidl2.dataproxy.DataProxyService/GetLocalActionData', - request_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest.SerializeToString, - response_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse.FromString, - ) - self.CreateLocalDownloadLink = channel.unary_unary( - '/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink', - request_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest.SerializeToString, - response_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse.FromString, - ) class DataProxyServiceServicer(object): @@ -95,32 +80,6 @@ def TailLogs(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def UploadMetadata(self, request, context): - """UploadMetadata generates a signed URL for uploading a local run's metadata artifact - (inputs.pb / outputs.pb / report.html) directly to the control plane's storage backend. - Local runs only; never routes to a dataplane. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetLocalActionData(self, request, context): - """Get input and output data for an action of a local run, served directly from the control - plane's storage backend. Local runs only; never routes to a dataplane. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def CreateLocalDownloadLink(self, request, context): - """CreateLocalDownloadLink generates signed URL(s) for downloading an artifact of a local run - action attempt directly from the control plane's storage backend. Local runs only; never - routes to a dataplane. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def add_DataProxyServiceServicer_to_server(servicer, server): rpc_method_handlers = { @@ -149,21 +108,6 @@ def add_DataProxyServiceServicer_to_server(servicer, server): request_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsRequest.FromString, response_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsResponse.SerializeToString, ), - 'UploadMetadata': grpc.unary_unary_rpc_method_handler( - servicer.UploadMetadata, - request_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest.FromString, - response_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse.SerializeToString, - ), - 'GetLocalActionData': grpc.unary_unary_rpc_method_handler( - servicer.GetLocalActionData, - request_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest.FromString, - response_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse.SerializeToString, - ), - 'CreateLocalDownloadLink': grpc.unary_unary_rpc_method_handler( - servicer.CreateLocalDownloadLink, - request_deserializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest.FromString, - response_serializer=flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse.SerializeToString, - ), } generic_handler = grpc.method_handlers_generic_handler( 'flyteidl2.dataproxy.DataProxyService', rpc_method_handlers) @@ -259,54 +203,3 @@ def TailLogs(request, flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.TailLogsResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def UploadMetadata(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/flyteidl2.dataproxy.DataProxyService/UploadMetadata', - flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.UploadMetadataRequest.SerializeToString, - flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateUploadLocationResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetLocalActionData(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/flyteidl2.dataproxy.DataProxyService/GetLocalActionData', - flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataRequest.SerializeToString, - flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.GetActionDataResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def CreateLocalDownloadLink(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink', - flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateLocalDownloadLinkRequest.SerializeToString, - flyteidl2_dot_dataproxy_dot_dataproxy__service__pb2.CreateDownloadLinkResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/gen/rust/src/flyteidl2.cluster.rs b/gen/rust/src/flyteidl2.cluster.rs index 5177eb0259f..b32e2c4da2a 100644 --- a/gen/rust/src/flyteidl2.cluster.rs +++ b/gen/rust/src/flyteidl2.cluster.rs @@ -26,6 +26,10 @@ pub mod select_cluster_request { UseSecrets = 8, UploadTrigger = 9, GetImage = 10, + /// Data operations (uploads/reads/download links) for locally-orchestrated runs. Routes to a + /// dataplane only when the org's clusters are all directly reachable (zero trust); otherwise + /// the server answers with its own endpoint and serves these from control-plane storage. + LocalRunData = 11, } impl Operation { /// String value of the enum field names used in the ProtoBuf definition. @@ -45,6 +49,7 @@ pub mod select_cluster_request { Operation::UseSecrets => "OPERATION_USE_SECRETS", Operation::UploadTrigger => "OPERATION_UPLOAD_TRIGGER", Operation::GetImage => "OPERATION_GET_IMAGE", + Operation::LocalRunData => "OPERATION_LOCAL_RUN_DATA", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -61,6 +66,7 @@ pub mod select_cluster_request { "OPERATION_USE_SECRETS" => Some(Self::UseSecrets), "OPERATION_UPLOAD_TRIGGER" => Some(Self::UploadTrigger), "OPERATION_GET_IMAGE" => Some(Self::GetImage), + "OPERATION_LOCAL_RUN_DATA" => Some(Self::LocalRunData), _ => None, } } @@ -93,10 +99,15 @@ pub mod select_cluster_request { pub struct SelectClusterResponse { #[prost(string, tag="1")] pub cluster_endpoint: ::prost::alloc::string::String, + /// Name of the cluster the endpoint belongs to. Empty when the request was routed to the + /// control plane's own endpoint. Clients that persist where an artifact was written (e.g. + /// local-run reporters stamping the attempt's cluster) use this to make reads routable later. + #[prost(string, tag="2")] + pub cluster: ::prost::alloc::string::String, } /// Encoded file descriptor set for the `flyteidl2.cluster` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xa4, 0x16, 0x0a, 0x1f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, + 0x0a, 0xe2, 0x1b, 0x0a, 0x1f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, @@ -108,7 +119,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x8c, 0x08, 0x0a, 0x14, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, + 0x6f, 0x22, 0xaa, 0x08, 0x0a, 0x14, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x72, @@ -149,7 +160,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x65, 0x72, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xba, 0x48, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x09, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe4, 0x02, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x03, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x45, @@ -171,145 +182,188 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x52, 0x45, 0x54, 0x53, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x0a, 0x42, 0x11, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, - 0x22, 0x42, 0x0a, 0x15, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x42, 0xc1, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x0c, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, - 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0xa2, 0x02, 0x03, 0x46, 0x43, 0x58, 0xaa, 0x02, 0x11, 0x46, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xca, - 0x02, 0x11, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0xe2, 0x02, 0x1d, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, - 0x3a, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4a, 0xc4, 0x0a, 0x0a, 0x06, 0x12, 0x04, 0x00, - 0x00, 0x2d, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, - 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, - 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2c, 0x0a, 0x09, 0x0a, - 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, - 0x07, 0x00, 0x2e, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x09, 0x00, 0x4c, 0x0a, 0x09, 0x0a, - 0x02, 0x08, 0x0b, 0x12, 0x03, 0x09, 0x00, 0x4c, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, - 0x0b, 0x00, 0x29, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x0b, 0x08, 0x1c, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x00, 0x12, 0x04, 0x0c, 0x02, 0x16, 0x03, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, 0x12, 0x03, 0x0c, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x08, 0x00, 0x02, 0x12, 0x03, 0x0d, 0x04, 0x30, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, - 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x0d, 0x04, 0x30, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x00, 0x12, 0x03, 0x0e, 0x04, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, - 0x06, 0x12, 0x03, 0x0e, 0x04, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x0e, 0x23, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0e, - 0x2c, 0x2d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x0f, 0x04, 0x36, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x0f, 0x04, 0x26, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x0f, 0x27, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x0f, 0x34, 0x35, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x02, 0x12, 0x03, 0x10, 0x04, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, - 0x03, 0x10, 0x04, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x10, - 0x22, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x10, 0x2c, 0x2d, - 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x11, 0x04, 0x34, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x11, 0x04, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x11, 0x26, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x03, 0x03, 0x12, 0x03, 0x11, 0x32, 0x33, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, - 0x03, 0x12, 0x04, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x12, - 0x04, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x12, 0x2d, 0x3e, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x12, 0x41, 0x42, 0x0a, 0x0b, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x13, 0x04, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, 0x13, 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x05, 0x01, 0x12, 0x03, 0x13, 0x1d, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, - 0x12, 0x03, 0x13, 0x26, 0x27, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x14, - 0x04, 0x3f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x14, 0x04, 0x2a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x14, 0x2b, 0x3a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x14, 0x3d, 0x3e, 0x0a, 0x0b, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x15, 0x04, 0x34, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x07, 0x06, 0x12, 0x03, 0x15, 0x04, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, - 0x12, 0x03, 0x15, 0x26, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, - 0x15, 0x32, 0x33, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x04, 0x00, 0x12, 0x04, 0x18, 0x02, 0x24, - 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x04, 0x00, 0x01, 0x12, 0x03, 0x18, 0x07, 0x10, 0x0a, - 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x19, 0x04, 0x1e, 0x0a, 0x0e, - 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x19, 0x04, 0x19, 0x0a, 0x0e, - 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x19, 0x1c, 0x1d, 0x0a, 0x0d, - 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x1a, 0x04, 0x29, 0x0a, 0x0e, 0x0a, - 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1a, 0x04, 0x24, 0x0a, 0x0e, 0x0a, - 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x1a, 0x27, 0x28, 0x0a, 0x0d, 0x0a, - 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x1b, 0x04, 0x20, 0x0a, 0x0e, 0x0a, 0x07, - 0x04, 0x00, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x1b, 0x04, 0x1b, 0x0a, 0x0e, 0x0a, 0x07, - 0x04, 0x00, 0x04, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x1b, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x06, - 0x04, 0x00, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x1c, 0x04, 0x22, 0x0a, 0x0e, 0x0a, 0x07, 0x04, - 0x00, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x1c, 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x07, 0x04, - 0x00, 0x04, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x1c, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x06, 0x04, - 0x00, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x1d, 0x04, 0x26, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, - 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x1d, 0x04, 0x21, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, - 0x04, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x1d, 0x24, 0x25, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, - 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x1e, 0x04, 0x27, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, - 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x1e, 0x04, 0x22, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, - 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x1e, 0x25, 0x26, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, - 0x00, 0x02, 0x06, 0x12, 0x03, 0x1f, 0x04, 0x1c, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, - 0x02, 0x06, 0x01, 0x12, 0x03, 0x1f, 0x04, 0x17, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, - 0x02, 0x06, 0x02, 0x12, 0x03, 0x1f, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, - 0x02, 0x07, 0x12, 0x03, 0x20, 0x04, 0x2d, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, - 0x07, 0x01, 0x12, 0x03, 0x20, 0x04, 0x28, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, - 0x07, 0x02, 0x12, 0x03, 0x20, 0x2b, 0x2c, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, - 0x08, 0x12, 0x03, 0x21, 0x04, 0x1e, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x08, - 0x01, 0x12, 0x03, 0x21, 0x04, 0x19, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x08, - 0x02, 0x12, 0x03, 0x21, 0x1c, 0x1d, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x09, - 0x12, 0x03, 0x22, 0x04, 0x21, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x09, 0x01, - 0x12, 0x03, 0x22, 0x04, 0x1c, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x09, 0x02, - 0x12, 0x03, 0x22, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x0a, 0x12, - 0x03, 0x23, 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x0a, 0x01, 0x12, - 0x03, 0x23, 0x04, 0x17, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x0a, 0x02, 0x12, - 0x03, 0x23, 0x1a, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x04, 0x26, 0x02, - 0x28, 0x05, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x06, 0x12, 0x03, 0x26, 0x02, 0x0b, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x26, 0x0c, 0x15, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x26, 0x18, 0x19, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x08, 0x08, 0x12, 0x04, 0x26, 0x1a, 0x28, 0x04, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x00, 0x02, 0x08, 0x08, 0x87, 0x09, 0x10, 0x12, 0x04, 0x26, 0x1b, 0x28, 0x03, 0x0a, 0x11, 0x0a, - 0x0a, 0x04, 0x00, 0x02, 0x08, 0x08, 0x87, 0x09, 0x10, 0x04, 0x00, 0x12, 0x03, 0x27, 0x0d, 0x0e, - 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x2b, 0x00, 0x2d, 0x01, 0x0a, 0x0a, 0x0a, 0x03, - 0x04, 0x01, 0x01, 0x12, 0x03, 0x2b, 0x08, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, - 0x12, 0x03, 0x2c, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x03, - 0x2c, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x2c, 0x09, - 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x2c, 0x1c, 0x1d, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xa7, 0x04, 0x0a, 0x1f, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x1f, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, - 0x76, 0x0a, 0x0e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x64, 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x12, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xc1, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, - 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xa2, 0x02, 0x03, 0x46, 0x43, 0x58, 0xaa, 0x02, - 0x11, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0xca, 0x02, 0x11, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xe2, 0x02, 0x1d, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x5c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x3a, 0x3a, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4a, 0x8b, 0x01, 0x0a, 0x06, - 0x12, 0x04, 0x00, 0x00, 0x0a, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, - 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, - 0x12, 0x03, 0x04, 0x00, 0x29, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x06, 0x00, 0x4c, 0x0a, - 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x06, 0x00, 0x4c, 0x0a, 0x0a, 0x0a, 0x02, 0x06, 0x00, - 0x12, 0x04, 0x08, 0x00, 0x0a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x08, - 0x08, 0x16, 0x0a, 0x0b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, 0x09, 0x02, 0x4c, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x09, 0x06, 0x13, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x09, 0x14, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x09, 0x33, 0x48, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x4e, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x0a, 0x12, 0x1c, 0x0a, + 0x18, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, + 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x0b, 0x42, 0x11, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0x5c, + 0x0a, 0x15, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0xc1, 0x01, 0x0a, + 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x0c, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xa2, 0x02, 0x03, + 0x46, 0x43, 0x58, 0xaa, 0x02, 0x11, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xca, 0x02, 0x11, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x5c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xe2, 0x02, 0x1d, 0x46, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x12, 0x46, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x4a, 0xca, 0x0f, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x36, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, + 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1a, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, + 0x12, 0x03, 0x05, 0x00, 0x2c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x2b, + 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x2e, 0x0a, 0x08, 0x0a, 0x01, 0x08, + 0x12, 0x03, 0x09, 0x00, 0x4c, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x09, 0x00, 0x4c, + 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x0b, 0x00, 0x2d, 0x01, 0x0a, 0x0a, 0x0a, 0x03, + 0x04, 0x00, 0x01, 0x12, 0x03, 0x0b, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x00, + 0x12, 0x04, 0x0c, 0x02, 0x16, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, 0x12, + 0x03, 0x0c, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x02, 0x12, 0x03, 0x0d, + 0x04, 0x30, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, + 0x0d, 0x04, 0x30, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0e, 0x04, 0x2e, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x0e, 0x04, 0x22, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0e, 0x23, 0x29, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0e, 0x2c, 0x2d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, + 0x02, 0x01, 0x12, 0x03, 0x0f, 0x04, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x06, + 0x12, 0x03, 0x0f, 0x04, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, + 0x0f, 0x27, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x0f, 0x34, + 0x35, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x10, 0x04, 0x2e, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, 0x10, 0x04, 0x21, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x10, 0x22, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x02, 0x03, 0x12, 0x03, 0x10, 0x2c, 0x2d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, + 0x12, 0x03, 0x11, 0x04, 0x34, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, + 0x11, 0x04, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x11, 0x26, + 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x11, 0x32, 0x33, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x12, 0x04, 0x43, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x12, 0x04, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x04, 0x01, 0x12, 0x03, 0x12, 0x2d, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, + 0x03, 0x12, 0x03, 0x12, 0x41, 0x42, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, + 0x13, 0x04, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, 0x13, 0x04, + 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x13, 0x1d, 0x23, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x13, 0x26, 0x27, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x14, 0x04, 0x3f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x06, 0x06, 0x12, 0x03, 0x14, 0x04, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, + 0x01, 0x12, 0x03, 0x14, 0x2b, 0x3a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, + 0x03, 0x14, 0x3d, 0x3e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x15, 0x04, + 0x34, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x15, 0x04, 0x25, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x15, 0x26, 0x2f, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x15, 0x32, 0x33, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x00, 0x04, 0x00, 0x12, 0x04, 0x18, 0x02, 0x28, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x04, + 0x00, 0x01, 0x12, 0x03, 0x18, 0x07, 0x10, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, + 0x00, 0x12, 0x03, 0x19, 0x04, 0x1e, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x19, 0x04, 0x19, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x00, + 0x02, 0x12, 0x03, 0x19, 0x1c, 0x1d, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x01, + 0x12, 0x03, 0x1a, 0x04, 0x29, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x01, 0x01, + 0x12, 0x03, 0x1a, 0x04, 0x24, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x01, 0x02, + 0x12, 0x03, 0x1a, 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x02, 0x12, + 0x03, 0x1b, 0x04, 0x20, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, + 0x03, 0x1b, 0x04, 0x1b, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x02, 0x02, 0x12, + 0x03, 0x1b, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, + 0x1c, 0x04, 0x22, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, + 0x1c, 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, + 0x1c, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x1d, + 0x04, 0x26, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x1d, + 0x04, 0x21, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x1d, + 0x24, 0x25, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x1e, 0x04, + 0x27, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x1e, 0x04, + 0x22, 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x1e, 0x25, + 0x26, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x1f, 0x04, 0x1c, + 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x1f, 0x04, 0x17, + 0x0a, 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x1f, 0x1a, 0x1b, + 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x20, 0x04, 0x2d, 0x0a, + 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x20, 0x04, 0x28, 0x0a, + 0x0e, 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x20, 0x2b, 0x2c, 0x0a, + 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x21, 0x04, 0x1e, 0x0a, 0x0e, + 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x21, 0x04, 0x19, 0x0a, 0x0e, + 0x0a, 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x08, 0x02, 0x12, 0x03, 0x21, 0x1c, 0x1d, 0x0a, 0x0d, + 0x0a, 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x09, 0x12, 0x03, 0x22, 0x04, 0x21, 0x0a, 0x0e, 0x0a, + 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x22, 0x04, 0x1c, 0x0a, 0x0e, 0x0a, + 0x07, 0x04, 0x00, 0x04, 0x00, 0x02, 0x09, 0x02, 0x12, 0x03, 0x22, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, + 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x0a, 0x12, 0x03, 0x23, 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x07, + 0x04, 0x00, 0x04, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x23, 0x04, 0x17, 0x0a, 0x0e, 0x0a, 0x07, + 0x04, 0x00, 0x04, 0x00, 0x02, 0x0a, 0x02, 0x12, 0x03, 0x23, 0x1a, 0x1c, 0x0a, 0x9d, 0x02, 0x0a, + 0x06, 0x04, 0x00, 0x04, 0x00, 0x02, 0x0b, 0x12, 0x03, 0x27, 0x04, 0x22, 0x1a, 0x8d, 0x02, 0x20, + 0x44, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, + 0x28, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x64, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x29, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x2d, 0x6f, 0x72, 0x63, 0x68, 0x65, + 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x20, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x0a, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x27, 0x73, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6c, 0x79, 0x20, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x28, 0x7a, 0x65, + 0x72, 0x6f, 0x20, 0x74, 0x72, 0x75, 0x73, 0x74, 0x29, 0x3b, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, + 0x77, 0x69, 0x73, 0x65, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x20, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x69, 0x74, + 0x73, 0x20, 0x6f, 0x77, 0x6e, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x0a, 0x0e, 0x0a, 0x07, + 0x04, 0x00, 0x04, 0x00, 0x02, 0x0b, 0x01, 0x12, 0x03, 0x27, 0x04, 0x1c, 0x0a, 0x0e, 0x0a, 0x07, + 0x04, 0x00, 0x04, 0x00, 0x02, 0x0b, 0x02, 0x12, 0x03, 0x27, 0x1f, 0x21, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x08, 0x12, 0x04, 0x2a, 0x02, 0x2c, 0x05, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x08, 0x06, 0x12, 0x03, 0x2a, 0x02, 0x0b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, + 0x01, 0x12, 0x03, 0x2a, 0x0c, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, + 0x03, 0x2a, 0x18, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x08, 0x12, 0x04, 0x2a, + 0x1a, 0x2c, 0x04, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x08, 0x08, 0x87, 0x09, 0x10, 0x12, + 0x04, 0x2a, 0x1b, 0x2c, 0x03, 0x0a, 0x11, 0x0a, 0x0a, 0x04, 0x00, 0x02, 0x08, 0x08, 0x87, 0x09, + 0x10, 0x04, 0x00, 0x12, 0x03, 0x2b, 0x0d, 0x0e, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, + 0x2f, 0x00, 0x36, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x2f, 0x08, 0x1d, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x30, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x03, 0x30, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x30, 0x09, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x30, 0x1c, 0x1d, 0x0a, 0x99, 0x02, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, + 0x12, 0x03, 0x35, 0x02, 0x15, 0x1a, 0x8b, 0x02, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, + 0x73, 0x20, 0x74, 0x6f, 0x2e, 0x20, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x77, 0x68, 0x65, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x61, 0x73, + 0x20, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x27, 0x73, 0x20, + 0x6f, 0x77, 0x6e, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x20, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x65, 0x72, 0x73, 0x69, + 0x73, 0x74, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, + 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x0a, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2d, 0x72, 0x75, + 0x6e, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x73, 0x20, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x27, 0x73, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x20, 0x72, 0x65, 0x61, + 0x64, 0x73, 0x20, 0x72, 0x6f, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, + 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x05, 0x12, 0x03, 0x35, 0x02, + 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x35, 0x09, 0x10, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x35, 0x13, 0x14, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xa7, 0x04, 0x0a, 0x1f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x1f, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x76, 0x0a, + 0x0e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x64, 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xc1, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, + 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, + 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xa2, 0x02, 0x03, 0x46, 0x43, 0x58, 0xaa, 0x02, 0x11, 0x46, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0xca, 0x02, 0x11, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0xe2, 0x02, 0x1d, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x5c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x12, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x3a, 0x3a, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4a, 0x8b, 0x01, 0x0a, 0x06, 0x12, 0x04, + 0x00, 0x00, 0x0a, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, + 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, + 0x04, 0x00, 0x29, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x06, 0x00, 0x4c, 0x0a, 0x09, 0x0a, + 0x02, 0x08, 0x0b, 0x12, 0x03, 0x06, 0x00, 0x4c, 0x0a, 0x0a, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, + 0x08, 0x00, 0x0a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x08, 0x08, 0x16, + 0x0a, 0x0b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, 0x09, 0x02, 0x4c, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x09, 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x09, 0x14, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x09, 0x33, 0x48, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("flyteidl2.cluster.tonic.rs"); // @@protoc_insertion_point(module) \ No newline at end of file diff --git a/gen/rust/src/flyteidl2.dataproxy.rs b/gen/rust/src/flyteidl2.dataproxy.rs index d0d7f81992c..ce21b63027b 100644 --- a/gen/rust/src/flyteidl2.dataproxy.rs +++ b/gen/rust/src/flyteidl2.dataproxy.rs @@ -192,6 +192,13 @@ pub struct GetActionDataRequest { /// Action to query. #[prost(message, optional, tag="1")] pub action_id: ::core::option::Option, + /// Source of the run the action belongs to. Run names are not unique across platform and + /// local runs, so the server uses this to resolve the action against the matching service + /// (RUN_SOURCE_LOCAL resolves via LocalRunService; anything else keeps the platform + /// behavior). + /// +optional + #[prost(enumeration="super::workflow::RunSource", tag="2")] + pub run_source: i32, } /// Response message for querying action data. #[pyo3::pyclass(dict, get_all, set_all)] @@ -250,73 +257,6 @@ pub mod tail_logs_request { PodName(::prost::alloc::string::String), } } -/// UploadMetadataRequest specifies the request for the UploadMetadata API. The data proxy service -/// derives the storage path from the authenticated org and the target action, following the local -/// run metadata layout: //////inputs.pb for inputs and -/// ///////{outputs.pb,report.html} otherwise. -#[pyo3::pyclass(dict, get_all, set_all)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct UploadMetadataRequest { - /// ArtifactType is the type of artifact to upload. INPUTS targets an action; OUTPUTS and REPORT - /// target an action attempt. - #[prost(enumeration="ArtifactType", tag="1")] - pub artifact_type: i32, - /// ContentMD5 restricts the upload location to the specific MD5 provided. - /// +required - #[prost(bytes="vec", tag="4")] - pub content_md5: ::prost::alloc::vec::Vec, - /// ContentLength specifies the size of the content to be uploaded in bytes. Validated against - /// the platform's maximum upload size. - /// +optional - #[prost(int64, tag="5")] - pub content_length: i64, - /// ExpiresIn defines the requested expiration duration for the generated URL. The request will - /// be rejected if this exceeds the platform's configured maximum. - /// +optional. The default value comes from the global config. - #[prost(message, optional, tag="6")] - pub expires_in: ::core::option::Option, - /// If true, the data proxy will add content_md5 to the Signed URL requirements, forcing clients - /// to send this checksum with the object. Required for data integrity on backends like GCP. - #[prost(bool, tag="7")] - pub add_content_md5_metadata: bool, - /// Target identifies the action (INPUTS) or action attempt (OUTPUTS / REPORT) the artifact - /// belongs to. - #[prost(oneof="upload_metadata_request::Target", tags="2, 3")] - pub target: ::core::option::Option, -} -/// Nested message and enum types in `UploadMetadataRequest`. -pub mod upload_metadata_request { - /// Target identifies the action (INPUTS) or action attempt (OUTPUTS / REPORT) the artifact - /// belongs to. - #[pyo3::pyclass(dict, get_all, set_all)] - #[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Target { - #[prost(message, tag="2")] - ActionId(super::super::common::ActionIdentifier), - #[prost(message, tag="3")] - ActionAttemptId(super::super::common::ActionAttemptIdentifier), - } -} -/// CreateLocalDownloadLinkRequest specifies the request for the CreateLocalDownloadLink API. -#[pyo3::pyclass(dict, get_all, set_all)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CreateLocalDownloadLinkRequest { - /// ArtifactType is the type of artifact to download. - /// +required - #[prost(enumeration="ArtifactType", tag="1")] - pub artifact_type: i32, - /// ActionAttemptId identifies the local run action attempt whose artifact is to be downloaded. - #[prost(message, optional, tag="2")] - pub action_attempt_id: ::core::option::Option, - /// ExpiresIn defines the requested expiration duration for the generated URLs. The request will - /// be rejected if this exceeds the platform's configured maximum. - /// +optional. The default value comes from the global config. - #[prost(message, optional, tag="3")] - pub expires_in: ::core::option::Option, -} /// Reponse message for tailing logs. #[pyo3::pyclass(dict, get_all, set_all)] #[allow(clippy::derive_partial_eq_without_eq)] @@ -351,10 +291,6 @@ pub enum ArtifactType { Report = 1, /// ARTIFACT_TYPE_CODE_BUNDLE refers to the code bundle (tarball) generated for an action. CodeBundle = 2, - /// ARTIFACT_TYPE_INPUTS refers to an action's serialized inputs (inputs.pb). - Inputs = 3, - /// ARTIFACT_TYPE_OUTPUTS refers to an action's serialized outputs (outputs.pb). - Outputs = 4, } impl ArtifactType { /// String value of the enum field names used in the ProtoBuf definition. @@ -366,8 +302,6 @@ impl ArtifactType { ArtifactType::Unspecified => "ARTIFACT_TYPE_UNSPECIFIED", ArtifactType::Report => "ARTIFACT_TYPE_REPORT", ArtifactType::CodeBundle => "ARTIFACT_TYPE_CODE_BUNDLE", - ArtifactType::Inputs => "ARTIFACT_TYPE_INPUTS", - ArtifactType::Outputs => "ARTIFACT_TYPE_OUTPUTS", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -376,1173 +310,895 @@ impl ArtifactType { "ARTIFACT_TYPE_UNSPECIFIED" => Some(Self::Unspecified), "ARTIFACT_TYPE_REPORT" => Some(Self::Report), "ARTIFACT_TYPE_CODE_BUNDLE" => Some(Self::CodeBundle), - "ARTIFACT_TYPE_INPUTS" => Some(Self::Inputs), - "ARTIFACT_TYPE_OUTPUTS" => Some(Self::Outputs), _ => None, } } } /// Encoded file descriptor set for the `flyteidl2.dataproxy` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xea, 0x90, 0x01, 0x0a, 0x2b, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x13, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x61, - 0x70, 0x70, 0x2f, 0x61, 0x70, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x75, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x61, 0x73, 0x6b, - 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x22, 0xf8, 0x02, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, - 0x18, 0x04, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x28, 0x0a, 0x0b, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0c, 0x42, 0x07, 0xba, 0x48, 0x04, 0x7a, 0x02, 0x68, 0x10, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x61, - 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, - 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xad, 0x02, - 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, - 0x0a, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x0a, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x58, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, + 0x0a, 0x9f, 0x6e, 0x0a, 0x2b, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x13, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x22, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x61, 0x70, + 0x70, 0x2f, 0x61, 0x70, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x75, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x5f, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x27, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 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, 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, 0x22, 0xf8, 0x02, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb4, 0x03, - 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, - 0x44, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, - 0x12, 0x37, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x48, 0x01, 0x52, - 0x08, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x42, 0x0a, 0x0c, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x01, - 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, - 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x49, - 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x19, 0x0a, - 0x08, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x62, 0x61, 0x73, 0x65, 0x44, 0x69, 0x72, 0x42, 0x0b, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x05, - 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, 0x0d, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x05, 0xba, - 0x48, 0x02, 0x08, 0x01, 0x22, 0x6e, 0x0a, 0x14, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x14, - 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x66, - 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x12, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x22, 0x69, 0x0a, 0x0d, 0x50, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x55, 0x52, 0x4c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, - 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x55, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, - 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, + 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x04, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x73, 0x49, 0x6e, 0x12, 0x28, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, + 0x6d, 0x64, 0x35, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xba, 0x48, 0x04, 0x7a, 0x02, + 0x68, 0x10, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x12, 0x23, + 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, + 0x6f, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x4d, 0x64, 0x35, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, + 0x6f, 0x72, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, + 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xad, 0x02, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x55, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, + 0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x22, - 0x80, 0x03, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, - 0x0d, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xba, 0x48, 0x05, 0x82, 0x01, 0x02, 0x20, - 0x00, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x38, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x02, 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, 0x09, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x57, 0x0a, 0x11, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, - 0x00, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x49, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x61, - 0x70, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, - 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, - 0x64, 0x42, 0x0f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x05, 0xba, 0x48, 0x02, - 0x08, 0x01, 0x22, 0x68, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4a, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, - 0x72, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x50, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x0d, 0x70, - 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x73, 0x22, 0x5f, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, - 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xba, 0x01, - 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, - 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x73, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, 0x22, 0xb5, 0x02, 0x0a, 0x0f, 0x54, - 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, - 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x20, - 0x00, 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, - 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x00, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x6f, 0x64, 0x12, 0x1b, 0x0a, - 0x08, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x00, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x08, 0x70, 0x6f, - 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, - 0x70, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x70, - 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x22, 0xde, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x0d, - 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x82, 0x01, 0x06, 0x18, 0x01, - 0x18, 0x03, 0x18, 0x04, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x28, - 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0c, 0x42, 0x07, 0xba, 0x48, 0x04, 0x7a, 0x02, 0x68, 0x10, 0x52, 0x0a, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, - 0x38, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x06, 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, 0x09, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x64, 0x64, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x5f, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x64, 0x64, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x42, 0x0f, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x05, 0xba, 0x48, - 0x02, 0x08, 0x01, 0x22, 0x8b, 0x02, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x42, 0x08, 0xba, 0x48, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5d, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, - 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, + 0x58, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb4, 0x03, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, + 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, + 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, + 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, + 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x01, + 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, + 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, + 0x6b, 0x53, 0x70, 0x65, 0x63, 0x48, 0x01, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x42, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x01, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x06, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x69, + 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x73, 0x65, 0x44, 0x69, 0x72, + 0x42, 0x0b, 0x0a, 0x02, 0x69, 0x64, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, 0x0d, 0x0a, + 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0x6e, 0x0a, 0x14, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x14, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, + 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x12, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, + 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x69, 0x0a, 0x0d, + 0x50, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x0a, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x02, 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, 0x09, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x22, 0x80, 0x03, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, + 0x08, 0xba, 0x48, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x02, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, - 0x6e, 0x22, 0xe1, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, - 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, - 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, - 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x6c, 0x6f, 0x67, 0x73, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, - 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2a, 0x9b, 0x01, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, - 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, - 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x01, 0x12, - 0x1d, 0x0a, 0x19, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x18, - 0x0a, 0x14, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x49, 0x4e, 0x50, 0x55, 0x54, 0x53, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x52, 0x54, 0x49, - 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, - 0x53, 0x10, 0x04, 0x32, 0xa4, 0x07, 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7d, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x30, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, + 0x6e, 0x12, 0x57, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x65, + 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x61, 0x70, + 0x70, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x39, + 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, + 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, + 0x00, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x42, 0x0f, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0x68, 0x0a, 0x1a, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x5f, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x55, 0x72, 0x6c, 0x73, 0x22, 0x9d, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, + 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, + 0x52, 0x75, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, + 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x31, + 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x74, 0x61, 0x73, 0x6b, + 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, 0x69, + 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x55, 0x72, + 0x69, 0x22, 0xb5, 0x02, 0x0a, 0x0f, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x06, 0xba, 0x48, + 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, + 0x0a, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, + 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, + 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, + 0x79, 0x50, 0x6f, 0x64, 0x12, 0x1b, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x64, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x64, + 0x73, 0x12, 0x1b, 0x0a, 0x08, 0x70, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x70, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, + 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xe1, 0x01, 0x0a, 0x10, 0x54, 0x61, + 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, + 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x1a, 0x8c, + 0x01, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x12, 0x4b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2a, 0x66, 0x0a, + 0x0c, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, + 0x19, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, + 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, + 0x50, 0x4f, 0x52, 0x54, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, + 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x55, 0x4e, + 0x44, 0x4c, 0x45, 0x10, 0x02, 0x32, 0xbb, 0x04, 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7d, 0x0a, 0x14, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x0c, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, - 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, - 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x03, 0x90, 0x02, 0x01, 0x12, 0x5b, 0x0a, 0x08, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, - 0x12, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, - 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, - 0x01, 0x12, 0x71, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, + 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x0c, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x31, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x77, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x2e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, - 0x6e, 0x6b, 0x12, 0x33, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, - 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xd6, 0x01, 0x0a, 0x17, 0x63, - 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x15, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, - 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0xa2, 0x02, 0x03, 0x46, 0x44, 0x58, 0xaa, 0x02, - 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0xca, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, - 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0xe2, 0x02, 0x1f, 0x46, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x46, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x4a, 0x80, 0x69, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xc8, 0x02, 0x01, 0x0a, - 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, - 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, - 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, - 0x03, 0x06, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x24, 0x0a, - 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x30, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, - 0x12, 0x03, 0x09, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, 0x00, 0x2e, - 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, 0x03, 0x0b, 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x08, 0x12, 0x03, 0x0c, 0x00, 0x29, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x0e, 0x00, 0x4e, - 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x0e, 0x00, 0x4e, 0x0a, 0x49, 0x0a, 0x02, 0x05, - 0x00, 0x12, 0x04, 0x11, 0x00, 0x1b, 0x01, 0x1a, 0x3d, 0x20, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x11, - 0x05, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x12, 0x02, 0x20, 0x0a, - 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x12, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, - 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x12, 0x1e, 0x1f, 0x0a, 0x78, 0x0a, 0x04, 0x05, - 0x00, 0x02, 0x01, 0x12, 0x03, 0x14, 0x02, 0x1b, 0x1a, 0x6b, 0x20, 0x41, 0x52, 0x54, 0x49, 0x46, - 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x20, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, 0x54, - 0x4d, 0x4c, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x61, 0x20, 0x74, 0x61, 0x73, 0x6b, - 0x20, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x73, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, - 0x14, 0x02, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x14, 0x19, - 0x1a, 0x0a, 0x65, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x16, 0x02, 0x20, 0x1a, 0x58, - 0x20, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, - 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x28, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x29, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, - 0x01, 0x12, 0x03, 0x16, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, - 0x03, 0x16, 0x1e, 0x1f, 0x0a, 0x58, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x03, 0x18, 0x02, - 0x1b, 0x1a, 0x4b, 0x20, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x53, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x73, - 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, - 0x20, 0x28, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x70, 0x62, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x18, 0x02, 0x16, 0x0a, 0x0c, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x18, 0x19, 0x1a, 0x0a, 0x5b, 0x0a, 0x04, 0x05, 0x00, - 0x02, 0x04, 0x12, 0x03, 0x1a, 0x02, 0x1c, 0x1a, 0x4e, 0x20, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, - 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x53, 0x20, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, - 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x20, 0x28, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x73, 0x2e, 0x70, 0x62, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x01, - 0x12, 0x03, 0x1a, 0x02, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, - 0x1a, 0x1a, 0x1b, 0x0a, 0x5d, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x1e, 0x00, 0x3e, 0x01, 0x1a, - 0x51, 0x20, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x73, - 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x1e, 0x08, 0x18, 0x0a, 0x70, - 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, 0x20, 0x02, 0x61, 0x1a, 0x63, 0x20, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x6f, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x20, 0x06, 0x1a, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x20, 0x1b, 0x36, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x20, 0x41, 0x5d, 0x0a, 0x0b, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x01, 0x12, 0x03, 0x22, 0x02, 0x49, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, - 0x12, 0x03, 0x22, 0x06, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, - 0x22, 0x13, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x22, 0x31, - 0x45, 0x0a, 0x5b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x03, 0x25, 0x02, 0x5b, 0x1a, 0x4e, - 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, - 0x69, 0x6e, 0x6b, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x28, 0x73, 0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x67, 0x69, - 0x76, 0x65, 0x6e, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x25, 0x06, 0x18, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x25, 0x19, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x02, 0x03, 0x12, 0x03, 0x25, 0x3d, 0x57, 0x0a, 0x38, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, - 0x12, 0x04, 0x28, 0x02, 0x2a, 0x03, 0x1a, 0x2a, 0x20, 0x47, 0x65, 0x74, 0x20, 0x69, 0x6e, 0x70, - 0x75, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x28, 0x06, 0x13, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x28, 0x14, 0x28, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x28, 0x33, 0x48, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x03, 0x29, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, - 0x02, 0x03, 0x04, 0x22, 0x12, 0x03, 0x29, 0x04, 0x2f, 0x0a, 0x31, 0x0a, 0x04, 0x06, 0x00, 0x02, - 0x04, 0x12, 0x03, 0x2d, 0x02, 0x44, 0x1a, 0x24, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, - 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x2d, 0x06, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x04, 0x02, 0x12, 0x03, 0x2d, 0x0f, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, - 0x06, 0x12, 0x03, 0x2d, 0x29, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, - 0x03, 0x2d, 0x30, 0x40, 0x0a, 0xeb, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x05, 0x12, 0x03, 0x32, - 0x02, 0x55, 0x1a, 0xdd, 0x01, 0x20, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, - 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x27, 0x73, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x0a, 0x20, 0x28, 0x69, 0x6e, 0x70, 0x75, - 0x74, 0x73, 0x2e, 0x70, 0x62, 0x20, 0x2f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x2e, - 0x70, 0x62, 0x20, 0x2f, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x68, 0x74, 0x6d, 0x6c, - 0x29, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x27, - 0x73, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x2e, 0x0a, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x6f, - 0x6e, 0x6c, 0x79, 0x3b, 0x20, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x20, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x32, 0x06, 0x14, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x32, 0x15, 0x2a, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x32, 0x35, 0x51, 0x0a, 0xb1, 0x01, 0x0a, - 0x04, 0x06, 0x00, 0x02, 0x06, 0x12, 0x04, 0x36, 0x02, 0x38, 0x03, 0x1a, 0xa2, 0x01, 0x20, 0x47, - 0x65, 0x74, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x0a, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x27, 0x73, - 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x2e, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x6f, 0x6e, 0x6c, - 0x79, 0x3b, 0x20, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x20, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x36, 0x06, 0x18, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x36, 0x19, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x36, 0x38, 0x4d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x06, 0x04, 0x12, 0x03, 0x37, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x06, - 0x04, 0x22, 0x12, 0x03, 0x37, 0x04, 0x2f, 0x0a, 0xdc, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x07, - 0x12, 0x03, 0x3d, 0x02, 0x65, 0x1a, 0xce, 0x01, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, - 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, - 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x55, 0x52, 0x4c, 0x28, 0x73, 0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x64, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x72, 0x75, 0x6e, 0x0a, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x27, 0x73, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x62, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, - 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x3b, 0x20, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x0a, 0x20, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x01, 0x12, - 0x03, 0x3d, 0x06, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x3d, - 0x1e, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x3d, 0x47, 0x61, - 0x0a, 0xaa, 0x03, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x45, 0x00, 0x70, 0x01, 0x1a, 0x9d, 0x03, - 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x77, 0x69, 0x6c, - 0x6c, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, - 0x74, 0x68, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x73, 0x69, 0x64, 0x65, 0x20, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, - 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x73, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x20, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2f, 0x28, 0x64, 0x65, 0x74, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x20, 0x68, 0x61, 0x73, 0x68, 0x20, 0x6f, - 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x29, 0x2f, 0x66, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x28, 0x69, 0x66, 0x20, 0x66, 0x69, 0x6c, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x29, - 0x3b, 0x20, 0x4f, 0x52, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, - 0x28, 0x69, 0x66, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x6f, 0x6f, - 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x29, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x45, 0x08, 0x23, 0x0a, 0x44, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x00, 0x12, 0x03, 0x48, 0x02, 0x3f, 0x1a, 0x37, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, - 0x6f, 0x72, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x48, 0x02, 0x08, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x48, 0x09, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x48, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x00, 0x08, 0x12, 0x03, 0x48, 0x15, 0x3e, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x00, 0x08, - 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x48, 0x16, 0x3d, 0x0a, 0x43, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x01, 0x12, 0x03, 0x4c, 0x02, 0x3e, 0x1a, 0x36, 0x20, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, - 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, - 0x72, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x4c, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x4c, 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x01, 0x03, 0x12, 0x03, 0x4c, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, - 0x08, 0x12, 0x03, 0x4c, 0x14, 0x3d, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x01, 0x08, 0x87, - 0x09, 0x0e, 0x02, 0x12, 0x03, 0x4c, 0x15, 0x3c, 0x0a, 0xfc, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x02, 0x12, 0x03, 0x50, 0x02, 0x16, 0x1a, 0xee, 0x01, 0x20, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x20, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x20, + 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5b, 0x0a, 0x08, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, + 0x67, 0x73, 0x12, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, + 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x30, 0x01, 0x42, 0xd6, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, + 0x15, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0xa2, 0x02, 0x03, 0x46, 0x44, 0x58, 0xaa, 0x02, 0x13, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0xca, 0x02, 0x13, + 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0xe2, 0x02, 0x1f, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x32, 0x5c, + 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x32, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x4a, 0xdb, 0x4e, 0x0a, + 0x07, 0x12, 0x05, 0x00, 0x00, 0xff, 0x01, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, + 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, + 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, + 0x00, 0x2c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x2b, 0x0a, 0x09, 0x0a, + 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x24, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, + 0x08, 0x00, 0x30, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x25, 0x0a, 0x09, + 0x0a, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, 0x00, 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, + 0x03, 0x0b, 0x00, 0x31, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x08, 0x12, 0x03, 0x0c, 0x00, 0x28, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x09, 0x12, 0x03, 0x0d, 0x00, 0x29, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, + 0x03, 0x0f, 0x00, 0x4e, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x0f, 0x00, 0x4e, 0x0a, + 0x49, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, 0x12, 0x00, 0x18, 0x01, 0x1a, 0x3d, 0x20, 0x41, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x64, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, + 0x01, 0x12, 0x03, 0x12, 0x05, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, + 0x13, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x13, 0x02, + 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x13, 0x1e, 0x1f, 0x0a, + 0x78, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, 0x15, 0x02, 0x1b, 0x1a, 0x6b, 0x20, 0x41, + 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, + 0x4f, 0x52, 0x54, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x69, + 0x6c, 0x65, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x61, 0x20, + 0x74, 0x61, 0x73, 0x6b, 0x20, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x73, 0x20, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, + 0x01, 0x01, 0x12, 0x03, 0x15, 0x02, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, + 0x12, 0x03, 0x15, 0x19, 0x1a, 0x0a, 0x65, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x17, + 0x02, 0x20, 0x1a, 0x58, 0x20, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x20, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x64, + 0x65, 0x20, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x28, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, + 0x6c, 0x29, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x17, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x02, 0x02, 0x12, 0x03, 0x17, 0x1e, 0x1f, 0x0a, 0x5d, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, + 0x1b, 0x00, 0x2b, 0x01, 0x1a, 0x51, 0x20, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, + 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, + 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, + 0x1b, 0x08, 0x18, 0x0a, 0x70, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x03, 0x1d, 0x02, 0x61, + 0x1a, 0x63, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, + 0x61, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x65, 0x64, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, + 0x1d, 0x06, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x1d, 0x1b, + 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1d, 0x41, 0x5d, 0x0a, + 0x0b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x03, 0x1f, 0x02, 0x49, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1f, 0x06, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x01, 0x02, 0x12, 0x03, 0x1f, 0x13, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, + 0x03, 0x12, 0x03, 0x1f, 0x31, 0x45, 0x0a, 0x5b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x03, + 0x22, 0x02, 0x5b, 0x1a, 0x4e, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x73, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x28, 0x73, 0x29, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, + 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x22, 0x06, + 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x22, 0x19, 0x32, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x22, 0x3d, 0x57, 0x0a, 0x38, 0x0a, + 0x04, 0x06, 0x00, 0x02, 0x03, 0x12, 0x04, 0x25, 0x02, 0x27, 0x03, 0x1a, 0x2a, 0x20, 0x47, 0x65, + 0x74, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, + 0x12, 0x03, 0x25, 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, + 0x25, 0x14, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x25, 0x33, + 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x03, 0x26, 0x04, 0x2f, 0x0a, + 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x03, 0x04, 0x22, 0x12, 0x03, 0x26, 0x04, 0x2f, 0x0a, 0x31, + 0x0a, 0x04, 0x06, 0x00, 0x02, 0x04, 0x12, 0x03, 0x2a, 0x02, 0x44, 0x1a, 0x24, 0x20, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x2a, 0x06, 0x0e, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x2a, 0x0f, 0x1e, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x2a, 0x29, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x2a, 0x30, 0x40, 0x0a, 0xaa, 0x03, 0x0a, 0x02, 0x04, 0x00, + 0x12, 0x04, 0x32, 0x00, 0x5d, 0x01, 0x1a, 0x9d, 0x03, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2d, 0x73, 0x69, 0x64, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x65, 0x64, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x70, 0x61, 0x74, 0x68, + 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x3a, 0x0a, + 0x20, 0x20, 0x20, 0x2d, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x2f, 0x28, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x20, 0x68, 0x61, 0x73, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x29, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x20, 0x28, 0x69, 0x66, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x73, + 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x29, 0x3b, 0x20, 0x4f, 0x52, 0x0a, 0x20, 0x20, + 0x20, 0x2d, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x2f, + 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x28, 0x69, 0x66, 0x20, 0x66, 0x69, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, + 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x74, 0x29, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x32, + 0x08, 0x23, 0x0a, 0x44, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x35, 0x02, 0x3f, 0x1a, + 0x37, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x2e, 0x0a, 0x20, 0x2b, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, + 0x05, 0x12, 0x03, 0x35, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, + 0x03, 0x35, 0x09, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x35, + 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x35, 0x15, 0x3e, + 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x35, + 0x16, 0x3d, 0x0a, 0x43, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x39, 0x02, 0x3e, 0x1a, + 0x36, 0x20, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, + 0x12, 0x03, 0x39, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, + 0x39, 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x39, 0x12, + 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x39, 0x14, 0x3d, 0x0a, + 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x01, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, 0x03, 0x39, 0x15, + 0x3c, 0x0a, 0xfc, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x3d, 0x02, 0x16, 0x1a, + 0xee, 0x01, 0x20, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, + 0x64, 0x20, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x45, 0x2e, 0x67, 0x2e, 0x20, 0x60, 0x66, 0x69, 0x6c, 0x65, 0x2e, + 0x70, 0x79, 0x60, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x70, 0x72, 0x65, 0x2f, 0x66, 0x69, 0x78, 0x2f, + 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x7a, 0x69, 0x70, 0x60, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x42, 0x79, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, + 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, + 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x3d, 0x02, 0x08, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x3d, 0x09, 0x11, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x3d, 0x14, 0x15, 0x0a, 0xe7, 0x01, 0x0a, 0x04, 0x04, + 0x00, 0x02, 0x03, 0x12, 0x03, 0x42, 0x02, 0x2a, 0x1a, 0xd9, 0x01, 0x20, 0x45, 0x78, 0x70, 0x69, + 0x72, 0x65, 0x73, 0x49, 0x6e, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x45, 0x2e, 0x67, 0x2e, - 0x20, 0x60, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x79, 0x60, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x70, - 0x72, 0x65, 0x2f, 0x66, 0x69, 0x78, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x7a, 0x69, 0x70, 0x60, - 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x42, 0x79, - 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, - 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, - 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, - 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, - 0x12, 0x03, 0x50, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, - 0x50, 0x09, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x50, 0x14, - 0x15, 0x0a, 0xe7, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x55, 0x02, 0x2a, 0x1a, - 0xd9, 0x01, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x20, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x2e, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, - 0x65, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x0a, 0x20, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x27, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x2e, 0x0a, 0x20, - 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6d, - 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x55, 0x02, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x03, 0x01, 0x12, 0x03, 0x55, 0x1b, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, - 0x12, 0x03, 0x55, 0x28, 0x29, 0x0a, 0xa8, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, - 0x5a, 0x02, 0x3e, 0x1a, 0x9a, 0x01, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x44, - 0x35, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, - 0x4d, 0x44, 0x35, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x4d, 0x44, 0x35, 0x20, 0x68, 0x61, 0x73, 0x68, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x20, 0x69, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x0a, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x70, 0x61, - 0x74, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, 0x12, 0x03, 0x5a, 0x02, 0x07, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x5a, 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x5a, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x04, 0x08, 0x12, 0x03, 0x5a, 0x18, 0x3d, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x04, - 0x08, 0x87, 0x09, 0x0f, 0x0d, 0x12, 0x03, 0x5a, 0x19, 0x3c, 0x0a, 0xd2, 0x02, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x05, 0x12, 0x03, 0x60, 0x02, 0x1b, 0x1a, 0xc4, 0x02, 0x20, 0x46, 0x69, 0x6c, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x70, 0x72, 0x65, - 0x73, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, - 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x4d, 0x44, 0x35, 0x20, 0x68, 0x61, 0x73, 0x68, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x63, 0x6f, 0x6d, - 0x62, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x2c, 0x0a, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x55, - 0x52, 0x4c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x66, 0x75, 0x6c, 0x20, 0x77, 0x68, 0x65, - 0x6e, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, - 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, - 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, 0x12, 0x03, 0x60, 0x02, 0x08, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x60, 0x09, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x60, 0x19, 0x1a, 0x0a, 0x89, 0x02, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x06, 0x12, 0x03, 0x66, 0x02, 0x24, 0x1a, 0xfb, 0x01, 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, - 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2c, 0x0a, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, - 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x6e, 0x64, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x20, 0x77, - 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, - 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x20, 0x64, 0x61, 0x74, - 0x61, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x6e, 0x20, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x47, 0x43, 0x50, - 0x2c, 0x20, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x0a, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, - 0x6c, 0x65, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, - 0x61, 0x73, 0x68, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x05, 0x12, 0x03, - 0x66, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x66, 0x07, - 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x66, 0x22, 0x23, 0x0a, - 0x4e, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x6a, 0x02, 0x11, 0x1a, 0x41, 0x20, 0x4f, - 0x72, 0x67, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, - 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x05, 0x12, 0x03, 0x6a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x6a, 0x09, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x6a, 0x0f, 0x10, 0x0a, 0xae, 0x01, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x08, 0x12, 0x03, 0x6f, 0x02, 0x1b, 0x1a, 0xa0, 0x01, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, - 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x27, 0x73, 0x20, 0x6d, 0x61, - 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x73, 0x69, 0x7a, - 0x65, 0x20, 0x69, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x20, - 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x08, 0x05, 0x12, 0x03, 0x6f, 0x02, 0x07, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, - 0x01, 0x12, 0x03, 0x6f, 0x08, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, - 0x03, 0x6f, 0x19, 0x1a, 0x0a, 0x63, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x73, 0x00, 0x7f, 0x01, - 0x1a, 0x57, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, - 0x12, 0x03, 0x73, 0x08, 0x24, 0x0a, 0x89, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, - 0x75, 0x02, 0x18, 0x1a, 0x7c, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x20, - 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, - 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x6d, 0x79, 0x2d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, - 0x73, 0x33, 0x2e, 0x61, 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x61, 0x77, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x73, 0x75, - 0x66, 0x66, 0x69, 0x78, 0x2e, 0x74, 0x61, 0x72, 0x3f, 0x58, 0x2d, 0x2e, 0x2e, 0x2e, 0x29, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x03, 0x75, 0x02, 0x08, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x75, 0x09, 0x13, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x75, 0x16, 0x17, 0x0a, 0x83, 0x01, 0x0a, 0x04, - 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x78, 0x02, 0x18, 0x1a, 0x76, 0x20, 0x4e, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x55, 0x72, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x52, 0x4c, - 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, - 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x73, 0x33, 0x3a, 0x2f, 0x2f, 0x6d, 0x79, 0x2d, - 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x2f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x2e, 0x74, 0x61, 0x72, 0x29, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x05, 0x12, 0x03, 0x78, 0x02, 0x08, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x78, 0x09, 0x13, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x78, 0x16, 0x17, 0x0a, 0x41, 0x0a, 0x04, 0x04, - 0x01, 0x02, 0x02, 0x12, 0x03, 0x7b, 0x02, 0x2b, 0x1a, 0x34, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x73, 0x41, 0x74, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x06, 0x12, 0x03, 0x7b, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x7b, 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x02, 0x03, 0x12, 0x03, 0x7b, 0x29, 0x2a, 0x0a, 0x80, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, - 0x03, 0x12, 0x03, 0x7e, 0x02, 0x22, 0x1a, 0x73, 0x20, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, - 0x20, 0x61, 0x72, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, - 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, - 0x20, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x03, 0x06, 0x12, 0x03, 0x7e, 0x02, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x03, 0x01, 0x12, 0x03, 0x7e, 0x16, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x03, - 0x12, 0x03, 0x7e, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0x81, 0x01, 0x00, - 0xa4, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0x81, 0x01, 0x08, 0x1b, - 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x02, 0x08, 0x00, 0x12, 0x06, 0x82, 0x01, 0x02, 0x8a, 0x01, 0x03, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x00, 0x01, 0x12, 0x04, 0x82, 0x01, 0x08, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x00, 0x02, 0x12, 0x04, 0x83, 0x01, 0x04, 0x30, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x02, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0x83, 0x01, 0x04, 0x30, - 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0x86, 0x01, 0x04, 0x24, 0x1a, 0x1b, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x00, 0x06, 0x12, 0x04, 0x86, 0x01, 0x04, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x00, 0x01, 0x12, 0x04, 0x86, 0x01, 0x19, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x00, 0x03, 0x12, 0x04, 0x86, 0x01, 0x22, 0x23, 0x0a, 0x48, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, - 0x12, 0x04, 0x89, 0x01, 0x04, 0x2c, 0x1a, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x20, 0x69, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, 0x04, 0x89, 0x01, 0x04, - 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0x89, 0x01, 0x1d, 0x27, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x04, 0x89, 0x01, 0x2a, 0x2b, 0x0a, - 0xbb, 0x01, 0x0a, 0x04, 0x04, 0x02, 0x08, 0x01, 0x12, 0x06, 0x8e, 0x01, 0x02, 0x99, 0x01, 0x03, - 0x1a, 0xaa, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x74, 0x68, 0x65, - 0x73, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x75, 0x73, - 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, - 0x6e, 0x65, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, - 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, - 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x61, 0x73, 0x68, 0x20, 0x75, 0x73, - 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x20, 0x6b, 0x65, 0x79, - 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x20, - 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x02, 0x08, 0x01, 0x01, 0x12, 0x04, 0x8e, 0x01, 0x08, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x02, 0x08, 0x01, 0x02, 0x12, 0x04, 0x8f, 0x01, 0x04, 0x30, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x02, 0x08, 0x01, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0x8f, 0x01, 0x04, 0x30, 0x0a, 0x23, 0x0a, - 0x04, 0x04, 0x02, 0x02, 0x02, 0x12, 0x04, 0x92, 0x01, 0x04, 0x24, 0x1a, 0x15, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x69, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x06, 0x12, 0x04, 0x92, 0x01, 0x04, - 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x01, 0x12, 0x04, 0x92, 0x01, 0x18, 0x1f, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x03, 0x12, 0x04, 0x92, 0x01, 0x22, 0x23, 0x0a, - 0x25, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x04, 0x95, 0x01, 0x04, 0x20, 0x1a, 0x17, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x74, 0x6f, - 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x06, 0x12, - 0x04, 0x95, 0x01, 0x04, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x01, 0x12, 0x04, - 0x95, 0x01, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x03, 0x12, 0x04, 0x95, - 0x01, 0x1e, 0x1f, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x04, 0x12, 0x04, 0x98, 0x01, 0x04, - 0x28, 0x1a, 0x1a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x04, 0x06, 0x12, 0x04, 0x98, 0x01, 0x04, 0x16, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x04, 0x01, 0x12, 0x04, 0x98, 0x01, 0x17, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x04, 0x03, 0x12, 0x04, 0x98, 0x01, 0x26, 0x27, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x02, - 0x02, 0x05, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x19, 0x1a, 0x14, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, - 0x63, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x05, 0x06, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x0d, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x05, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x0e, 0x14, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x05, 0x03, 0x12, 0x04, 0x9c, 0x01, 0x17, 0x18, 0x0a, 0xde, 0x02, 0x0a, 0x04, - 0x04, 0x02, 0x02, 0x06, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x16, 0x1a, 0xcf, 0x02, 0x20, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x20, - 0x62, 0x61, 0x73, 0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x75, - 0x6e, 0x64, 0x65, 0x72, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x4d, 0x69, 0x72, 0x72, 0x6f, - 0x72, 0x73, 0x20, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x72, 0x75, 0x6e, 0x5f, 0x62, - 0x61, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x0a, - 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, - 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x77, 0x65, 0x72, - 0x65, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, - 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x62, 0x61, 0x73, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2c, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x06, 0x05, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x06, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x06, 0x03, 0x12, 0x04, 0xa3, 0x01, 0x14, 0x15, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x03, 0x12, - 0x06, 0xa6, 0x01, 0x00, 0xa8, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, - 0xa6, 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, 0xa7, 0x01, - 0x02, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa7, 0x01, 0x02, - 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa7, 0x01, 0x1c, 0x30, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa7, 0x01, 0x33, 0x34, 0x0a, - 0x57, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0xab, 0x01, 0x00, 0xb1, 0x01, 0x01, 0x1a, 0x49, 0x20, - 0x50, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, - 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, - 0x04, 0xab, 0x01, 0x08, 0x15, 0x0a, 0x4f, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, 0xad, - 0x01, 0x02, 0x21, 0x1a, 0x41, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x20, - 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x64, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x04, 0x12, - 0x04, 0xad, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x04, - 0xad, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x04, 0xad, - 0x01, 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, 0xad, 0x01, - 0x1f, 0x20, 0x0a, 0x43, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x04, 0xb0, 0x01, 0x02, 0x2b, - 0x1a, 0x35, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x20, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x06, - 0x12, 0x04, 0xb0, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xb0, 0x01, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x04, - 0xb0, 0x01, 0x29, 0x2a, 0x0a, 0x5f, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0xb4, 0x01, 0x00, 0xc9, - 0x01, 0x01, 0x1a, 0x51, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x20, - 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0xb4, 0x01, - 0x08, 0x21, 0x0a, 0x4e, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x06, 0xb7, 0x01, 0x02, 0xb9, - 0x01, 0x05, 0x1a, 0x3e, 0x20, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, - 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x04, 0xb7, 0x01, 0x02, - 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb7, 0x01, 0x0f, 0x1c, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb7, 0x01, 0x1f, 0x20, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x06, 0xb7, 0x01, 0x21, 0xb9, 0x01, 0x04, - 0x0a, 0x12, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, 0x12, 0x06, 0xb7, 0x01, - 0x22, 0xb9, 0x01, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, - 0x04, 0x00, 0x12, 0x04, 0xb8, 0x01, 0x0d, 0x0e, 0x0a, 0xe9, 0x01, 0x0a, 0x04, 0x04, 0x05, 0x02, - 0x01, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x2a, 0x1a, 0xda, 0x01, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x73, 0x49, 0x6e, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x55, 0x52, 0x4c, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x72, 0x65, 0x6a, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x65, 0x78, 0x63, + 0x64, 0x20, 0x55, 0x52, 0x4c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x0a, 0x20, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x27, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x06, 0x12, 0x04, 0xbe, - 0x01, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbe, 0x01, - 0x1b, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x04, 0xbe, 0x01, 0x28, - 0x29, 0x0a, 0x5a, 0x0a, 0x04, 0x04, 0x05, 0x08, 0x00, 0x12, 0x06, 0xc1, 0x01, 0x02, 0xc8, 0x01, - 0x03, 0x1a, 0x4a, 0x20, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x61, - 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x20, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, - 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x05, 0x08, 0x00, 0x01, 0x12, 0x04, 0xc1, 0x01, 0x08, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x08, 0x00, 0x02, 0x12, 0x04, 0xc2, 0x01, 0x04, 0x30, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x05, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0xc2, 0x01, 0x04, 0x30, 0x0a, 0x6b, 0x0a, - 0x04, 0x04, 0x05, 0x02, 0x02, 0x12, 0x04, 0xc5, 0x01, 0x04, 0x39, 0x1a, 0x5d, 0x20, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x20, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x6f, 0x66, - 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, - 0x02, 0x02, 0x06, 0x12, 0x04, 0xc5, 0x01, 0x04, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, - 0x02, 0x01, 0x12, 0x04, 0xc5, 0x01, 0x23, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, - 0x03, 0x12, 0x04, 0xc5, 0x01, 0x37, 0x38, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x03, 0x12, - 0x04, 0xc6, 0x01, 0x04, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x06, 0x12, 0x04, - 0xc6, 0x01, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc6, - 0x01, 0x1d, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, 0x12, 0x04, 0xc6, 0x01, - 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x04, 0x12, 0x04, 0xc7, 0x01, 0x04, 0x2e, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x06, 0x12, 0x04, 0xc7, 0x01, 0x04, 0x21, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x22, 0x29, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x03, 0x12, 0x04, 0xc7, 0x01, 0x2c, 0x2d, 0x0a, 0x61, 0x0a, - 0x02, 0x04, 0x06, 0x12, 0x06, 0xcc, 0x01, 0x00, 0xcf, 0x01, 0x01, 0x1a, 0x53, 0x20, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, + 0x69, 0x67, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x42, + 0x02, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x42, 0x1b, 0x25, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x42, 0x28, 0x29, 0x0a, 0xa8, + 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x47, 0x02, 0x3e, 0x1a, 0x9a, 0x01, 0x20, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x44, 0x35, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, + 0x69, 0x63, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x4d, 0x44, 0x35, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x4d, 0x44, 0x35, 0x20, 0x68, + 0x61, 0x73, 0x68, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x61, 0x70, + 0x70, 0x65, 0x61, 0x72, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x2b, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x04, 0x05, 0x12, 0x03, 0x47, 0x02, 0x07, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, + 0x12, 0x03, 0x47, 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, + 0x47, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x03, 0x47, 0x18, + 0x3d, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x04, 0x08, 0x87, 0x09, 0x0f, 0x0d, 0x12, 0x03, + 0x47, 0x19, 0x3c, 0x0a, 0xd2, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x4d, 0x02, + 0x1b, 0x1a, 0xc4, 0x02, 0x20, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x6f, + 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x77, + 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x74, + 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4d, 0x44, 0x35, 0x20, 0x68, + 0x61, 0x73, 0x68, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x2e, + 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x0a, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, + 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x20, + 0x54, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x75, + 0x73, 0x65, 0x66, 0x75, 0x6c, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, + 0x05, 0x12, 0x03, 0x4d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, + 0x03, 0x4d, 0x09, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x4d, + 0x19, 0x1a, 0x0a, 0x89, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x53, 0x02, 0x24, + 0x1a, 0xfb, 0x01, 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x61, 0x64, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, + 0x52, 0x4c, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2c, + 0x0a, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, + 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x6e, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, + 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x6e, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, + 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x47, 0x43, 0x50, 0x2c, 0x20, 0x65, 0x6e, 0x73, 0x75, 0x72, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x61, 0x73, 0x68, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x05, 0x12, 0x03, 0x53, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x53, 0x07, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x06, 0x03, 0x12, 0x03, 0x53, 0x22, 0x23, 0x0a, 0x4e, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, + 0x12, 0x03, 0x57, 0x02, 0x11, 0x1a, 0x41, 0x20, 0x4f, 0x72, 0x67, 0x20, 0x69, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x6b, 0x65, 0x79, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, + 0x05, 0x12, 0x03, 0x57, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, + 0x03, 0x57, 0x09, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x57, + 0x0f, 0x10, 0x0a, 0xae, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x5c, 0x02, 0x1b, + 0x1a, 0xa0, 0x01, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x54, 0x68, + 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x27, 0x73, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x75, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x69, 0x66, 0x20, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x05, 0x12, 0x03, 0x5c, 0x02, + 0x07, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x5c, 0x08, 0x16, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x5c, 0x19, 0x1a, 0x0a, 0x63, 0x0a, + 0x02, 0x04, 0x01, 0x12, 0x04, 0x60, 0x00, 0x6c, 0x01, 0x1a, 0x57, 0x20, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x0a, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0xcc, 0x01, 0x08, 0x22, 0x0a, 0x51, 0x0a, - 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0xce, 0x01, 0x02, 0x24, 0x1a, 0x43, 0x20, 0x50, 0x72, - 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x55, 0x52, 0x4c, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x04, 0xce, 0x01, 0x02, 0x0f, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0xce, 0x01, 0x10, 0x1f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0xce, 0x01, 0x22, 0x23, 0x0a, 0x39, 0x0a, - 0x02, 0x04, 0x07, 0x12, 0x06, 0xd2, 0x01, 0x00, 0xd5, 0x01, 0x01, 0x1a, 0x2b, 0x20, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, - 0x04, 0xd2, 0x01, 0x08, 0x1c, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0xd4, - 0x01, 0x02, 0x4f, 0x1a, 0x12, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, - 0x12, 0x04, 0xd4, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xd4, 0x01, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xd4, 0x01, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd4, - 0x01, 0x28, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, - 0x04, 0xd4, 0x01, 0x29, 0x4d, 0x0a, 0x3a, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xd8, 0x01, 0x00, - 0xe6, 0x01, 0x01, 0x1a, 0x2c, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xd8, 0x01, 0x08, 0x1d, 0x0a, 0x26, - 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xda, 0x01, 0x02, 0x19, 0x1a, 0x18, 0x20, 0x49, - 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, - 0x04, 0xda, 0x01, 0x02, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xda, 0x01, 0x0e, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xda, - 0x01, 0x17, 0x18, 0x0a, 0x27, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0xdd, 0x01, 0x02, - 0x1b, 0x1a, 0x19, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x01, 0x06, 0x12, 0x04, 0xdd, 0x01, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0xdd, 0x01, 0x0f, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x01, 0x03, 0x12, 0x04, 0xdd, 0x01, 0x19, 0x1a, 0x0a, 0xa8, 0x01, 0x0a, 0x04, 0x04, 0x08, - 0x02, 0x02, 0x12, 0x04, 0xe1, 0x01, 0x02, 0x18, 0x1a, 0x99, 0x01, 0x20, 0x52, 0x61, 0x77, 0x20, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x55, 0x52, 0x49, - 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x73, 0x33, 0x3a, 0x2f, 0x2f, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x2f, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, - 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, - 0x61, 0x72, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, - 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x05, 0x12, 0x04, 0xe1, - 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe1, 0x01, - 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x03, 0x12, 0x04, 0xe1, 0x01, 0x16, - 0x17, 0x0a, 0xaa, 0x01, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x03, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x19, - 0x1a, 0x9b, 0x01, 0x20, 0x52, 0x61, 0x77, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x20, 0x55, 0x52, 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, - 0x64, 0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x68, 0x61, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, - 0x65, 0x64, 0x2c, 0x20, 0x68, 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x73, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x61, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x05, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x08, 0x02, 0x03, 0x01, 0x12, 0x04, 0xe5, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x03, 0x03, 0x12, 0x04, 0xe5, 0x01, 0x17, 0x18, 0x0a, 0x31, 0x0a, 0x02, 0x04, - 0x09, 0x12, 0x06, 0xe9, 0x01, 0x00, 0xfd, 0x01, 0x01, 0x1a, 0x23, 0x20, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x74, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xe9, 0x01, 0x08, 0x17, 0x0a, 0x1e, 0x0a, 0x04, 0x04, - 0x09, 0x02, 0x00, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x4f, 0x1a, 0x10, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xeb, 0x01, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xeb, 0x01, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, - 0x08, 0x12, 0x04, 0xeb, 0x01, 0x28, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, - 0x87, 0x09, 0x19, 0x12, 0x04, 0xeb, 0x01, 0x29, 0x4d, 0x0a, 0x23, 0x0a, 0x04, 0x04, 0x09, 0x02, - 0x01, 0x12, 0x04, 0xee, 0x01, 0x02, 0x3a, 0x1a, 0x15, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x05, 0x12, 0x04, 0xee, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x01, 0x01, 0x12, 0x04, 0xee, 0x01, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x01, 0x03, 0x12, 0x04, 0xee, 0x01, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x01, 0x08, 0x12, 0x04, 0xee, 0x01, 0x15, 0x39, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x09, - 0x02, 0x01, 0x08, 0x87, 0x09, 0x05, 0x04, 0x12, 0x04, 0xee, 0x01, 0x16, 0x38, 0x0a, 0x52, 0x0a, - 0x04, 0x04, 0x09, 0x08, 0x00, 0x12, 0x06, 0xf1, 0x01, 0x02, 0xf8, 0x01, 0x03, 0x1a, 0x42, 0x20, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x73, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x70, 0x6f, - 0x64, 0x28, 0x73, 0x29, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x20, 0x49, 0x66, - 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, - 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x64, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x08, 0x00, 0x01, 0x12, 0x04, 0xf1, 0x01, 0x08, 0x14, - 0x0a, 0x64, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x02, 0x12, 0x04, 0xf3, 0x01, 0x04, 0x19, 0x1a, 0x56, - 0x20, 0x54, 0x61, 0x69, 0x6c, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x70, 0x6f, 0x64, 0x20, - 0x6f, 0x6e, 0x6c, 0x79, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x70, - 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x75, - 0x6e, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x05, 0x12, - 0x04, 0xf3, 0x01, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x01, 0x12, 0x04, - 0xf3, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x03, 0x12, 0x04, 0xf3, - 0x01, 0x17, 0x18, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x03, 0x12, 0x04, 0xf5, 0x01, 0x04, - 0x16, 0x1a, 0x1a, 0x20, 0x54, 0x61, 0x69, 0x6c, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x72, - 0x6f, 0x6d, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x70, 0x6f, 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x03, 0x05, 0x12, 0x04, 0xf5, 0x01, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x03, 0x01, 0x12, 0x04, 0xf5, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x03, 0x03, 0x12, 0x04, 0xf5, 0x01, 0x14, 0x15, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x09, - 0x02, 0x04, 0x12, 0x04, 0xf7, 0x01, 0x04, 0x18, 0x1a, 0x24, 0x20, 0x54, 0x61, 0x69, 0x6c, 0x20, - 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x64, 0x20, 0x70, 0x6f, 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, 0x05, 0x12, 0x04, 0xf7, 0x01, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x04, 0x01, 0x12, 0x04, 0xf7, 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x04, 0x03, 0x12, 0x04, 0xf7, 0x01, 0x16, 0x17, 0x0a, 0x91, 0x01, 0x0a, 0x04, - 0x04, 0x09, 0x02, 0x05, 0x12, 0x04, 0xfc, 0x01, 0x02, 0x29, 0x1a, 0x82, 0x01, 0x20, 0x2b, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20, 0x75, 0x73, 0x65, 0x73, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, - 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x20, 0x76, 0x69, 0x61, 0x0a, 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, - 0x64, 0x20, 0x6f, 0x66, 0x20, 0x70, 0x6f, 0x64, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, 0x04, 0x12, 0x04, 0xfc, 0x01, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, 0x05, 0x12, 0x04, 0xfc, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x05, 0x01, 0x12, 0x04, 0xfc, 0x01, 0x12, 0x24, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x05, 0x03, 0x12, 0x04, 0xfc, 0x01, 0x27, 0x28, 0x0a, 0x8f, 0x03, 0x0a, 0x02, - 0x04, 0x0a, 0x12, 0x06, 0x83, 0x02, 0x00, 0xa9, 0x02, 0x01, 0x1a, 0x80, 0x03, 0x20, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x20, 0x41, 0x50, 0x49, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x20, 0x64, 0x65, - 0x72, 0x69, 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x72, - 0x67, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, - 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x0a, 0x20, 0x72, 0x75, - 0x6e, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6c, 0x61, 0x79, 0x6f, 0x75, - 0x74, 0x3a, 0x20, 0x3c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x3e, 0x2f, 0x3c, 0x6f, 0x72, 0x67, - 0x3e, 0x2f, 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x2f, 0x3c, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x3e, 0x2f, 0x3c, 0x72, 0x75, 0x6e, 0x3e, 0x2f, 0x3c, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x3e, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x70, 0x62, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x3c, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x3e, 0x2f, 0x3c, 0x6f, 0x72, 0x67, 0x3e, 0x2f, 0x3c, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x2f, 0x3c, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x3e, 0x2f, - 0x3c, 0x72, 0x75, 0x6e, 0x3e, 0x2f, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x2f, 0x3c, - 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x3e, 0x2f, 0x7b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x73, 0x2e, 0x70, 0x62, 0x2c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x68, 0x74, 0x6d, 0x6c, - 0x7d, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0x83, 0x02, 0x08, 0x1d, 0x0a, 0x89, 0x01, 0x0a, 0x04, 0x04, - 0x0a, 0x02, 0x00, 0x12, 0x06, 0x86, 0x02, 0x02, 0x8c, 0x02, 0x05, 0x1a, 0x79, 0x20, 0x41, 0x72, - 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x20, 0x49, 0x4e, - 0x50, 0x55, 0x54, 0x53, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x20, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x53, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x0a, 0x20, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, - 0x04, 0x86, 0x02, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, - 0x86, 0x02, 0x0f, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0x86, - 0x02, 0x1f, 0x20, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x06, 0x86, 0x02, - 0x21, 0x8c, 0x02, 0x04, 0x0a, 0x12, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, - 0x12, 0x06, 0x86, 0x02, 0x22, 0x8c, 0x02, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x00, - 0x08, 0x87, 0x09, 0x10, 0x03, 0x00, 0x12, 0x04, 0x88, 0x02, 0x06, 0x07, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x0a, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, 0x03, 0x01, 0x12, 0x04, 0x89, 0x02, 0x06, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, 0x03, 0x02, 0x12, 0x04, - 0x8a, 0x02, 0x06, 0x07, 0x0a, 0x76, 0x0a, 0x04, 0x04, 0x0a, 0x08, 0x00, 0x12, 0x06, 0x90, 0x02, - 0x02, 0x96, 0x02, 0x03, 0x1a, 0x66, 0x20, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x53, 0x29, 0x20, 0x6f, 0x72, 0x20, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x28, - 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x53, 0x20, 0x2f, 0x20, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, - 0x29, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x0a, 0x20, - 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x08, 0x00, 0x01, 0x12, 0x04, 0x90, 0x02, 0x08, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x08, 0x00, 0x02, 0x12, 0x04, 0x91, 0x02, 0x04, 0x30, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, - 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0x91, 0x02, 0x04, 0x30, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0x93, 0x02, 0x04, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x01, 0x06, 0x12, 0x04, 0x93, 0x02, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, - 0x01, 0x01, 0x12, 0x04, 0x93, 0x02, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, - 0x03, 0x12, 0x04, 0x93, 0x02, 0x28, 0x29, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x02, 0x12, - 0x04, 0x95, 0x02, 0x04, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x06, 0x12, 0x04, - 0x95, 0x02, 0x04, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x01, 0x12, 0x04, 0x95, - 0x02, 0x23, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x03, 0x12, 0x04, 0x95, 0x02, - 0x37, 0x38, 0x0a, 0x61, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x03, 0x12, 0x04, 0x9a, 0x02, 0x02, 0x3e, - 0x1a, 0x53, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x44, 0x35, 0x20, 0x72, 0x65, - 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x4d, 0x44, 0x35, 0x20, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x04, - 0x9a, 0x02, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x04, 0x9a, - 0x02, 0x08, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x04, 0x9a, 0x02, - 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x12, 0x04, 0x9a, 0x02, 0x18, - 0x3d, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x87, 0x09, 0x0f, 0x0d, 0x12, 0x04, - 0x9a, 0x02, 0x19, 0x3c, 0x0a, 0x9b, 0x01, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x04, 0x12, 0x04, 0x9f, - 0x02, 0x02, 0x1b, 0x1a, 0x8c, 0x01, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x20, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, - 0x74, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x27, - 0x73, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x20, 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x9f, 0x02, 0x02, - 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x9f, 0x02, 0x08, 0x16, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x9f, 0x02, 0x19, 0x1a, 0x0a, - 0xe8, 0x01, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x05, 0x12, 0x04, 0xa4, 0x02, 0x02, 0x2a, 0x1a, 0xd9, - 0x01, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x20, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, - 0x64, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x2e, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x0a, 0x20, 0x62, - 0x65, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x27, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x2e, 0x0a, 0x20, 0x2b, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x65, - 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x05, 0x06, 0x12, 0x04, 0xa4, 0x02, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, - 0x05, 0x01, 0x12, 0x04, 0xa4, 0x02, 0x1b, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x05, - 0x03, 0x12, 0x04, 0xa4, 0x02, 0x28, 0x29, 0x0a, 0xc7, 0x01, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x06, - 0x12, 0x04, 0xa8, 0x02, 0x02, 0x24, 0x1a, 0xb8, 0x01, 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, 0x75, - 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2c, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x20, 0x77, 0x69, - 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x20, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x64, 0x61, 0x74, 0x61, - 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x6e, 0x20, 0x62, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x47, 0x43, 0x50, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x06, 0x05, 0x12, 0x04, 0xa8, 0x02, 0x02, 0x06, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x06, 0x01, 0x12, 0x04, 0xa8, 0x02, 0x07, 0x1f, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x06, 0x03, 0x12, 0x04, 0xa8, 0x02, 0x22, 0x23, 0x0a, 0x69, - 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xac, 0x02, 0x00, 0xba, 0x02, 0x01, 0x1a, 0x5b, 0x20, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, - 0x69, 0x6e, 0x6b, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, - 0x12, 0x04, 0xac, 0x02, 0x08, 0x26, 0x0a, 0x4e, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x06, - 0xaf, 0x02, 0x02, 0xb1, 0x02, 0x05, 0x1a, 0x3e, 0x20, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x20, 0x74, 0x6f, - 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x06, 0x12, - 0x04, 0xaf, 0x02, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xaf, 0x02, 0x0f, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xaf, - 0x02, 0x1f, 0x20, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x06, 0xaf, 0x02, - 0x21, 0xb1, 0x02, 0x04, 0x0a, 0x12, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, - 0x12, 0x06, 0xaf, 0x02, 0x22, 0xb1, 0x02, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x00, - 0x08, 0x87, 0x09, 0x10, 0x04, 0x00, 0x12, 0x04, 0xb0, 0x02, 0x0d, 0x0e, 0x0a, 0x6b, 0x0a, 0x04, - 0x04, 0x0b, 0x02, 0x01, 0x12, 0x04, 0xb4, 0x02, 0x02, 0x5e, 0x1a, 0x5d, 0x20, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x20, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x20, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x64, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, - 0x01, 0x06, 0x12, 0x04, 0xb4, 0x02, 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, - 0x01, 0x12, 0x04, 0xb4, 0x02, 0x21, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x03, - 0x12, 0x04, 0xb4, 0x02, 0x35, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x08, 0x12, - 0x04, 0xb4, 0x02, 0x37, 0x5d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x01, 0x08, 0x87, 0x09, - 0x19, 0x12, 0x04, 0xb4, 0x02, 0x38, 0x5c, 0x0a, 0xe9, 0x01, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x02, - 0x12, 0x04, 0xb9, 0x02, 0x02, 0x2a, 0x1a, 0xda, 0x01, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, - 0x73, 0x49, 0x6e, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x55, 0x52, 0x4c, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x0a, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x65, 0x78, 0x63, 0x65, - 0x65, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x27, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x6d, 0x61, - 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x06, 0x12, 0x04, 0xb9, 0x02, - 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x01, 0x12, 0x04, 0xb9, 0x02, 0x1b, - 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x03, 0x12, 0x04, 0xb9, 0x02, 0x28, 0x29, - 0x0a, 0x31, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xbd, 0x02, 0x00, 0xc8, 0x02, 0x01, 0x1a, 0x23, - 0x20, 0x52, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, - 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xbd, 0x02, 0x08, 0x18, - 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x0c, 0x03, 0x00, 0x12, 0x06, 0xbf, 0x02, 0x02, 0xc4, 0x02, 0x03, - 0x1a, 0x12, 0x20, 0x41, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, - 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x03, 0x00, 0x01, 0x12, 0x04, 0xbf, - 0x02, 0x0a, 0x0e, 0x0a, 0x27, 0x0a, 0x06, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, 0xc1, - 0x02, 0x04, 0x38, 0x1a, 0x17, 0x20, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, - 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x0c, 0x03, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0xc1, 0x02, 0x04, 0x0c, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc1, 0x02, 0x0d, 0x2d, 0x0a, 0x0f, - 0x0a, 0x07, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc1, 0x02, 0x2e, 0x33, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc1, 0x02, 0x36, 0x37, - 0x0a, 0x37, 0x0a, 0x06, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x01, 0x12, 0x04, 0xc3, 0x02, 0x04, 0x3f, - 0x1a, 0x27, 0x20, 0x57, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x03, - 0x00, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc3, 0x02, 0x04, 0x30, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, - 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc3, 0x02, 0x31, 0x3a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, - 0x0c, 0x03, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc3, 0x02, 0x3d, 0x3e, 0x0a, 0x2c, 0x0a, 0x04, - 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0xc7, 0x02, 0x02, 0x19, 0x1a, 0x1e, 0x20, 0x4f, 0x6e, 0x65, - 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x00, 0x04, 0x12, 0x04, 0xc7, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x00, 0x06, 0x12, 0x04, 0xc7, 0x02, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xc7, 0x02, 0x10, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xc7, 0x02, 0x17, 0x18, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x50, 0x49, + 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x60, 0x08, 0x24, 0x0a, 0x89, + 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x62, 0x02, 0x18, 0x1a, 0x7c, 0x20, 0x53, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x55, 0x52, 0x4c, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x6d, + 0x79, 0x2d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x73, 0x33, 0x2e, 0x61, 0x6d, 0x61, 0x7a, + 0x6f, 0x6e, 0x61, 0x77, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x2e, 0x74, 0x61, + 0x72, 0x3f, 0x58, 0x2d, 0x2e, 0x2e, 0x2e, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x00, 0x05, 0x12, 0x03, 0x62, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x62, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x62, 0x16, 0x17, 0x0a, 0x83, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x65, + 0x02, 0x18, 0x1a, 0x76, 0x20, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x55, 0x72, 0x6c, 0x20, 0x69, + 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, + 0x20, 0x73, 0x33, 0x3a, 0x2f, 0x2f, 0x6d, 0x79, 0x2d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, + 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x73, 0x75, 0x66, + 0x66, 0x69, 0x78, 0x2e, 0x74, 0x61, 0x72, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x01, 0x05, 0x12, 0x03, 0x65, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, + 0x01, 0x12, 0x03, 0x65, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, + 0x03, 0x65, 0x16, 0x17, 0x0a, 0x41, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x03, 0x68, 0x02, + 0x2b, 0x1a, 0x34, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x20, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x06, + 0x12, 0x03, 0x68, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, + 0x68, 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, 0x03, 0x68, 0x29, + 0x2a, 0x0a, 0x80, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x03, 0x12, 0x03, 0x6b, 0x02, 0x22, 0x1a, + 0x73, 0x20, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, + 0x61, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x20, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x73, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x74, + 0x68, 0x65, 0x73, 0x65, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x06, 0x12, 0x03, 0x6b, + 0x02, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x03, 0x6b, 0x16, 0x1d, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x03, 0x6b, 0x20, 0x21, 0x0a, 0x0b, + 0x0a, 0x02, 0x04, 0x02, 0x12, 0x05, 0x6e, 0x00, 0x91, 0x01, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, + 0x02, 0x01, 0x12, 0x03, 0x6e, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x08, 0x00, 0x12, + 0x04, 0x6f, 0x02, 0x77, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x00, 0x01, 0x12, 0x03, + 0x6f, 0x08, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x00, 0x02, 0x12, 0x03, 0x70, 0x04, + 0x30, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, 0x70, + 0x04, 0x30, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x73, 0x04, 0x24, 0x1a, + 0x1b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x73, 0x04, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x73, 0x19, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, + 0x03, 0x12, 0x03, 0x73, 0x22, 0x23, 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, + 0x76, 0x04, 0x2c, 0x1a, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x20, 0x69, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, + 0x6e, 0x2e, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, 0x03, 0x76, 0x04, 0x1c, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x76, 0x1d, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x76, 0x2a, 0x2b, 0x0a, 0xba, 0x01, 0x0a, 0x04, 0x04, 0x02, + 0x08, 0x01, 0x12, 0x05, 0x7b, 0x02, 0x86, 0x01, 0x03, 0x1a, 0xaa, 0x01, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x2e, + 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, + 0x6f, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x20, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, + 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x68, 0x61, 0x73, 0x68, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x20, + 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x01, 0x01, 0x12, + 0x03, 0x7b, 0x08, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x01, 0x02, 0x12, 0x03, 0x7c, + 0x04, 0x30, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x08, 0x01, 0x02, 0x87, 0x09, 0x01, 0x12, 0x03, + 0x7c, 0x04, 0x30, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x02, 0x12, 0x03, 0x7f, 0x04, 0x24, + 0x1a, 0x15, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x69, 0x64, 0x20, 0x74, + 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x06, + 0x12, 0x03, 0x7f, 0x04, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x01, 0x12, 0x03, + 0x7f, 0x18, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x03, 0x12, 0x03, 0x7f, 0x22, + 0x23, 0x0a, 0x25, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x04, 0x82, 0x01, 0x04, 0x20, 0x1a, + 0x17, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, + 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, + 0x06, 0x12, 0x04, 0x82, 0x01, 0x04, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x01, + 0x12, 0x04, 0x82, 0x01, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x03, 0x12, + 0x04, 0x82, 0x01, 0x1e, 0x1f, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x04, 0x12, 0x04, 0x85, + 0x01, 0x04, 0x28, 0x1a, 0x1a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x04, 0x06, 0x12, 0x04, 0x85, 0x01, 0x04, 0x16, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x04, 0x01, 0x12, 0x04, 0x85, 0x01, 0x17, 0x23, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x04, 0x03, 0x12, 0x04, 0x85, 0x01, 0x26, 0x27, 0x0a, 0x22, 0x0a, 0x04, + 0x04, 0x02, 0x02, 0x05, 0x12, 0x04, 0x89, 0x01, 0x02, 0x19, 0x1a, 0x14, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x05, 0x06, 0x12, 0x04, 0x89, 0x01, 0x02, 0x0d, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x05, 0x01, 0x12, 0x04, 0x89, 0x01, 0x0e, 0x14, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x05, 0x03, 0x12, 0x04, 0x89, 0x01, 0x17, 0x18, 0x0a, 0xde, 0x02, + 0x0a, 0x04, 0x04, 0x02, 0x02, 0x06, 0x12, 0x04, 0x90, 0x01, 0x02, 0x16, 0x1a, 0xcf, 0x02, 0x20, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, + 0x74, 0x20, 0x62, 0x61, 0x73, 0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, + 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x74, 0x6f, 0x20, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, + 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x4d, 0x69, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x20, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x72, 0x75, 0x6e, + 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, + 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x74, 0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x20, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, + 0x6e, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x66, + 0x72, 0x6f, 0x6d, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x77, + 0x65, 0x72, 0x65, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x2e, 0x0a, 0x20, 0x57, 0x68, + 0x65, 0x6e, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x62, 0x61, 0x73, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6f, 0x72, 0x67, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2c, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x06, 0x05, 0x12, 0x04, 0x90, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x06, 0x01, 0x12, 0x04, 0x90, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x06, 0x03, 0x12, 0x04, 0x90, 0x01, 0x14, 0x15, 0x0a, 0x0c, 0x0a, 0x02, 0x04, + 0x03, 0x12, 0x06, 0x93, 0x01, 0x00, 0x95, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, + 0x12, 0x04, 0x93, 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, + 0x94, 0x01, 0x02, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x04, 0x94, + 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0x94, 0x01, + 0x1c, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0x94, 0x01, 0x33, + 0x34, 0x0a, 0x57, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0x98, 0x01, 0x00, 0x9e, 0x01, 0x01, 0x1a, + 0x49, 0x20, 0x50, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x20, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, + 0x01, 0x12, 0x04, 0x98, 0x01, 0x08, 0x15, 0x0a, 0x4f, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, + 0x04, 0x9a, 0x01, 0x02, 0x21, 0x1a, 0x41, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, + 0x6c, 0x20, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x64, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, + 0x04, 0x12, 0x04, 0x9a, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, + 0x12, 0x04, 0x9a, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, + 0x04, 0x9a, 0x01, 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, + 0x9a, 0x01, 0x1f, 0x20, 0x0a, 0x43, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x04, 0x9d, 0x01, + 0x02, 0x2b, 0x1a, 0x35, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x20, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x01, 0x06, 0x12, 0x04, 0x9d, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, + 0x01, 0x12, 0x04, 0x9d, 0x01, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, + 0x12, 0x04, 0x9d, 0x01, 0x29, 0x2a, 0x0a, 0x5f, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0xa1, 0x01, + 0x00, 0xb6, 0x01, 0x01, 0x1a, 0x51, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, + 0x6b, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, + 0xa1, 0x01, 0x08, 0x21, 0x0a, 0x4e, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x06, 0xa4, 0x01, + 0x02, 0xa6, 0x01, 0x05, 0x1a, 0x3e, 0x20, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, + 0x6f, 0x66, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x64, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x0a, 0x20, 0x2b, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa4, + 0x01, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa4, 0x01, + 0x0f, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa4, 0x01, 0x1f, + 0x20, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x06, 0xa4, 0x01, 0x21, 0xa6, + 0x01, 0x04, 0x0a, 0x12, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x87, 0x09, 0x10, 0x12, 0x06, + 0xa4, 0x01, 0x22, 0xa6, 0x01, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, 0x02, 0x00, 0x08, 0x87, + 0x09, 0x10, 0x04, 0x00, 0x12, 0x04, 0xa5, 0x01, 0x0d, 0x0e, 0x0a, 0xe9, 0x01, 0x0a, 0x04, 0x04, + 0x05, 0x02, 0x01, 0x12, 0x04, 0xab, 0x01, 0x02, 0x2a, 0x1a, 0xda, 0x01, 0x20, 0x45, 0x78, 0x70, + 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x72, 0x65, + 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x65, + 0x78, 0x63, 0x65, 0x65, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x27, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, + 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x20, 0x66, 0x72, + 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x06, 0x12, + 0x04, 0xab, 0x01, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x04, + 0xab, 0x01, 0x1b, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x04, 0xab, + 0x01, 0x28, 0x29, 0x0a, 0x5a, 0x0a, 0x04, 0x04, 0x05, 0x08, 0x00, 0x12, 0x06, 0xae, 0x01, 0x02, + 0xb5, 0x01, 0x03, 0x1a, 0x4a, 0x20, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, + 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x20, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, + 0x62, 0x65, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x08, 0x00, 0x01, 0x12, 0x04, 0xae, 0x01, 0x08, 0x0e, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x08, 0x00, 0x02, 0x12, 0x04, 0xaf, 0x01, 0x04, 0x30, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x05, 0x08, 0x00, 0x02, 0x87, 0x09, 0x01, 0x12, 0x04, 0xaf, 0x01, 0x04, 0x30, 0x0a, + 0x6b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x02, 0x12, 0x04, 0xb2, 0x01, 0x04, 0x39, 0x1a, 0x5d, 0x20, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x20, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x02, 0x06, 0x12, 0x04, 0xb2, 0x01, 0x04, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0xb2, 0x01, 0x23, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x02, 0x03, 0x12, 0x04, 0xb2, 0x01, 0x37, 0x38, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, + 0x03, 0x12, 0x04, 0xb3, 0x01, 0x04, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x06, + 0x12, 0x04, 0xb3, 0x01, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x01, 0x12, + 0x04, 0xb3, 0x01, 0x1d, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, 0x12, 0x04, + 0xb3, 0x01, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x04, 0x12, 0x04, 0xb4, 0x01, + 0x04, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x06, 0x12, 0x04, 0xb4, 0x01, 0x04, + 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x01, 0x12, 0x04, 0xb4, 0x01, 0x22, 0x29, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x03, 0x12, 0x04, 0xb4, 0x01, 0x2c, 0x2d, 0x0a, + 0x61, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0xb9, 0x01, 0x00, 0xbc, 0x01, 0x01, 0x1a, 0x53, 0x20, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, + 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x41, 0x50, 0x49, + 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0xb9, 0x01, 0x08, 0x22, 0x0a, + 0x51, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0xbb, 0x01, 0x02, 0x24, 0x1a, 0x43, 0x20, + 0x50, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x73, 0x20, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, + 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x04, 0xbb, 0x01, 0x02, + 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbb, 0x01, 0x10, 0x1f, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbb, 0x01, 0x22, 0x23, 0x0a, + 0x39, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0xbf, 0x01, 0x00, 0xc9, 0x01, 0x01, 0x1a, 0x2b, 0x20, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, + 0x01, 0x12, 0x04, 0xbf, 0x01, 0x08, 0x1c, 0x0a, 0x20, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, + 0x04, 0xc1, 0x01, 0x02, 0x4f, 0x1a, 0x12, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, + 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, + 0x00, 0x06, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, + 0x01, 0x12, 0x04, 0xc1, 0x01, 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, + 0x12, 0x04, 0xc1, 0x01, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, + 0x04, 0xc1, 0x01, 0x28, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x87, 0x09, + 0x19, 0x12, 0x04, 0xc1, 0x01, 0x29, 0x4d, 0x0a, 0xa7, 0x02, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, + 0x12, 0x04, 0xc8, 0x01, 0x02, 0x24, 0x1a, 0x98, 0x02, 0x20, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, + 0x6f, 0x2e, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x61, 0x63, 0x72, 0x6f, + 0x73, 0x73, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x6e, 0x64, 0x0a, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2c, 0x20, 0x73, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x75, 0x73, 0x65, 0x73, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, + 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x20, 0x28, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x4f, + 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x73, 0x20, 0x76, 0x69, 0x61, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3b, 0x20, 0x61, 0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, + 0x67, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x6b, 0x65, 0x65, 0x70, 0x73, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x0a, 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x29, 0x2e, 0x0a, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc8, 0x01, 0x02, 0x14, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc8, 0x01, 0x15, 0x1f, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc8, 0x01, 0x22, 0x23, 0x0a, 0x3a, + 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xcc, 0x01, 0x00, 0xda, 0x01, 0x01, 0x1a, 0x2c, 0x20, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, + 0x01, 0x12, 0x04, 0xcc, 0x01, 0x08, 0x1d, 0x0a, 0x26, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, + 0x04, 0xce, 0x01, 0x02, 0x19, 0x1a, 0x18, 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, 0xce, 0x01, 0x02, 0x0d, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xce, 0x01, 0x0e, 0x14, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xce, 0x01, 0x17, 0x18, 0x0a, 0x27, 0x0a, 0x04, + 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x1b, 0x1a, 0x19, 0x20, 0x4f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x06, 0x12, 0x04, + 0xd1, 0x01, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd1, + 0x01, 0x0f, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd1, 0x01, + 0x19, 0x1a, 0x0a, 0xa8, 0x01, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x02, 0x12, 0x04, 0xd5, 0x01, 0x02, + 0x18, 0x1a, 0x99, 0x01, 0x20, 0x52, 0x61, 0x77, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x55, 0x52, 0x49, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, + 0x73, 0x33, 0x3a, 0x2f, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x2e, 0x2e, 0x2e, 0x29, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x27, + 0x73, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x6e, 0x6c, + 0x79, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x08, 0x02, 0x02, 0x05, 0x12, 0x04, 0xd5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x08, 0x02, 0x02, 0x01, 0x12, 0x04, 0xd5, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x08, 0x02, 0x02, 0x03, 0x12, 0x04, 0xd5, 0x01, 0x16, 0x17, 0x0a, 0xaa, 0x01, 0x0a, 0x04, 0x04, + 0x08, 0x02, 0x03, 0x12, 0x04, 0xd9, 0x01, 0x02, 0x19, 0x1a, 0x9b, 0x01, 0x20, 0x52, 0x61, 0x77, + 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x55, 0x52, + 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x27, 0x73, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x69, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x61, 0x73, 0x6e, 0x27, + 0x74, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x68, 0x61, 0x73, + 0x20, 0x6e, 0x6f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x2c, 0x20, 0x6f, 0x72, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, + 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x69, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x05, + 0x12, 0x04, 0xd9, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x01, 0x12, + 0x04, 0xd9, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x03, 0x12, 0x04, + 0xd9, 0x01, 0x17, 0x18, 0x0a, 0x31, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0xdd, 0x01, 0x00, 0xf1, + 0x01, 0x01, 0x1a, 0x23, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, + 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, + 0xdd, 0x01, 0x08, 0x17, 0x0a, 0x1e, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0xdf, 0x01, + 0x02, 0x4f, 0x1a, 0x10, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0xdf, + 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdf, 0x01, + 0x1a, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdf, 0x01, 0x26, + 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0xdf, 0x01, 0x28, 0x4e, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, 0x87, 0x09, 0x19, 0x12, 0x04, 0xdf, 0x01, + 0x29, 0x4d, 0x0a, 0x23, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x01, 0x12, 0x04, 0xe2, 0x01, 0x02, 0x3a, + 0x1a, 0x15, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x05, + 0x12, 0x04, 0xe2, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xe2, 0x01, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xe2, 0x01, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x08, 0x12, 0x04, 0xe2, + 0x01, 0x15, 0x39, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x01, 0x08, 0x87, 0x09, 0x05, 0x04, + 0x12, 0x04, 0xe2, 0x01, 0x16, 0x38, 0x0a, 0x52, 0x0a, 0x04, 0x04, 0x09, 0x08, 0x00, 0x12, 0x06, + 0xe5, 0x01, 0x02, 0xec, 0x01, 0x03, 0x1a, 0x42, 0x20, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x73, + 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x70, 0x6f, 0x64, 0x28, 0x73, 0x29, 0x20, 0x74, 0x6f, + 0x20, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, + 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x08, 0x00, 0x01, 0x12, 0x04, 0xe5, 0x01, 0x08, 0x14, 0x0a, 0x64, 0x0a, 0x04, 0x04, 0x09, 0x02, + 0x02, 0x12, 0x04, 0xe7, 0x01, 0x04, 0x19, 0x1a, 0x56, 0x20, 0x54, 0x61, 0x69, 0x6c, 0x20, 0x6c, + 0x6f, 0x67, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x20, 0x70, 0x6f, 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x2e, 0x20, 0x54, + 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x05, 0x12, 0x04, 0xe7, 0x01, 0x04, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe7, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x09, 0x02, 0x02, 0x03, 0x12, 0x04, 0xe7, 0x01, 0x17, 0x18, 0x0a, 0x28, 0x0a, 0x04, + 0x04, 0x09, 0x02, 0x03, 0x12, 0x04, 0xe9, 0x01, 0x04, 0x16, 0x1a, 0x1a, 0x20, 0x54, 0x61, 0x69, + 0x6c, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x6c, 0x6c, 0x20, + 0x70, 0x6f, 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x05, 0x12, + 0x04, 0xe9, 0x01, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x01, 0x12, 0x04, + 0xe9, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x03, 0x12, 0x04, 0xe9, + 0x01, 0x14, 0x15, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x04, 0x12, 0x04, 0xeb, 0x01, 0x04, + 0x18, 0x1a, 0x24, 0x20, 0x54, 0x61, 0x69, 0x6c, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x72, + 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x20, 0x70, 0x6f, 0x64, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, 0x05, + 0x12, 0x04, 0xeb, 0x01, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, 0x01, 0x12, + 0x04, 0xeb, 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, 0x03, 0x12, 0x04, + 0xeb, 0x01, 0x16, 0x17, 0x0a, 0x91, 0x01, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x05, 0x12, 0x04, 0xf0, + 0x01, 0x02, 0x29, 0x1a, 0x82, 0x01, 0x20, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20, + 0x75, 0x73, 0x65, 0x73, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x76, 0x69, 0x61, 0x0a, + 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, + 0x67, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x70, 0x6f, + 0x64, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, + 0x04, 0x12, 0x04, 0xf0, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, 0x05, + 0x12, 0x04, 0xf0, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, 0x01, 0x12, + 0x04, 0xf0, 0x01, 0x12, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, 0x03, 0x12, 0x04, + 0xf0, 0x01, 0x27, 0x28, 0x0a, 0x31, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xf4, 0x01, 0x00, 0xff, + 0x01, 0x01, 0x1a, 0x23, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, + 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, + 0xf4, 0x01, 0x08, 0x18, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x0a, 0x03, 0x00, 0x12, 0x06, 0xf6, 0x01, + 0x02, 0xfb, 0x01, 0x03, 0x1a, 0x12, 0x20, 0x41, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x6f, + 0x66, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x03, 0x00, + 0x01, 0x12, 0x04, 0xf6, 0x01, 0x0a, 0x0e, 0x0a, 0x27, 0x0a, 0x06, 0x04, 0x0a, 0x03, 0x00, 0x02, + 0x00, 0x12, 0x04, 0xf8, 0x01, 0x04, 0x38, 0x1a, 0x17, 0x20, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2e, 0x0a, + 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0a, 0x03, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0xf8, 0x01, 0x04, + 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0a, 0x03, 0x00, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf8, 0x01, + 0x0d, 0x2d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0a, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf8, + 0x01, 0x2e, 0x33, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0a, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, + 0xf8, 0x01, 0x36, 0x37, 0x0a, 0x37, 0x0a, 0x06, 0x04, 0x0a, 0x03, 0x00, 0x02, 0x01, 0x12, 0x04, + 0xfa, 0x01, 0x04, 0x3f, 0x1a, 0x27, 0x20, 0x57, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x6c, 0x69, 0x6e, + 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, + 0x07, 0x04, 0x0a, 0x03, 0x00, 0x02, 0x01, 0x06, 0x12, 0x04, 0xfa, 0x01, 0x04, 0x30, 0x0a, 0x0f, + 0x0a, 0x07, 0x04, 0x0a, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfa, 0x01, 0x31, 0x3a, 0x0a, + 0x0f, 0x0a, 0x07, 0x04, 0x0a, 0x03, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfa, 0x01, 0x3d, 0x3e, + 0x0a, 0x2c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xfe, 0x01, 0x02, 0x19, 0x1a, 0x1e, + 0x20, 0x4f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x04, 0x12, 0x04, 0xfe, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, 0x04, 0xfe, 0x01, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfe, 0x01, 0x10, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfe, 0x01, 0x17, 0x18, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, ]; include!("flyteidl2.dataproxy.tonic.rs"); // @@protoc_insertion_point(module) \ No newline at end of file diff --git a/gen/rust/src/flyteidl2.dataproxy.tonic.rs b/gen/rust/src/flyteidl2.dataproxy.tonic.rs index 5c208680cd1..b894ae54073 100644 --- a/gen/rust/src/flyteidl2.dataproxy.tonic.rs +++ b/gen/rust/src/flyteidl2.dataproxy.tonic.rs @@ -231,96 +231,6 @@ pub mod data_proxy_service_client { ); self.inner.server_streaming(req, path, codec).await } - pub async fn upload_metadata( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.dataproxy.DataProxyService/UploadMetadata", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "flyteidl2.dataproxy.DataProxyService", - "UploadMetadata", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn get_local_action_data( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.dataproxy.DataProxyService/GetLocalActionData", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "flyteidl2.dataproxy.DataProxyService", - "GetLocalActionData", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn create_local_download_link( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "flyteidl2.dataproxy.DataProxyService", - "CreateLocalDownloadLink", - ), - ); - self.inner.unary(req, path, codec).await - } } } /// Generated server implementations. @@ -368,27 +278,6 @@ pub mod data_proxy_service_server { &self, request: tonic::Request, ) -> std::result::Result, tonic::Status>; - async fn upload_metadata( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn get_local_action_data( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn create_local_download_link( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; } #[derive(Debug)] pub struct DataProxyServiceServer { @@ -702,152 +591,6 @@ pub mod data_proxy_service_server { }; Box::pin(fut) } - "/flyteidl2.dataproxy.DataProxyService/UploadMetadata" => { - #[allow(non_camel_case_types)] - struct UploadMetadataSvc(pub Arc); - impl< - T: DataProxyService, - > tonic::server::UnaryService - for UploadMetadataSvc { - type Response = super::CreateUploadLocationResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::upload_metadata(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = UploadMetadataSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/flyteidl2.dataproxy.DataProxyService/GetLocalActionData" => { - #[allow(non_camel_case_types)] - struct GetLocalActionDataSvc(pub Arc); - impl< - T: DataProxyService, - > tonic::server::UnaryService - for GetLocalActionDataSvc { - type Response = super::GetActionDataResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_local_action_data( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = GetLocalActionDataSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/flyteidl2.dataproxy.DataProxyService/CreateLocalDownloadLink" => { - #[allow(non_camel_case_types)] - struct CreateLocalDownloadLinkSvc(pub Arc); - impl< - T: DataProxyService, - > tonic::server::UnaryService - for CreateLocalDownloadLinkSvc { - type Response = super::CreateDownloadLinkResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::CreateLocalDownloadLinkRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::create_local_download_link( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = CreateLocalDownloadLinkSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } _ => { Box::pin(async move { Ok( diff --git a/gen/ts/flyteidl2/cluster/payload_pb.ts b/gen/ts/flyteidl2/cluster/payload_pb.ts index 972d51a3c84..47a7990bafc 100644 --- a/gen/ts/flyteidl2/cluster/payload_pb.ts +++ b/gen/ts/flyteidl2/cluster/payload_pb.ts @@ -17,7 +17,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file flyteidl2/cluster/payload.proto. */ export const file_flyteidl2_cluster_payload: GenFile = /*@__PURE__*/ - fileDesc("Ch9mbHl0ZWlkbDIvY2x1c3Rlci9wYXlsb2FkLnByb3RvEhFmbHl0ZWlkbDIuY2x1c3RlciKsBwoUU2VsZWN0Q2x1c3RlclJlcXVlc3QSMQoGb3JnX2lkGAEgASgLMh8uZmx5dGVpZGwyLmNvbW1vbi5PcmdJZGVudGlmaWVySAASOQoKcHJvamVjdF9pZBgCIAEoCzIjLmZseXRlaWRsMi5jb21tb24uUHJvamVjdElkZW50aWZpZXJIABIxCgd0YXNrX2lkGAMgASgLMh4uZmx5dGVpZGwyLnRhc2suVGFza0lkZW50aWZpZXJIABI3CglhY3Rpb25faWQYBCABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXJIABJGChFhY3Rpb25fYXR0ZW1wdF9pZBgFIAEoCzIpLmZseXRlaWRsMi5jb21tb24uQWN0aW9uQXR0ZW1wdElkZW50aWZpZXJIABIrCgZhcHBfaWQYBiABKAsyGS5mbHl0ZWlkbDIuYXBwLklkZW50aWZpZXJIABJCCg9jbHVzdGVyX3Bvb2xfaWQYByABKAsyJy5mbHl0ZWlkbDIuY29tbW9uLkNsdXN0ZXJQb29sSWRlbnRpZmllckgAEjcKCWRvbWFpbl9pZBgJIAEoCzIiLmZseXRlaWRsMi5jb21tb24uRG9tYWluSWRlbnRpZmllckgAEk4KCW9wZXJhdGlvbhgIIAEoDjIxLmZseXRlaWRsMi5jbHVzdGVyLlNlbGVjdENsdXN0ZXJSZXF1ZXN0Lk9wZXJhdGlvbkIIukgFggECIAAi5AIKCU9wZXJhdGlvbhIZChVPUEVSQVRJT05fVU5TUEVDSUZJRUQQABIkCiBPUEVSQVRJT05fQ1JFQVRFX1VQTE9BRF9MT0NBVElPThABEhsKF09QRVJBVElPTl9VUExPQURfSU5QVVRTEAISHQoZT1BFUkFUSU9OX0dFVF9BQ1RJT05fREFUQRADEiEKHU9QRVJBVElPTl9RVUVSWV9SQU5HRV9NRVRSSUNTEAQSIgoeT1BFUkFUSU9OX0NSRUFURV9ET1dOTE9BRF9MSU5LEAUSFwoTT1BFUkFUSU9OX1RBSUxfTE9HUxAGEigKJE9QRVJBVElPTl9HRVRfQUNUSU9OX0FUVEVNUFRfTUVUUklDUxAHEhkKFU9QRVJBVElPTl9VU0VfU0VDUkVUUxAIEhwKGE9QRVJBVElPTl9VUExPQURfVFJJR0dFUhAJEhcKE09QRVJBVElPTl9HRVRfSU1BR0UQCkIRCghyZXNvdXJjZRIFukgCCAEiMQoVU2VsZWN0Q2x1c3RlclJlc3BvbnNlEhgKEGNsdXN0ZXJfZW5kcG9pbnQYASABKAlCwwEKFWNvbS5mbHl0ZWlkbDIuY2x1c3RlckIMUGF5bG9hZFByb3RvSAJQAVo1Z2l0aHViLmNvbS9mbHl0ZW9yZy9mbHl0ZS92Mi9nZW4vZ28vZmx5dGVpZGwyL2NsdXN0ZXKiAgNGQ1iqAhFGbHl0ZWlkbDIuQ2x1c3RlcsoCEUZseXRlaWRsMlxDbHVzdGVy4gIdRmx5dGVpZGwyXENsdXN0ZXJcR1BCTWV0YWRhdGHqAhJGbHl0ZWlkbDI6OkNsdXN0ZXJiBnByb3RvMw", [file_buf_validate_validate, file_flyteidl2_app_app_definition, file_flyteidl2_common_identifier, file_flyteidl2_task_task_definition]); + fileDesc("Ch9mbHl0ZWlkbDIvY2x1c3Rlci9wYXlsb2FkLnByb3RvEhFmbHl0ZWlkbDIuY2x1c3RlciLKBwoUU2VsZWN0Q2x1c3RlclJlcXVlc3QSMQoGb3JnX2lkGAEgASgLMh8uZmx5dGVpZGwyLmNvbW1vbi5PcmdJZGVudGlmaWVySAASOQoKcHJvamVjdF9pZBgCIAEoCzIjLmZseXRlaWRsMi5jb21tb24uUHJvamVjdElkZW50aWZpZXJIABIxCgd0YXNrX2lkGAMgASgLMh4uZmx5dGVpZGwyLnRhc2suVGFza0lkZW50aWZpZXJIABI3CglhY3Rpb25faWQYBCABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXJIABJGChFhY3Rpb25fYXR0ZW1wdF9pZBgFIAEoCzIpLmZseXRlaWRsMi5jb21tb24uQWN0aW9uQXR0ZW1wdElkZW50aWZpZXJIABIrCgZhcHBfaWQYBiABKAsyGS5mbHl0ZWlkbDIuYXBwLklkZW50aWZpZXJIABJCCg9jbHVzdGVyX3Bvb2xfaWQYByABKAsyJy5mbHl0ZWlkbDIuY29tbW9uLkNsdXN0ZXJQb29sSWRlbnRpZmllckgAEjcKCWRvbWFpbl9pZBgJIAEoCzIiLmZseXRlaWRsMi5jb21tb24uRG9tYWluSWRlbnRpZmllckgAEk4KCW9wZXJhdGlvbhgIIAEoDjIxLmZseXRlaWRsMi5jbHVzdGVyLlNlbGVjdENsdXN0ZXJSZXF1ZXN0Lk9wZXJhdGlvbkIIukgFggECIAAiggMKCU9wZXJhdGlvbhIZChVPUEVSQVRJT05fVU5TUEVDSUZJRUQQABIkCiBPUEVSQVRJT05fQ1JFQVRFX1VQTE9BRF9MT0NBVElPThABEhsKF09QRVJBVElPTl9VUExPQURfSU5QVVRTEAISHQoZT1BFUkFUSU9OX0dFVF9BQ1RJT05fREFUQRADEiEKHU9QRVJBVElPTl9RVUVSWV9SQU5HRV9NRVRSSUNTEAQSIgoeT1BFUkFUSU9OX0NSRUFURV9ET1dOTE9BRF9MSU5LEAUSFwoTT1BFUkFUSU9OX1RBSUxfTE9HUxAGEigKJE9QRVJBVElPTl9HRVRfQUNUSU9OX0FUVEVNUFRfTUVUUklDUxAHEhkKFU9QRVJBVElPTl9VU0VfU0VDUkVUUxAIEhwKGE9QRVJBVElPTl9VUExPQURfVFJJR0dFUhAJEhcKE09QRVJBVElPTl9HRVRfSU1BR0UQChIcChhPUEVSQVRJT05fTE9DQUxfUlVOX0RBVEEQC0IRCghyZXNvdXJjZRIFukgCCAEiQgoVU2VsZWN0Q2x1c3RlclJlc3BvbnNlEhgKEGNsdXN0ZXJfZW5kcG9pbnQYASABKAkSDwoHY2x1c3RlchgCIAEoCULDAQoVY29tLmZseXRlaWRsMi5jbHVzdGVyQgxQYXlsb2FkUHJvdG9IAlABWjVnaXRodWIuY29tL2ZseXRlb3JnL2ZseXRlL3YyL2dlbi9nby9mbHl0ZWlkbDIvY2x1c3RlcqICA0ZDWKoCEUZseXRlaWRsMi5DbHVzdGVyygIRRmx5dGVpZGwyXENsdXN0ZXLiAh1GbHl0ZWlkbDJcQ2x1c3RlclxHUEJNZXRhZGF0YeoCEkZseXRlaWRsMjo6Q2x1c3RlcmIGcHJvdG8z", [file_buf_validate_validate, file_flyteidl2_app_app_definition, file_flyteidl2_common_identifier, file_flyteidl2_task_task_definition]); /** * @generated from message flyteidl2.cluster.SelectClusterRequest @@ -147,6 +147,15 @@ export enum SelectClusterRequest_Operation { * @generated from enum value: OPERATION_GET_IMAGE = 10; */ GET_IMAGE = 10, + + /** + * Data operations (uploads/reads/download links) for locally-orchestrated runs. Routes to a + * dataplane only when the org's clusters are all directly reachable (zero trust); otherwise + * the server answers with its own endpoint and serves these from control-plane storage. + * + * @generated from enum value: OPERATION_LOCAL_RUN_DATA = 11; + */ + LOCAL_RUN_DATA = 11, } /** @@ -163,6 +172,15 @@ export type SelectClusterResponse = Message<"flyteidl2.cluster.SelectClusterResp * @generated from field: string cluster_endpoint = 1; */ clusterEndpoint: string; + + /** + * Name of the cluster the endpoint belongs to. Empty when the request was routed to the + * control plane's own endpoint. Clients that persist where an artifact was written (e.g. + * local-run reporters stamping the attempt's cluster) use this to make reads routable later. + * + * @generated from field: string cluster = 2; + */ + cluster: string; }; /** diff --git a/gen/ts/flyteidl2/dataproxy/dataproxy_service_pb.ts b/gen/ts/flyteidl2/dataproxy/dataproxy_service_pb.ts index 7a5985e7fbf..2afbc9ff36a 100644 --- a/gen/ts/flyteidl2/dataproxy/dataproxy_service_pb.ts +++ b/gen/ts/flyteidl2/dataproxy/dataproxy_service_pb.ts @@ -17,6 +17,8 @@ import type { Inputs, Outputs } from "../task/common_pb.ts"; import { file_flyteidl2_task_common } from "../task/common_pb.ts"; import type { TaskIdentifier, TaskSpec } from "../task/task_definition_pb.ts"; import { file_flyteidl2_task_task_definition } from "../task/task_definition_pb.ts"; +import type { RunSource } from "../workflow/run_definition_pb.ts"; +import { file_flyteidl2_workflow_run_definition } from "../workflow/run_definition_pb.ts"; import type { Duration, Timestamp } from "@bufbuild/protobuf/wkt"; import { file_google_protobuf_duration, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; import type { Message } from "@bufbuild/protobuf"; @@ -25,7 +27,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file flyteidl2/dataproxy/dataproxy_service.proto. */ export const file_flyteidl2_dataproxy_dataproxy_service: GenFile = /*@__PURE__*/ - fileDesc("CitmbHl0ZWlkbDIvZGF0YXByb3h5L2RhdGFwcm94eV9zZXJ2aWNlLnByb3RvEhNmbHl0ZWlkbDIuZGF0YXByb3h5Io0CChtDcmVhdGVVcGxvYWRMb2NhdGlvblJlcXVlc3QSGAoHcHJvamVjdBgBIAEoCUIHukgEcgIQARIXCgZkb21haW4YAiABKAlCB7pIBHICEAESEAoIZmlsZW5hbWUYAyABKAkSLQoKZXhwaXJlc19pbhgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIcCgtjb250ZW50X21kNRgFIAEoDEIHukgEegJoEBIVCg1maWxlbmFtZV9yb290GAYgASgJEiAKGGFkZF9jb250ZW50X21kNV9tZXRhZGF0YRgHIAEoCBILCgNvcmcYCCABKAkSFgoOY29udGVudF9sZW5ndGgYCSABKAMi9wEKHENyZWF0ZVVwbG9hZExvY2F0aW9uUmVzcG9uc2USEgoKc2lnbmVkX3VybBgBIAEoCRISCgpuYXRpdmVfdXJsGAIgASgJEi4KCmV4cGlyZXNfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEk8KB2hlYWRlcnMYBCADKAsyPi5mbHl0ZWlkbDIuZGF0YXByb3h5LkNyZWF0ZVVwbG9hZExvY2F0aW9uUmVzcG9uc2UuSGVhZGVyc0VudHJ5Gi4KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvICChNVcGxvYWRJbnB1dHNSZXF1ZXN0EjEKBnJ1bl9pZBgBIAEoCzIfLmZseXRlaWRsMi5jb21tb24uUnVuSWRlbnRpZmllckgAEjkKCnByb2plY3RfaWQYAiABKAsyIy5mbHl0ZWlkbDIuY29tbW9uLlByb2plY3RJZGVudGlmaWVySAASMQoHdGFza19pZBgDIAEoCzIeLmZseXRlaWRsMi50YXNrLlRhc2tJZGVudGlmaWVySAESLQoJdGFza19zcGVjGAQgASgLMhguZmx5dGVpZGwyLnRhc2suVGFza1NwZWNIARI1Cgx0cmlnZ2VyX25hbWUYBSABKAsyHS5mbHl0ZWlkbDIuY29tbW9uLlRyaWdnZXJOYW1lSAESJgoGaW5wdXRzGAYgASgLMhYuZmx5dGVpZGwyLnRhc2suSW5wdXRzEhAKCGJhc2VfZGlyGAcgASgJQgsKAmlkEgW6SAIIAUINCgR0YXNrEgW6SAIIASJaChRVcGxvYWRJbnB1dHNSZXNwb25zZRJCChRvZmZsb2FkZWRfaW5wdXRfZGF0YRgBIAEoCzIkLmZseXRlaWRsMi5jb21tb24uT2ZmbG9hZGVkSW5wdXREYXRhIlMKDVByZVNpZ25lZFVSTHMSEgoKc2lnbmVkX3VybBgBIAMoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLHAgoZQ3JlYXRlRG93bmxvYWRMaW5rUmVxdWVzdBJCCg1hcnRpZmFjdF90eXBlGAEgASgOMiEuZmx5dGVpZGwyLmRhdGFwcm94eS5BcnRpZmFjdFR5cGVCCLpIBYIBAiAAEi0KCmV4cGlyZXNfaW4YAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SRgoRYWN0aW9uX2F0dGVtcHRfaWQYAyABKAsyKS5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbkF0dGVtcHRJZGVudGlmaWVySAASKwoGYXBwX2lkGAQgASgLMhkuZmx5dGVpZGwyLmFwcC5JZGVudGlmaWVySAASMQoHdGFza19pZBgFIAEoCzIeLmZseXRlaWRsMi50YXNrLlRhc2tJZGVudGlmaWVySABCDwoGc291cmNlEgW6SAIIASJZChpDcmVhdGVEb3dubG9hZExpbmtSZXNwb25zZRI7Cg9wcmVfc2lnbmVkX3VybHMYASABKAsyIi5mbHl0ZWlkbDIuZGF0YXByb3h5LlByZVNpZ25lZFVSTHMiVQoUR2V0QWN0aW9uRGF0YVJlcXVlc3QSPQoJYWN0aW9uX2lkGAEgASgLMiIuZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25JZGVudGlmaWVyQga6SAPIAQEikgEKFUdldEFjdGlvbkRhdGFSZXNwb25zZRImCgZpbnB1dHMYASABKAsyFi5mbHl0ZWlkbDIudGFzay5JbnB1dHMSKAoHb3V0cHV0cxgCIAEoCzIXLmZseXRlaWRsMi50YXNrLk91dHB1dHMSEgoKaW5wdXRzX3VyaRgDIAEoCRITCgtvdXRwdXRzX3VyaRgEIAEoCSLxAQoPVGFpbExvZ3NSZXF1ZXN0Ej0KCWFjdGlvbl9pZBgBIAEoCzIiLmZseXRlaWRsMi5jb21tb24uQWN0aW9uSWRlbnRpZmllckIGukgDyAEBEhgKB2F0dGVtcHQYAiABKA1CB7pIBCoCIAASFQoLcHJpbWFyeV9wb2QYBiABKAhIABISCghhbGxfcG9kcxgFIAEoCEgAEhIKCHBvZF9uYW1lGAMgASgJSAASHwoSY29ubmVjdG9yX2VuZHBvaW50GAQgASgJSAGIAQFCDgoMcG9kX3NlbGVjdG9yQhUKE19jb25uZWN0b3JfZW5kcG9pbnQi+AIKFVVwbG9hZE1ldGFkYXRhUmVxdWVzdBJGCg1hcnRpZmFjdF90eXBlGAEgASgOMiEuZmx5dGVpZGwyLmRhdGFwcm94eS5BcnRpZmFjdFR5cGVCDLpICYIBBhgBGAMYBBI3CglhY3Rpb25faWQYAiABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXJIABJGChFhY3Rpb25fYXR0ZW1wdF9pZBgDIAEoCzIpLmZseXRlaWRsMi5jb21tb24uQWN0aW9uQXR0ZW1wdElkZW50aWZpZXJIABIcCgtjb250ZW50X21kNRgEIAEoDEIHukgEegJoEBIWCg5jb250ZW50X2xlbmd0aBgFIAEoAxItCgpleHBpcmVzX2luGAYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEiAKGGFkZF9jb250ZW50X21kNV9tZXRhZGF0YRgHIAEoCEIPCgZ0YXJnZXQSBbpIAggBIuEBCh5DcmVhdGVMb2NhbERvd25sb2FkTGlua1JlcXVlc3QSQgoNYXJ0aWZhY3RfdHlwZRgBIAEoDjIhLmZseXRlaWRsMi5kYXRhcHJveHkuQXJ0aWZhY3RUeXBlQgi6SAWCAQIgABJMChFhY3Rpb25fYXR0ZW1wdF9pZBgCIAEoCzIpLmZseXRlaWRsMi5jb21tb24uQWN0aW9uQXR0ZW1wdElkZW50aWZpZXJCBrpIA8gBARItCgpleHBpcmVzX2luGAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIsgBChBUYWlsTG9nc1Jlc3BvbnNlEjgKBGxvZ3MYASADKAsyKi5mbHl0ZWlkbDIuZGF0YXByb3h5LlRhaWxMb2dzUmVzcG9uc2UuTG9ncxp6CgRMb2dzEjAKBWxpbmVzGAEgAygLMiEuZmx5dGVpZGwyLmxvZ3MuZGF0YXBsYW5lLkxvZ0xpbmUSQAoJY29udGFpbmVyGAIgASgLMi0uZmx5dGVpZGwyLmxvZ3MuZGF0YXBsYW5lLkNvbnRhaW5lcklkZW50aWZpZXIqmwEKDEFydGlmYWN0VHlwZRIdChlBUlRJRkFDVF9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUQVJUSUZBQ1RfVFlQRV9SRVBPUlQQARIdChlBUlRJRkFDVF9UWVBFX0NPREVfQlVORExFEAISGAoUQVJUSUZBQ1RfVFlQRV9JTlBVVFMQAxIZChVBUlRJRkFDVF9UWVBFX09VVFBVVFMQBDKkBwoQRGF0YVByb3h5U2VydmljZRJ9ChRDcmVhdGVVcGxvYWRMb2NhdGlvbhIwLmZseXRlaWRsMi5kYXRhcHJveHkuQ3JlYXRlVXBsb2FkTG9jYXRpb25SZXF1ZXN0GjEuZmx5dGVpZGwyLmRhdGFwcm94eS5DcmVhdGVVcGxvYWRMb2NhdGlvblJlc3BvbnNlIgASZQoMVXBsb2FkSW5wdXRzEiguZmx5dGVpZGwyLmRhdGFwcm94eS5VcGxvYWRJbnB1dHNSZXF1ZXN0GikuZmx5dGVpZGwyLmRhdGFwcm94eS5VcGxvYWRJbnB1dHNSZXNwb25zZSIAEncKEkNyZWF0ZURvd25sb2FkTGluaxIuLmZseXRlaWRsMi5kYXRhcHJveHkuQ3JlYXRlRG93bmxvYWRMaW5rUmVxdWVzdBovLmZseXRlaWRsMi5kYXRhcHJveHkuQ3JlYXRlRG93bmxvYWRMaW5rUmVzcG9uc2UiABJrCg1HZXRBY3Rpb25EYXRhEikuZmx5dGVpZGwyLmRhdGFwcm94eS5HZXRBY3Rpb25EYXRhUmVxdWVzdBoqLmZseXRlaWRsMi5kYXRhcHJveHkuR2V0QWN0aW9uRGF0YVJlc3BvbnNlIgOQAgESWwoIVGFpbExvZ3MSJC5mbHl0ZWlkbDIuZGF0YXByb3h5LlRhaWxMb2dzUmVxdWVzdBolLmZseXRlaWRsMi5kYXRhcHJveHkuVGFpbExvZ3NSZXNwb25zZSIAMAEScQoOVXBsb2FkTWV0YWRhdGESKi5mbHl0ZWlkbDIuZGF0YXByb3h5LlVwbG9hZE1ldGFkYXRhUmVxdWVzdBoxLmZseXRlaWRsMi5kYXRhcHJveHkuQ3JlYXRlVXBsb2FkTG9jYXRpb25SZXNwb25zZSIAEnAKEkdldExvY2FsQWN0aW9uRGF0YRIpLmZseXRlaWRsMi5kYXRhcHJveHkuR2V0QWN0aW9uRGF0YVJlcXVlc3QaKi5mbHl0ZWlkbDIuZGF0YXByb3h5LkdldEFjdGlvbkRhdGFSZXNwb25zZSIDkAIBEoEBChdDcmVhdGVMb2NhbERvd25sb2FkTGluaxIzLmZseXRlaWRsMi5kYXRhcHJveHkuQ3JlYXRlTG9jYWxEb3dubG9hZExpbmtSZXF1ZXN0Gi8uZmx5dGVpZGwyLmRhdGFwcm94eS5DcmVhdGVEb3dubG9hZExpbmtSZXNwb25zZSIAQtgBChdjb20uZmx5dGVpZGwyLmRhdGFwcm94eUIVRGF0YXByb3h5U2VydmljZVByb3RvSAJQAVo3Z2l0aHViLmNvbS9mbHl0ZW9yZy9mbHl0ZS92Mi9nZW4vZ28vZmx5dGVpZGwyL2RhdGFwcm94eaICA0ZEWKoCE0ZseXRlaWRsMi5EYXRhcHJveHnKAhNGbHl0ZWlkbDJcRGF0YXByb3h54gIfRmx5dGVpZGwyXERhdGFwcm94eVxHUEJNZXRhZGF0YeoCFEZseXRlaWRsMjo6RGF0YXByb3h5YgZwcm90bzM", [file_buf_validate_validate, file_flyteidl2_app_app_definition, file_flyteidl2_common_identifier, file_flyteidl2_common_run, file_flyteidl2_logs_dataplane_payload, file_flyteidl2_task_common, file_flyteidl2_task_task_definition, file_google_protobuf_duration, file_google_protobuf_timestamp]); + fileDesc("CitmbHl0ZWlkbDIvZGF0YXByb3h5L2RhdGFwcm94eV9zZXJ2aWNlLnByb3RvEhNmbHl0ZWlkbDIuZGF0YXByb3h5Io0CChtDcmVhdGVVcGxvYWRMb2NhdGlvblJlcXVlc3QSGAoHcHJvamVjdBgBIAEoCUIHukgEcgIQARIXCgZkb21haW4YAiABKAlCB7pIBHICEAESEAoIZmlsZW5hbWUYAyABKAkSLQoKZXhwaXJlc19pbhgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIcCgtjb250ZW50X21kNRgFIAEoDEIHukgEegJoEBIVCg1maWxlbmFtZV9yb290GAYgASgJEiAKGGFkZF9jb250ZW50X21kNV9tZXRhZGF0YRgHIAEoCBILCgNvcmcYCCABKAkSFgoOY29udGVudF9sZW5ndGgYCSABKAMi9wEKHENyZWF0ZVVwbG9hZExvY2F0aW9uUmVzcG9uc2USEgoKc2lnbmVkX3VybBgBIAEoCRISCgpuYXRpdmVfdXJsGAIgASgJEi4KCmV4cGlyZXNfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEk8KB2hlYWRlcnMYBCADKAsyPi5mbHl0ZWlkbDIuZGF0YXByb3h5LkNyZWF0ZVVwbG9hZExvY2F0aW9uUmVzcG9uc2UuSGVhZGVyc0VudHJ5Gi4KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvICChNVcGxvYWRJbnB1dHNSZXF1ZXN0EjEKBnJ1bl9pZBgBIAEoCzIfLmZseXRlaWRsMi5jb21tb24uUnVuSWRlbnRpZmllckgAEjkKCnByb2plY3RfaWQYAiABKAsyIy5mbHl0ZWlkbDIuY29tbW9uLlByb2plY3RJZGVudGlmaWVySAASMQoHdGFza19pZBgDIAEoCzIeLmZseXRlaWRsMi50YXNrLlRhc2tJZGVudGlmaWVySAESLQoJdGFza19zcGVjGAQgASgLMhguZmx5dGVpZGwyLnRhc2suVGFza1NwZWNIARI1Cgx0cmlnZ2VyX25hbWUYBSABKAsyHS5mbHl0ZWlkbDIuY29tbW9uLlRyaWdnZXJOYW1lSAESJgoGaW5wdXRzGAYgASgLMhYuZmx5dGVpZGwyLnRhc2suSW5wdXRzEhAKCGJhc2VfZGlyGAcgASgJQgsKAmlkEgW6SAIIAUINCgR0YXNrEgW6SAIIASJaChRVcGxvYWRJbnB1dHNSZXNwb25zZRJCChRvZmZsb2FkZWRfaW5wdXRfZGF0YRgBIAEoCzIkLmZseXRlaWRsMi5jb21tb24uT2ZmbG9hZGVkSW5wdXREYXRhIlMKDVByZVNpZ25lZFVSTHMSEgoKc2lnbmVkX3VybBgBIAMoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLHAgoZQ3JlYXRlRG93bmxvYWRMaW5rUmVxdWVzdBJCCg1hcnRpZmFjdF90eXBlGAEgASgOMiEuZmx5dGVpZGwyLmRhdGFwcm94eS5BcnRpZmFjdFR5cGVCCLpIBYIBAiAAEi0KCmV4cGlyZXNfaW4YAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SRgoRYWN0aW9uX2F0dGVtcHRfaWQYAyABKAsyKS5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbkF0dGVtcHRJZGVudGlmaWVySAASKwoGYXBwX2lkGAQgASgLMhkuZmx5dGVpZGwyLmFwcC5JZGVudGlmaWVySAASMQoHdGFza19pZBgFIAEoCzIeLmZseXRlaWRsMi50YXNrLlRhc2tJZGVudGlmaWVySABCDwoGc291cmNlEgW6SAIIASJZChpDcmVhdGVEb3dubG9hZExpbmtSZXNwb25zZRI7Cg9wcmVfc2lnbmVkX3VybHMYASABKAsyIi5mbHl0ZWlkbDIuZGF0YXByb3h5LlByZVNpZ25lZFVSTHMiiAEKFEdldEFjdGlvbkRhdGFSZXF1ZXN0Ej0KCWFjdGlvbl9pZBgBIAEoCzIiLmZseXRlaWRsMi5jb21tb24uQWN0aW9uSWRlbnRpZmllckIGukgDyAEBEjEKCnJ1bl9zb3VyY2UYAiABKA4yHS5mbHl0ZWlkbDIud29ya2Zsb3cuUnVuU291cmNlIpIBChVHZXRBY3Rpb25EYXRhUmVzcG9uc2USJgoGaW5wdXRzGAEgASgLMhYuZmx5dGVpZGwyLnRhc2suSW5wdXRzEigKB291dHB1dHMYAiABKAsyFy5mbHl0ZWlkbDIudGFzay5PdXRwdXRzEhIKCmlucHV0c191cmkYAyABKAkSEwoLb3V0cHV0c191cmkYBCABKAki8QEKD1RhaWxMb2dzUmVxdWVzdBI9CglhY3Rpb25faWQYASABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXJCBrpIA8gBARIYCgdhdHRlbXB0GAIgASgNQge6SAQqAiAAEhUKC3ByaW1hcnlfcG9kGAYgASgISAASEgoIYWxsX3BvZHMYBSABKAhIABISCghwb2RfbmFtZRgDIAEoCUgAEh8KEmNvbm5lY3Rvcl9lbmRwb2ludBgEIAEoCUgBiAEBQg4KDHBvZF9zZWxlY3RvckIVChNfY29ubmVjdG9yX2VuZHBvaW50IsgBChBUYWlsTG9nc1Jlc3BvbnNlEjgKBGxvZ3MYASADKAsyKi5mbHl0ZWlkbDIuZGF0YXByb3h5LlRhaWxMb2dzUmVzcG9uc2UuTG9ncxp6CgRMb2dzEjAKBWxpbmVzGAEgAygLMiEuZmx5dGVpZGwyLmxvZ3MuZGF0YXBsYW5lLkxvZ0xpbmUSQAoJY29udGFpbmVyGAIgASgLMi0uZmx5dGVpZGwyLmxvZ3MuZGF0YXBsYW5lLkNvbnRhaW5lcklkZW50aWZpZXIqZgoMQXJ0aWZhY3RUeXBlEh0KGUFSVElGQUNUX1RZUEVfVU5TUEVDSUZJRUQQABIYChRBUlRJRkFDVF9UWVBFX1JFUE9SVBABEh0KGUFSVElGQUNUX1RZUEVfQ09ERV9CVU5ETEUQAjK7BAoQRGF0YVByb3h5U2VydmljZRJ9ChRDcmVhdGVVcGxvYWRMb2NhdGlvbhIwLmZseXRlaWRsMi5kYXRhcHJveHkuQ3JlYXRlVXBsb2FkTG9jYXRpb25SZXF1ZXN0GjEuZmx5dGVpZGwyLmRhdGFwcm94eS5DcmVhdGVVcGxvYWRMb2NhdGlvblJlc3BvbnNlIgASZQoMVXBsb2FkSW5wdXRzEiguZmx5dGVpZGwyLmRhdGFwcm94eS5VcGxvYWRJbnB1dHNSZXF1ZXN0GikuZmx5dGVpZGwyLmRhdGFwcm94eS5VcGxvYWRJbnB1dHNSZXNwb25zZSIAEncKEkNyZWF0ZURvd25sb2FkTGluaxIuLmZseXRlaWRsMi5kYXRhcHJveHkuQ3JlYXRlRG93bmxvYWRMaW5rUmVxdWVzdBovLmZseXRlaWRsMi5kYXRhcHJveHkuQ3JlYXRlRG93bmxvYWRMaW5rUmVzcG9uc2UiABJrCg1HZXRBY3Rpb25EYXRhEikuZmx5dGVpZGwyLmRhdGFwcm94eS5HZXRBY3Rpb25EYXRhUmVxdWVzdBoqLmZseXRlaWRsMi5kYXRhcHJveHkuR2V0QWN0aW9uRGF0YVJlc3BvbnNlIgOQAgESWwoIVGFpbExvZ3MSJC5mbHl0ZWlkbDIuZGF0YXByb3h5LlRhaWxMb2dzUmVxdWVzdBolLmZseXRlaWRsMi5kYXRhcHJveHkuVGFpbExvZ3NSZXNwb25zZSIAMAFC2AEKF2NvbS5mbHl0ZWlkbDIuZGF0YXByb3h5QhVEYXRhcHJveHlTZXJ2aWNlUHJvdG9IAlABWjdnaXRodWIuY29tL2ZseXRlb3JnL2ZseXRlL3YyL2dlbi9nby9mbHl0ZWlkbDIvZGF0YXByb3h5ogIDRkRYqgITRmx5dGVpZGwyLkRhdGFwcm94ecoCE0ZseXRlaWRsMlxEYXRhcHJveHniAh9GbHl0ZWlkbDJcRGF0YXByb3h5XEdQQk1ldGFkYXRh6gIURmx5dGVpZGwyOjpEYXRhcHJveHliBnByb3RvMw", [file_buf_validate_validate, file_flyteidl2_app_app_definition, file_flyteidl2_common_identifier, file_flyteidl2_common_run, file_flyteidl2_logs_dataplane_payload, file_flyteidl2_task_common, file_flyteidl2_task_task_definition, file_flyteidl2_workflow_run_definition, file_google_protobuf_duration, file_google_protobuf_timestamp]); /** * CreateUploadLocationRequest specifies the request for the CreateUploadLocation API. @@ -385,6 +387,17 @@ export type GetActionDataRequest = Message<"flyteidl2.dataproxy.GetActionDataReq * @generated from field: flyteidl2.common.ActionIdentifier action_id = 1; */ actionId?: ActionIdentifier; + + /** + * Source of the run the action belongs to. Run names are not unique across platform and + * local runs, so the server uses this to resolve the action against the matching service + * (RUN_SOURCE_LOCAL resolves via LocalRunService; anything else keeps the platform + * behavior). + * +optional + * + * @generated from field: flyteidl2.workflow.RunSource run_source = 2; + */ + runSource: RunSource; }; /** @@ -505,123 +518,6 @@ export type TailLogsRequest = Message<"flyteidl2.dataproxy.TailLogsRequest"> & { export const TailLogsRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_flyteidl2_dataproxy_dataproxy_service, 9); -/** - * UploadMetadataRequest specifies the request for the UploadMetadata API. The data proxy service - * derives the storage path from the authenticated org and the target action, following the local - * run metadata layout: //////inputs.pb for inputs and - * ///////{outputs.pb,report.html} otherwise. - * - * @generated from message flyteidl2.dataproxy.UploadMetadataRequest - */ -export type UploadMetadataRequest = Message<"flyteidl2.dataproxy.UploadMetadataRequest"> & { - /** - * ArtifactType is the type of artifact to upload. INPUTS targets an action; OUTPUTS and REPORT - * target an action attempt. - * - * @generated from field: flyteidl2.dataproxy.ArtifactType artifact_type = 1; - */ - artifactType: ArtifactType; - - /** - * Target identifies the action (INPUTS) or action attempt (OUTPUTS / REPORT) the artifact - * belongs to. - * - * @generated from oneof flyteidl2.dataproxy.UploadMetadataRequest.target - */ - target: { - /** - * @generated from field: flyteidl2.common.ActionIdentifier action_id = 2; - */ - value: ActionIdentifier; - case: "actionId"; - } | { - /** - * @generated from field: flyteidl2.common.ActionAttemptIdentifier action_attempt_id = 3; - */ - value: ActionAttemptIdentifier; - case: "actionAttemptId"; - } | { case: undefined; value?: undefined }; - - /** - * ContentMD5 restricts the upload location to the specific MD5 provided. - * +required - * - * @generated from field: bytes content_md5 = 4; - */ - contentMd5: Uint8Array; - - /** - * ContentLength specifies the size of the content to be uploaded in bytes. Validated against - * the platform's maximum upload size. - * +optional - * - * @generated from field: int64 content_length = 5; - */ - contentLength: bigint; - - /** - * ExpiresIn defines the requested expiration duration for the generated URL. The request will - * be rejected if this exceeds the platform's configured maximum. - * +optional. The default value comes from the global config. - * - * @generated from field: google.protobuf.Duration expires_in = 6; - */ - expiresIn?: Duration; - - /** - * If true, the data proxy will add content_md5 to the Signed URL requirements, forcing clients - * to send this checksum with the object. Required for data integrity on backends like GCP. - * - * @generated from field: bool add_content_md5_metadata = 7; - */ - addContentMd5Metadata: boolean; -}; - -/** - * Describes the message flyteidl2.dataproxy.UploadMetadataRequest. - * Use `create(UploadMetadataRequestSchema)` to create a new message. - */ -export const UploadMetadataRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_flyteidl2_dataproxy_dataproxy_service, 10); - -/** - * CreateLocalDownloadLinkRequest specifies the request for the CreateLocalDownloadLink API. - * - * @generated from message flyteidl2.dataproxy.CreateLocalDownloadLinkRequest - */ -export type CreateLocalDownloadLinkRequest = Message<"flyteidl2.dataproxy.CreateLocalDownloadLinkRequest"> & { - /** - * ArtifactType is the type of artifact to download. - * +required - * - * @generated from field: flyteidl2.dataproxy.ArtifactType artifact_type = 1; - */ - artifactType: ArtifactType; - - /** - * ActionAttemptId identifies the local run action attempt whose artifact is to be downloaded. - * - * @generated from field: flyteidl2.common.ActionAttemptIdentifier action_attempt_id = 2; - */ - actionAttemptId?: ActionAttemptIdentifier; - - /** - * ExpiresIn defines the requested expiration duration for the generated URLs. The request will - * be rejected if this exceeds the platform's configured maximum. - * +optional. The default value comes from the global config. - * - * @generated from field: google.protobuf.Duration expires_in = 3; - */ - expiresIn?: Duration; -}; - -/** - * Describes the message flyteidl2.dataproxy.CreateLocalDownloadLinkRequest. - * Use `create(CreateLocalDownloadLinkRequestSchema)` to create a new message. - */ -export const CreateLocalDownloadLinkRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_flyteidl2_dataproxy_dataproxy_service, 11); - /** * Reponse message for tailing logs. * @@ -641,7 +537,7 @@ export type TailLogsResponse = Message<"flyteidl2.dataproxy.TailLogsResponse"> & * Use `create(TailLogsResponseSchema)` to create a new message. */ export const TailLogsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_flyteidl2_dataproxy_dataproxy_service, 12); + messageDesc(file_flyteidl2_dataproxy_dataproxy_service, 10); /** * A batch of logs. @@ -669,7 +565,7 @@ export type TailLogsResponse_Logs = Message<"flyteidl2.dataproxy.TailLogsRespons * Use `create(TailLogsResponse_LogsSchema)` to create a new message. */ export const TailLogsResponse_LogsSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_flyteidl2_dataproxy_dataproxy_service, 12, 0); + messageDesc(file_flyteidl2_dataproxy_dataproxy_service, 10, 0); /** * ArtifactType defines the type of artifact to be downloaded. @@ -695,20 +591,6 @@ export enum ArtifactType { * @generated from enum value: ARTIFACT_TYPE_CODE_BUNDLE = 2; */ CODE_BUNDLE = 2, - - /** - * ARTIFACT_TYPE_INPUTS refers to an action's serialized inputs (inputs.pb). - * - * @generated from enum value: ARTIFACT_TYPE_INPUTS = 3; - */ - INPUTS = 3, - - /** - * ARTIFACT_TYPE_OUTPUTS refers to an action's serialized outputs (outputs.pb). - * - * @generated from enum value: ARTIFACT_TYPE_OUTPUTS = 4; - */ - OUTPUTS = 4, } /** @@ -771,41 +653,6 @@ export const DataProxyService: GenService<{ input: typeof TailLogsRequestSchema; output: typeof TailLogsResponseSchema; }, - /** - * UploadMetadata generates a signed URL for uploading a local run's metadata artifact - * (inputs.pb / outputs.pb / report.html) directly to the control plane's storage backend. - * Local runs only; never routes to a dataplane. - * - * @generated from rpc flyteidl2.dataproxy.DataProxyService.UploadMetadata - */ - uploadMetadata: { - methodKind: "unary"; - input: typeof UploadMetadataRequestSchema; - output: typeof CreateUploadLocationResponseSchema; - }, - /** - * Get input and output data for an action of a local run, served directly from the control - * plane's storage backend. Local runs only; never routes to a dataplane. - * - * @generated from rpc flyteidl2.dataproxy.DataProxyService.GetLocalActionData - */ - getLocalActionData: { - methodKind: "unary"; - input: typeof GetActionDataRequestSchema; - output: typeof GetActionDataResponseSchema; - }, - /** - * CreateLocalDownloadLink generates signed URL(s) for downloading an artifact of a local run - * action attempt directly from the control plane's storage backend. Local runs only; never - * routes to a dataplane. - * - * @generated from rpc flyteidl2.dataproxy.DataProxyService.CreateLocalDownloadLink - */ - createLocalDownloadLink: { - methodKind: "unary"; - input: typeof CreateLocalDownloadLinkRequestSchema; - output: typeof CreateDownloadLinkResponseSchema; - }, }> = /*@__PURE__*/ serviceDesc(file_flyteidl2_dataproxy_dataproxy_service, 0);