From 71e934b6e5a15581c633f300d826c64a28bdee5d Mon Sep 17 00:00:00 2001 From: Dan Rammer Date: Tue, 25 Oct 2022 15:05:56 -0500 Subject: [PATCH] Added GateNode message (#296) * added GateNode message Signed-off-by: Daniel Rammer * added signal service Signed-off-by: Daniel Rammer * fleshed out Signal service Signed-off-by: Daniel Rammer * updated signal service with a GetOrCreateSignal and SetSignal API Signed-off-by: Daniel Rammer * updated signal service api to use GetOrCreate semantics Signed-off-by: Daniel Rammer * added the ListSignals API Signed-off-by: Daniel Rammer * fixed SignalListResponse proto name Signed-off-by: Daniel Rammer * set HTTP API parameters Signed-off-by: Daniel Rammer * generated protos Signed-off-by: Daniel Rammer * documented GateNode Signed-off-by: Daniel Rammer * updated signal list API Signed-off-by: Daniel Rammer * filled out signal list api Signed-off-by: Daniel Rammer * addressing pr comments on docs Signed-off-by: Daniel Rammer * added an output variable name to the signal condition Signed-off-by: Daniel Rammer * reworded signal condition docs Signed-off-by: Daniel Rammer * added ApproveCondition to GateNode Signed-off-by: Daniel Rammer * removed authOpt Signed-off-by: Daniel Rammer * fixed types Signed-off-by: Daniel Rammer * updated doc_gen_deps to fix docs generation Signed-off-by: Daniel Rammer Signed-off-by: Daniel Rammer --- clients/go/admin/client.go | 6 + gen/pb-cpp/flyteidl/admin/signal.grpc.pb.cc | 24 + gen/pb-cpp/flyteidl/admin/signal.grpc.pb.h | 47 + gen/pb-cpp/flyteidl/admin/signal.pb.cc | 2603 +++++++ gen/pb-cpp/flyteidl/admin/signal.pb.h | 1536 +++++ gen/pb-cpp/flyteidl/core/dynamic_job.pb.cc | 2 +- gen/pb-cpp/flyteidl/core/identifier.pb.cc | 413 +- gen/pb-cpp/flyteidl/core/identifier.pb.h | 246 +- gen/pb-cpp/flyteidl/core/workflow.pb.cc | 2184 +++++- gen/pb-cpp/flyteidl/core/workflow.pb.h | 1026 ++- gen/pb-cpp/flyteidl/service/signal.grpc.pb.cc | 169 + gen/pb-cpp/flyteidl/service/signal.grpc.pb.h | 587 ++ gen/pb-cpp/flyteidl/service/signal.pb.cc | 96 + gen/pb-cpp/flyteidl/service/signal.pb.h | 83 + gen/pb-go/flyteidl/admin/signal.pb.go | 397 ++ .../flyteidl/admin/signal.pb.validate.go | 544 ++ gen/pb-go/flyteidl/admin/signal.swagger.json | 19 + gen/pb-go/flyteidl/core/identifier.pb.go | 111 +- .../flyteidl/core/identifier.pb.validate.go | 77 + gen/pb-go/flyteidl/core/workflow.pb.go | 426 +- .../flyteidl/core/workflow.pb.validate.go | 337 + gen/pb-go/flyteidl/service/admin.swagger.json | 60 + .../flyteidl/service/flyteadmin/README.md | 4 + .../service/flyteadmin/api/swagger.yaml | 4612 ++++++++++++- .../model_core_approve_condition.go | 16 + .../flyteadmin/model_core_gate_node.go | 20 + .../service/flyteadmin/model_core_node.go | 2 + .../flyteadmin/model_core_signal_condition.go | 20 + .../flyteadmin/model_core_sleep_condition.go | 16 + gen/pb-go/flyteidl/service/openapi.go | 4 +- gen/pb-go/flyteidl/service/signal.pb.go | 226 + gen/pb-go/flyteidl/service/signal.pb.gw.go | 200 + .../flyteidl/service/signal.swagger.json | 725 ++ .../flyteidl/admin/SignalOuterClass.java | 6128 +++++++++++++++++ .../flyteidl/core/IdentifierOuterClass.java | 869 ++- gen/pb-java/flyteidl/core/Workflow.java | 4023 ++++++++++- gen/pb-java/flyteidl/service/Signal.java | 79 + gen/pb-js/flyteidl.d.ts | 748 +- gen/pb-js/flyteidl.js | 1661 ++++- gen/pb_python/flyteidl/admin/signal_pb2.py | 337 + .../flyteidl/admin/signal_pb2_grpc.py | 3 + gen/pb_python/flyteidl/core/identifier_pb2.py | 53 +- gen/pb_python/flyteidl/core/workflow_pb2.py | 246 +- .../flyteidl/service/flyteadmin/README.md | 4 + .../service/flyteadmin/flyteadmin/__init__.py | 4 + .../flyteadmin/flyteadmin/models/__init__.py | 4 + .../models/core_approve_condition.py | 117 + .../flyteadmin/models/core_gate_node.py | 177 + .../flyteadmin/flyteadmin/models/core_node.py | 35 +- .../models/core_signal_condition.py | 175 + .../flyteadmin/models/core_sleep_condition.py | 117 + .../test/test_core_approve_condition.py | 40 + .../flyteadmin/test/test_core_gate_node.py | 40 + .../test/test_core_signal_condition.py | 40 + .../test/test_core_sleep_condition.py | 40 + gen/pb_python/flyteidl/service/signal_pb2.py | 78 + .../flyteidl/service/signal_pb2_grpc.py | 80 + protos/docs/admin/admin.rst | 163 + protos/docs/core/core.rst | 112 + protos/docs/service/service.rst | 42 + protos/flyteidl/admin/signal.proto | 86 + protos/flyteidl/core/identifier.proto | 9 + protos/flyteidl/core/workflow.proto | 42 + protos/flyteidl/service/signal.proto | 55 + 64 files changed, 31871 insertions(+), 574 deletions(-) create mode 100644 gen/pb-cpp/flyteidl/admin/signal.grpc.pb.cc create mode 100644 gen/pb-cpp/flyteidl/admin/signal.grpc.pb.h create mode 100644 gen/pb-cpp/flyteidl/admin/signal.pb.cc create mode 100644 gen/pb-cpp/flyteidl/admin/signal.pb.h create mode 100644 gen/pb-cpp/flyteidl/service/signal.grpc.pb.cc create mode 100644 gen/pb-cpp/flyteidl/service/signal.grpc.pb.h create mode 100644 gen/pb-cpp/flyteidl/service/signal.pb.cc create mode 100644 gen/pb-cpp/flyteidl/service/signal.pb.h create mode 100644 gen/pb-go/flyteidl/admin/signal.pb.go create mode 100644 gen/pb-go/flyteidl/admin/signal.pb.validate.go create mode 100644 gen/pb-go/flyteidl/admin/signal.swagger.json create mode 100644 gen/pb-go/flyteidl/service/flyteadmin/model_core_approve_condition.go create mode 100644 gen/pb-go/flyteidl/service/flyteadmin/model_core_gate_node.go create mode 100644 gen/pb-go/flyteidl/service/flyteadmin/model_core_signal_condition.go create mode 100644 gen/pb-go/flyteidl/service/flyteadmin/model_core_sleep_condition.go create mode 100644 gen/pb-go/flyteidl/service/signal.pb.go create mode 100644 gen/pb-go/flyteidl/service/signal.pb.gw.go create mode 100644 gen/pb-go/flyteidl/service/signal.swagger.json create mode 100644 gen/pb-java/flyteidl/admin/SignalOuterClass.java create mode 100644 gen/pb-java/flyteidl/service/Signal.java create mode 100644 gen/pb_python/flyteidl/admin/signal_pb2.py create mode 100644 gen/pb_python/flyteidl/admin/signal_pb2_grpc.py create mode 100644 gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_approve_condition.py create mode 100644 gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_gate_node.py create mode 100644 gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_signal_condition.py create mode 100644 gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_sleep_condition.py create mode 100644 gen/pb_python/flyteidl/service/flyteadmin/test/test_core_approve_condition.py create mode 100644 gen/pb_python/flyteidl/service/flyteadmin/test/test_core_gate_node.py create mode 100644 gen/pb_python/flyteidl/service/flyteadmin/test/test_core_signal_condition.py create mode 100644 gen/pb_python/flyteidl/service/flyteadmin/test/test_core_sleep_condition.py create mode 100644 gen/pb_python/flyteidl/service/signal_pb2.py create mode 100644 gen/pb_python/flyteidl/service/signal_pb2_grpc.py create mode 100644 protos/flyteidl/admin/signal.proto create mode 100644 protos/flyteidl/service/signal.proto diff --git a/clients/go/admin/client.go b/clients/go/admin/client.go index 11095ebce8..830c86fe89 100644 --- a/clients/go/admin/client.go +++ b/clients/go/admin/client.go @@ -29,6 +29,7 @@ type Clientset struct { healthServiceClient grpc_health_v1.HealthClient identityServiceClient service.IdentityServiceClient dataProxyServiceClient service.DataProxyServiceClient + signalServiceClient service.SignalServiceClient } // AdminClient retrieves the AdminServiceClient @@ -54,6 +55,10 @@ func (c Clientset) DataProxyClient() service.DataProxyServiceClient { return c.dataProxyServiceClient } +func (c Clientset) SignalServiceClient() service.SignalServiceClient { + return c.signalServiceClient +} + func NewAdminClient(ctx context.Context, conn *grpc.ClientConn) service.AdminServiceClient { logger.Infof(ctx, "Initialized Admin client") return service.NewAdminServiceClient(conn) @@ -186,6 +191,7 @@ func initializeClients(ctx context.Context, cfg *Config, tokenCache cache.TokenC cs.identityServiceClient = service.NewIdentityServiceClient(adminConnection) cs.healthServiceClient = grpc_health_v1.NewHealthClient(adminConnection) cs.dataProxyServiceClient = service.NewDataProxyServiceClient(adminConnection) + cs.signalServiceClient = service.NewSignalServiceClient(adminConnection) return &cs, nil } diff --git a/gen/pb-cpp/flyteidl/admin/signal.grpc.pb.cc b/gen/pb-cpp/flyteidl/admin/signal.grpc.pb.cc new file mode 100644 index 0000000000..b482e017c1 --- /dev/null +++ b/gen/pb-cpp/flyteidl/admin/signal.grpc.pb.cc @@ -0,0 +1,24 @@ +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: flyteidl/admin/signal.proto + +#include "flyteidl/admin/signal.pb.h" +#include "flyteidl/admin/signal.grpc.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +namespace flyteidl { +namespace admin { + +} // namespace flyteidl +} // namespace admin + diff --git a/gen/pb-cpp/flyteidl/admin/signal.grpc.pb.h b/gen/pb-cpp/flyteidl/admin/signal.grpc.pb.h new file mode 100644 index 0000000000..f62c30d368 --- /dev/null +++ b/gen/pb-cpp/flyteidl/admin/signal.grpc.pb.h @@ -0,0 +1,47 @@ +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: flyteidl/admin/signal.proto +#ifndef GRPC_flyteidl_2fadmin_2fsignal_2eproto__INCLUDED +#define GRPC_flyteidl_2fadmin_2fsignal_2eproto__INCLUDED + +#include "flyteidl/admin/signal.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace grpc_impl { +class Channel; +class CompletionQueue; +class ServerCompletionQueue; +} // namespace grpc_impl + +namespace grpc { +namespace experimental { +template +class MessageAllocator; +} // namespace experimental +} // namespace grpc_impl + +namespace grpc { +class ServerContext; +} // namespace grpc + +namespace flyteidl { +namespace admin { + +} // namespace admin +} // namespace flyteidl + + +#endif // GRPC_flyteidl_2fadmin_2fsignal_2eproto__INCLUDED diff --git a/gen/pb-cpp/flyteidl/admin/signal.pb.cc b/gen/pb-cpp/flyteidl/admin/signal.pb.cc new file mode 100644 index 0000000000..ae7a31a1a0 --- /dev/null +++ b/gen/pb-cpp/flyteidl/admin/signal.pb.cc @@ -0,0 +1,2603 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: flyteidl/admin/signal.proto + +#include "flyteidl/admin/signal.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include + +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fcommon_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Sort_flyteidl_2fadmin_2fcommon_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fsignal_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_Signal_flyteidl_2fadmin_2fsignal_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_WorkflowExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_SignalIdentifier_flyteidl_2fcore_2fidentifier_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2ftypes_2eproto ::google::protobuf::internal::SCCInfo<6> scc_info_LiteralType_flyteidl_2fcore_2ftypes_2eproto; +namespace flyteidl { +namespace admin { +class SignalGetOrCreateRequestDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _SignalGetOrCreateRequest_default_instance_; +class SignalListRequestDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _SignalListRequest_default_instance_; +class SignalListDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _SignalList_default_instance_; +class SignalSetRequestDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _SignalSetRequest_default_instance_; +class SignalSetResponseDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _SignalSetResponse_default_instance_; +class SignalDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _Signal_default_instance_; +} // namespace admin +} // namespace flyteidl +static void InitDefaultsSignalGetOrCreateRequest_flyteidl_2fadmin_2fsignal_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::admin::_SignalGetOrCreateRequest_default_instance_; + new (ptr) ::flyteidl::admin::SignalGetOrCreateRequest(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::admin::SignalGetOrCreateRequest::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<2> scc_info_SignalGetOrCreateRequest_flyteidl_2fadmin_2fsignal_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsSignalGetOrCreateRequest_flyteidl_2fadmin_2fsignal_2eproto}, { + &scc_info_SignalIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base, + &scc_info_LiteralType_flyteidl_2fcore_2ftypes_2eproto.base,}}; + +static void InitDefaultsSignalListRequest_flyteidl_2fadmin_2fsignal_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::admin::_SignalListRequest_default_instance_; + new (ptr) ::flyteidl::admin::SignalListRequest(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::admin::SignalListRequest::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<2> scc_info_SignalListRequest_flyteidl_2fadmin_2fsignal_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsSignalListRequest_flyteidl_2fadmin_2fsignal_2eproto}, { + &scc_info_WorkflowExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base, + &scc_info_Sort_flyteidl_2fadmin_2fcommon_2eproto.base,}}; + +static void InitDefaultsSignalList_flyteidl_2fadmin_2fsignal_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::admin::_SignalList_default_instance_; + new (ptr) ::flyteidl::admin::SignalList(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::admin::SignalList::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<1> scc_info_SignalList_flyteidl_2fadmin_2fsignal_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsSignalList_flyteidl_2fadmin_2fsignal_2eproto}, { + &scc_info_Signal_flyteidl_2fadmin_2fsignal_2eproto.base,}}; + +static void InitDefaultsSignalSetRequest_flyteidl_2fadmin_2fsignal_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::admin::_SignalSetRequest_default_instance_; + new (ptr) ::flyteidl::admin::SignalSetRequest(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::admin::SignalSetRequest::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<2> scc_info_SignalSetRequest_flyteidl_2fadmin_2fsignal_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsSignalSetRequest_flyteidl_2fadmin_2fsignal_2eproto}, { + &scc_info_SignalIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base, + &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base,}}; + +static void InitDefaultsSignalSetResponse_flyteidl_2fadmin_2fsignal_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::admin::_SignalSetResponse_default_instance_; + new (ptr) ::flyteidl::admin::SignalSetResponse(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::admin::SignalSetResponse::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<0> scc_info_SignalSetResponse_flyteidl_2fadmin_2fsignal_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsSignalSetResponse_flyteidl_2fadmin_2fsignal_2eproto}, {}}; + +static void InitDefaultsSignal_flyteidl_2fadmin_2fsignal_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::admin::_Signal_default_instance_; + new (ptr) ::flyteidl::admin::Signal(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::admin::Signal::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<3> scc_info_Signal_flyteidl_2fadmin_2fsignal_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsSignal_flyteidl_2fadmin_2fsignal_2eproto}, { + &scc_info_SignalIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base, + &scc_info_LiteralType_flyteidl_2fcore_2ftypes_2eproto.base, + &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base,}}; + +void InitDefaults_flyteidl_2fadmin_2fsignal_2eproto() { + ::google::protobuf::internal::InitSCC(&scc_info_SignalGetOrCreateRequest_flyteidl_2fadmin_2fsignal_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_SignalListRequest_flyteidl_2fadmin_2fsignal_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_SignalList_flyteidl_2fadmin_2fsignal_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_SignalSetRequest_flyteidl_2fadmin_2fsignal_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_SignalSetResponse_flyteidl_2fadmin_2fsignal_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_Signal_flyteidl_2fadmin_2fsignal_2eproto.base); +} + +::google::protobuf::Metadata file_level_metadata_flyteidl_2fadmin_2fsignal_2eproto[6]; +constexpr ::google::protobuf::EnumDescriptor const** file_level_enum_descriptors_flyteidl_2fadmin_2fsignal_2eproto = nullptr; +constexpr ::google::protobuf::ServiceDescriptor const** file_level_service_descriptors_flyteidl_2fadmin_2fsignal_2eproto = nullptr; + +const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fsignal_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalGetOrCreateRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalGetOrCreateRequest, id_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalGetOrCreateRequest, type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalListRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalListRequest, workflow_execution_id_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalListRequest, limit_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalListRequest, token_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalListRequest, filters_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalListRequest, sort_by_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalList, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalList, signals_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalList, token_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalSetRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalSetRequest, id_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalSetRequest, value_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::SignalSetResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::Signal, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::Signal, id_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::Signal, type_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::Signal, value_), +}; +static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + { 0, -1, sizeof(::flyteidl::admin::SignalGetOrCreateRequest)}, + { 7, -1, sizeof(::flyteidl::admin::SignalListRequest)}, + { 17, -1, sizeof(::flyteidl::admin::SignalList)}, + { 24, -1, sizeof(::flyteidl::admin::SignalSetRequest)}, + { 31, -1, sizeof(::flyteidl::admin::SignalSetResponse)}, + { 36, -1, sizeof(::flyteidl::admin::Signal)}, +}; + +static ::google::protobuf::Message const * const file_default_instances[] = { + reinterpret_cast(&::flyteidl::admin::_SignalGetOrCreateRequest_default_instance_), + reinterpret_cast(&::flyteidl::admin::_SignalListRequest_default_instance_), + reinterpret_cast(&::flyteidl::admin::_SignalList_default_instance_), + reinterpret_cast(&::flyteidl::admin::_SignalSetRequest_default_instance_), + reinterpret_cast(&::flyteidl::admin::_SignalSetResponse_default_instance_), + reinterpret_cast(&::flyteidl::admin::_Signal_default_instance_), +}; + +::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_flyteidl_2fadmin_2fsignal_2eproto = { + {}, AddDescriptors_flyteidl_2fadmin_2fsignal_2eproto, "flyteidl/admin/signal.proto", schemas, + file_default_instances, TableStruct_flyteidl_2fadmin_2fsignal_2eproto::offsets, + file_level_metadata_flyteidl_2fadmin_2fsignal_2eproto, 6, file_level_enum_descriptors_flyteidl_2fadmin_2fsignal_2eproto, file_level_service_descriptors_flyteidl_2fadmin_2fsignal_2eproto, +}; + +const char descriptor_table_protodef_flyteidl_2fadmin_2fsignal_2eproto[] = + "\n\033flyteidl/admin/signal.proto\022\016flyteidl." + "admin\032\033flyteidl/admin/common.proto\032\036flyt" + "eidl/core/identifier.proto\032\034flyteidl/cor" + "e/literals.proto\032\031flyteidl/core/types.pr" + "oto\"q\n\030SignalGetOrCreateRequest\022+\n\002id\030\001 " + "\001(\0132\037.flyteidl.core.SignalIdentifier\022(\n\004" + "type\030\002 \001(\0132\032.flyteidl.core.LiteralType\"\264" + "\001\n\021SignalListRequest\022I\n\025workflow_executi" + "on_id\030\001 \001(\0132*.flyteidl.core.WorkflowExec" + "utionIdentifier\022\r\n\005limit\030\002 \001(\r\022\r\n\005token\030" + "\003 \001(\t\022\017\n\007filters\030\004 \001(\t\022%\n\007sort_by\030\005 \001(\0132" + "\024.flyteidl.admin.Sort\"D\n\nSignalList\022\'\n\007s" + "ignals\030\001 \003(\0132\026.flyteidl.admin.Signal\022\r\n\005" + "token\030\002 \001(\t\"f\n\020SignalSetRequest\022+\n\002id\030\001 " + "\001(\0132\037.flyteidl.core.SignalIdentifier\022%\n\005" + "value\030\002 \001(\0132\026.flyteidl.core.Literal\"\023\n\021S" + "ignalSetResponse\"\206\001\n\006Signal\022+\n\002id\030\001 \001(\0132" + "\037.flyteidl.core.SignalIdentifier\022(\n\004type" + "\030\002 \001(\0132\032.flyteidl.core.LiteralType\022%\n\005va" + "lue\030\003 \001(\0132\026.flyteidl.core.LiteralB7Z5git" + "hub.com/flyteorg/flyteidl/gen/pb-go/flyt" + "eidl/adminb\006proto3" + ; +::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fsignal_2eproto = { + false, InitDefaults_flyteidl_2fadmin_2fsignal_2eproto, + descriptor_table_protodef_flyteidl_2fadmin_2fsignal_2eproto, + "flyteidl/admin/signal.proto", &assign_descriptors_table_flyteidl_2fadmin_2fsignal_2eproto, 858, +}; + +void AddDescriptors_flyteidl_2fadmin_2fsignal_2eproto() { + static constexpr ::google::protobuf::internal::InitFunc deps[4] = + { + ::AddDescriptors_flyteidl_2fadmin_2fcommon_2eproto, + ::AddDescriptors_flyteidl_2fcore_2fidentifier_2eproto, + ::AddDescriptors_flyteidl_2fcore_2fliterals_2eproto, + ::AddDescriptors_flyteidl_2fcore_2ftypes_2eproto, + }; + ::google::protobuf::internal::AddDescriptors(&descriptor_table_flyteidl_2fadmin_2fsignal_2eproto, deps, 4); +} + +// Force running AddDescriptors() at dynamic initialization time. +static bool dynamic_init_dummy_flyteidl_2fadmin_2fsignal_2eproto = []() { AddDescriptors_flyteidl_2fadmin_2fsignal_2eproto(); return true; }(); +namespace flyteidl { +namespace admin { + +// =================================================================== + +void SignalGetOrCreateRequest::InitAsDefaultInstance() { + ::flyteidl::admin::_SignalGetOrCreateRequest_default_instance_._instance.get_mutable()->id_ = const_cast< ::flyteidl::core::SignalIdentifier*>( + ::flyteidl::core::SignalIdentifier::internal_default_instance()); + ::flyteidl::admin::_SignalGetOrCreateRequest_default_instance_._instance.get_mutable()->type_ = const_cast< ::flyteidl::core::LiteralType*>( + ::flyteidl::core::LiteralType::internal_default_instance()); +} +class SignalGetOrCreateRequest::HasBitSetters { + public: + static const ::flyteidl::core::SignalIdentifier& id(const SignalGetOrCreateRequest* msg); + static const ::flyteidl::core::LiteralType& type(const SignalGetOrCreateRequest* msg); +}; + +const ::flyteidl::core::SignalIdentifier& +SignalGetOrCreateRequest::HasBitSetters::id(const SignalGetOrCreateRequest* msg) { + return *msg->id_; +} +const ::flyteidl::core::LiteralType& +SignalGetOrCreateRequest::HasBitSetters::type(const SignalGetOrCreateRequest* msg) { + return *msg->type_; +} +void SignalGetOrCreateRequest::clear_id() { + if (GetArenaNoVirtual() == nullptr && id_ != nullptr) { + delete id_; + } + id_ = nullptr; +} +void SignalGetOrCreateRequest::clear_type() { + if (GetArenaNoVirtual() == nullptr && type_ != nullptr) { + delete type_; + } + type_ = nullptr; +} +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int SignalGetOrCreateRequest::kIdFieldNumber; +const int SignalGetOrCreateRequest::kTypeFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +SignalGetOrCreateRequest::SignalGetOrCreateRequest() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.admin.SignalGetOrCreateRequest) +} +SignalGetOrCreateRequest::SignalGetOrCreateRequest(const SignalGetOrCreateRequest& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + if (from.has_id()) { + id_ = new ::flyteidl::core::SignalIdentifier(*from.id_); + } else { + id_ = nullptr; + } + if (from.has_type()) { + type_ = new ::flyteidl::core::LiteralType(*from.type_); + } else { + type_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flyteidl.admin.SignalGetOrCreateRequest) +} + +void SignalGetOrCreateRequest::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_SignalGetOrCreateRequest_flyteidl_2fadmin_2fsignal_2eproto.base); + ::memset(&id_, 0, static_cast( + reinterpret_cast(&type_) - + reinterpret_cast(&id_)) + sizeof(type_)); +} + +SignalGetOrCreateRequest::~SignalGetOrCreateRequest() { + // @@protoc_insertion_point(destructor:flyteidl.admin.SignalGetOrCreateRequest) + SharedDtor(); +} + +void SignalGetOrCreateRequest::SharedDtor() { + if (this != internal_default_instance()) delete id_; + if (this != internal_default_instance()) delete type_; +} + +void SignalGetOrCreateRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const SignalGetOrCreateRequest& SignalGetOrCreateRequest::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_SignalGetOrCreateRequest_flyteidl_2fadmin_2fsignal_2eproto.base); + return *internal_default_instance(); +} + + +void SignalGetOrCreateRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.admin.SignalGetOrCreateRequest) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaNoVirtual() == nullptr && id_ != nullptr) { + delete id_; + } + id_ = nullptr; + if (GetArenaNoVirtual() == nullptr && type_ != nullptr) { + delete type_; + } + type_ = nullptr; + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* SignalGetOrCreateRequest::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // .flyteidl.core.SignalIdentifier id = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::SignalIdentifier::_InternalParse; + object = msg->mutable_id(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.LiteralType type = 2; + case 2: { + if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::LiteralType::_InternalParse; + object = msg->mutable_type(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool SignalGetOrCreateRequest::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.admin.SignalGetOrCreateRequest) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // .flyteidl.core.SignalIdentifier id = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_id())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.LiteralType type = 2; + case 2: { + if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_type())); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.admin.SignalGetOrCreateRequest) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.admin.SignalGetOrCreateRequest) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void SignalGetOrCreateRequest::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.admin.SignalGetOrCreateRequest) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.SignalIdentifier id = 1; + if (this->has_id()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, HasBitSetters::id(this), output); + } + + // .flyteidl.core.LiteralType type = 2; + if (this->has_type()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 2, HasBitSetters::type(this), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.admin.SignalGetOrCreateRequest) +} + +::google::protobuf::uint8* SignalGetOrCreateRequest::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.SignalGetOrCreateRequest) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.SignalIdentifier id = 1; + if (this->has_id()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 1, HasBitSetters::id(this), target); + } + + // .flyteidl.core.LiteralType type = 2; + if (this->has_type()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 2, HasBitSetters::type(this), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.admin.SignalGetOrCreateRequest) + return target; +} + +size_t SignalGetOrCreateRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.SignalGetOrCreateRequest) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .flyteidl.core.SignalIdentifier id = 1; + if (this->has_id()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *id_); + } + + // .flyteidl.core.LiteralType type = 2; + if (this->has_type()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *type_); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void SignalGetOrCreateRequest::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.SignalGetOrCreateRequest) + GOOGLE_DCHECK_NE(&from, this); + const SignalGetOrCreateRequest* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.SignalGetOrCreateRequest) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.SignalGetOrCreateRequest) + MergeFrom(*source); + } +} + +void SignalGetOrCreateRequest::MergeFrom(const SignalGetOrCreateRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.SignalGetOrCreateRequest) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.has_id()) { + mutable_id()->::flyteidl::core::SignalIdentifier::MergeFrom(from.id()); + } + if (from.has_type()) { + mutable_type()->::flyteidl::core::LiteralType::MergeFrom(from.type()); + } +} + +void SignalGetOrCreateRequest::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.SignalGetOrCreateRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void SignalGetOrCreateRequest::CopyFrom(const SignalGetOrCreateRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.SignalGetOrCreateRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SignalGetOrCreateRequest::IsInitialized() const { + return true; +} + +void SignalGetOrCreateRequest::Swap(SignalGetOrCreateRequest* other) { + if (other == this) return; + InternalSwap(other); +} +void SignalGetOrCreateRequest::InternalSwap(SignalGetOrCreateRequest* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + swap(id_, other->id_); + swap(type_, other->type_); +} + +::google::protobuf::Metadata SignalGetOrCreateRequest::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fsignal_2eproto); + return ::file_level_metadata_flyteidl_2fadmin_2fsignal_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void SignalListRequest::InitAsDefaultInstance() { + ::flyteidl::admin::_SignalListRequest_default_instance_._instance.get_mutable()->workflow_execution_id_ = const_cast< ::flyteidl::core::WorkflowExecutionIdentifier*>( + ::flyteidl::core::WorkflowExecutionIdentifier::internal_default_instance()); + ::flyteidl::admin::_SignalListRequest_default_instance_._instance.get_mutable()->sort_by_ = const_cast< ::flyteidl::admin::Sort*>( + ::flyteidl::admin::Sort::internal_default_instance()); +} +class SignalListRequest::HasBitSetters { + public: + static const ::flyteidl::core::WorkflowExecutionIdentifier& workflow_execution_id(const SignalListRequest* msg); + static const ::flyteidl::admin::Sort& sort_by(const SignalListRequest* msg); +}; + +const ::flyteidl::core::WorkflowExecutionIdentifier& +SignalListRequest::HasBitSetters::workflow_execution_id(const SignalListRequest* msg) { + return *msg->workflow_execution_id_; +} +const ::flyteidl::admin::Sort& +SignalListRequest::HasBitSetters::sort_by(const SignalListRequest* msg) { + return *msg->sort_by_; +} +void SignalListRequest::clear_workflow_execution_id() { + if (GetArenaNoVirtual() == nullptr && workflow_execution_id_ != nullptr) { + delete workflow_execution_id_; + } + workflow_execution_id_ = nullptr; +} +void SignalListRequest::clear_sort_by() { + if (GetArenaNoVirtual() == nullptr && sort_by_ != nullptr) { + delete sort_by_; + } + sort_by_ = nullptr; +} +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int SignalListRequest::kWorkflowExecutionIdFieldNumber; +const int SignalListRequest::kLimitFieldNumber; +const int SignalListRequest::kTokenFieldNumber; +const int SignalListRequest::kFiltersFieldNumber; +const int SignalListRequest::kSortByFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +SignalListRequest::SignalListRequest() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.admin.SignalListRequest) +} +SignalListRequest::SignalListRequest(const SignalListRequest& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.token().size() > 0) { + token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_); + } + filters_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.filters().size() > 0) { + filters_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.filters_); + } + if (from.has_workflow_execution_id()) { + workflow_execution_id_ = new ::flyteidl::core::WorkflowExecutionIdentifier(*from.workflow_execution_id_); + } else { + workflow_execution_id_ = nullptr; + } + if (from.has_sort_by()) { + sort_by_ = new ::flyteidl::admin::Sort(*from.sort_by_); + } else { + sort_by_ = nullptr; + } + limit_ = from.limit_; + // @@protoc_insertion_point(copy_constructor:flyteidl.admin.SignalListRequest) +} + +void SignalListRequest::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_SignalListRequest_flyteidl_2fadmin_2fsignal_2eproto.base); + token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + filters_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::memset(&workflow_execution_id_, 0, static_cast( + reinterpret_cast(&limit_) - + reinterpret_cast(&workflow_execution_id_)) + sizeof(limit_)); +} + +SignalListRequest::~SignalListRequest() { + // @@protoc_insertion_point(destructor:flyteidl.admin.SignalListRequest) + SharedDtor(); +} + +void SignalListRequest::SharedDtor() { + token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + filters_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete workflow_execution_id_; + if (this != internal_default_instance()) delete sort_by_; +} + +void SignalListRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const SignalListRequest& SignalListRequest::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_SignalListRequest_flyteidl_2fadmin_2fsignal_2eproto.base); + return *internal_default_instance(); +} + + +void SignalListRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.admin.SignalListRequest) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + filters_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (GetArenaNoVirtual() == nullptr && workflow_execution_id_ != nullptr) { + delete workflow_execution_id_; + } + workflow_execution_id_ = nullptr; + if (GetArenaNoVirtual() == nullptr && sort_by_ != nullptr) { + delete sort_by_; + } + sort_by_ = nullptr; + limit_ = 0u; + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* SignalListRequest::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::WorkflowExecutionIdentifier::_InternalParse; + object = msg->mutable_workflow_execution_id(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // uint32 limit = 2; + case 2: { + if (static_cast<::google::protobuf::uint8>(tag) != 16) goto handle_unusual; + msg->set_limit(::google::protobuf::internal::ReadVarint(&ptr)); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + break; + } + // string token = 3; + case 3: { + if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.SignalListRequest.token"); + object = msg->mutable_token(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } + // string filters = 4; + case 4: { + if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.SignalListRequest.filters"); + object = msg->mutable_filters(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } + // .flyteidl.admin.Sort sort_by = 5; + case 5: { + if (static_cast<::google::protobuf::uint8>(tag) != 42) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::admin::Sort::_InternalParse; + object = msg->mutable_sort_by(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +string_till_end: + static_cast<::std::string*>(object)->clear(); + static_cast<::std::string*>(object)->reserve(size); + goto len_delim_till_end; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool SignalListRequest::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.admin.SignalListRequest) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_workflow_execution_id())); + } else { + goto handle_unusual; + } + break; + } + + // uint32 limit = 2; + case 2: { + if (static_cast< ::google::protobuf::uint8>(tag) == (16 & 0xFF)) { + + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &limit_))); + } else { + goto handle_unusual; + } + break; + } + + // string token = 3; + case 3: { + if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_token())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->token().data(), static_cast(this->token().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.SignalListRequest.token")); + } else { + goto handle_unusual; + } + break; + } + + // string filters = 4; + case 4: { + if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_filters())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->filters().data(), static_cast(this->filters().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.SignalListRequest.filters")); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.admin.Sort sort_by = 5; + case 5: { + if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_sort_by())); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.admin.SignalListRequest) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.admin.SignalListRequest) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void SignalListRequest::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.admin.SignalListRequest) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + if (this->has_workflow_execution_id()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, HasBitSetters::workflow_execution_id(this), output); + } + + // uint32 limit = 2; + if (this->limit() != 0) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->limit(), output); + } + + // string token = 3; + if (this->token().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->token().data(), static_cast(this->token().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.SignalListRequest.token"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 3, this->token(), output); + } + + // string filters = 4; + if (this->filters().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->filters().data(), static_cast(this->filters().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.SignalListRequest.filters"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 4, this->filters(), output); + } + + // .flyteidl.admin.Sort sort_by = 5; + if (this->has_sort_by()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 5, HasBitSetters::sort_by(this), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.admin.SignalListRequest) +} + +::google::protobuf::uint8* SignalListRequest::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.SignalListRequest) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + if (this->has_workflow_execution_id()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 1, HasBitSetters::workflow_execution_id(this), target); + } + + // uint32 limit = 2; + if (this->limit() != 0) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->limit(), target); + } + + // string token = 3; + if (this->token().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->token().data(), static_cast(this->token().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.SignalListRequest.token"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 3, this->token(), target); + } + + // string filters = 4; + if (this->filters().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->filters().data(), static_cast(this->filters().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.SignalListRequest.filters"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 4, this->filters(), target); + } + + // .flyteidl.admin.Sort sort_by = 5; + if (this->has_sort_by()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 5, HasBitSetters::sort_by(this), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.admin.SignalListRequest) + return target; +} + +size_t SignalListRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.SignalListRequest) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string token = 3; + if (this->token().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->token()); + } + + // string filters = 4; + if (this->filters().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->filters()); + } + + // .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + if (this->has_workflow_execution_id()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *workflow_execution_id_); + } + + // .flyteidl.admin.Sort sort_by = 5; + if (this->has_sort_by()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *sort_by_); + } + + // uint32 limit = 2; + if (this->limit() != 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->limit()); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void SignalListRequest::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.SignalListRequest) + GOOGLE_DCHECK_NE(&from, this); + const SignalListRequest* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.SignalListRequest) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.SignalListRequest) + MergeFrom(*source); + } +} + +void SignalListRequest::MergeFrom(const SignalListRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.SignalListRequest) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.token().size() > 0) { + + token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_); + } + if (from.filters().size() > 0) { + + filters_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.filters_); + } + if (from.has_workflow_execution_id()) { + mutable_workflow_execution_id()->::flyteidl::core::WorkflowExecutionIdentifier::MergeFrom(from.workflow_execution_id()); + } + if (from.has_sort_by()) { + mutable_sort_by()->::flyteidl::admin::Sort::MergeFrom(from.sort_by()); + } + if (from.limit() != 0) { + set_limit(from.limit()); + } +} + +void SignalListRequest::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.SignalListRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void SignalListRequest::CopyFrom(const SignalListRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.SignalListRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SignalListRequest::IsInitialized() const { + return true; +} + +void SignalListRequest::Swap(SignalListRequest* other) { + if (other == this) return; + InternalSwap(other); +} +void SignalListRequest::InternalSwap(SignalListRequest* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + token_.Swap(&other->token_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); + filters_.Swap(&other->filters_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); + swap(workflow_execution_id_, other->workflow_execution_id_); + swap(sort_by_, other->sort_by_); + swap(limit_, other->limit_); +} + +::google::protobuf::Metadata SignalListRequest::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fsignal_2eproto); + return ::file_level_metadata_flyteidl_2fadmin_2fsignal_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void SignalList::InitAsDefaultInstance() { +} +class SignalList::HasBitSetters { + public: +}; + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int SignalList::kSignalsFieldNumber; +const int SignalList::kTokenFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +SignalList::SignalList() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.admin.SignalList) +} +SignalList::SignalList(const SignalList& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr), + signals_(from.signals_) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.token().size() > 0) { + token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_); + } + // @@protoc_insertion_point(copy_constructor:flyteidl.admin.SignalList) +} + +void SignalList::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_SignalList_flyteidl_2fadmin_2fsignal_2eproto.base); + token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} + +SignalList::~SignalList() { + // @@protoc_insertion_point(destructor:flyteidl.admin.SignalList) + SharedDtor(); +} + +void SignalList::SharedDtor() { + token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} + +void SignalList::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const SignalList& SignalList::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_SignalList_flyteidl_2fadmin_2fsignal_2eproto.base); + return *internal_default_instance(); +} + + +void SignalList::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.admin.SignalList) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + signals_.Clear(); + token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* SignalList::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // repeated .flyteidl.admin.Signal signals = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + do { + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::admin::Signal::_InternalParse; + object = msg->add_signals(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + if (ptr >= end) break; + } while ((::google::protobuf::io::UnalignedLoad<::google::protobuf::uint64>(ptr) & 255) == 10 && (ptr += 1)); + break; + } + // string token = 2; + case 2: { + if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.SignalList.token"); + object = msg->mutable_token(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +string_till_end: + static_cast<::std::string*>(object)->clear(); + static_cast<::std::string*>(object)->reserve(size); + goto len_delim_till_end; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool SignalList::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.admin.SignalList) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // repeated .flyteidl.admin.Signal signals = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, add_signals())); + } else { + goto handle_unusual; + } + break; + } + + // string token = 2; + case 2: { + if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_token())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->token().data(), static_cast(this->token().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.SignalList.token")); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.admin.SignalList) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.admin.SignalList) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void SignalList::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.admin.SignalList) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // repeated .flyteidl.admin.Signal signals = 1; + for (unsigned int i = 0, + n = static_cast(this->signals_size()); i < n; i++) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, + this->signals(static_cast(i)), + output); + } + + // string token = 2; + if (this->token().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->token().data(), static_cast(this->token().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.SignalList.token"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 2, this->token(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.admin.SignalList) +} + +::google::protobuf::uint8* SignalList::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.SignalList) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // repeated .flyteidl.admin.Signal signals = 1; + for (unsigned int i = 0, + n = static_cast(this->signals_size()); i < n; i++) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 1, this->signals(static_cast(i)), target); + } + + // string token = 2; + if (this->token().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->token().data(), static_cast(this->token().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.SignalList.token"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 2, this->token(), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.admin.SignalList) + return target; +} + +size_t SignalList::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.SignalList) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated .flyteidl.admin.Signal signals = 1; + { + unsigned int count = static_cast(this->signals_size()); + total_size += 1UL * count; + for (unsigned int i = 0; i < count; i++) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSize( + this->signals(static_cast(i))); + } + } + + // string token = 2; + if (this->token().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->token()); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void SignalList::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.SignalList) + GOOGLE_DCHECK_NE(&from, this); + const SignalList* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.SignalList) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.SignalList) + MergeFrom(*source); + } +} + +void SignalList::MergeFrom(const SignalList& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.SignalList) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + signals_.MergeFrom(from.signals_); + if (from.token().size() > 0) { + + token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_); + } +} + +void SignalList::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.SignalList) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void SignalList::CopyFrom(const SignalList& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.SignalList) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SignalList::IsInitialized() const { + return true; +} + +void SignalList::Swap(SignalList* other) { + if (other == this) return; + InternalSwap(other); +} +void SignalList::InternalSwap(SignalList* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + CastToBase(&signals_)->InternalSwap(CastToBase(&other->signals_)); + token_.Swap(&other->token_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); +} + +::google::protobuf::Metadata SignalList::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fsignal_2eproto); + return ::file_level_metadata_flyteidl_2fadmin_2fsignal_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void SignalSetRequest::InitAsDefaultInstance() { + ::flyteidl::admin::_SignalSetRequest_default_instance_._instance.get_mutable()->id_ = const_cast< ::flyteidl::core::SignalIdentifier*>( + ::flyteidl::core::SignalIdentifier::internal_default_instance()); + ::flyteidl::admin::_SignalSetRequest_default_instance_._instance.get_mutable()->value_ = const_cast< ::flyteidl::core::Literal*>( + ::flyteidl::core::Literal::internal_default_instance()); +} +class SignalSetRequest::HasBitSetters { + public: + static const ::flyteidl::core::SignalIdentifier& id(const SignalSetRequest* msg); + static const ::flyteidl::core::Literal& value(const SignalSetRequest* msg); +}; + +const ::flyteidl::core::SignalIdentifier& +SignalSetRequest::HasBitSetters::id(const SignalSetRequest* msg) { + return *msg->id_; +} +const ::flyteidl::core::Literal& +SignalSetRequest::HasBitSetters::value(const SignalSetRequest* msg) { + return *msg->value_; +} +void SignalSetRequest::clear_id() { + if (GetArenaNoVirtual() == nullptr && id_ != nullptr) { + delete id_; + } + id_ = nullptr; +} +void SignalSetRequest::clear_value() { + if (GetArenaNoVirtual() == nullptr && value_ != nullptr) { + delete value_; + } + value_ = nullptr; +} +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int SignalSetRequest::kIdFieldNumber; +const int SignalSetRequest::kValueFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +SignalSetRequest::SignalSetRequest() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.admin.SignalSetRequest) +} +SignalSetRequest::SignalSetRequest(const SignalSetRequest& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + if (from.has_id()) { + id_ = new ::flyteidl::core::SignalIdentifier(*from.id_); + } else { + id_ = nullptr; + } + if (from.has_value()) { + value_ = new ::flyteidl::core::Literal(*from.value_); + } else { + value_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flyteidl.admin.SignalSetRequest) +} + +void SignalSetRequest::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_SignalSetRequest_flyteidl_2fadmin_2fsignal_2eproto.base); + ::memset(&id_, 0, static_cast( + reinterpret_cast(&value_) - + reinterpret_cast(&id_)) + sizeof(value_)); +} + +SignalSetRequest::~SignalSetRequest() { + // @@protoc_insertion_point(destructor:flyteidl.admin.SignalSetRequest) + SharedDtor(); +} + +void SignalSetRequest::SharedDtor() { + if (this != internal_default_instance()) delete id_; + if (this != internal_default_instance()) delete value_; +} + +void SignalSetRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const SignalSetRequest& SignalSetRequest::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_SignalSetRequest_flyteidl_2fadmin_2fsignal_2eproto.base); + return *internal_default_instance(); +} + + +void SignalSetRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.admin.SignalSetRequest) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaNoVirtual() == nullptr && id_ != nullptr) { + delete id_; + } + id_ = nullptr; + if (GetArenaNoVirtual() == nullptr && value_ != nullptr) { + delete value_; + } + value_ = nullptr; + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* SignalSetRequest::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // .flyteidl.core.SignalIdentifier id = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::SignalIdentifier::_InternalParse; + object = msg->mutable_id(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.Literal value = 2; + case 2: { + if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::Literal::_InternalParse; + object = msg->mutable_value(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool SignalSetRequest::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.admin.SignalSetRequest) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // .flyteidl.core.SignalIdentifier id = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_id())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.Literal value = 2; + case 2: { + if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_value())); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.admin.SignalSetRequest) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.admin.SignalSetRequest) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void SignalSetRequest::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.admin.SignalSetRequest) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.SignalIdentifier id = 1; + if (this->has_id()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, HasBitSetters::id(this), output); + } + + // .flyteidl.core.Literal value = 2; + if (this->has_value()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 2, HasBitSetters::value(this), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.admin.SignalSetRequest) +} + +::google::protobuf::uint8* SignalSetRequest::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.SignalSetRequest) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.SignalIdentifier id = 1; + if (this->has_id()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 1, HasBitSetters::id(this), target); + } + + // .flyteidl.core.Literal value = 2; + if (this->has_value()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 2, HasBitSetters::value(this), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.admin.SignalSetRequest) + return target; +} + +size_t SignalSetRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.SignalSetRequest) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .flyteidl.core.SignalIdentifier id = 1; + if (this->has_id()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *id_); + } + + // .flyteidl.core.Literal value = 2; + if (this->has_value()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *value_); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void SignalSetRequest::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.SignalSetRequest) + GOOGLE_DCHECK_NE(&from, this); + const SignalSetRequest* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.SignalSetRequest) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.SignalSetRequest) + MergeFrom(*source); + } +} + +void SignalSetRequest::MergeFrom(const SignalSetRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.SignalSetRequest) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.has_id()) { + mutable_id()->::flyteidl::core::SignalIdentifier::MergeFrom(from.id()); + } + if (from.has_value()) { + mutable_value()->::flyteidl::core::Literal::MergeFrom(from.value()); + } +} + +void SignalSetRequest::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.SignalSetRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void SignalSetRequest::CopyFrom(const SignalSetRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.SignalSetRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SignalSetRequest::IsInitialized() const { + return true; +} + +void SignalSetRequest::Swap(SignalSetRequest* other) { + if (other == this) return; + InternalSwap(other); +} +void SignalSetRequest::InternalSwap(SignalSetRequest* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + swap(id_, other->id_); + swap(value_, other->value_); +} + +::google::protobuf::Metadata SignalSetRequest::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fsignal_2eproto); + return ::file_level_metadata_flyteidl_2fadmin_2fsignal_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void SignalSetResponse::InitAsDefaultInstance() { +} +class SignalSetResponse::HasBitSetters { + public: +}; + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +SignalSetResponse::SignalSetResponse() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.admin.SignalSetResponse) +} +SignalSetResponse::SignalSetResponse(const SignalSetResponse& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + // @@protoc_insertion_point(copy_constructor:flyteidl.admin.SignalSetResponse) +} + +void SignalSetResponse::SharedCtor() { +} + +SignalSetResponse::~SignalSetResponse() { + // @@protoc_insertion_point(destructor:flyteidl.admin.SignalSetResponse) + SharedDtor(); +} + +void SignalSetResponse::SharedDtor() { +} + +void SignalSetResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const SignalSetResponse& SignalSetResponse::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_SignalSetResponse_flyteidl_2fadmin_2fsignal_2eproto.base); + return *internal_default_instance(); +} + + +void SignalSetResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.admin.SignalSetResponse) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* SignalSetResponse::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + default: { + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool SignalSetResponse::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.admin.SignalSetResponse) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.admin.SignalSetResponse) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.admin.SignalSetResponse) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void SignalSetResponse::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.admin.SignalSetResponse) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.admin.SignalSetResponse) +} + +::google::protobuf::uint8* SignalSetResponse::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.SignalSetResponse) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.admin.SignalSetResponse) + return target; +} + +size_t SignalSetResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.SignalSetResponse) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void SignalSetResponse::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.SignalSetResponse) + GOOGLE_DCHECK_NE(&from, this); + const SignalSetResponse* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.SignalSetResponse) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.SignalSetResponse) + MergeFrom(*source); + } +} + +void SignalSetResponse::MergeFrom(const SignalSetResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.SignalSetResponse) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + +} + +void SignalSetResponse::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.SignalSetResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void SignalSetResponse::CopyFrom(const SignalSetResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.SignalSetResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SignalSetResponse::IsInitialized() const { + return true; +} + +void SignalSetResponse::Swap(SignalSetResponse* other) { + if (other == this) return; + InternalSwap(other); +} +void SignalSetResponse::InternalSwap(SignalSetResponse* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); +} + +::google::protobuf::Metadata SignalSetResponse::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fsignal_2eproto); + return ::file_level_metadata_flyteidl_2fadmin_2fsignal_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void Signal::InitAsDefaultInstance() { + ::flyteidl::admin::_Signal_default_instance_._instance.get_mutable()->id_ = const_cast< ::flyteidl::core::SignalIdentifier*>( + ::flyteidl::core::SignalIdentifier::internal_default_instance()); + ::flyteidl::admin::_Signal_default_instance_._instance.get_mutable()->type_ = const_cast< ::flyteidl::core::LiteralType*>( + ::flyteidl::core::LiteralType::internal_default_instance()); + ::flyteidl::admin::_Signal_default_instance_._instance.get_mutable()->value_ = const_cast< ::flyteidl::core::Literal*>( + ::flyteidl::core::Literal::internal_default_instance()); +} +class Signal::HasBitSetters { + public: + static const ::flyteidl::core::SignalIdentifier& id(const Signal* msg); + static const ::flyteidl::core::LiteralType& type(const Signal* msg); + static const ::flyteidl::core::Literal& value(const Signal* msg); +}; + +const ::flyteidl::core::SignalIdentifier& +Signal::HasBitSetters::id(const Signal* msg) { + return *msg->id_; +} +const ::flyteidl::core::LiteralType& +Signal::HasBitSetters::type(const Signal* msg) { + return *msg->type_; +} +const ::flyteidl::core::Literal& +Signal::HasBitSetters::value(const Signal* msg) { + return *msg->value_; +} +void Signal::clear_id() { + if (GetArenaNoVirtual() == nullptr && id_ != nullptr) { + delete id_; + } + id_ = nullptr; +} +void Signal::clear_type() { + if (GetArenaNoVirtual() == nullptr && type_ != nullptr) { + delete type_; + } + type_ = nullptr; +} +void Signal::clear_value() { + if (GetArenaNoVirtual() == nullptr && value_ != nullptr) { + delete value_; + } + value_ = nullptr; +} +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int Signal::kIdFieldNumber; +const int Signal::kTypeFieldNumber; +const int Signal::kValueFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +Signal::Signal() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.admin.Signal) +} +Signal::Signal(const Signal& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + if (from.has_id()) { + id_ = new ::flyteidl::core::SignalIdentifier(*from.id_); + } else { + id_ = nullptr; + } + if (from.has_type()) { + type_ = new ::flyteidl::core::LiteralType(*from.type_); + } else { + type_ = nullptr; + } + if (from.has_value()) { + value_ = new ::flyteidl::core::Literal(*from.value_); + } else { + value_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flyteidl.admin.Signal) +} + +void Signal::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_Signal_flyteidl_2fadmin_2fsignal_2eproto.base); + ::memset(&id_, 0, static_cast( + reinterpret_cast(&value_) - + reinterpret_cast(&id_)) + sizeof(value_)); +} + +Signal::~Signal() { + // @@protoc_insertion_point(destructor:flyteidl.admin.Signal) + SharedDtor(); +} + +void Signal::SharedDtor() { + if (this != internal_default_instance()) delete id_; + if (this != internal_default_instance()) delete type_; + if (this != internal_default_instance()) delete value_; +} + +void Signal::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const Signal& Signal::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_Signal_flyteidl_2fadmin_2fsignal_2eproto.base); + return *internal_default_instance(); +} + + +void Signal::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.admin.Signal) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaNoVirtual() == nullptr && id_ != nullptr) { + delete id_; + } + id_ = nullptr; + if (GetArenaNoVirtual() == nullptr && type_ != nullptr) { + delete type_; + } + type_ = nullptr; + if (GetArenaNoVirtual() == nullptr && value_ != nullptr) { + delete value_; + } + value_ = nullptr; + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* Signal::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // .flyteidl.core.SignalIdentifier id = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::SignalIdentifier::_InternalParse; + object = msg->mutable_id(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.LiteralType type = 2; + case 2: { + if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::LiteralType::_InternalParse; + object = msg->mutable_type(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.Literal value = 3; + case 3: { + if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::Literal::_InternalParse; + object = msg->mutable_value(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool Signal::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.admin.Signal) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // .flyteidl.core.SignalIdentifier id = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_id())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.LiteralType type = 2; + case 2: { + if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_type())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.Literal value = 3; + case 3: { + if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_value())); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.admin.Signal) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.admin.Signal) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void Signal::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.admin.Signal) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.SignalIdentifier id = 1; + if (this->has_id()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, HasBitSetters::id(this), output); + } + + // .flyteidl.core.LiteralType type = 2; + if (this->has_type()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 2, HasBitSetters::type(this), output); + } + + // .flyteidl.core.Literal value = 3; + if (this->has_value()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 3, HasBitSetters::value(this), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.admin.Signal) +} + +::google::protobuf::uint8* Signal::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.Signal) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.SignalIdentifier id = 1; + if (this->has_id()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 1, HasBitSetters::id(this), target); + } + + // .flyteidl.core.LiteralType type = 2; + if (this->has_type()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 2, HasBitSetters::type(this), target); + } + + // .flyteidl.core.Literal value = 3; + if (this->has_value()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 3, HasBitSetters::value(this), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.admin.Signal) + return target; +} + +size_t Signal::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.Signal) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .flyteidl.core.SignalIdentifier id = 1; + if (this->has_id()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *id_); + } + + // .flyteidl.core.LiteralType type = 2; + if (this->has_type()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *type_); + } + + // .flyteidl.core.Literal value = 3; + if (this->has_value()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *value_); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void Signal::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.Signal) + GOOGLE_DCHECK_NE(&from, this); + const Signal* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.Signal) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.Signal) + MergeFrom(*source); + } +} + +void Signal::MergeFrom(const Signal& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.Signal) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.has_id()) { + mutable_id()->::flyteidl::core::SignalIdentifier::MergeFrom(from.id()); + } + if (from.has_type()) { + mutable_type()->::flyteidl::core::LiteralType::MergeFrom(from.type()); + } + if (from.has_value()) { + mutable_value()->::flyteidl::core::Literal::MergeFrom(from.value()); + } +} + +void Signal::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.Signal) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void Signal::CopyFrom(const Signal& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.Signal) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool Signal::IsInitialized() const { + return true; +} + +void Signal::Swap(Signal* other) { + if (other == this) return; + InternalSwap(other); +} +void Signal::InternalSwap(Signal* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + swap(id_, other->id_); + swap(type_, other->type_); + swap(value_, other->value_); +} + +::google::protobuf::Metadata Signal::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fsignal_2eproto); + return ::file_level_metadata_flyteidl_2fadmin_2fsignal_2eproto[kIndexInFileMessages]; +} + + +// @@protoc_insertion_point(namespace_scope) +} // namespace admin +} // namespace flyteidl +namespace google { +namespace protobuf { +template<> PROTOBUF_NOINLINE ::flyteidl::admin::SignalGetOrCreateRequest* Arena::CreateMaybeMessage< ::flyteidl::admin::SignalGetOrCreateRequest >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::SignalGetOrCreateRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::admin::SignalListRequest* Arena::CreateMaybeMessage< ::flyteidl::admin::SignalListRequest >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::SignalListRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::admin::SignalList* Arena::CreateMaybeMessage< ::flyteidl::admin::SignalList >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::SignalList >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::admin::SignalSetRequest* Arena::CreateMaybeMessage< ::flyteidl::admin::SignalSetRequest >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::SignalSetRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::admin::SignalSetResponse* Arena::CreateMaybeMessage< ::flyteidl::admin::SignalSetResponse >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::SignalSetResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::admin::Signal* Arena::CreateMaybeMessage< ::flyteidl::admin::Signal >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::Signal >(arena); +} +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) +#include diff --git a/gen/pb-cpp/flyteidl/admin/signal.pb.h b/gen/pb-cpp/flyteidl/admin/signal.pb.h new file mode 100644 index 0000000000..98ddbf0ca2 --- /dev/null +++ b/gen/pb-cpp/flyteidl/admin/signal.pb.h @@ -0,0 +1,1536 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: flyteidl/admin/signal.proto + +#ifndef PROTOBUF_INCLUDED_flyteidl_2fadmin_2fsignal_2eproto +#define PROTOBUF_INCLUDED_flyteidl_2fadmin_2fsignal_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3007000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3007000 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include "flyteidl/admin/common.pb.h" +#include "flyteidl/core/identifier.pb.h" +#include "flyteidl/core/literals.pb.h" +#include "flyteidl/core/types.pb.h" +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fsignal_2eproto + +// Internal implementation detail -- do not use these members. +struct TableStruct_flyteidl_2fadmin_2fsignal_2eproto { + static const ::google::protobuf::internal::ParseTableField entries[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::google::protobuf::internal::AuxillaryParseTableField aux[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::google::protobuf::internal::ParseTable schema[6] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::google::protobuf::internal::FieldMetadata field_metadata[]; + static const ::google::protobuf::internal::SerializationTable serialization_table[]; + static const ::google::protobuf::uint32 offsets[]; +}; +void AddDescriptors_flyteidl_2fadmin_2fsignal_2eproto(); +namespace flyteidl { +namespace admin { +class Signal; +class SignalDefaultTypeInternal; +extern SignalDefaultTypeInternal _Signal_default_instance_; +class SignalGetOrCreateRequest; +class SignalGetOrCreateRequestDefaultTypeInternal; +extern SignalGetOrCreateRequestDefaultTypeInternal _SignalGetOrCreateRequest_default_instance_; +class SignalList; +class SignalListDefaultTypeInternal; +extern SignalListDefaultTypeInternal _SignalList_default_instance_; +class SignalListRequest; +class SignalListRequestDefaultTypeInternal; +extern SignalListRequestDefaultTypeInternal _SignalListRequest_default_instance_; +class SignalSetRequest; +class SignalSetRequestDefaultTypeInternal; +extern SignalSetRequestDefaultTypeInternal _SignalSetRequest_default_instance_; +class SignalSetResponse; +class SignalSetResponseDefaultTypeInternal; +extern SignalSetResponseDefaultTypeInternal _SignalSetResponse_default_instance_; +} // namespace admin +} // namespace flyteidl +namespace google { +namespace protobuf { +template<> ::flyteidl::admin::Signal* Arena::CreateMaybeMessage<::flyteidl::admin::Signal>(Arena*); +template<> ::flyteidl::admin::SignalGetOrCreateRequest* Arena::CreateMaybeMessage<::flyteidl::admin::SignalGetOrCreateRequest>(Arena*); +template<> ::flyteidl::admin::SignalList* Arena::CreateMaybeMessage<::flyteidl::admin::SignalList>(Arena*); +template<> ::flyteidl::admin::SignalListRequest* Arena::CreateMaybeMessage<::flyteidl::admin::SignalListRequest>(Arena*); +template<> ::flyteidl::admin::SignalSetRequest* Arena::CreateMaybeMessage<::flyteidl::admin::SignalSetRequest>(Arena*); +template<> ::flyteidl::admin::SignalSetResponse* Arena::CreateMaybeMessage<::flyteidl::admin::SignalSetResponse>(Arena*); +} // namespace protobuf +} // namespace google +namespace flyteidl { +namespace admin { + +// =================================================================== + +class SignalGetOrCreateRequest final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.admin.SignalGetOrCreateRequest) */ { + public: + SignalGetOrCreateRequest(); + virtual ~SignalGetOrCreateRequest(); + + SignalGetOrCreateRequest(const SignalGetOrCreateRequest& from); + + inline SignalGetOrCreateRequest& operator=(const SignalGetOrCreateRequest& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + SignalGetOrCreateRequest(SignalGetOrCreateRequest&& from) noexcept + : SignalGetOrCreateRequest() { + *this = ::std::move(from); + } + + inline SignalGetOrCreateRequest& operator=(SignalGetOrCreateRequest&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const SignalGetOrCreateRequest& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const SignalGetOrCreateRequest* internal_default_instance() { + return reinterpret_cast( + &_SignalGetOrCreateRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + void Swap(SignalGetOrCreateRequest* other); + friend void swap(SignalGetOrCreateRequest& a, SignalGetOrCreateRequest& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline SignalGetOrCreateRequest* New() const final { + return CreateMaybeMessage(nullptr); + } + + SignalGetOrCreateRequest* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const SignalGetOrCreateRequest& from); + void MergeFrom(const SignalGetOrCreateRequest& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(SignalGetOrCreateRequest* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // .flyteidl.core.SignalIdentifier id = 1; + bool has_id() const; + void clear_id(); + static const int kIdFieldNumber = 1; + const ::flyteidl::core::SignalIdentifier& id() const; + ::flyteidl::core::SignalIdentifier* release_id(); + ::flyteidl::core::SignalIdentifier* mutable_id(); + void set_allocated_id(::flyteidl::core::SignalIdentifier* id); + + // .flyteidl.core.LiteralType type = 2; + bool has_type() const; + void clear_type(); + static const int kTypeFieldNumber = 2; + const ::flyteidl::core::LiteralType& type() const; + ::flyteidl::core::LiteralType* release_type(); + ::flyteidl::core::LiteralType* mutable_type(); + void set_allocated_type(::flyteidl::core::LiteralType* type); + + // @@protoc_insertion_point(class_scope:flyteidl.admin.SignalGetOrCreateRequest) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::flyteidl::core::SignalIdentifier* id_; + ::flyteidl::core::LiteralType* type_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fadmin_2fsignal_2eproto; +}; +// ------------------------------------------------------------------- + +class SignalListRequest final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.admin.SignalListRequest) */ { + public: + SignalListRequest(); + virtual ~SignalListRequest(); + + SignalListRequest(const SignalListRequest& from); + + inline SignalListRequest& operator=(const SignalListRequest& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + SignalListRequest(SignalListRequest&& from) noexcept + : SignalListRequest() { + *this = ::std::move(from); + } + + inline SignalListRequest& operator=(SignalListRequest&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const SignalListRequest& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const SignalListRequest* internal_default_instance() { + return reinterpret_cast( + &_SignalListRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + void Swap(SignalListRequest* other); + friend void swap(SignalListRequest& a, SignalListRequest& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline SignalListRequest* New() const final { + return CreateMaybeMessage(nullptr); + } + + SignalListRequest* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const SignalListRequest& from); + void MergeFrom(const SignalListRequest& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(SignalListRequest* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // string token = 3; + void clear_token(); + static const int kTokenFieldNumber = 3; + const ::std::string& token() const; + void set_token(const ::std::string& value); + #if LANG_CXX11 + void set_token(::std::string&& value); + #endif + void set_token(const char* value); + void set_token(const char* value, size_t size); + ::std::string* mutable_token(); + ::std::string* release_token(); + void set_allocated_token(::std::string* token); + + // string filters = 4; + void clear_filters(); + static const int kFiltersFieldNumber = 4; + const ::std::string& filters() const; + void set_filters(const ::std::string& value); + #if LANG_CXX11 + void set_filters(::std::string&& value); + #endif + void set_filters(const char* value); + void set_filters(const char* value, size_t size); + ::std::string* mutable_filters(); + ::std::string* release_filters(); + void set_allocated_filters(::std::string* filters); + + // .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + bool has_workflow_execution_id() const; + void clear_workflow_execution_id(); + static const int kWorkflowExecutionIdFieldNumber = 1; + const ::flyteidl::core::WorkflowExecutionIdentifier& workflow_execution_id() const; + ::flyteidl::core::WorkflowExecutionIdentifier* release_workflow_execution_id(); + ::flyteidl::core::WorkflowExecutionIdentifier* mutable_workflow_execution_id(); + void set_allocated_workflow_execution_id(::flyteidl::core::WorkflowExecutionIdentifier* workflow_execution_id); + + // .flyteidl.admin.Sort sort_by = 5; + bool has_sort_by() const; + void clear_sort_by(); + static const int kSortByFieldNumber = 5; + const ::flyteidl::admin::Sort& sort_by() const; + ::flyteidl::admin::Sort* release_sort_by(); + ::flyteidl::admin::Sort* mutable_sort_by(); + void set_allocated_sort_by(::flyteidl::admin::Sort* sort_by); + + // uint32 limit = 2; + void clear_limit(); + static const int kLimitFieldNumber = 2; + ::google::protobuf::uint32 limit() const; + void set_limit(::google::protobuf::uint32 value); + + // @@protoc_insertion_point(class_scope:flyteidl.admin.SignalListRequest) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::ArenaStringPtr token_; + ::google::protobuf::internal::ArenaStringPtr filters_; + ::flyteidl::core::WorkflowExecutionIdentifier* workflow_execution_id_; + ::flyteidl::admin::Sort* sort_by_; + ::google::protobuf::uint32 limit_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fadmin_2fsignal_2eproto; +}; +// ------------------------------------------------------------------- + +class SignalList final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.admin.SignalList) */ { + public: + SignalList(); + virtual ~SignalList(); + + SignalList(const SignalList& from); + + inline SignalList& operator=(const SignalList& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + SignalList(SignalList&& from) noexcept + : SignalList() { + *this = ::std::move(from); + } + + inline SignalList& operator=(SignalList&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const SignalList& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const SignalList* internal_default_instance() { + return reinterpret_cast( + &_SignalList_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + void Swap(SignalList* other); + friend void swap(SignalList& a, SignalList& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline SignalList* New() const final { + return CreateMaybeMessage(nullptr); + } + + SignalList* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const SignalList& from); + void MergeFrom(const SignalList& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(SignalList* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // repeated .flyteidl.admin.Signal signals = 1; + int signals_size() const; + void clear_signals(); + static const int kSignalsFieldNumber = 1; + ::flyteidl::admin::Signal* mutable_signals(int index); + ::google::protobuf::RepeatedPtrField< ::flyteidl::admin::Signal >* + mutable_signals(); + const ::flyteidl::admin::Signal& signals(int index) const; + ::flyteidl::admin::Signal* add_signals(); + const ::google::protobuf::RepeatedPtrField< ::flyteidl::admin::Signal >& + signals() const; + + // string token = 2; + void clear_token(); + static const int kTokenFieldNumber = 2; + const ::std::string& token() const; + void set_token(const ::std::string& value); + #if LANG_CXX11 + void set_token(::std::string&& value); + #endif + void set_token(const char* value); + void set_token(const char* value, size_t size); + ::std::string* mutable_token(); + ::std::string* release_token(); + void set_allocated_token(::std::string* token); + + // @@protoc_insertion_point(class_scope:flyteidl.admin.SignalList) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::RepeatedPtrField< ::flyteidl::admin::Signal > signals_; + ::google::protobuf::internal::ArenaStringPtr token_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fadmin_2fsignal_2eproto; +}; +// ------------------------------------------------------------------- + +class SignalSetRequest final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.admin.SignalSetRequest) */ { + public: + SignalSetRequest(); + virtual ~SignalSetRequest(); + + SignalSetRequest(const SignalSetRequest& from); + + inline SignalSetRequest& operator=(const SignalSetRequest& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + SignalSetRequest(SignalSetRequest&& from) noexcept + : SignalSetRequest() { + *this = ::std::move(from); + } + + inline SignalSetRequest& operator=(SignalSetRequest&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const SignalSetRequest& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const SignalSetRequest* internal_default_instance() { + return reinterpret_cast( + &_SignalSetRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 3; + + void Swap(SignalSetRequest* other); + friend void swap(SignalSetRequest& a, SignalSetRequest& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline SignalSetRequest* New() const final { + return CreateMaybeMessage(nullptr); + } + + SignalSetRequest* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const SignalSetRequest& from); + void MergeFrom(const SignalSetRequest& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(SignalSetRequest* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // .flyteidl.core.SignalIdentifier id = 1; + bool has_id() const; + void clear_id(); + static const int kIdFieldNumber = 1; + const ::flyteidl::core::SignalIdentifier& id() const; + ::flyteidl::core::SignalIdentifier* release_id(); + ::flyteidl::core::SignalIdentifier* mutable_id(); + void set_allocated_id(::flyteidl::core::SignalIdentifier* id); + + // .flyteidl.core.Literal value = 2; + bool has_value() const; + void clear_value(); + static const int kValueFieldNumber = 2; + const ::flyteidl::core::Literal& value() const; + ::flyteidl::core::Literal* release_value(); + ::flyteidl::core::Literal* mutable_value(); + void set_allocated_value(::flyteidl::core::Literal* value); + + // @@protoc_insertion_point(class_scope:flyteidl.admin.SignalSetRequest) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::flyteidl::core::SignalIdentifier* id_; + ::flyteidl::core::Literal* value_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fadmin_2fsignal_2eproto; +}; +// ------------------------------------------------------------------- + +class SignalSetResponse final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.admin.SignalSetResponse) */ { + public: + SignalSetResponse(); + virtual ~SignalSetResponse(); + + SignalSetResponse(const SignalSetResponse& from); + + inline SignalSetResponse& operator=(const SignalSetResponse& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + SignalSetResponse(SignalSetResponse&& from) noexcept + : SignalSetResponse() { + *this = ::std::move(from); + } + + inline SignalSetResponse& operator=(SignalSetResponse&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const SignalSetResponse& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const SignalSetResponse* internal_default_instance() { + return reinterpret_cast( + &_SignalSetResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 4; + + void Swap(SignalSetResponse* other); + friend void swap(SignalSetResponse& a, SignalSetResponse& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline SignalSetResponse* New() const final { + return CreateMaybeMessage(nullptr); + } + + SignalSetResponse* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const SignalSetResponse& from); + void MergeFrom(const SignalSetResponse& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(SignalSetResponse* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // @@protoc_insertion_point(class_scope:flyteidl.admin.SignalSetResponse) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fadmin_2fsignal_2eproto; +}; +// ------------------------------------------------------------------- + +class Signal final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.admin.Signal) */ { + public: + Signal(); + virtual ~Signal(); + + Signal(const Signal& from); + + inline Signal& operator=(const Signal& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + Signal(Signal&& from) noexcept + : Signal() { + *this = ::std::move(from); + } + + inline Signal& operator=(Signal&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const Signal& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const Signal* internal_default_instance() { + return reinterpret_cast( + &_Signal_default_instance_); + } + static constexpr int kIndexInFileMessages = + 5; + + void Swap(Signal* other); + friend void swap(Signal& a, Signal& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline Signal* New() const final { + return CreateMaybeMessage(nullptr); + } + + Signal* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const Signal& from); + void MergeFrom(const Signal& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(Signal* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // .flyteidl.core.SignalIdentifier id = 1; + bool has_id() const; + void clear_id(); + static const int kIdFieldNumber = 1; + const ::flyteidl::core::SignalIdentifier& id() const; + ::flyteidl::core::SignalIdentifier* release_id(); + ::flyteidl::core::SignalIdentifier* mutable_id(); + void set_allocated_id(::flyteidl::core::SignalIdentifier* id); + + // .flyteidl.core.LiteralType type = 2; + bool has_type() const; + void clear_type(); + static const int kTypeFieldNumber = 2; + const ::flyteidl::core::LiteralType& type() const; + ::flyteidl::core::LiteralType* release_type(); + ::flyteidl::core::LiteralType* mutable_type(); + void set_allocated_type(::flyteidl::core::LiteralType* type); + + // .flyteidl.core.Literal value = 3; + bool has_value() const; + void clear_value(); + static const int kValueFieldNumber = 3; + const ::flyteidl::core::Literal& value() const; + ::flyteidl::core::Literal* release_value(); + ::flyteidl::core::Literal* mutable_value(); + void set_allocated_value(::flyteidl::core::Literal* value); + + // @@protoc_insertion_point(class_scope:flyteidl.admin.Signal) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::flyteidl::core::SignalIdentifier* id_; + ::flyteidl::core::LiteralType* type_; + ::flyteidl::core::Literal* value_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fadmin_2fsignal_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// SignalGetOrCreateRequest + +// .flyteidl.core.SignalIdentifier id = 1; +inline bool SignalGetOrCreateRequest::has_id() const { + return this != internal_default_instance() && id_ != nullptr; +} +inline const ::flyteidl::core::SignalIdentifier& SignalGetOrCreateRequest::id() const { + const ::flyteidl::core::SignalIdentifier* p = id_; + // @@protoc_insertion_point(field_get:flyteidl.admin.SignalGetOrCreateRequest.id) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_SignalIdentifier_default_instance_); +} +inline ::flyteidl::core::SignalIdentifier* SignalGetOrCreateRequest::release_id() { + // @@protoc_insertion_point(field_release:flyteidl.admin.SignalGetOrCreateRequest.id) + + ::flyteidl::core::SignalIdentifier* temp = id_; + id_ = nullptr; + return temp; +} +inline ::flyteidl::core::SignalIdentifier* SignalGetOrCreateRequest::mutable_id() { + + if (id_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::SignalIdentifier>(GetArenaNoVirtual()); + id_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.SignalGetOrCreateRequest.id) + return id_; +} +inline void SignalGetOrCreateRequest::set_allocated_id(::flyteidl::core::SignalIdentifier* id) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(id_); + } + if (id) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + id = ::google::protobuf::internal::GetOwnedMessage( + message_arena, id, submessage_arena); + } + + } else { + + } + id_ = id; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.SignalGetOrCreateRequest.id) +} + +// .flyteidl.core.LiteralType type = 2; +inline bool SignalGetOrCreateRequest::has_type() const { + return this != internal_default_instance() && type_ != nullptr; +} +inline const ::flyteidl::core::LiteralType& SignalGetOrCreateRequest::type() const { + const ::flyteidl::core::LiteralType* p = type_; + // @@protoc_insertion_point(field_get:flyteidl.admin.SignalGetOrCreateRequest.type) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_LiteralType_default_instance_); +} +inline ::flyteidl::core::LiteralType* SignalGetOrCreateRequest::release_type() { + // @@protoc_insertion_point(field_release:flyteidl.admin.SignalGetOrCreateRequest.type) + + ::flyteidl::core::LiteralType* temp = type_; + type_ = nullptr; + return temp; +} +inline ::flyteidl::core::LiteralType* SignalGetOrCreateRequest::mutable_type() { + + if (type_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::LiteralType>(GetArenaNoVirtual()); + type_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.SignalGetOrCreateRequest.type) + return type_; +} +inline void SignalGetOrCreateRequest::set_allocated_type(::flyteidl::core::LiteralType* type) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(type_); + } + if (type) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + type = ::google::protobuf::internal::GetOwnedMessage( + message_arena, type, submessage_arena); + } + + } else { + + } + type_ = type; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.SignalGetOrCreateRequest.type) +} + +// ------------------------------------------------------------------- + +// SignalListRequest + +// .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; +inline bool SignalListRequest::has_workflow_execution_id() const { + return this != internal_default_instance() && workflow_execution_id_ != nullptr; +} +inline const ::flyteidl::core::WorkflowExecutionIdentifier& SignalListRequest::workflow_execution_id() const { + const ::flyteidl::core::WorkflowExecutionIdentifier* p = workflow_execution_id_; + // @@protoc_insertion_point(field_get:flyteidl.admin.SignalListRequest.workflow_execution_id) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_WorkflowExecutionIdentifier_default_instance_); +} +inline ::flyteidl::core::WorkflowExecutionIdentifier* SignalListRequest::release_workflow_execution_id() { + // @@protoc_insertion_point(field_release:flyteidl.admin.SignalListRequest.workflow_execution_id) + + ::flyteidl::core::WorkflowExecutionIdentifier* temp = workflow_execution_id_; + workflow_execution_id_ = nullptr; + return temp; +} +inline ::flyteidl::core::WorkflowExecutionIdentifier* SignalListRequest::mutable_workflow_execution_id() { + + if (workflow_execution_id_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::WorkflowExecutionIdentifier>(GetArenaNoVirtual()); + workflow_execution_id_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.SignalListRequest.workflow_execution_id) + return workflow_execution_id_; +} +inline void SignalListRequest::set_allocated_workflow_execution_id(::flyteidl::core::WorkflowExecutionIdentifier* workflow_execution_id) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(workflow_execution_id_); + } + if (workflow_execution_id) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + workflow_execution_id = ::google::protobuf::internal::GetOwnedMessage( + message_arena, workflow_execution_id, submessage_arena); + } + + } else { + + } + workflow_execution_id_ = workflow_execution_id; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.SignalListRequest.workflow_execution_id) +} + +// uint32 limit = 2; +inline void SignalListRequest::clear_limit() { + limit_ = 0u; +} +inline ::google::protobuf::uint32 SignalListRequest::limit() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.SignalListRequest.limit) + return limit_; +} +inline void SignalListRequest::set_limit(::google::protobuf::uint32 value) { + + limit_ = value; + // @@protoc_insertion_point(field_set:flyteidl.admin.SignalListRequest.limit) +} + +// string token = 3; +inline void SignalListRequest::clear_token() { + token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& SignalListRequest::token() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.SignalListRequest.token) + return token_.GetNoArena(); +} +inline void SignalListRequest::set_token(const ::std::string& value) { + + token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.SignalListRequest.token) +} +#if LANG_CXX11 +inline void SignalListRequest::set_token(::std::string&& value) { + + token_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.SignalListRequest.token) +} +#endif +inline void SignalListRequest::set_token(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.SignalListRequest.token) +} +inline void SignalListRequest::set_token(const char* value, size_t size) { + + token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.SignalListRequest.token) +} +inline ::std::string* SignalListRequest::mutable_token() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.SignalListRequest.token) + return token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* SignalListRequest::release_token() { + // @@protoc_insertion_point(field_release:flyteidl.admin.SignalListRequest.token) + + return token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void SignalListRequest::set_allocated_token(::std::string* token) { + if (token != nullptr) { + + } else { + + } + token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), token); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.SignalListRequest.token) +} + +// string filters = 4; +inline void SignalListRequest::clear_filters() { + filters_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& SignalListRequest::filters() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.SignalListRequest.filters) + return filters_.GetNoArena(); +} +inline void SignalListRequest::set_filters(const ::std::string& value) { + + filters_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.SignalListRequest.filters) +} +#if LANG_CXX11 +inline void SignalListRequest::set_filters(::std::string&& value) { + + filters_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.SignalListRequest.filters) +} +#endif +inline void SignalListRequest::set_filters(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + filters_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.SignalListRequest.filters) +} +inline void SignalListRequest::set_filters(const char* value, size_t size) { + + filters_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.SignalListRequest.filters) +} +inline ::std::string* SignalListRequest::mutable_filters() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.SignalListRequest.filters) + return filters_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* SignalListRequest::release_filters() { + // @@protoc_insertion_point(field_release:flyteidl.admin.SignalListRequest.filters) + + return filters_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void SignalListRequest::set_allocated_filters(::std::string* filters) { + if (filters != nullptr) { + + } else { + + } + filters_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), filters); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.SignalListRequest.filters) +} + +// .flyteidl.admin.Sort sort_by = 5; +inline bool SignalListRequest::has_sort_by() const { + return this != internal_default_instance() && sort_by_ != nullptr; +} +inline const ::flyteidl::admin::Sort& SignalListRequest::sort_by() const { + const ::flyteidl::admin::Sort* p = sort_by_; + // @@protoc_insertion_point(field_get:flyteidl.admin.SignalListRequest.sort_by) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::admin::_Sort_default_instance_); +} +inline ::flyteidl::admin::Sort* SignalListRequest::release_sort_by() { + // @@protoc_insertion_point(field_release:flyteidl.admin.SignalListRequest.sort_by) + + ::flyteidl::admin::Sort* temp = sort_by_; + sort_by_ = nullptr; + return temp; +} +inline ::flyteidl::admin::Sort* SignalListRequest::mutable_sort_by() { + + if (sort_by_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::admin::Sort>(GetArenaNoVirtual()); + sort_by_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.SignalListRequest.sort_by) + return sort_by_; +} +inline void SignalListRequest::set_allocated_sort_by(::flyteidl::admin::Sort* sort_by) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(sort_by_); + } + if (sort_by) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + sort_by = ::google::protobuf::internal::GetOwnedMessage( + message_arena, sort_by, submessage_arena); + } + + } else { + + } + sort_by_ = sort_by; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.SignalListRequest.sort_by) +} + +// ------------------------------------------------------------------- + +// SignalList + +// repeated .flyteidl.admin.Signal signals = 1; +inline int SignalList::signals_size() const { + return signals_.size(); +} +inline void SignalList::clear_signals() { + signals_.Clear(); +} +inline ::flyteidl::admin::Signal* SignalList::mutable_signals(int index) { + // @@protoc_insertion_point(field_mutable:flyteidl.admin.SignalList.signals) + return signals_.Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField< ::flyteidl::admin::Signal >* +SignalList::mutable_signals() { + // @@protoc_insertion_point(field_mutable_list:flyteidl.admin.SignalList.signals) + return &signals_; +} +inline const ::flyteidl::admin::Signal& SignalList::signals(int index) const { + // @@protoc_insertion_point(field_get:flyteidl.admin.SignalList.signals) + return signals_.Get(index); +} +inline ::flyteidl::admin::Signal* SignalList::add_signals() { + // @@protoc_insertion_point(field_add:flyteidl.admin.SignalList.signals) + return signals_.Add(); +} +inline const ::google::protobuf::RepeatedPtrField< ::flyteidl::admin::Signal >& +SignalList::signals() const { + // @@protoc_insertion_point(field_list:flyteidl.admin.SignalList.signals) + return signals_; +} + +// string token = 2; +inline void SignalList::clear_token() { + token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& SignalList::token() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.SignalList.token) + return token_.GetNoArena(); +} +inline void SignalList::set_token(const ::std::string& value) { + + token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.SignalList.token) +} +#if LANG_CXX11 +inline void SignalList::set_token(::std::string&& value) { + + token_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.SignalList.token) +} +#endif +inline void SignalList::set_token(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.SignalList.token) +} +inline void SignalList::set_token(const char* value, size_t size) { + + token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.SignalList.token) +} +inline ::std::string* SignalList::mutable_token() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.SignalList.token) + return token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* SignalList::release_token() { + // @@protoc_insertion_point(field_release:flyteidl.admin.SignalList.token) + + return token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void SignalList::set_allocated_token(::std::string* token) { + if (token != nullptr) { + + } else { + + } + token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), token); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.SignalList.token) +} + +// ------------------------------------------------------------------- + +// SignalSetRequest + +// .flyteidl.core.SignalIdentifier id = 1; +inline bool SignalSetRequest::has_id() const { + return this != internal_default_instance() && id_ != nullptr; +} +inline const ::flyteidl::core::SignalIdentifier& SignalSetRequest::id() const { + const ::flyteidl::core::SignalIdentifier* p = id_; + // @@protoc_insertion_point(field_get:flyteidl.admin.SignalSetRequest.id) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_SignalIdentifier_default_instance_); +} +inline ::flyteidl::core::SignalIdentifier* SignalSetRequest::release_id() { + // @@protoc_insertion_point(field_release:flyteidl.admin.SignalSetRequest.id) + + ::flyteidl::core::SignalIdentifier* temp = id_; + id_ = nullptr; + return temp; +} +inline ::flyteidl::core::SignalIdentifier* SignalSetRequest::mutable_id() { + + if (id_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::SignalIdentifier>(GetArenaNoVirtual()); + id_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.SignalSetRequest.id) + return id_; +} +inline void SignalSetRequest::set_allocated_id(::flyteidl::core::SignalIdentifier* id) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(id_); + } + if (id) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + id = ::google::protobuf::internal::GetOwnedMessage( + message_arena, id, submessage_arena); + } + + } else { + + } + id_ = id; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.SignalSetRequest.id) +} + +// .flyteidl.core.Literal value = 2; +inline bool SignalSetRequest::has_value() const { + return this != internal_default_instance() && value_ != nullptr; +} +inline const ::flyteidl::core::Literal& SignalSetRequest::value() const { + const ::flyteidl::core::Literal* p = value_; + // @@protoc_insertion_point(field_get:flyteidl.admin.SignalSetRequest.value) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_Literal_default_instance_); +} +inline ::flyteidl::core::Literal* SignalSetRequest::release_value() { + // @@protoc_insertion_point(field_release:flyteidl.admin.SignalSetRequest.value) + + ::flyteidl::core::Literal* temp = value_; + value_ = nullptr; + return temp; +} +inline ::flyteidl::core::Literal* SignalSetRequest::mutable_value() { + + if (value_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::Literal>(GetArenaNoVirtual()); + value_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.SignalSetRequest.value) + return value_; +} +inline void SignalSetRequest::set_allocated_value(::flyteidl::core::Literal* value) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(value_); + } + if (value) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage( + message_arena, value, submessage_arena); + } + + } else { + + } + value_ = value; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.SignalSetRequest.value) +} + +// ------------------------------------------------------------------- + +// SignalSetResponse + +// ------------------------------------------------------------------- + +// Signal + +// .flyteidl.core.SignalIdentifier id = 1; +inline bool Signal::has_id() const { + return this != internal_default_instance() && id_ != nullptr; +} +inline const ::flyteidl::core::SignalIdentifier& Signal::id() const { + const ::flyteidl::core::SignalIdentifier* p = id_; + // @@protoc_insertion_point(field_get:flyteidl.admin.Signal.id) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_SignalIdentifier_default_instance_); +} +inline ::flyteidl::core::SignalIdentifier* Signal::release_id() { + // @@protoc_insertion_point(field_release:flyteidl.admin.Signal.id) + + ::flyteidl::core::SignalIdentifier* temp = id_; + id_ = nullptr; + return temp; +} +inline ::flyteidl::core::SignalIdentifier* Signal::mutable_id() { + + if (id_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::SignalIdentifier>(GetArenaNoVirtual()); + id_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.Signal.id) + return id_; +} +inline void Signal::set_allocated_id(::flyteidl::core::SignalIdentifier* id) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(id_); + } + if (id) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + id = ::google::protobuf::internal::GetOwnedMessage( + message_arena, id, submessage_arena); + } + + } else { + + } + id_ = id; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.Signal.id) +} + +// .flyteidl.core.LiteralType type = 2; +inline bool Signal::has_type() const { + return this != internal_default_instance() && type_ != nullptr; +} +inline const ::flyteidl::core::LiteralType& Signal::type() const { + const ::flyteidl::core::LiteralType* p = type_; + // @@protoc_insertion_point(field_get:flyteidl.admin.Signal.type) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_LiteralType_default_instance_); +} +inline ::flyteidl::core::LiteralType* Signal::release_type() { + // @@protoc_insertion_point(field_release:flyteidl.admin.Signal.type) + + ::flyteidl::core::LiteralType* temp = type_; + type_ = nullptr; + return temp; +} +inline ::flyteidl::core::LiteralType* Signal::mutable_type() { + + if (type_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::LiteralType>(GetArenaNoVirtual()); + type_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.Signal.type) + return type_; +} +inline void Signal::set_allocated_type(::flyteidl::core::LiteralType* type) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(type_); + } + if (type) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + type = ::google::protobuf::internal::GetOwnedMessage( + message_arena, type, submessage_arena); + } + + } else { + + } + type_ = type; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.Signal.type) +} + +// .flyteidl.core.Literal value = 3; +inline bool Signal::has_value() const { + return this != internal_default_instance() && value_ != nullptr; +} +inline const ::flyteidl::core::Literal& Signal::value() const { + const ::flyteidl::core::Literal* p = value_; + // @@protoc_insertion_point(field_get:flyteidl.admin.Signal.value) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_Literal_default_instance_); +} +inline ::flyteidl::core::Literal* Signal::release_value() { + // @@protoc_insertion_point(field_release:flyteidl.admin.Signal.value) + + ::flyteidl::core::Literal* temp = value_; + value_ = nullptr; + return temp; +} +inline ::flyteidl::core::Literal* Signal::mutable_value() { + + if (value_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::Literal>(GetArenaNoVirtual()); + value_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.Signal.value) + return value_; +} +inline void Signal::set_allocated_value(::flyteidl::core::Literal* value) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(value_); + } + if (value) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage( + message_arena, value, submessage_arena); + } + + } else { + + } + value_ = value; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.Signal.value) +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace admin +} // namespace flyteidl + +// @@protoc_insertion_point(global_scope) + +#include +#endif // PROTOBUF_INCLUDED_flyteidl_2fadmin_2fsignal_2eproto diff --git a/gen/pb-cpp/flyteidl/core/dynamic_job.pb.cc b/gen/pb-cpp/flyteidl/core/dynamic_job.pb.cc index 6c2b7e06c5..f94d47517a 100644 --- a/gen/pb-cpp/flyteidl/core/dynamic_job.pb.cc +++ b/gen/pb-cpp/flyteidl/core/dynamic_job.pb.cc @@ -19,7 +19,7 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_Binding_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2ftasks_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_TaskTemplate_flyteidl_2fcore_2ftasks_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<6> scc_info_WorkflowTemplate_flyteidl_2fcore_2fworkflow_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<7> scc_info_BranchNode_flyteidl_2fcore_2fworkflow_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<8> scc_info_BranchNode_flyteidl_2fcore_2fworkflow_2eproto; namespace flyteidl { namespace core { class DynamicJobSpecDefaultTypeInternal { diff --git a/gen/pb-cpp/flyteidl/core/identifier.pb.cc b/gen/pb-cpp/flyteidl/core/identifier.pb.cc index 650372fdb4..78959678c5 100644 --- a/gen/pb-cpp/flyteidl/core/identifier.pb.cc +++ b/gen/pb-cpp/flyteidl/core/identifier.pb.cc @@ -37,6 +37,10 @@ class TaskExecutionIdentifierDefaultTypeInternal { public: ::google::protobuf::internal::ExplicitlyConstructed _instance; } _TaskExecutionIdentifier_default_instance_; +class SignalIdentifierDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _SignalIdentifier_default_instance_; } // namespace core } // namespace flyteidl static void InitDefaultsIdentifier_flyteidl_2fcore_2fidentifier_2eproto() { @@ -98,14 +102,30 @@ ::google::protobuf::internal::SCCInfo<2> scc_info_TaskExecutionIdentifier_flytei &scc_info_Identifier_flyteidl_2fcore_2fidentifier_2eproto.base, &scc_info_NodeExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base,}}; +static void InitDefaultsSignalIdentifier_flyteidl_2fcore_2fidentifier_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::core::_SignalIdentifier_default_instance_; + new (ptr) ::flyteidl::core::SignalIdentifier(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::core::SignalIdentifier::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<1> scc_info_SignalIdentifier_flyteidl_2fcore_2fidentifier_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsSignalIdentifier_flyteidl_2fcore_2fidentifier_2eproto}, { + &scc_info_WorkflowExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base,}}; + void InitDefaults_flyteidl_2fcore_2fidentifier_2eproto() { ::google::protobuf::internal::InitSCC(&scc_info_Identifier_flyteidl_2fcore_2fidentifier_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_WorkflowExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_NodeExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_TaskExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_SignalIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base); } -::google::protobuf::Metadata file_level_metadata_flyteidl_2fcore_2fidentifier_2eproto[4]; +::google::protobuf::Metadata file_level_metadata_flyteidl_2fcore_2fidentifier_2eproto[5]; const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors_flyteidl_2fcore_2fidentifier_2eproto[1]; constexpr ::google::protobuf::ServiceDescriptor const** file_level_service_descriptors_flyteidl_2fcore_2fidentifier_2eproto = nullptr; @@ -143,12 +163,20 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fcore_2fidentifier_2eprot PROTOBUF_FIELD_OFFSET(::flyteidl::core::TaskExecutionIdentifier, task_id_), PROTOBUF_FIELD_OFFSET(::flyteidl::core::TaskExecutionIdentifier, node_execution_id_), PROTOBUF_FIELD_OFFSET(::flyteidl::core::TaskExecutionIdentifier, retry_attempt_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::SignalIdentifier, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::SignalIdentifier, signal_id_), + PROTOBUF_FIELD_OFFSET(::flyteidl::core::SignalIdentifier, execution_id_), }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::core::Identifier)}, { 10, -1, sizeof(::flyteidl::core::WorkflowExecutionIdentifier)}, { 18, -1, sizeof(::flyteidl::core::NodeExecutionIdentifier)}, { 25, -1, sizeof(::flyteidl::core::TaskExecutionIdentifier)}, + { 33, -1, sizeof(::flyteidl::core::SignalIdentifier)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -156,12 +184,13 @@ static ::google::protobuf::Message const * const file_default_instances[] = { reinterpret_cast(&::flyteidl::core::_WorkflowExecutionIdentifier_default_instance_), reinterpret_cast(&::flyteidl::core::_NodeExecutionIdentifier_default_instance_), reinterpret_cast(&::flyteidl::core::_TaskExecutionIdentifier_default_instance_), + reinterpret_cast(&::flyteidl::core::_SignalIdentifier_default_instance_), }; ::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_flyteidl_2fcore_2fidentifier_2eproto = { {}, AddDescriptors_flyteidl_2fcore_2fidentifier_2eproto, "flyteidl/core/identifier.proto", schemas, file_default_instances, TableStruct_flyteidl_2fcore_2fidentifier_2eproto::offsets, - file_level_metadata_flyteidl_2fcore_2fidentifier_2eproto, 4, file_level_enum_descriptors_flyteidl_2fcore_2fidentifier_2eproto, file_level_service_descriptors_flyteidl_2fcore_2fidentifier_2eproto, + file_level_metadata_flyteidl_2fcore_2fidentifier_2eproto, 5, file_level_enum_descriptors_flyteidl_2fcore_2fidentifier_2eproto, file_level_service_descriptors_flyteidl_2fcore_2fidentifier_2eproto, }; const char descriptor_table_protodef_flyteidl_2fcore_2fidentifier_2eproto[] = @@ -178,15 +207,18 @@ const char descriptor_table_protodef_flyteidl_2fcore_2fidentifier_2eproto[] = "sk_id\030\001 \001(\0132\031.flyteidl.core.Identifier\022A" "\n\021node_execution_id\030\002 \001(\0132&.flyteidl.cor" "e.NodeExecutionIdentifier\022\025\n\rretry_attem" - "pt\030\003 \001(\r*U\n\014ResourceType\022\017\n\013UNSPECIFIED\020" - "\000\022\010\n\004TASK\020\001\022\014\n\010WORKFLOW\020\002\022\017\n\013LAUNCH_PLAN" - "\020\003\022\013\n\007DATASET\020\004B6Z4github.com/flyteorg/f" - "lyteidl/gen/pb-go/flyteidl/coreb\006proto3" + "pt\030\003 \001(\r\"g\n\020SignalIdentifier\022\021\n\tsignal_i" + "d\030\001 \001(\t\022@\n\014execution_id\030\002 \001(\0132*.flyteidl" + ".core.WorkflowExecutionIdentifier*U\n\014Res" + "ourceType\022\017\n\013UNSPECIFIED\020\000\022\010\n\004TASK\020\001\022\014\n\010" + "WORKFLOW\020\002\022\017\n\013LAUNCH_PLAN\020\003\022\013\n\007DATASET\020\004" + "B6Z4github.com/flyteorg/flyteidl/gen/pb-" + "go/flyteidl/coreb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fcore_2fidentifier_2eproto = { false, InitDefaults_flyteidl_2fcore_2fidentifier_2eproto, descriptor_table_protodef_flyteidl_2fcore_2fidentifier_2eproto, - "flyteidl/core/identifier.proto", &assign_descriptors_table_flyteidl_2fcore_2fidentifier_2eproto, 679, + "flyteidl/core/identifier.proto", &assign_descriptors_table_flyteidl_2fcore_2fidentifier_2eproto, 784, }; void AddDescriptors_flyteidl_2fcore_2fidentifier_2eproto() { @@ -1988,6 +2020,370 @@ ::google::protobuf::Metadata TaskExecutionIdentifier::GetMetadata() const { } +// =================================================================== + +void SignalIdentifier::InitAsDefaultInstance() { + ::flyteidl::core::_SignalIdentifier_default_instance_._instance.get_mutable()->execution_id_ = const_cast< ::flyteidl::core::WorkflowExecutionIdentifier*>( + ::flyteidl::core::WorkflowExecutionIdentifier::internal_default_instance()); +} +class SignalIdentifier::HasBitSetters { + public: + static const ::flyteidl::core::WorkflowExecutionIdentifier& execution_id(const SignalIdentifier* msg); +}; + +const ::flyteidl::core::WorkflowExecutionIdentifier& +SignalIdentifier::HasBitSetters::execution_id(const SignalIdentifier* msg) { + return *msg->execution_id_; +} +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int SignalIdentifier::kSignalIdFieldNumber; +const int SignalIdentifier::kExecutionIdFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +SignalIdentifier::SignalIdentifier() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.core.SignalIdentifier) +} +SignalIdentifier::SignalIdentifier(const SignalIdentifier& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + signal_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.signal_id().size() > 0) { + signal_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.signal_id_); + } + if (from.has_execution_id()) { + execution_id_ = new ::flyteidl::core::WorkflowExecutionIdentifier(*from.execution_id_); + } else { + execution_id_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flyteidl.core.SignalIdentifier) +} + +void SignalIdentifier::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_SignalIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base); + signal_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + execution_id_ = nullptr; +} + +SignalIdentifier::~SignalIdentifier() { + // @@protoc_insertion_point(destructor:flyteidl.core.SignalIdentifier) + SharedDtor(); +} + +void SignalIdentifier::SharedDtor() { + signal_id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete execution_id_; +} + +void SignalIdentifier::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const SignalIdentifier& SignalIdentifier::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_SignalIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base); + return *internal_default_instance(); +} + + +void SignalIdentifier::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.core.SignalIdentifier) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + signal_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (GetArenaNoVirtual() == nullptr && execution_id_ != nullptr) { + delete execution_id_; + } + execution_id_ = nullptr; + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* SignalIdentifier::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // string signal_id = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.core.SignalIdentifier.signal_id"); + object = msg->mutable_signal_id(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } + // .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + case 2: { + if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::WorkflowExecutionIdentifier::_InternalParse; + object = msg->mutable_execution_id(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +string_till_end: + static_cast<::std::string*>(object)->clear(); + static_cast<::std::string*>(object)->reserve(size); + goto len_delim_till_end; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool SignalIdentifier::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.core.SignalIdentifier) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // string signal_id = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_signal_id())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->signal_id().data(), static_cast(this->signal_id().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.core.SignalIdentifier.signal_id")); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + case 2: { + if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_execution_id())); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.core.SignalIdentifier) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.core.SignalIdentifier) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void SignalIdentifier::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.core.SignalIdentifier) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string signal_id = 1; + if (this->signal_id().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->signal_id().data(), static_cast(this->signal_id().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.core.SignalIdentifier.signal_id"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 1, this->signal_id(), output); + } + + // .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + if (this->has_execution_id()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 2, HasBitSetters::execution_id(this), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.core.SignalIdentifier) +} + +::google::protobuf::uint8* SignalIdentifier::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.core.SignalIdentifier) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string signal_id = 1; + if (this->signal_id().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->signal_id().data(), static_cast(this->signal_id().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.core.SignalIdentifier.signal_id"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 1, this->signal_id(), target); + } + + // .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + if (this->has_execution_id()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 2, HasBitSetters::execution_id(this), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.core.SignalIdentifier) + return target; +} + +size_t SignalIdentifier::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.core.SignalIdentifier) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string signal_id = 1; + if (this->signal_id().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->signal_id()); + } + + // .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + if (this->has_execution_id()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *execution_id_); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void SignalIdentifier::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.core.SignalIdentifier) + GOOGLE_DCHECK_NE(&from, this); + const SignalIdentifier* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.core.SignalIdentifier) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.core.SignalIdentifier) + MergeFrom(*source); + } +} + +void SignalIdentifier::MergeFrom(const SignalIdentifier& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.core.SignalIdentifier) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.signal_id().size() > 0) { + + signal_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.signal_id_); + } + if (from.has_execution_id()) { + mutable_execution_id()->::flyteidl::core::WorkflowExecutionIdentifier::MergeFrom(from.execution_id()); + } +} + +void SignalIdentifier::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.core.SignalIdentifier) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void SignalIdentifier::CopyFrom(const SignalIdentifier& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.core.SignalIdentifier) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SignalIdentifier::IsInitialized() const { + return true; +} + +void SignalIdentifier::Swap(SignalIdentifier* other) { + if (other == this) return; + InternalSwap(other); +} +void SignalIdentifier::InternalSwap(SignalIdentifier* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + signal_id_.Swap(&other->signal_id_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); + swap(execution_id_, other->execution_id_); +} + +::google::protobuf::Metadata SignalIdentifier::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fcore_2fidentifier_2eproto); + return ::file_level_metadata_flyteidl_2fcore_2fidentifier_2eproto[kIndexInFileMessages]; +} + + // @@protoc_insertion_point(namespace_scope) } // namespace core } // namespace flyteidl @@ -2005,6 +2401,9 @@ template<> PROTOBUF_NOINLINE ::flyteidl::core::NodeExecutionIdentifier* Arena::C template<> PROTOBUF_NOINLINE ::flyteidl::core::TaskExecutionIdentifier* Arena::CreateMaybeMessage< ::flyteidl::core::TaskExecutionIdentifier >(Arena* arena) { return Arena::CreateInternal< ::flyteidl::core::TaskExecutionIdentifier >(arena); } +template<> PROTOBUF_NOINLINE ::flyteidl::core::SignalIdentifier* Arena::CreateMaybeMessage< ::flyteidl::core::SignalIdentifier >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::core::SignalIdentifier >(arena); +} } // namespace protobuf } // namespace google diff --git a/gen/pb-cpp/flyteidl/core/identifier.pb.h b/gen/pb-cpp/flyteidl/core/identifier.pb.h index b226c5ec9a..d3ee554d5a 100644 --- a/gen/pb-cpp/flyteidl/core/identifier.pb.h +++ b/gen/pb-cpp/flyteidl/core/identifier.pb.h @@ -42,7 +42,7 @@ struct TableStruct_flyteidl_2fcore_2fidentifier_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::google::protobuf::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::google::protobuf::internal::ParseTable schema[4] + static const ::google::protobuf::internal::ParseTable schema[5] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::google::protobuf::internal::FieldMetadata field_metadata[]; static const ::google::protobuf::internal::SerializationTable serialization_table[]; @@ -57,6 +57,9 @@ extern IdentifierDefaultTypeInternal _Identifier_default_instance_; class NodeExecutionIdentifier; class NodeExecutionIdentifierDefaultTypeInternal; extern NodeExecutionIdentifierDefaultTypeInternal _NodeExecutionIdentifier_default_instance_; +class SignalIdentifier; +class SignalIdentifierDefaultTypeInternal; +extern SignalIdentifierDefaultTypeInternal _SignalIdentifier_default_instance_; class TaskExecutionIdentifier; class TaskExecutionIdentifierDefaultTypeInternal; extern TaskExecutionIdentifierDefaultTypeInternal _TaskExecutionIdentifier_default_instance_; @@ -69,6 +72,7 @@ namespace google { namespace protobuf { template<> ::flyteidl::core::Identifier* Arena::CreateMaybeMessage<::flyteidl::core::Identifier>(Arena*); template<> ::flyteidl::core::NodeExecutionIdentifier* Arena::CreateMaybeMessage<::flyteidl::core::NodeExecutionIdentifier>(Arena*); +template<> ::flyteidl::core::SignalIdentifier* Arena::CreateMaybeMessage<::flyteidl::core::SignalIdentifier>(Arena*); template<> ::flyteidl::core::TaskExecutionIdentifier* Arena::CreateMaybeMessage<::flyteidl::core::TaskExecutionIdentifier>(Arena*); template<> ::flyteidl::core::WorkflowExecutionIdentifier* Arena::CreateMaybeMessage<::flyteidl::core::WorkflowExecutionIdentifier>(Arena*); } // namespace protobuf @@ -684,6 +688,136 @@ class TaskExecutionIdentifier final : mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fcore_2fidentifier_2eproto; }; +// ------------------------------------------------------------------- + +class SignalIdentifier final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.core.SignalIdentifier) */ { + public: + SignalIdentifier(); + virtual ~SignalIdentifier(); + + SignalIdentifier(const SignalIdentifier& from); + + inline SignalIdentifier& operator=(const SignalIdentifier& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + SignalIdentifier(SignalIdentifier&& from) noexcept + : SignalIdentifier() { + *this = ::std::move(from); + } + + inline SignalIdentifier& operator=(SignalIdentifier&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const SignalIdentifier& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const SignalIdentifier* internal_default_instance() { + return reinterpret_cast( + &_SignalIdentifier_default_instance_); + } + static constexpr int kIndexInFileMessages = + 4; + + void Swap(SignalIdentifier* other); + friend void swap(SignalIdentifier& a, SignalIdentifier& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline SignalIdentifier* New() const final { + return CreateMaybeMessage(nullptr); + } + + SignalIdentifier* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const SignalIdentifier& from); + void MergeFrom(const SignalIdentifier& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(SignalIdentifier* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // string signal_id = 1; + void clear_signal_id(); + static const int kSignalIdFieldNumber = 1; + const ::std::string& signal_id() const; + void set_signal_id(const ::std::string& value); + #if LANG_CXX11 + void set_signal_id(::std::string&& value); + #endif + void set_signal_id(const char* value); + void set_signal_id(const char* value, size_t size); + ::std::string* mutable_signal_id(); + ::std::string* release_signal_id(); + void set_allocated_signal_id(::std::string* signal_id); + + // .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + bool has_execution_id() const; + void clear_execution_id(); + static const int kExecutionIdFieldNumber = 2; + const ::flyteidl::core::WorkflowExecutionIdentifier& execution_id() const; + ::flyteidl::core::WorkflowExecutionIdentifier* release_execution_id(); + ::flyteidl::core::WorkflowExecutionIdentifier* mutable_execution_id(); + void set_allocated_execution_id(::flyteidl::core::WorkflowExecutionIdentifier* execution_id); + + // @@protoc_insertion_point(class_scope:flyteidl.core.SignalIdentifier) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::ArenaStringPtr signal_id_; + ::flyteidl::core::WorkflowExecutionIdentifier* execution_id_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fcore_2fidentifier_2eproto; +}; // =================================================================== @@ -1312,6 +1446,114 @@ inline void TaskExecutionIdentifier::set_retry_attempt(::google::protobuf::uint3 // @@protoc_insertion_point(field_set:flyteidl.core.TaskExecutionIdentifier.retry_attempt) } +// ------------------------------------------------------------------- + +// SignalIdentifier + +// string signal_id = 1; +inline void SignalIdentifier::clear_signal_id() { + signal_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& SignalIdentifier::signal_id() const { + // @@protoc_insertion_point(field_get:flyteidl.core.SignalIdentifier.signal_id) + return signal_id_.GetNoArena(); +} +inline void SignalIdentifier::set_signal_id(const ::std::string& value) { + + signal_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.core.SignalIdentifier.signal_id) +} +#if LANG_CXX11 +inline void SignalIdentifier::set_signal_id(::std::string&& value) { + + signal_id_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.core.SignalIdentifier.signal_id) +} +#endif +inline void SignalIdentifier::set_signal_id(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + signal_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.core.SignalIdentifier.signal_id) +} +inline void SignalIdentifier::set_signal_id(const char* value, size_t size) { + + signal_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.core.SignalIdentifier.signal_id) +} +inline ::std::string* SignalIdentifier::mutable_signal_id() { + + // @@protoc_insertion_point(field_mutable:flyteidl.core.SignalIdentifier.signal_id) + return signal_id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* SignalIdentifier::release_signal_id() { + // @@protoc_insertion_point(field_release:flyteidl.core.SignalIdentifier.signal_id) + + return signal_id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void SignalIdentifier::set_allocated_signal_id(::std::string* signal_id) { + if (signal_id != nullptr) { + + } else { + + } + signal_id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), signal_id); + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.SignalIdentifier.signal_id) +} + +// .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; +inline bool SignalIdentifier::has_execution_id() const { + return this != internal_default_instance() && execution_id_ != nullptr; +} +inline void SignalIdentifier::clear_execution_id() { + if (GetArenaNoVirtual() == nullptr && execution_id_ != nullptr) { + delete execution_id_; + } + execution_id_ = nullptr; +} +inline const ::flyteidl::core::WorkflowExecutionIdentifier& SignalIdentifier::execution_id() const { + const ::flyteidl::core::WorkflowExecutionIdentifier* p = execution_id_; + // @@protoc_insertion_point(field_get:flyteidl.core.SignalIdentifier.execution_id) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_WorkflowExecutionIdentifier_default_instance_); +} +inline ::flyteidl::core::WorkflowExecutionIdentifier* SignalIdentifier::release_execution_id() { + // @@protoc_insertion_point(field_release:flyteidl.core.SignalIdentifier.execution_id) + + ::flyteidl::core::WorkflowExecutionIdentifier* temp = execution_id_; + execution_id_ = nullptr; + return temp; +} +inline ::flyteidl::core::WorkflowExecutionIdentifier* SignalIdentifier::mutable_execution_id() { + + if (execution_id_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::WorkflowExecutionIdentifier>(GetArenaNoVirtual()); + execution_id_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.core.SignalIdentifier.execution_id) + return execution_id_; +} +inline void SignalIdentifier::set_allocated_execution_id(::flyteidl::core::WorkflowExecutionIdentifier* execution_id) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete execution_id_; + } + if (execution_id) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + execution_id = ::google::protobuf::internal::GetOwnedMessage( + message_arena, execution_id, submessage_arena); + } + + } else { + + } + execution_id_ = execution_id; + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.SignalIdentifier.execution_id) +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ @@ -1321,6 +1563,8 @@ inline void TaskExecutionIdentifier::set_retry_attempt(::google::protobuf::uint3 // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/gen/pb-cpp/flyteidl/core/workflow.pb.cc b/gen/pb-cpp/flyteidl/core/workflow.pb.cc index 1f3a318cd0..6541cb1842 100644 --- a/gen/pb-cpp/flyteidl/core/workflow.pb.cc +++ b/gen/pb-cpp/flyteidl/core/workflow.pb.cc @@ -24,14 +24,19 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::pro extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_Binding_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2ftasks_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_Resources_flyteidl_2fcore_2ftasks_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2ftypes_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Error_flyteidl_2fcore_2ftypes_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2ftypes_2eproto ::google::protobuf::internal::SCCInfo<6> scc_info_LiteralType_flyteidl_2fcore_2ftypes_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Alias_flyteidl_2fcore_2fworkflow_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_ApproveCondition_flyteidl_2fcore_2fworkflow_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_WorkflowMetadataDefaults_flyteidl_2fcore_2fworkflow_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_SignalCondition_flyteidl_2fcore_2fworkflow_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_SleepCondition_flyteidl_2fcore_2fworkflow_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_TaskNodeOverrides_flyteidl_2fcore_2fworkflow_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_WorkflowMetadata_flyteidl_2fcore_2fworkflow_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_WorkflowNode_flyteidl_2fcore_2fworkflow_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_NodeMetadata_flyteidl_2fcore_2fworkflow_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_TaskNode_flyteidl_2fcore_2fworkflow_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<7> scc_info_BranchNode_flyteidl_2fcore_2fworkflow_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_GateNode_flyteidl_2fcore_2fworkflow_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fworkflow_2eproto ::google::protobuf::internal::SCCInfo<8> scc_info_BranchNode_flyteidl_2fcore_2fworkflow_2eproto; extern PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fduration_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Duration_google_2fprotobuf_2fduration_2eproto; namespace flyteidl { namespace core { @@ -60,6 +65,25 @@ class WorkflowNodeDefaultTypeInternal { const ::flyteidl::core::Identifier* launchplan_ref_; const ::flyteidl::core::Identifier* sub_workflow_ref_; } _WorkflowNode_default_instance_; +class ApproveConditionDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _ApproveCondition_default_instance_; +class SignalConditionDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _SignalCondition_default_instance_; +class SleepConditionDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _SleepCondition_default_instance_; +class GateNodeDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; + const ::flyteidl::core::ApproveCondition* approve_; + const ::flyteidl::core::SignalCondition* signal_; + const ::flyteidl::core::SleepCondition* sleep_; +} _GateNode_default_instance_; class NodeMetadataDefaultTypeInternal { public: ::google::protobuf::internal::ExplicitlyConstructed _instance; @@ -75,6 +99,7 @@ class NodeDefaultTypeInternal { const ::flyteidl::core::TaskNode* task_node_; const ::flyteidl::core::WorkflowNode* workflow_node_; const ::flyteidl::core::BranchNode* branch_node_; + const ::flyteidl::core::GateNode* gate_node_; } _Node_default_instance_; class WorkflowMetadataDefaultTypeInternal { public: @@ -123,15 +148,16 @@ static void InitDefaultsBranchNode_flyteidl_2fcore_2fworkflow_2eproto() { ::flyteidl::core::Node::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<7> scc_info_BranchNode_flyteidl_2fcore_2fworkflow_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 7, InitDefaultsBranchNode_flyteidl_2fcore_2fworkflow_2eproto}, { +::google::protobuf::internal::SCCInfo<8> scc_info_BranchNode_flyteidl_2fcore_2fworkflow_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 8, InitDefaultsBranchNode_flyteidl_2fcore_2fworkflow_2eproto}, { &scc_info_BooleanExpression_flyteidl_2fcore_2fcondition_2eproto.base, &scc_info_Error_flyteidl_2fcore_2ftypes_2eproto.base, &scc_info_NodeMetadata_flyteidl_2fcore_2fworkflow_2eproto.base, &scc_info_Binding_flyteidl_2fcore_2fliterals_2eproto.base, &scc_info_Alias_flyteidl_2fcore_2fworkflow_2eproto.base, &scc_info_TaskNode_flyteidl_2fcore_2fworkflow_2eproto.base, - &scc_info_WorkflowNode_flyteidl_2fcore_2fworkflow_2eproto.base,}}; + &scc_info_WorkflowNode_flyteidl_2fcore_2fworkflow_2eproto.base, + &scc_info_GateNode_flyteidl_2fcore_2fworkflow_2eproto.base,}}; static void InitDefaultsTaskNode_flyteidl_2fcore_2fworkflow_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -164,6 +190,67 @@ ::google::protobuf::internal::SCCInfo<1> scc_info_WorkflowNode_flyteidl_2fcore_2 {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsWorkflowNode_flyteidl_2fcore_2fworkflow_2eproto}, { &scc_info_Identifier_flyteidl_2fcore_2fidentifier_2eproto.base,}}; +static void InitDefaultsApproveCondition_flyteidl_2fcore_2fworkflow_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::core::_ApproveCondition_default_instance_; + new (ptr) ::flyteidl::core::ApproveCondition(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::core::ApproveCondition::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<0> scc_info_ApproveCondition_flyteidl_2fcore_2fworkflow_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsApproveCondition_flyteidl_2fcore_2fworkflow_2eproto}, {}}; + +static void InitDefaultsSignalCondition_flyteidl_2fcore_2fworkflow_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::core::_SignalCondition_default_instance_; + new (ptr) ::flyteidl::core::SignalCondition(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::core::SignalCondition::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<1> scc_info_SignalCondition_flyteidl_2fcore_2fworkflow_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsSignalCondition_flyteidl_2fcore_2fworkflow_2eproto}, { + &scc_info_LiteralType_flyteidl_2fcore_2ftypes_2eproto.base,}}; + +static void InitDefaultsSleepCondition_flyteidl_2fcore_2fworkflow_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::core::_SleepCondition_default_instance_; + new (ptr) ::flyteidl::core::SleepCondition(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::core::SleepCondition::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<1> scc_info_SleepCondition_flyteidl_2fcore_2fworkflow_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsSleepCondition_flyteidl_2fcore_2fworkflow_2eproto}, { + &scc_info_Duration_google_2fprotobuf_2fduration_2eproto.base,}}; + +static void InitDefaultsGateNode_flyteidl_2fcore_2fworkflow_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::core::_GateNode_default_instance_; + new (ptr) ::flyteidl::core::GateNode(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::core::GateNode::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<3> scc_info_GateNode_flyteidl_2fcore_2fworkflow_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsGateNode_flyteidl_2fcore_2fworkflow_2eproto}, { + &scc_info_ApproveCondition_flyteidl_2fcore_2fworkflow_2eproto.base, + &scc_info_SignalCondition_flyteidl_2fcore_2fworkflow_2eproto.base, + &scc_info_SleepCondition_flyteidl_2fcore_2fworkflow_2eproto.base,}}; + static void InitDefaultsNodeMetadata_flyteidl_2fcore_2fworkflow_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -262,6 +349,10 @@ void InitDefaults_flyteidl_2fcore_2fworkflow_2eproto() { ::google::protobuf::internal::InitSCC(&scc_info_BranchNode_flyteidl_2fcore_2fworkflow_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_TaskNode_flyteidl_2fcore_2fworkflow_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_WorkflowNode_flyteidl_2fcore_2fworkflow_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_ApproveCondition_flyteidl_2fcore_2fworkflow_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_SignalCondition_flyteidl_2fcore_2fworkflow_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_SleepCondition_flyteidl_2fcore_2fworkflow_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_GateNode_flyteidl_2fcore_2fworkflow_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_NodeMetadata_flyteidl_2fcore_2fworkflow_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_Alias_flyteidl_2fcore_2fworkflow_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_WorkflowMetadata_flyteidl_2fcore_2fworkflow_2eproto.base); @@ -270,7 +361,7 @@ void InitDefaults_flyteidl_2fcore_2fworkflow_2eproto() { ::google::protobuf::internal::InitSCC(&scc_info_TaskNodeOverrides_flyteidl_2fcore_2fworkflow_2eproto.base); } -::google::protobuf::Metadata file_level_metadata_flyteidl_2fcore_2fworkflow_2eproto[12]; +::google::protobuf::Metadata file_level_metadata_flyteidl_2fcore_2fworkflow_2eproto[16]; const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors_flyteidl_2fcore_2fworkflow_2eproto[1]; constexpr ::google::protobuf::ServiceDescriptor const** file_level_service_descriptors_flyteidl_2fcore_2fworkflow_2eproto = nullptr; @@ -315,6 +406,35 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fcore_2fworkflow_2eproto: offsetof(::flyteidl::core::WorkflowNodeDefaultTypeInternal, sub_workflow_ref_), PROTOBUF_FIELD_OFFSET(::flyteidl::core::WorkflowNode, reference_), ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::ApproveCondition, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::ApproveCondition, signal_id_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::SignalCondition, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::SignalCondition, signal_id_), + PROTOBUF_FIELD_OFFSET(::flyteidl::core::SignalCondition, type_), + PROTOBUF_FIELD_OFFSET(::flyteidl::core::SignalCondition, output_variable_name_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::SleepCondition, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::SleepCondition, duration_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::GateNode, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::GateNode, _oneof_case_[0]), + ~0u, // no _weak_field_map_ + offsetof(::flyteidl::core::GateNodeDefaultTypeInternal, approve_), + offsetof(::flyteidl::core::GateNodeDefaultTypeInternal, signal_), + offsetof(::flyteidl::core::GateNodeDefaultTypeInternal, sleep_), + PROTOBUF_FIELD_OFFSET(::flyteidl::core::GateNode, condition_), + ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::core::NodeMetadata, _internal_metadata_), ~0u, // no _extensions_ PROTOBUF_FIELD_OFFSET(::flyteidl::core::NodeMetadata, _oneof_case_[0]), @@ -344,6 +464,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fcore_2fworkflow_2eproto: offsetof(::flyteidl::core::NodeDefaultTypeInternal, task_node_), offsetof(::flyteidl::core::NodeDefaultTypeInternal, workflow_node_), offsetof(::flyteidl::core::NodeDefaultTypeInternal, branch_node_), + offsetof(::flyteidl::core::NodeDefaultTypeInternal, gate_node_), PROTOBUF_FIELD_OFFSET(::flyteidl::core::Node, target_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::core::WorkflowMetadata, _internal_metadata_), @@ -383,13 +504,17 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SE { 17, -1, sizeof(::flyteidl::core::BranchNode)}, { 23, -1, sizeof(::flyteidl::core::TaskNode)}, { 31, -1, sizeof(::flyteidl::core::WorkflowNode)}, - { 39, -1, sizeof(::flyteidl::core::NodeMetadata)}, - { 49, -1, sizeof(::flyteidl::core::Alias)}, - { 56, -1, sizeof(::flyteidl::core::Node)}, - { 70, -1, sizeof(::flyteidl::core::WorkflowMetadata)}, - { 77, -1, sizeof(::flyteidl::core::WorkflowMetadataDefaults)}, - { 83, -1, sizeof(::flyteidl::core::WorkflowTemplate)}, - { 95, -1, sizeof(::flyteidl::core::TaskNodeOverrides)}, + { 39, -1, sizeof(::flyteidl::core::ApproveCondition)}, + { 45, -1, sizeof(::flyteidl::core::SignalCondition)}, + { 53, -1, sizeof(::flyteidl::core::SleepCondition)}, + { 59, -1, sizeof(::flyteidl::core::GateNode)}, + { 68, -1, sizeof(::flyteidl::core::NodeMetadata)}, + { 78, -1, sizeof(::flyteidl::core::Alias)}, + { 85, -1, sizeof(::flyteidl::core::Node)}, + { 100, -1, sizeof(::flyteidl::core::WorkflowMetadata)}, + { 107, -1, sizeof(::flyteidl::core::WorkflowMetadataDefaults)}, + { 113, -1, sizeof(::flyteidl::core::WorkflowTemplate)}, + { 125, -1, sizeof(::flyteidl::core::TaskNodeOverrides)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -398,6 +523,10 @@ static ::google::protobuf::Message const * const file_default_instances[] = { reinterpret_cast(&::flyteidl::core::_BranchNode_default_instance_), reinterpret_cast(&::flyteidl::core::_TaskNode_default_instance_), reinterpret_cast(&::flyteidl::core::_WorkflowNode_default_instance_), + reinterpret_cast(&::flyteidl::core::_ApproveCondition_default_instance_), + reinterpret_cast(&::flyteidl::core::_SignalCondition_default_instance_), + reinterpret_cast(&::flyteidl::core::_SleepCondition_default_instance_), + reinterpret_cast(&::flyteidl::core::_GateNode_default_instance_), reinterpret_cast(&::flyteidl::core::_NodeMetadata_default_instance_), reinterpret_cast(&::flyteidl::core::_Alias_default_instance_), reinterpret_cast(&::flyteidl::core::_Node_default_instance_), @@ -410,7 +539,7 @@ static ::google::protobuf::Message const * const file_default_instances[] = { ::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_flyteidl_2fcore_2fworkflow_2eproto = { {}, AddDescriptors_flyteidl_2fcore_2fworkflow_2eproto, "flyteidl/core/workflow.proto", schemas, file_default_instances, TableStruct_flyteidl_2fcore_2fworkflow_2eproto::offsets, - file_level_metadata_flyteidl_2fcore_2fworkflow_2eproto, 12, file_level_enum_descriptors_flyteidl_2fcore_2fworkflow_2eproto, file_level_service_descriptors_flyteidl_2fcore_2fworkflow_2eproto, + file_level_metadata_flyteidl_2fcore_2fworkflow_2eproto, 16, file_level_enum_descriptors_flyteidl_2fcore_2fworkflow_2eproto, file_level_service_descriptors_flyteidl_2fcore_2fworkflow_2eproto, }; const char descriptor_table_protodef_flyteidl_2fcore_2fworkflow_2eproto[] = @@ -437,45 +566,55 @@ const char descriptor_table_protodef_flyteidl_2fcore_2fworkflow_2eproto[] = "rkflowNode\0223\n\016launchplan_ref\030\001 \001(\0132\031.fly" "teidl.core.IdentifierH\000\0225\n\020sub_workflow_" "ref\030\002 \001(\0132\031.flyteidl.core.IdentifierH\000B\013" - "\n\treference\"\247\001\n\014NodeMetadata\022\014\n\004name\030\001 \001" - "(\t\022*\n\007timeout\030\004 \001(\0132\031.google.protobuf.Du" - "ration\022-\n\007retries\030\005 \001(\0132\034.flyteidl.core." - "RetryStrategy\022\027\n\rinterruptible\030\006 \001(\010H\000B\025" - "\n\023interruptible_value\"#\n\005Alias\022\013\n\003var\030\001 " - "\001(\t\022\r\n\005alias\030\002 \001(\t\"\322\002\n\004Node\022\n\n\002id\030\001 \001(\t\022" - "-\n\010metadata\030\002 \001(\0132\033.flyteidl.core.NodeMe" - "tadata\022&\n\006inputs\030\003 \003(\0132\026.flyteidl.core.B" - "inding\022\031\n\021upstream_node_ids\030\004 \003(\t\022,\n\016out" - "put_aliases\030\005 \003(\0132\024.flyteidl.core.Alias\022" - ",\n\ttask_node\030\006 \001(\0132\027.flyteidl.core.TaskN" - "odeH\000\0224\n\rworkflow_node\030\007 \001(\0132\033.flyteidl." - "core.WorkflowNodeH\000\0220\n\013branch_node\030\010 \001(\013" - "2\031.flyteidl.core.BranchNodeH\000B\010\n\006target\"" - "\347\001\n\020WorkflowMetadata\022;\n\022quality_of_servi" - "ce\030\001 \001(\0132\037.flyteidl.core.QualityOfServic" - "e\022C\n\non_failure\030\002 \001(\0162/.flyteidl.core.Wo" - "rkflowMetadata.OnFailurePolicy\"Q\n\017OnFail" - "urePolicy\022\024\n\020FAIL_IMMEDIATELY\020\000\022(\n$FAIL_" - "AFTER_EXECUTABLE_NODES_COMPLETE\020\001\"1\n\030Wor" - "kflowMetadataDefaults\022\025\n\rinterruptible\030\001" - " \001(\010\"\332\002\n\020WorkflowTemplate\022%\n\002id\030\001 \001(\0132\031." - "flyteidl.core.Identifier\0221\n\010metadata\030\002 \001" - "(\0132\037.flyteidl.core.WorkflowMetadata\0220\n\ti" - "nterface\030\003 \001(\0132\035.flyteidl.core.TypedInte" - "rface\022\"\n\005nodes\030\004 \003(\0132\023.flyteidl.core.Nod" - "e\022\'\n\007outputs\030\005 \003(\0132\026.flyteidl.core.Bindi" - "ng\022)\n\014failure_node\030\006 \001(\0132\023.flyteidl.core" - ".Node\022B\n\021metadata_defaults\030\007 \001(\0132\'.flyte" - "idl.core.WorkflowMetadataDefaults\"@\n\021Tas" - "kNodeOverrides\022+\n\tresources\030\001 \001(\0132\030.flyt" - "eidl.core.ResourcesB6Z4github.com/flyteo" - "rg/flyteidl/gen/pb-go/flyteidl/coreb\006pro" - "to3" + "\n\treference\"%\n\020ApproveCondition\022\021\n\tsigna" + "l_id\030\001 \001(\t\"l\n\017SignalCondition\022\021\n\tsignal_" + "id\030\001 \001(\t\022(\n\004type\030\002 \001(\0132\032.flyteidl.core.L" + "iteralType\022\034\n\024output_variable_name\030\003 \001(\t" + "\"=\n\016SleepCondition\022+\n\010duration\030\001 \001(\0132\031.g" + "oogle.protobuf.Duration\"\255\001\n\010GateNode\0222\n\007" + "approve\030\001 \001(\0132\037.flyteidl.core.ApproveCon" + "ditionH\000\0220\n\006signal\030\002 \001(\0132\036.flyteidl.core" + ".SignalConditionH\000\022.\n\005sleep\030\003 \001(\0132\035.flyt" + "eidl.core.SleepConditionH\000B\013\n\tcondition\"" + "\247\001\n\014NodeMetadata\022\014\n\004name\030\001 \001(\t\022*\n\007timeou" + "t\030\004 \001(\0132\031.google.protobuf.Duration\022-\n\007re" + "tries\030\005 \001(\0132\034.flyteidl.core.RetryStrateg" + "y\022\027\n\rinterruptible\030\006 \001(\010H\000B\025\n\023interrupti" + "ble_value\"#\n\005Alias\022\013\n\003var\030\001 \001(\t\022\r\n\005alias" + "\030\002 \001(\t\"\200\003\n\004Node\022\n\n\002id\030\001 \001(\t\022-\n\010metadata\030" + "\002 \001(\0132\033.flyteidl.core.NodeMetadata\022&\n\006in" + "puts\030\003 \003(\0132\026.flyteidl.core.Binding\022\031\n\021up" + "stream_node_ids\030\004 \003(\t\022,\n\016output_aliases\030" + "\005 \003(\0132\024.flyteidl.core.Alias\022,\n\ttask_node" + "\030\006 \001(\0132\027.flyteidl.core.TaskNodeH\000\0224\n\rwor" + "kflow_node\030\007 \001(\0132\033.flyteidl.core.Workflo" + "wNodeH\000\0220\n\013branch_node\030\010 \001(\0132\031.flyteidl." + "core.BranchNodeH\000\022,\n\tgate_node\030\t \001(\0132\027.f" + "lyteidl.core.GateNodeH\000B\010\n\006target\"\347\001\n\020Wo" + "rkflowMetadata\022;\n\022quality_of_service\030\001 \001" + "(\0132\037.flyteidl.core.QualityOfService\022C\n\no" + "n_failure\030\002 \001(\0162/.flyteidl.core.Workflow" + "Metadata.OnFailurePolicy\"Q\n\017OnFailurePol" + "icy\022\024\n\020FAIL_IMMEDIATELY\020\000\022(\n$FAIL_AFTER_" + "EXECUTABLE_NODES_COMPLETE\020\001\"1\n\030WorkflowM" + "etadataDefaults\022\025\n\rinterruptible\030\001 \001(\010\"\332" + "\002\n\020WorkflowTemplate\022%\n\002id\030\001 \001(\0132\031.flytei" + "dl.core.Identifier\0221\n\010metadata\030\002 \001(\0132\037.f" + "lyteidl.core.WorkflowMetadata\0220\n\tinterfa" + "ce\030\003 \001(\0132\035.flyteidl.core.TypedInterface\022" + "\"\n\005nodes\030\004 \003(\0132\023.flyteidl.core.Node\022\'\n\007o" + "utputs\030\005 \003(\0132\026.flyteidl.core.Binding\022)\n\014" + "failure_node\030\006 \001(\0132\023.flyteidl.core.Node\022" + "B\n\021metadata_defaults\030\007 \001(\0132\'.flyteidl.co" + "re.WorkflowMetadataDefaults\"@\n\021TaskNodeO" + "verrides\022+\n\tresources\030\001 \001(\0132\030.flyteidl.c" + "ore.ResourcesB6Z4github.com/flyteorg/fly" + "teidl/gen/pb-go/flyteidl/coreb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fcore_2fworkflow_2eproto = { false, InitDefaults_flyteidl_2fcore_2fworkflow_2eproto, descriptor_table_protodef_flyteidl_2fcore_2fworkflow_2eproto, - "flyteidl/core/workflow.proto", &assign_descriptors_table_flyteidl_2fcore_2fworkflow_2eproto, 2243, + "flyteidl/core/workflow.proto", &assign_descriptors_table_flyteidl_2fcore_2fworkflow_2eproto, 2677, }; void AddDescriptors_flyteidl_2fcore_2fworkflow_2eproto() { @@ -2051,66 +2190,1521 @@ void TaskNode::MergeFrom(const ::google::protobuf::Message& from) { ::google::protobuf::DynamicCastToGenerated( &from); if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.core.TaskNode) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.core.TaskNode) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.core.TaskNode) + MergeFrom(*source); + } +} + +void TaskNode::MergeFrom(const TaskNode& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.core.TaskNode) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.has_overrides()) { + mutable_overrides()->::flyteidl::core::TaskNodeOverrides::MergeFrom(from.overrides()); + } + switch (from.reference_case()) { + case kReferenceId: { + mutable_reference_id()->::flyteidl::core::Identifier::MergeFrom(from.reference_id()); + break; + } + case REFERENCE_NOT_SET: { + break; + } + } +} + +void TaskNode::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.core.TaskNode) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void TaskNode::CopyFrom(const TaskNode& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.core.TaskNode) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool TaskNode::IsInitialized() const { + return true; +} + +void TaskNode::Swap(TaskNode* other) { + if (other == this) return; + InternalSwap(other); +} +void TaskNode::InternalSwap(TaskNode* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + swap(overrides_, other->overrides_); + swap(reference_, other->reference_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::google::protobuf::Metadata TaskNode::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fcore_2fworkflow_2eproto); + return ::file_level_metadata_flyteidl_2fcore_2fworkflow_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void WorkflowNode::InitAsDefaultInstance() { + ::flyteidl::core::_WorkflowNode_default_instance_.launchplan_ref_ = const_cast< ::flyteidl::core::Identifier*>( + ::flyteidl::core::Identifier::internal_default_instance()); + ::flyteidl::core::_WorkflowNode_default_instance_.sub_workflow_ref_ = const_cast< ::flyteidl::core::Identifier*>( + ::flyteidl::core::Identifier::internal_default_instance()); +} +class WorkflowNode::HasBitSetters { + public: + static const ::flyteidl::core::Identifier& launchplan_ref(const WorkflowNode* msg); + static const ::flyteidl::core::Identifier& sub_workflow_ref(const WorkflowNode* msg); +}; + +const ::flyteidl::core::Identifier& +WorkflowNode::HasBitSetters::launchplan_ref(const WorkflowNode* msg) { + return *msg->reference_.launchplan_ref_; +} +const ::flyteidl::core::Identifier& +WorkflowNode::HasBitSetters::sub_workflow_ref(const WorkflowNode* msg) { + return *msg->reference_.sub_workflow_ref_; +} +void WorkflowNode::set_allocated_launchplan_ref(::flyteidl::core::Identifier* launchplan_ref) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_reference(); + if (launchplan_ref) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + launchplan_ref = ::google::protobuf::internal::GetOwnedMessage( + message_arena, launchplan_ref, submessage_arena); + } + set_has_launchplan_ref(); + reference_.launchplan_ref_ = launchplan_ref; + } + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.WorkflowNode.launchplan_ref) +} +void WorkflowNode::clear_launchplan_ref() { + if (has_launchplan_ref()) { + delete reference_.launchplan_ref_; + clear_has_reference(); + } +} +void WorkflowNode::set_allocated_sub_workflow_ref(::flyteidl::core::Identifier* sub_workflow_ref) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_reference(); + if (sub_workflow_ref) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + sub_workflow_ref = ::google::protobuf::internal::GetOwnedMessage( + message_arena, sub_workflow_ref, submessage_arena); + } + set_has_sub_workflow_ref(); + reference_.sub_workflow_ref_ = sub_workflow_ref; + } + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.WorkflowNode.sub_workflow_ref) +} +void WorkflowNode::clear_sub_workflow_ref() { + if (has_sub_workflow_ref()) { + delete reference_.sub_workflow_ref_; + clear_has_reference(); + } +} +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int WorkflowNode::kLaunchplanRefFieldNumber; +const int WorkflowNode::kSubWorkflowRefFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +WorkflowNode::WorkflowNode() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.core.WorkflowNode) +} +WorkflowNode::WorkflowNode(const WorkflowNode& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + clear_has_reference(); + switch (from.reference_case()) { + case kLaunchplanRef: { + mutable_launchplan_ref()->::flyteidl::core::Identifier::MergeFrom(from.launchplan_ref()); + break; + } + case kSubWorkflowRef: { + mutable_sub_workflow_ref()->::flyteidl::core::Identifier::MergeFrom(from.sub_workflow_ref()); + break; + } + case REFERENCE_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:flyteidl.core.WorkflowNode) +} + +void WorkflowNode::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_WorkflowNode_flyteidl_2fcore_2fworkflow_2eproto.base); + clear_has_reference(); +} + +WorkflowNode::~WorkflowNode() { + // @@protoc_insertion_point(destructor:flyteidl.core.WorkflowNode) + SharedDtor(); +} + +void WorkflowNode::SharedDtor() { + if (has_reference()) { + clear_reference(); + } +} + +void WorkflowNode::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const WorkflowNode& WorkflowNode::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_WorkflowNode_flyteidl_2fcore_2fworkflow_2eproto.base); + return *internal_default_instance(); +} + + +void WorkflowNode::clear_reference() { +// @@protoc_insertion_point(one_of_clear_start:flyteidl.core.WorkflowNode) + switch (reference_case()) { + case kLaunchplanRef: { + delete reference_.launchplan_ref_; + break; + } + case kSubWorkflowRef: { + delete reference_.sub_workflow_ref_; + break; + } + case REFERENCE_NOT_SET: { + break; + } + } + _oneof_case_[0] = REFERENCE_NOT_SET; +} + + +void WorkflowNode::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.core.WorkflowNode) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_reference(); + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* WorkflowNode::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // .flyteidl.core.Identifier launchplan_ref = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::Identifier::_InternalParse; + object = msg->mutable_launchplan_ref(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.Identifier sub_workflow_ref = 2; + case 2: { + if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::Identifier::_InternalParse; + object = msg->mutable_sub_workflow_ref(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool WorkflowNode::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.core.WorkflowNode) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // .flyteidl.core.Identifier launchplan_ref = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_launchplan_ref())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.Identifier sub_workflow_ref = 2; + case 2: { + if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_sub_workflow_ref())); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.core.WorkflowNode) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.core.WorkflowNode) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void WorkflowNode::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.core.WorkflowNode) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.Identifier launchplan_ref = 1; + if (has_launchplan_ref()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, HasBitSetters::launchplan_ref(this), output); + } + + // .flyteidl.core.Identifier sub_workflow_ref = 2; + if (has_sub_workflow_ref()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 2, HasBitSetters::sub_workflow_ref(this), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.core.WorkflowNode) +} + +::google::protobuf::uint8* WorkflowNode::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.core.WorkflowNode) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.Identifier launchplan_ref = 1; + if (has_launchplan_ref()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 1, HasBitSetters::launchplan_ref(this), target); + } + + // .flyteidl.core.Identifier sub_workflow_ref = 2; + if (has_sub_workflow_ref()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 2, HasBitSetters::sub_workflow_ref(this), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.core.WorkflowNode) + return target; +} + +size_t WorkflowNode::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.core.WorkflowNode) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + switch (reference_case()) { + // .flyteidl.core.Identifier launchplan_ref = 1; + case kLaunchplanRef: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *reference_.launchplan_ref_); + break; + } + // .flyteidl.core.Identifier sub_workflow_ref = 2; + case kSubWorkflowRef: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *reference_.sub_workflow_ref_); + break; + } + case REFERENCE_NOT_SET: { + break; + } + } + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void WorkflowNode::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.core.WorkflowNode) + GOOGLE_DCHECK_NE(&from, this); + const WorkflowNode* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.core.WorkflowNode) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.core.WorkflowNode) + MergeFrom(*source); + } +} + +void WorkflowNode::MergeFrom(const WorkflowNode& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.core.WorkflowNode) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + switch (from.reference_case()) { + case kLaunchplanRef: { + mutable_launchplan_ref()->::flyteidl::core::Identifier::MergeFrom(from.launchplan_ref()); + break; + } + case kSubWorkflowRef: { + mutable_sub_workflow_ref()->::flyteidl::core::Identifier::MergeFrom(from.sub_workflow_ref()); + break; + } + case REFERENCE_NOT_SET: { + break; + } + } +} + +void WorkflowNode::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.core.WorkflowNode) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void WorkflowNode::CopyFrom(const WorkflowNode& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.core.WorkflowNode) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool WorkflowNode::IsInitialized() const { + return true; +} + +void WorkflowNode::Swap(WorkflowNode* other) { + if (other == this) return; + InternalSwap(other); +} +void WorkflowNode::InternalSwap(WorkflowNode* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + swap(reference_, other->reference_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::google::protobuf::Metadata WorkflowNode::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fcore_2fworkflow_2eproto); + return ::file_level_metadata_flyteidl_2fcore_2fworkflow_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void ApproveCondition::InitAsDefaultInstance() { +} +class ApproveCondition::HasBitSetters { + public: +}; + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int ApproveCondition::kSignalIdFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +ApproveCondition::ApproveCondition() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.core.ApproveCondition) +} +ApproveCondition::ApproveCondition(const ApproveCondition& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + signal_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.signal_id().size() > 0) { + signal_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.signal_id_); + } + // @@protoc_insertion_point(copy_constructor:flyteidl.core.ApproveCondition) +} + +void ApproveCondition::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_ApproveCondition_flyteidl_2fcore_2fworkflow_2eproto.base); + signal_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} + +ApproveCondition::~ApproveCondition() { + // @@protoc_insertion_point(destructor:flyteidl.core.ApproveCondition) + SharedDtor(); +} + +void ApproveCondition::SharedDtor() { + signal_id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} + +void ApproveCondition::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const ApproveCondition& ApproveCondition::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_ApproveCondition_flyteidl_2fcore_2fworkflow_2eproto.base); + return *internal_default_instance(); +} + + +void ApproveCondition::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.core.ApproveCondition) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + signal_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* ApproveCondition::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // string signal_id = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.core.ApproveCondition.signal_id"); + object = msg->mutable_signal_id(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +string_till_end: + static_cast<::std::string*>(object)->clear(); + static_cast<::std::string*>(object)->reserve(size); + goto len_delim_till_end; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool ApproveCondition::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.core.ApproveCondition) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // string signal_id = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_signal_id())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->signal_id().data(), static_cast(this->signal_id().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.core.ApproveCondition.signal_id")); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.core.ApproveCondition) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.core.ApproveCondition) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void ApproveCondition::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.core.ApproveCondition) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string signal_id = 1; + if (this->signal_id().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->signal_id().data(), static_cast(this->signal_id().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.core.ApproveCondition.signal_id"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 1, this->signal_id(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.core.ApproveCondition) +} + +::google::protobuf::uint8* ApproveCondition::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.core.ApproveCondition) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string signal_id = 1; + if (this->signal_id().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->signal_id().data(), static_cast(this->signal_id().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.core.ApproveCondition.signal_id"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 1, this->signal_id(), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.core.ApproveCondition) + return target; +} + +size_t ApproveCondition::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.core.ApproveCondition) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string signal_id = 1; + if (this->signal_id().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->signal_id()); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void ApproveCondition::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.core.ApproveCondition) + GOOGLE_DCHECK_NE(&from, this); + const ApproveCondition* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.core.ApproveCondition) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.core.ApproveCondition) + MergeFrom(*source); + } +} + +void ApproveCondition::MergeFrom(const ApproveCondition& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.core.ApproveCondition) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.signal_id().size() > 0) { + + signal_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.signal_id_); + } +} + +void ApproveCondition::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.core.ApproveCondition) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void ApproveCondition::CopyFrom(const ApproveCondition& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.core.ApproveCondition) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ApproveCondition::IsInitialized() const { + return true; +} + +void ApproveCondition::Swap(ApproveCondition* other) { + if (other == this) return; + InternalSwap(other); +} +void ApproveCondition::InternalSwap(ApproveCondition* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + signal_id_.Swap(&other->signal_id_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); +} + +::google::protobuf::Metadata ApproveCondition::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fcore_2fworkflow_2eproto); + return ::file_level_metadata_flyteidl_2fcore_2fworkflow_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void SignalCondition::InitAsDefaultInstance() { + ::flyteidl::core::_SignalCondition_default_instance_._instance.get_mutable()->type_ = const_cast< ::flyteidl::core::LiteralType*>( + ::flyteidl::core::LiteralType::internal_default_instance()); +} +class SignalCondition::HasBitSetters { + public: + static const ::flyteidl::core::LiteralType& type(const SignalCondition* msg); +}; + +const ::flyteidl::core::LiteralType& +SignalCondition::HasBitSetters::type(const SignalCondition* msg) { + return *msg->type_; +} +void SignalCondition::clear_type() { + if (GetArenaNoVirtual() == nullptr && type_ != nullptr) { + delete type_; + } + type_ = nullptr; +} +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int SignalCondition::kSignalIdFieldNumber; +const int SignalCondition::kTypeFieldNumber; +const int SignalCondition::kOutputVariableNameFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +SignalCondition::SignalCondition() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.core.SignalCondition) +} +SignalCondition::SignalCondition(const SignalCondition& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + signal_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.signal_id().size() > 0) { + signal_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.signal_id_); + } + output_variable_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.output_variable_name().size() > 0) { + output_variable_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.output_variable_name_); + } + if (from.has_type()) { + type_ = new ::flyteidl::core::LiteralType(*from.type_); + } else { + type_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flyteidl.core.SignalCondition) +} + +void SignalCondition::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_SignalCondition_flyteidl_2fcore_2fworkflow_2eproto.base); + signal_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + output_variable_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + type_ = nullptr; +} + +SignalCondition::~SignalCondition() { + // @@protoc_insertion_point(destructor:flyteidl.core.SignalCondition) + SharedDtor(); +} + +void SignalCondition::SharedDtor() { + signal_id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + output_variable_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete type_; +} + +void SignalCondition::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const SignalCondition& SignalCondition::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_SignalCondition_flyteidl_2fcore_2fworkflow_2eproto.base); + return *internal_default_instance(); +} + + +void SignalCondition::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.core.SignalCondition) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + signal_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + output_variable_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (GetArenaNoVirtual() == nullptr && type_ != nullptr) { + delete type_; + } + type_ = nullptr; + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* SignalCondition::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // string signal_id = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.core.SignalCondition.signal_id"); + object = msg->mutable_signal_id(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } + // .flyteidl.core.LiteralType type = 2; + case 2: { + if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::LiteralType::_InternalParse; + object = msg->mutable_type(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // string output_variable_name = 3; + case 3: { + if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.core.SignalCondition.output_variable_name"); + object = msg->mutable_output_variable_name(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +string_till_end: + static_cast<::std::string*>(object)->clear(); + static_cast<::std::string*>(object)->reserve(size); + goto len_delim_till_end; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool SignalCondition::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.core.SignalCondition) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // string signal_id = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_signal_id())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->signal_id().data(), static_cast(this->signal_id().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.core.SignalCondition.signal_id")); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.LiteralType type = 2; + case 2: { + if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_type())); + } else { + goto handle_unusual; + } + break; + } + + // string output_variable_name = 3; + case 3: { + if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_output_variable_name())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->output_variable_name().data(), static_cast(this->output_variable_name().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.core.SignalCondition.output_variable_name")); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.core.SignalCondition) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.core.SignalCondition) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void SignalCondition::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.core.SignalCondition) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string signal_id = 1; + if (this->signal_id().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->signal_id().data(), static_cast(this->signal_id().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.core.SignalCondition.signal_id"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 1, this->signal_id(), output); + } + + // .flyteidl.core.LiteralType type = 2; + if (this->has_type()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 2, HasBitSetters::type(this), output); + } + + // string output_variable_name = 3; + if (this->output_variable_name().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->output_variable_name().data(), static_cast(this->output_variable_name().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.core.SignalCondition.output_variable_name"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 3, this->output_variable_name(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.core.SignalCondition) +} + +::google::protobuf::uint8* SignalCondition::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.core.SignalCondition) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string signal_id = 1; + if (this->signal_id().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->signal_id().data(), static_cast(this->signal_id().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.core.SignalCondition.signal_id"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 1, this->signal_id(), target); + } + + // .flyteidl.core.LiteralType type = 2; + if (this->has_type()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 2, HasBitSetters::type(this), target); + } + + // string output_variable_name = 3; + if (this->output_variable_name().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->output_variable_name().data(), static_cast(this->output_variable_name().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.core.SignalCondition.output_variable_name"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 3, this->output_variable_name(), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.core.SignalCondition) + return target; +} + +size_t SignalCondition::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.core.SignalCondition) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string signal_id = 1; + if (this->signal_id().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->signal_id()); + } + + // string output_variable_name = 3; + if (this->output_variable_name().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->output_variable_name()); + } + + // .flyteidl.core.LiteralType type = 2; + if (this->has_type()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *type_); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void SignalCondition::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.core.SignalCondition) + GOOGLE_DCHECK_NE(&from, this); + const SignalCondition* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.core.SignalCondition) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.core.SignalCondition) + MergeFrom(*source); + } +} + +void SignalCondition::MergeFrom(const SignalCondition& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.core.SignalCondition) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.signal_id().size() > 0) { + + signal_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.signal_id_); + } + if (from.output_variable_name().size() > 0) { + + output_variable_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.output_variable_name_); + } + if (from.has_type()) { + mutable_type()->::flyteidl::core::LiteralType::MergeFrom(from.type()); + } +} + +void SignalCondition::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.core.SignalCondition) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void SignalCondition::CopyFrom(const SignalCondition& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.core.SignalCondition) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SignalCondition::IsInitialized() const { + return true; +} + +void SignalCondition::Swap(SignalCondition* other) { + if (other == this) return; + InternalSwap(other); +} +void SignalCondition::InternalSwap(SignalCondition* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + signal_id_.Swap(&other->signal_id_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); + output_variable_name_.Swap(&other->output_variable_name_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); + swap(type_, other->type_); +} + +::google::protobuf::Metadata SignalCondition::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fcore_2fworkflow_2eproto); + return ::file_level_metadata_flyteidl_2fcore_2fworkflow_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void SleepCondition::InitAsDefaultInstance() { + ::flyteidl::core::_SleepCondition_default_instance_._instance.get_mutable()->duration_ = const_cast< ::google::protobuf::Duration*>( + ::google::protobuf::Duration::internal_default_instance()); +} +class SleepCondition::HasBitSetters { + public: + static const ::google::protobuf::Duration& duration(const SleepCondition* msg); +}; + +const ::google::protobuf::Duration& +SleepCondition::HasBitSetters::duration(const SleepCondition* msg) { + return *msg->duration_; +} +void SleepCondition::clear_duration() { + if (GetArenaNoVirtual() == nullptr && duration_ != nullptr) { + delete duration_; + } + duration_ = nullptr; +} +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int SleepCondition::kDurationFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +SleepCondition::SleepCondition() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.core.SleepCondition) +} +SleepCondition::SleepCondition(const SleepCondition& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + if (from.has_duration()) { + duration_ = new ::google::protobuf::Duration(*from.duration_); + } else { + duration_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flyteidl.core.SleepCondition) +} + +void SleepCondition::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_SleepCondition_flyteidl_2fcore_2fworkflow_2eproto.base); + duration_ = nullptr; +} + +SleepCondition::~SleepCondition() { + // @@protoc_insertion_point(destructor:flyteidl.core.SleepCondition) + SharedDtor(); +} + +void SleepCondition::SharedDtor() { + if (this != internal_default_instance()) delete duration_; +} + +void SleepCondition::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const SleepCondition& SleepCondition::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_SleepCondition_flyteidl_2fcore_2fworkflow_2eproto.base); + return *internal_default_instance(); +} + + +void SleepCondition::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.core.SleepCondition) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaNoVirtual() == nullptr && duration_ != nullptr) { + delete duration_; + } + duration_ = nullptr; + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* SleepCondition::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // .google.protobuf.Duration duration = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::google::protobuf::Duration::_InternalParse; + object = msg->mutable_duration(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool SleepCondition::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.core.SleepCondition) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // .google.protobuf.Duration duration = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_duration())); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.core.SleepCondition) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.core.SleepCondition) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void SleepCondition::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.core.SleepCondition) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .google.protobuf.Duration duration = 1; + if (this->has_duration()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, HasBitSetters::duration(this), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.core.SleepCondition) +} + +::google::protobuf::uint8* SleepCondition::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.core.SleepCondition) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .google.protobuf.Duration duration = 1; + if (this->has_duration()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 1, HasBitSetters::duration(this), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.core.SleepCondition) + return target; +} + +size_t SleepCondition::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.core.SleepCondition) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .google.protobuf.Duration duration = 1; + if (this->has_duration()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *duration_); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void SleepCondition::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.core.SleepCondition) + GOOGLE_DCHECK_NE(&from, this); + const SleepCondition* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.core.SleepCondition) ::google::protobuf::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.core.TaskNode) + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.core.SleepCondition) MergeFrom(*source); } } -void TaskNode::MergeFrom(const TaskNode& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.core.TaskNode) +void SleepCondition::MergeFrom(const SleepCondition& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.core.SleepCondition) GOOGLE_DCHECK_NE(&from, this); _internal_metadata_.MergeFrom(from._internal_metadata_); ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; - if (from.has_overrides()) { - mutable_overrides()->::flyteidl::core::TaskNodeOverrides::MergeFrom(from.overrides()); - } - switch (from.reference_case()) { - case kReferenceId: { - mutable_reference_id()->::flyteidl::core::Identifier::MergeFrom(from.reference_id()); - break; - } - case REFERENCE_NOT_SET: { - break; - } + if (from.has_duration()) { + mutable_duration()->::google::protobuf::Duration::MergeFrom(from.duration()); } } -void TaskNode::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.core.TaskNode) +void SleepCondition::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.core.SleepCondition) if (&from == this) return; Clear(); MergeFrom(from); } -void TaskNode::CopyFrom(const TaskNode& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.core.TaskNode) +void SleepCondition::CopyFrom(const SleepCondition& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.core.SleepCondition) if (&from == this) return; Clear(); MergeFrom(from); } -bool TaskNode::IsInitialized() const { +bool SleepCondition::IsInitialized() const { return true; } -void TaskNode::Swap(TaskNode* other) { +void SleepCondition::Swap(SleepCondition* other) { if (other == this) return; InternalSwap(other); } -void TaskNode::InternalSwap(TaskNode* other) { +void SleepCondition::InternalSwap(SleepCondition* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); - swap(overrides_, other->overrides_); - swap(reference_, other->reference_); - swap(_oneof_case_[0], other->_oneof_case_[0]); + swap(duration_, other->duration_); } -::google::protobuf::Metadata TaskNode::GetMetadata() const { +::google::protobuf::Metadata SleepCondition::GetMetadata() const { ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fcore_2fworkflow_2eproto); return ::file_level_metadata_flyteidl_2fcore_2fworkflow_2eproto[kIndexInFileMessages]; } @@ -2118,156 +3712,174 @@ ::google::protobuf::Metadata TaskNode::GetMetadata() const { // =================================================================== -void WorkflowNode::InitAsDefaultInstance() { - ::flyteidl::core::_WorkflowNode_default_instance_.launchplan_ref_ = const_cast< ::flyteidl::core::Identifier*>( - ::flyteidl::core::Identifier::internal_default_instance()); - ::flyteidl::core::_WorkflowNode_default_instance_.sub_workflow_ref_ = const_cast< ::flyteidl::core::Identifier*>( - ::flyteidl::core::Identifier::internal_default_instance()); +void GateNode::InitAsDefaultInstance() { + ::flyteidl::core::_GateNode_default_instance_.approve_ = const_cast< ::flyteidl::core::ApproveCondition*>( + ::flyteidl::core::ApproveCondition::internal_default_instance()); + ::flyteidl::core::_GateNode_default_instance_.signal_ = const_cast< ::flyteidl::core::SignalCondition*>( + ::flyteidl::core::SignalCondition::internal_default_instance()); + ::flyteidl::core::_GateNode_default_instance_.sleep_ = const_cast< ::flyteidl::core::SleepCondition*>( + ::flyteidl::core::SleepCondition::internal_default_instance()); } -class WorkflowNode::HasBitSetters { +class GateNode::HasBitSetters { public: - static const ::flyteidl::core::Identifier& launchplan_ref(const WorkflowNode* msg); - static const ::flyteidl::core::Identifier& sub_workflow_ref(const WorkflowNode* msg); + static const ::flyteidl::core::ApproveCondition& approve(const GateNode* msg); + static const ::flyteidl::core::SignalCondition& signal(const GateNode* msg); + static const ::flyteidl::core::SleepCondition& sleep(const GateNode* msg); }; -const ::flyteidl::core::Identifier& -WorkflowNode::HasBitSetters::launchplan_ref(const WorkflowNode* msg) { - return *msg->reference_.launchplan_ref_; +const ::flyteidl::core::ApproveCondition& +GateNode::HasBitSetters::approve(const GateNode* msg) { + return *msg->condition_.approve_; } -const ::flyteidl::core::Identifier& -WorkflowNode::HasBitSetters::sub_workflow_ref(const WorkflowNode* msg) { - return *msg->reference_.sub_workflow_ref_; +const ::flyteidl::core::SignalCondition& +GateNode::HasBitSetters::signal(const GateNode* msg) { + return *msg->condition_.signal_; } -void WorkflowNode::set_allocated_launchplan_ref(::flyteidl::core::Identifier* launchplan_ref) { +const ::flyteidl::core::SleepCondition& +GateNode::HasBitSetters::sleep(const GateNode* msg) { + return *msg->condition_.sleep_; +} +void GateNode::set_allocated_approve(::flyteidl::core::ApproveCondition* approve) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - clear_reference(); - if (launchplan_ref) { + clear_condition(); + if (approve) { ::google::protobuf::Arena* submessage_arena = nullptr; if (message_arena != submessage_arena) { - launchplan_ref = ::google::protobuf::internal::GetOwnedMessage( - message_arena, launchplan_ref, submessage_arena); + approve = ::google::protobuf::internal::GetOwnedMessage( + message_arena, approve, submessage_arena); } - set_has_launchplan_ref(); - reference_.launchplan_ref_ = launchplan_ref; - } - // @@protoc_insertion_point(field_set_allocated:flyteidl.core.WorkflowNode.launchplan_ref) -} -void WorkflowNode::clear_launchplan_ref() { - if (has_launchplan_ref()) { - delete reference_.launchplan_ref_; - clear_has_reference(); + set_has_approve(); + condition_.approve_ = approve; } + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.GateNode.approve) } -void WorkflowNode::set_allocated_sub_workflow_ref(::flyteidl::core::Identifier* sub_workflow_ref) { +void GateNode::set_allocated_signal(::flyteidl::core::SignalCondition* signal) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - clear_reference(); - if (sub_workflow_ref) { + clear_condition(); + if (signal) { ::google::protobuf::Arena* submessage_arena = nullptr; if (message_arena != submessage_arena) { - sub_workflow_ref = ::google::protobuf::internal::GetOwnedMessage( - message_arena, sub_workflow_ref, submessage_arena); + signal = ::google::protobuf::internal::GetOwnedMessage( + message_arena, signal, submessage_arena); } - set_has_sub_workflow_ref(); - reference_.sub_workflow_ref_ = sub_workflow_ref; + set_has_signal(); + condition_.signal_ = signal; } - // @@protoc_insertion_point(field_set_allocated:flyteidl.core.WorkflowNode.sub_workflow_ref) + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.GateNode.signal) } -void WorkflowNode::clear_sub_workflow_ref() { - if (has_sub_workflow_ref()) { - delete reference_.sub_workflow_ref_; - clear_has_reference(); +void GateNode::set_allocated_sleep(::flyteidl::core::SleepCondition* sleep) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_condition(); + if (sleep) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + sleep = ::google::protobuf::internal::GetOwnedMessage( + message_arena, sleep, submessage_arena); + } + set_has_sleep(); + condition_.sleep_ = sleep; } + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.GateNode.sleep) } #if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int WorkflowNode::kLaunchplanRefFieldNumber; -const int WorkflowNode::kSubWorkflowRefFieldNumber; +const int GateNode::kApproveFieldNumber; +const int GateNode::kSignalFieldNumber; +const int GateNode::kSleepFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 -WorkflowNode::WorkflowNode() +GateNode::GateNode() : ::google::protobuf::Message(), _internal_metadata_(nullptr) { SharedCtor(); - // @@protoc_insertion_point(constructor:flyteidl.core.WorkflowNode) + // @@protoc_insertion_point(constructor:flyteidl.core.GateNode) } -WorkflowNode::WorkflowNode(const WorkflowNode& from) +GateNode::GateNode(const GateNode& from) : ::google::protobuf::Message(), _internal_metadata_(nullptr) { _internal_metadata_.MergeFrom(from._internal_metadata_); - clear_has_reference(); - switch (from.reference_case()) { - case kLaunchplanRef: { - mutable_launchplan_ref()->::flyteidl::core::Identifier::MergeFrom(from.launchplan_ref()); + clear_has_condition(); + switch (from.condition_case()) { + case kApprove: { + mutable_approve()->::flyteidl::core::ApproveCondition::MergeFrom(from.approve()); break; } - case kSubWorkflowRef: { - mutable_sub_workflow_ref()->::flyteidl::core::Identifier::MergeFrom(from.sub_workflow_ref()); + case kSignal: { + mutable_signal()->::flyteidl::core::SignalCondition::MergeFrom(from.signal()); break; } - case REFERENCE_NOT_SET: { + case kSleep: { + mutable_sleep()->::flyteidl::core::SleepCondition::MergeFrom(from.sleep()); + break; + } + case CONDITION_NOT_SET: { break; } } - // @@protoc_insertion_point(copy_constructor:flyteidl.core.WorkflowNode) + // @@protoc_insertion_point(copy_constructor:flyteidl.core.GateNode) } -void WorkflowNode::SharedCtor() { +void GateNode::SharedCtor() { ::google::protobuf::internal::InitSCC( - &scc_info_WorkflowNode_flyteidl_2fcore_2fworkflow_2eproto.base); - clear_has_reference(); + &scc_info_GateNode_flyteidl_2fcore_2fworkflow_2eproto.base); + clear_has_condition(); } -WorkflowNode::~WorkflowNode() { - // @@protoc_insertion_point(destructor:flyteidl.core.WorkflowNode) +GateNode::~GateNode() { + // @@protoc_insertion_point(destructor:flyteidl.core.GateNode) SharedDtor(); } -void WorkflowNode::SharedDtor() { - if (has_reference()) { - clear_reference(); +void GateNode::SharedDtor() { + if (has_condition()) { + clear_condition(); } } -void WorkflowNode::SetCachedSize(int size) const { +void GateNode::SetCachedSize(int size) const { _cached_size_.Set(size); } -const WorkflowNode& WorkflowNode::default_instance() { - ::google::protobuf::internal::InitSCC(&::scc_info_WorkflowNode_flyteidl_2fcore_2fworkflow_2eproto.base); +const GateNode& GateNode::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_GateNode_flyteidl_2fcore_2fworkflow_2eproto.base); return *internal_default_instance(); } -void WorkflowNode::clear_reference() { -// @@protoc_insertion_point(one_of_clear_start:flyteidl.core.WorkflowNode) - switch (reference_case()) { - case kLaunchplanRef: { - delete reference_.launchplan_ref_; +void GateNode::clear_condition() { +// @@protoc_insertion_point(one_of_clear_start:flyteidl.core.GateNode) + switch (condition_case()) { + case kApprove: { + delete condition_.approve_; break; } - case kSubWorkflowRef: { - delete reference_.sub_workflow_ref_; + case kSignal: { + delete condition_.signal_; break; } - case REFERENCE_NOT_SET: { + case kSleep: { + delete condition_.sleep_; + break; + } + case CONDITION_NOT_SET: { break; } } - _oneof_case_[0] = REFERENCE_NOT_SET; + _oneof_case_[0] = CONDITION_NOT_SET; } -void WorkflowNode::Clear() { -// @@protoc_insertion_point(message_clear_start:flyteidl.core.WorkflowNode) +void GateNode::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.core.GateNode) ::google::protobuf::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - clear_reference(); + clear_condition(); _internal_metadata_.Clear(); } #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -const char* WorkflowNode::_InternalParse(const char* begin, const char* end, void* object, +const char* GateNode::_InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx) { - auto msg = static_cast(object); + auto msg = static_cast(object); ::google::protobuf::int32 size; (void)size; int depth; (void)depth; ::google::protobuf::uint32 tag; @@ -2277,26 +3889,39 @@ const char* WorkflowNode::_InternalParse(const char* begin, const char* end, voi ptr = ::google::protobuf::io::Parse32(ptr, &tag); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); switch (tag >> 3) { - // .flyteidl.core.Identifier launchplan_ref = 1; + // .flyteidl.core.ApproveCondition approve = 1; case 1: { if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); - parser_till_end = ::flyteidl::core::Identifier::_InternalParse; - object = msg->mutable_launchplan_ref(); + parser_till_end = ::flyteidl::core::ApproveCondition::_InternalParse; + object = msg->mutable_approve(); if (size > end - ptr) goto len_delim_till_end; ptr += size; GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( {parser_till_end, object}, ptr - size, ptr)); break; } - // .flyteidl.core.Identifier sub_workflow_ref = 2; + // .flyteidl.core.SignalCondition signal = 2; case 2: { if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); - parser_till_end = ::flyteidl::core::Identifier::_InternalParse; - object = msg->mutable_sub_workflow_ref(); + parser_till_end = ::flyteidl::core::SignalCondition::_InternalParse; + object = msg->mutable_signal(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.SleepCondition sleep = 3; + case 3: { + if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::SleepCondition::_InternalParse; + object = msg->mutable_sleep(); if (size > end - ptr) goto len_delim_till_end; ptr += size; GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( @@ -2323,32 +3948,43 @@ const char* WorkflowNode::_InternalParse(const char* begin, const char* end, voi {parser_till_end, object}, size); } #else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -bool WorkflowNode::MergePartialFromCodedStream( +bool GateNode::MergePartialFromCodedStream( ::google::protobuf::io::CodedInputStream* input) { #define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:flyteidl.core.WorkflowNode) + // @@protoc_insertion_point(parse_start:flyteidl.core.GateNode) for (;;) { ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); tag = p.first; if (!p.second) goto handle_unusual; switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // .flyteidl.core.Identifier launchplan_ref = 1; + // .flyteidl.core.ApproveCondition approve = 1; case 1: { if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_launchplan_ref())); + input, mutable_approve())); } else { goto handle_unusual; } break; } - // .flyteidl.core.Identifier sub_workflow_ref = 2; + // .flyteidl.core.SignalCondition signal = 2; case 2: { if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_sub_workflow_ref())); + input, mutable_signal())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.SleepCondition sleep = 3; + case 3: { + if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_sleep())); } else { goto handle_unusual; } @@ -2367,70 +4003,83 @@ bool WorkflowNode::MergePartialFromCodedStream( } } success: - // @@protoc_insertion_point(parse_success:flyteidl.core.WorkflowNode) + // @@protoc_insertion_point(parse_success:flyteidl.core.GateNode) return true; failure: - // @@protoc_insertion_point(parse_failure:flyteidl.core.WorkflowNode) + // @@protoc_insertion_point(parse_failure:flyteidl.core.GateNode) return false; #undef DO_ } #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -void WorkflowNode::SerializeWithCachedSizes( +void GateNode::SerializeWithCachedSizes( ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:flyteidl.core.WorkflowNode) + // @@protoc_insertion_point(serialize_start:flyteidl.core.GateNode) ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; - // .flyteidl.core.Identifier launchplan_ref = 1; - if (has_launchplan_ref()) { + // .flyteidl.core.ApproveCondition approve = 1; + if (has_approve()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 1, HasBitSetters::launchplan_ref(this), output); + 1, HasBitSetters::approve(this), output); } - // .flyteidl.core.Identifier sub_workflow_ref = 2; - if (has_sub_workflow_ref()) { + // .flyteidl.core.SignalCondition signal = 2; + if (has_signal()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 2, HasBitSetters::sub_workflow_ref(this), output); + 2, HasBitSetters::signal(this), output); + } + + // .flyteidl.core.SleepCondition sleep = 3; + if (has_sleep()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 3, HasBitSetters::sleep(this), output); } if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); } - // @@protoc_insertion_point(serialize_end:flyteidl.core.WorkflowNode) + // @@protoc_insertion_point(serialize_end:flyteidl.core.GateNode) } -::google::protobuf::uint8* WorkflowNode::InternalSerializeWithCachedSizesToArray( +::google::protobuf::uint8* GateNode::InternalSerializeWithCachedSizesToArray( ::google::protobuf::uint8* target) const { - // @@protoc_insertion_point(serialize_to_array_start:flyteidl.core.WorkflowNode) + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.core.GateNode) ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; - // .flyteidl.core.Identifier launchplan_ref = 1; - if (has_launchplan_ref()) { + // .flyteidl.core.ApproveCondition approve = 1; + if (has_approve()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 1, HasBitSetters::launchplan_ref(this), target); + 1, HasBitSetters::approve(this), target); } - // .flyteidl.core.Identifier sub_workflow_ref = 2; - if (has_sub_workflow_ref()) { + // .flyteidl.core.SignalCondition signal = 2; + if (has_signal()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 2, HasBitSetters::sub_workflow_ref(this), target); + 2, HasBitSetters::signal(this), target); + } + + // .flyteidl.core.SleepCondition sleep = 3; + if (has_sleep()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 3, HasBitSetters::sleep(this), target); } if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); } - // @@protoc_insertion_point(serialize_to_array_end:flyteidl.core.WorkflowNode) + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.core.GateNode) return target; } -size_t WorkflowNode::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:flyteidl.core.WorkflowNode) +size_t GateNode::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.core.GateNode) size_t total_size = 0; if (_internal_metadata_.have_unknown_fields()) { @@ -2442,22 +4091,29 @@ size_t WorkflowNode::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - switch (reference_case()) { - // .flyteidl.core.Identifier launchplan_ref = 1; - case kLaunchplanRef: { + switch (condition_case()) { + // .flyteidl.core.ApproveCondition approve = 1; + case kApprove: { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( - *reference_.launchplan_ref_); + *condition_.approve_); break; } - // .flyteidl.core.Identifier sub_workflow_ref = 2; - case kSubWorkflowRef: { + // .flyteidl.core.SignalCondition signal = 2; + case kSignal: { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( - *reference_.sub_workflow_ref_); + *condition_.signal_); break; } - case REFERENCE_NOT_SET: { + // .flyteidl.core.SleepCondition sleep = 3; + case kSleep: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *condition_.sleep_); + break; + } + case CONDITION_NOT_SET: { break; } } @@ -2466,73 +4122,77 @@ size_t WorkflowNode::ByteSizeLong() const { return total_size; } -void WorkflowNode::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.core.WorkflowNode) +void GateNode::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.core.GateNode) GOOGLE_DCHECK_NE(&from, this); - const WorkflowNode* source = - ::google::protobuf::DynamicCastToGenerated( + const GateNode* source = + ::google::protobuf::DynamicCastToGenerated( &from); if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.core.WorkflowNode) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.core.GateNode) ::google::protobuf::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.core.WorkflowNode) + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.core.GateNode) MergeFrom(*source); } } -void WorkflowNode::MergeFrom(const WorkflowNode& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.core.WorkflowNode) +void GateNode::MergeFrom(const GateNode& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.core.GateNode) GOOGLE_DCHECK_NE(&from, this); _internal_metadata_.MergeFrom(from._internal_metadata_); ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; - switch (from.reference_case()) { - case kLaunchplanRef: { - mutable_launchplan_ref()->::flyteidl::core::Identifier::MergeFrom(from.launchplan_ref()); + switch (from.condition_case()) { + case kApprove: { + mutable_approve()->::flyteidl::core::ApproveCondition::MergeFrom(from.approve()); break; } - case kSubWorkflowRef: { - mutable_sub_workflow_ref()->::flyteidl::core::Identifier::MergeFrom(from.sub_workflow_ref()); + case kSignal: { + mutable_signal()->::flyteidl::core::SignalCondition::MergeFrom(from.signal()); break; } - case REFERENCE_NOT_SET: { + case kSleep: { + mutable_sleep()->::flyteidl::core::SleepCondition::MergeFrom(from.sleep()); + break; + } + case CONDITION_NOT_SET: { break; } } } -void WorkflowNode::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.core.WorkflowNode) +void GateNode::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.core.GateNode) if (&from == this) return; Clear(); MergeFrom(from); } -void WorkflowNode::CopyFrom(const WorkflowNode& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.core.WorkflowNode) +void GateNode::CopyFrom(const GateNode& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.core.GateNode) if (&from == this) return; Clear(); MergeFrom(from); } -bool WorkflowNode::IsInitialized() const { +bool GateNode::IsInitialized() const { return true; } -void WorkflowNode::Swap(WorkflowNode* other) { +void GateNode::Swap(GateNode* other) { if (other == this) return; InternalSwap(other); } -void WorkflowNode::InternalSwap(WorkflowNode* other) { +void GateNode::InternalSwap(GateNode* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); - swap(reference_, other->reference_); + swap(condition_, other->condition_); swap(_oneof_case_[0], other->_oneof_case_[0]); } -::google::protobuf::Metadata WorkflowNode::GetMetadata() const { +::google::protobuf::Metadata GateNode::GetMetadata() const { ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fcore_2fworkflow_2eproto); return ::file_level_metadata_flyteidl_2fcore_2fworkflow_2eproto[kIndexInFileMessages]; } @@ -3447,6 +5107,8 @@ void Node::InitAsDefaultInstance() { ::flyteidl::core::WorkflowNode::internal_default_instance()); ::flyteidl::core::_Node_default_instance_.branch_node_ = const_cast< ::flyteidl::core::BranchNode*>( ::flyteidl::core::BranchNode::internal_default_instance()); + ::flyteidl::core::_Node_default_instance_.gate_node_ = const_cast< ::flyteidl::core::GateNode*>( + ::flyteidl::core::GateNode::internal_default_instance()); } class Node::HasBitSetters { public: @@ -3454,6 +5116,7 @@ class Node::HasBitSetters { static const ::flyteidl::core::TaskNode& task_node(const Node* msg); static const ::flyteidl::core::WorkflowNode& workflow_node(const Node* msg); static const ::flyteidl::core::BranchNode& branch_node(const Node* msg); + static const ::flyteidl::core::GateNode& gate_node(const Node* msg); }; const ::flyteidl::core::NodeMetadata& @@ -3472,6 +5135,10 @@ const ::flyteidl::core::BranchNode& Node::HasBitSetters::branch_node(const Node* msg) { return *msg->target_.branch_node_; } +const ::flyteidl::core::GateNode& +Node::HasBitSetters::gate_node(const Node* msg) { + return *msg->target_.gate_node_; +} void Node::clear_inputs() { inputs_.Clear(); } @@ -3517,6 +5184,20 @@ void Node::set_allocated_branch_node(::flyteidl::core::BranchNode* branch_node) } // @@protoc_insertion_point(field_set_allocated:flyteidl.core.Node.branch_node) } +void Node::set_allocated_gate_node(::flyteidl::core::GateNode* gate_node) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_target(); + if (gate_node) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + gate_node = ::google::protobuf::internal::GetOwnedMessage( + message_arena, gate_node, submessage_arena); + } + set_has_gate_node(); + target_.gate_node_ = gate_node; + } + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.Node.gate_node) +} #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int Node::kIdFieldNumber; const int Node::kMetadataFieldNumber; @@ -3526,6 +5207,7 @@ const int Node::kOutputAliasesFieldNumber; const int Node::kTaskNodeFieldNumber; const int Node::kWorkflowNodeFieldNumber; const int Node::kBranchNodeFieldNumber; +const int Node::kGateNodeFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 Node::Node() @@ -3563,6 +5245,10 @@ Node::Node(const Node& from) mutable_branch_node()->::flyteidl::core::BranchNode::MergeFrom(from.branch_node()); break; } + case kGateNode: { + mutable_gate_node()->::flyteidl::core::GateNode::MergeFrom(from.gate_node()); + break; + } case TARGET_NOT_SET: { break; } @@ -3615,6 +5301,10 @@ void Node::clear_target() { delete target_.branch_node_; break; } + case kGateNode: { + delete target_.gate_node_; + break; + } case TARGET_NOT_SET: { break; } @@ -3773,6 +5463,19 @@ const char* Node::_InternalParse(const char* begin, const char* end, void* objec {parser_till_end, object}, ptr - size, ptr)); break; } + // .flyteidl.core.GateNode gate_node = 9; + case 9: { + if (static_cast<::google::protobuf::uint8>(tag) != 74) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::GateNode::_InternalParse; + object = msg->mutable_gate_node(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -3904,6 +5607,17 @@ bool Node::MergePartialFromCodedStream( break; } + // .flyteidl.core.GateNode gate_node = 9; + case 9: { + if (static_cast< ::google::protobuf::uint8>(tag) == (74 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_gate_node())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -3993,6 +5707,12 @@ void Node::SerializeWithCachedSizes( 8, HasBitSetters::branch_node(this), output); } + // .flyteidl.core.GateNode gate_node = 9; + if (has_gate_node()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 9, HasBitSetters::gate_node(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -4071,6 +5791,13 @@ ::google::protobuf::uint8* Node::InternalSerializeWithCachedSizesToArray( 8, HasBitSetters::branch_node(this), target); } + // .flyteidl.core.GateNode gate_node = 9; + if (has_gate_node()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 9, HasBitSetters::gate_node(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -4158,6 +5885,13 @@ size_t Node::ByteSizeLong() const { *target_.branch_node_); break; } + // .flyteidl.core.GateNode gate_node = 9; + case kGateNode: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *target_.gate_node_); + break; + } case TARGET_NOT_SET: { break; } @@ -4212,6 +5946,10 @@ void Node::MergeFrom(const Node& from) { mutable_branch_node()->::flyteidl::core::BranchNode::MergeFrom(from.branch_node()); break; } + case kGateNode: { + mutable_gate_node()->::flyteidl::core::GateNode::MergeFrom(from.gate_node()); + break; + } case TARGET_NOT_SET: { break; } @@ -5860,6 +7598,18 @@ template<> PROTOBUF_NOINLINE ::flyteidl::core::TaskNode* Arena::CreateMaybeMessa template<> PROTOBUF_NOINLINE ::flyteidl::core::WorkflowNode* Arena::CreateMaybeMessage< ::flyteidl::core::WorkflowNode >(Arena* arena) { return Arena::CreateInternal< ::flyteidl::core::WorkflowNode >(arena); } +template<> PROTOBUF_NOINLINE ::flyteidl::core::ApproveCondition* Arena::CreateMaybeMessage< ::flyteidl::core::ApproveCondition >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::core::ApproveCondition >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::core::SignalCondition* Arena::CreateMaybeMessage< ::flyteidl::core::SignalCondition >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::core::SignalCondition >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::core::SleepCondition* Arena::CreateMaybeMessage< ::flyteidl::core::SleepCondition >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::core::SleepCondition >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::core::GateNode* Arena::CreateMaybeMessage< ::flyteidl::core::GateNode >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::core::GateNode >(arena); +} template<> PROTOBUF_NOINLINE ::flyteidl::core::NodeMetadata* Arena::CreateMaybeMessage< ::flyteidl::core::NodeMetadata >(Arena* arena) { return Arena::CreateInternal< ::flyteidl::core::NodeMetadata >(arena); } diff --git a/gen/pb-cpp/flyteidl/core/workflow.pb.h b/gen/pb-cpp/flyteidl/core/workflow.pb.h index a4ddf657f5..835a7d4973 100644 --- a/gen/pb-cpp/flyteidl/core/workflow.pb.h +++ b/gen/pb-cpp/flyteidl/core/workflow.pb.h @@ -51,7 +51,7 @@ struct TableStruct_flyteidl_2fcore_2fworkflow_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::google::protobuf::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::google::protobuf::internal::ParseTable schema[12] + static const ::google::protobuf::internal::ParseTable schema[16] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::google::protobuf::internal::FieldMetadata field_metadata[]; static const ::google::protobuf::internal::SerializationTable serialization_table[]; @@ -63,9 +63,15 @@ namespace core { class Alias; class AliasDefaultTypeInternal; extern AliasDefaultTypeInternal _Alias_default_instance_; +class ApproveCondition; +class ApproveConditionDefaultTypeInternal; +extern ApproveConditionDefaultTypeInternal _ApproveCondition_default_instance_; class BranchNode; class BranchNodeDefaultTypeInternal; extern BranchNodeDefaultTypeInternal _BranchNode_default_instance_; +class GateNode; +class GateNodeDefaultTypeInternal; +extern GateNodeDefaultTypeInternal _GateNode_default_instance_; class IfBlock; class IfBlockDefaultTypeInternal; extern IfBlockDefaultTypeInternal _IfBlock_default_instance_; @@ -78,6 +84,12 @@ extern NodeDefaultTypeInternal _Node_default_instance_; class NodeMetadata; class NodeMetadataDefaultTypeInternal; extern NodeMetadataDefaultTypeInternal _NodeMetadata_default_instance_; +class SignalCondition; +class SignalConditionDefaultTypeInternal; +extern SignalConditionDefaultTypeInternal _SignalCondition_default_instance_; +class SleepCondition; +class SleepConditionDefaultTypeInternal; +extern SleepConditionDefaultTypeInternal _SleepCondition_default_instance_; class TaskNode; class TaskNodeDefaultTypeInternal; extern TaskNodeDefaultTypeInternal _TaskNode_default_instance_; @@ -101,11 +113,15 @@ extern WorkflowTemplateDefaultTypeInternal _WorkflowTemplate_default_instance_; namespace google { namespace protobuf { template<> ::flyteidl::core::Alias* Arena::CreateMaybeMessage<::flyteidl::core::Alias>(Arena*); +template<> ::flyteidl::core::ApproveCondition* Arena::CreateMaybeMessage<::flyteidl::core::ApproveCondition>(Arena*); template<> ::flyteidl::core::BranchNode* Arena::CreateMaybeMessage<::flyteidl::core::BranchNode>(Arena*); +template<> ::flyteidl::core::GateNode* Arena::CreateMaybeMessage<::flyteidl::core::GateNode>(Arena*); template<> ::flyteidl::core::IfBlock* Arena::CreateMaybeMessage<::flyteidl::core::IfBlock>(Arena*); template<> ::flyteidl::core::IfElseBlock* Arena::CreateMaybeMessage<::flyteidl::core::IfElseBlock>(Arena*); template<> ::flyteidl::core::Node* Arena::CreateMaybeMessage<::flyteidl::core::Node>(Arena*); template<> ::flyteidl::core::NodeMetadata* Arena::CreateMaybeMessage<::flyteidl::core::NodeMetadata>(Arena*); +template<> ::flyteidl::core::SignalCondition* Arena::CreateMaybeMessage<::flyteidl::core::SignalCondition>(Arena*); +template<> ::flyteidl::core::SleepCondition* Arena::CreateMaybeMessage<::flyteidl::core::SleepCondition>(Arena*); template<> ::flyteidl::core::TaskNode* Arena::CreateMaybeMessage<::flyteidl::core::TaskNode>(Arena*); template<> ::flyteidl::core::TaskNodeOverrides* Arena::CreateMaybeMessage<::flyteidl::core::TaskNodeOverrides>(Arena*); template<> ::flyteidl::core::WorkflowMetadata* Arena::CreateMaybeMessage<::flyteidl::core::WorkflowMetadata>(Arena*); @@ -830,6 +846,541 @@ class WorkflowNode final : }; // ------------------------------------------------------------------- +class ApproveCondition final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.core.ApproveCondition) */ { + public: + ApproveCondition(); + virtual ~ApproveCondition(); + + ApproveCondition(const ApproveCondition& from); + + inline ApproveCondition& operator=(const ApproveCondition& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + ApproveCondition(ApproveCondition&& from) noexcept + : ApproveCondition() { + *this = ::std::move(from); + } + + inline ApproveCondition& operator=(ApproveCondition&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const ApproveCondition& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const ApproveCondition* internal_default_instance() { + return reinterpret_cast( + &_ApproveCondition_default_instance_); + } + static constexpr int kIndexInFileMessages = + 5; + + void Swap(ApproveCondition* other); + friend void swap(ApproveCondition& a, ApproveCondition& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline ApproveCondition* New() const final { + return CreateMaybeMessage(nullptr); + } + + ApproveCondition* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const ApproveCondition& from); + void MergeFrom(const ApproveCondition& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ApproveCondition* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // string signal_id = 1; + void clear_signal_id(); + static const int kSignalIdFieldNumber = 1; + const ::std::string& signal_id() const; + void set_signal_id(const ::std::string& value); + #if LANG_CXX11 + void set_signal_id(::std::string&& value); + #endif + void set_signal_id(const char* value); + void set_signal_id(const char* value, size_t size); + ::std::string* mutable_signal_id(); + ::std::string* release_signal_id(); + void set_allocated_signal_id(::std::string* signal_id); + + // @@protoc_insertion_point(class_scope:flyteidl.core.ApproveCondition) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::ArenaStringPtr signal_id_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fcore_2fworkflow_2eproto; +}; +// ------------------------------------------------------------------- + +class SignalCondition final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.core.SignalCondition) */ { + public: + SignalCondition(); + virtual ~SignalCondition(); + + SignalCondition(const SignalCondition& from); + + inline SignalCondition& operator=(const SignalCondition& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + SignalCondition(SignalCondition&& from) noexcept + : SignalCondition() { + *this = ::std::move(from); + } + + inline SignalCondition& operator=(SignalCondition&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const SignalCondition& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const SignalCondition* internal_default_instance() { + return reinterpret_cast( + &_SignalCondition_default_instance_); + } + static constexpr int kIndexInFileMessages = + 6; + + void Swap(SignalCondition* other); + friend void swap(SignalCondition& a, SignalCondition& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline SignalCondition* New() const final { + return CreateMaybeMessage(nullptr); + } + + SignalCondition* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const SignalCondition& from); + void MergeFrom(const SignalCondition& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(SignalCondition* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // string signal_id = 1; + void clear_signal_id(); + static const int kSignalIdFieldNumber = 1; + const ::std::string& signal_id() const; + void set_signal_id(const ::std::string& value); + #if LANG_CXX11 + void set_signal_id(::std::string&& value); + #endif + void set_signal_id(const char* value); + void set_signal_id(const char* value, size_t size); + ::std::string* mutable_signal_id(); + ::std::string* release_signal_id(); + void set_allocated_signal_id(::std::string* signal_id); + + // string output_variable_name = 3; + void clear_output_variable_name(); + static const int kOutputVariableNameFieldNumber = 3; + const ::std::string& output_variable_name() const; + void set_output_variable_name(const ::std::string& value); + #if LANG_CXX11 + void set_output_variable_name(::std::string&& value); + #endif + void set_output_variable_name(const char* value); + void set_output_variable_name(const char* value, size_t size); + ::std::string* mutable_output_variable_name(); + ::std::string* release_output_variable_name(); + void set_allocated_output_variable_name(::std::string* output_variable_name); + + // .flyteidl.core.LiteralType type = 2; + bool has_type() const; + void clear_type(); + static const int kTypeFieldNumber = 2; + const ::flyteidl::core::LiteralType& type() const; + ::flyteidl::core::LiteralType* release_type(); + ::flyteidl::core::LiteralType* mutable_type(); + void set_allocated_type(::flyteidl::core::LiteralType* type); + + // @@protoc_insertion_point(class_scope:flyteidl.core.SignalCondition) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::ArenaStringPtr signal_id_; + ::google::protobuf::internal::ArenaStringPtr output_variable_name_; + ::flyteidl::core::LiteralType* type_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fcore_2fworkflow_2eproto; +}; +// ------------------------------------------------------------------- + +class SleepCondition final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.core.SleepCondition) */ { + public: + SleepCondition(); + virtual ~SleepCondition(); + + SleepCondition(const SleepCondition& from); + + inline SleepCondition& operator=(const SleepCondition& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + SleepCondition(SleepCondition&& from) noexcept + : SleepCondition() { + *this = ::std::move(from); + } + + inline SleepCondition& operator=(SleepCondition&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const SleepCondition& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const SleepCondition* internal_default_instance() { + return reinterpret_cast( + &_SleepCondition_default_instance_); + } + static constexpr int kIndexInFileMessages = + 7; + + void Swap(SleepCondition* other); + friend void swap(SleepCondition& a, SleepCondition& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline SleepCondition* New() const final { + return CreateMaybeMessage(nullptr); + } + + SleepCondition* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const SleepCondition& from); + void MergeFrom(const SleepCondition& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(SleepCondition* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // .google.protobuf.Duration duration = 1; + bool has_duration() const; + void clear_duration(); + static const int kDurationFieldNumber = 1; + const ::google::protobuf::Duration& duration() const; + ::google::protobuf::Duration* release_duration(); + ::google::protobuf::Duration* mutable_duration(); + void set_allocated_duration(::google::protobuf::Duration* duration); + + // @@protoc_insertion_point(class_scope:flyteidl.core.SleepCondition) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::Duration* duration_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fcore_2fworkflow_2eproto; +}; +// ------------------------------------------------------------------- + +class GateNode final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.core.GateNode) */ { + public: + GateNode(); + virtual ~GateNode(); + + GateNode(const GateNode& from); + + inline GateNode& operator=(const GateNode& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + GateNode(GateNode&& from) noexcept + : GateNode() { + *this = ::std::move(from); + } + + inline GateNode& operator=(GateNode&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const GateNode& default_instance(); + + enum ConditionCase { + kApprove = 1, + kSignal = 2, + kSleep = 3, + CONDITION_NOT_SET = 0, + }; + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const GateNode* internal_default_instance() { + return reinterpret_cast( + &_GateNode_default_instance_); + } + static constexpr int kIndexInFileMessages = + 8; + + void Swap(GateNode* other); + friend void swap(GateNode& a, GateNode& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline GateNode* New() const final { + return CreateMaybeMessage(nullptr); + } + + GateNode* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const GateNode& from); + void MergeFrom(const GateNode& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GateNode* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // .flyteidl.core.ApproveCondition approve = 1; + bool has_approve() const; + void clear_approve(); + static const int kApproveFieldNumber = 1; + const ::flyteidl::core::ApproveCondition& approve() const; + ::flyteidl::core::ApproveCondition* release_approve(); + ::flyteidl::core::ApproveCondition* mutable_approve(); + void set_allocated_approve(::flyteidl::core::ApproveCondition* approve); + + // .flyteidl.core.SignalCondition signal = 2; + bool has_signal() const; + void clear_signal(); + static const int kSignalFieldNumber = 2; + const ::flyteidl::core::SignalCondition& signal() const; + ::flyteidl::core::SignalCondition* release_signal(); + ::flyteidl::core::SignalCondition* mutable_signal(); + void set_allocated_signal(::flyteidl::core::SignalCondition* signal); + + // .flyteidl.core.SleepCondition sleep = 3; + bool has_sleep() const; + void clear_sleep(); + static const int kSleepFieldNumber = 3; + const ::flyteidl::core::SleepCondition& sleep() const; + ::flyteidl::core::SleepCondition* release_sleep(); + ::flyteidl::core::SleepCondition* mutable_sleep(); + void set_allocated_sleep(::flyteidl::core::SleepCondition* sleep); + + void clear_condition(); + ConditionCase condition_case() const; + // @@protoc_insertion_point(class_scope:flyteidl.core.GateNode) + private: + class HasBitSetters; + void set_has_approve(); + void set_has_signal(); + void set_has_sleep(); + + inline bool has_condition() const; + inline void clear_has_condition(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + union ConditionUnion { + ConditionUnion() {} + ::flyteidl::core::ApproveCondition* approve_; + ::flyteidl::core::SignalCondition* signal_; + ::flyteidl::core::SleepCondition* sleep_; + } condition_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::uint32 _oneof_case_[1]; + + friend struct ::TableStruct_flyteidl_2fcore_2fworkflow_2eproto; +}; +// ------------------------------------------------------------------- + class NodeMetadata final : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.core.NodeMetadata) */ { public: @@ -873,7 +1424,7 @@ class NodeMetadata final : &_NodeMetadata_default_instance_); } static constexpr int kIndexInFileMessages = - 5; + 9; void Swap(NodeMetadata* other); friend void swap(NodeMetadata& a, NodeMetadata& b) { @@ -1034,7 +1585,7 @@ class Alias final : &_Alias_default_instance_); } static constexpr int kIndexInFileMessages = - 6; + 10; void Swap(Alias* other); friend void swap(Alias& a, Alias& b) { @@ -1167,6 +1718,7 @@ class Node final : kTaskNode = 6, kWorkflowNode = 7, kBranchNode = 8, + kGateNode = 9, TARGET_NOT_SET = 0, }; @@ -1176,7 +1728,7 @@ class Node final : &_Node_default_instance_); } static constexpr int kIndexInFileMessages = - 7; + 11; void Swap(Node* other); friend void swap(Node& a, Node& b) { @@ -1329,6 +1881,15 @@ class Node final : ::flyteidl::core::BranchNode* mutable_branch_node(); void set_allocated_branch_node(::flyteidl::core::BranchNode* branch_node); + // .flyteidl.core.GateNode gate_node = 9; + bool has_gate_node() const; + void clear_gate_node(); + static const int kGateNodeFieldNumber = 9; + const ::flyteidl::core::GateNode& gate_node() const; + ::flyteidl::core::GateNode* release_gate_node(); + ::flyteidl::core::GateNode* mutable_gate_node(); + void set_allocated_gate_node(::flyteidl::core::GateNode* gate_node); + void clear_target(); TargetCase target_case() const; // @@protoc_insertion_point(class_scope:flyteidl.core.Node) @@ -1337,6 +1898,7 @@ class Node final : void set_has_task_node(); void set_has_workflow_node(); void set_has_branch_node(); + void set_has_gate_node(); inline bool has_target() const; inline void clear_has_target(); @@ -1352,6 +1914,7 @@ class Node final : ::flyteidl::core::TaskNode* task_node_; ::flyteidl::core::WorkflowNode* workflow_node_; ::flyteidl::core::BranchNode* branch_node_; + ::flyteidl::core::GateNode* gate_node_; } target_; mutable ::google::protobuf::internal::CachedSize _cached_size_; ::google::protobuf::uint32 _oneof_case_[1]; @@ -1398,7 +1961,7 @@ class WorkflowMetadata final : &_WorkflowMetadata_default_instance_); } static constexpr int kIndexInFileMessages = - 8; + 12; void Swap(WorkflowMetadata* other); friend void swap(WorkflowMetadata& a, WorkflowMetadata& b) { @@ -1546,7 +2109,7 @@ class WorkflowMetadataDefaults final : &_WorkflowMetadataDefaults_default_instance_); } static constexpr int kIndexInFileMessages = - 9; + 13; void Swap(WorkflowMetadataDefaults* other); friend void swap(WorkflowMetadataDefaults& a, WorkflowMetadataDefaults& b) { @@ -1658,7 +2221,7 @@ class WorkflowTemplate final : &_WorkflowTemplate_default_instance_); } static constexpr int kIndexInFileMessages = - 10; + 14; void Swap(WorkflowTemplate* other); friend void swap(WorkflowTemplate& a, WorkflowTemplate& b) { @@ -1839,7 +2402,7 @@ class TaskNodeOverrides final : &_TaskNodeOverrides_default_instance_); } static constexpr int kIndexInFileMessages = - 11; + 15; void Swap(TaskNodeOverrides* other); friend void swap(TaskNodeOverrides& a, TaskNodeOverrides& b) { @@ -2430,6 +2993,404 @@ inline WorkflowNode::ReferenceCase WorkflowNode::reference_case() const { } // ------------------------------------------------------------------- +// ApproveCondition + +// string signal_id = 1; +inline void ApproveCondition::clear_signal_id() { + signal_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& ApproveCondition::signal_id() const { + // @@protoc_insertion_point(field_get:flyteidl.core.ApproveCondition.signal_id) + return signal_id_.GetNoArena(); +} +inline void ApproveCondition::set_signal_id(const ::std::string& value) { + + signal_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.core.ApproveCondition.signal_id) +} +#if LANG_CXX11 +inline void ApproveCondition::set_signal_id(::std::string&& value) { + + signal_id_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.core.ApproveCondition.signal_id) +} +#endif +inline void ApproveCondition::set_signal_id(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + signal_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.core.ApproveCondition.signal_id) +} +inline void ApproveCondition::set_signal_id(const char* value, size_t size) { + + signal_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.core.ApproveCondition.signal_id) +} +inline ::std::string* ApproveCondition::mutable_signal_id() { + + // @@protoc_insertion_point(field_mutable:flyteidl.core.ApproveCondition.signal_id) + return signal_id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* ApproveCondition::release_signal_id() { + // @@protoc_insertion_point(field_release:flyteidl.core.ApproveCondition.signal_id) + + return signal_id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void ApproveCondition::set_allocated_signal_id(::std::string* signal_id) { + if (signal_id != nullptr) { + + } else { + + } + signal_id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), signal_id); + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.ApproveCondition.signal_id) +} + +// ------------------------------------------------------------------- + +// SignalCondition + +// string signal_id = 1; +inline void SignalCondition::clear_signal_id() { + signal_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& SignalCondition::signal_id() const { + // @@protoc_insertion_point(field_get:flyteidl.core.SignalCondition.signal_id) + return signal_id_.GetNoArena(); +} +inline void SignalCondition::set_signal_id(const ::std::string& value) { + + signal_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.core.SignalCondition.signal_id) +} +#if LANG_CXX11 +inline void SignalCondition::set_signal_id(::std::string&& value) { + + signal_id_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.core.SignalCondition.signal_id) +} +#endif +inline void SignalCondition::set_signal_id(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + signal_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.core.SignalCondition.signal_id) +} +inline void SignalCondition::set_signal_id(const char* value, size_t size) { + + signal_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.core.SignalCondition.signal_id) +} +inline ::std::string* SignalCondition::mutable_signal_id() { + + // @@protoc_insertion_point(field_mutable:flyteidl.core.SignalCondition.signal_id) + return signal_id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* SignalCondition::release_signal_id() { + // @@protoc_insertion_point(field_release:flyteidl.core.SignalCondition.signal_id) + + return signal_id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void SignalCondition::set_allocated_signal_id(::std::string* signal_id) { + if (signal_id != nullptr) { + + } else { + + } + signal_id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), signal_id); + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.SignalCondition.signal_id) +} + +// .flyteidl.core.LiteralType type = 2; +inline bool SignalCondition::has_type() const { + return this != internal_default_instance() && type_ != nullptr; +} +inline const ::flyteidl::core::LiteralType& SignalCondition::type() const { + const ::flyteidl::core::LiteralType* p = type_; + // @@protoc_insertion_point(field_get:flyteidl.core.SignalCondition.type) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_LiteralType_default_instance_); +} +inline ::flyteidl::core::LiteralType* SignalCondition::release_type() { + // @@protoc_insertion_point(field_release:flyteidl.core.SignalCondition.type) + + ::flyteidl::core::LiteralType* temp = type_; + type_ = nullptr; + return temp; +} +inline ::flyteidl::core::LiteralType* SignalCondition::mutable_type() { + + if (type_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::LiteralType>(GetArenaNoVirtual()); + type_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.core.SignalCondition.type) + return type_; +} +inline void SignalCondition::set_allocated_type(::flyteidl::core::LiteralType* type) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(type_); + } + if (type) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + type = ::google::protobuf::internal::GetOwnedMessage( + message_arena, type, submessage_arena); + } + + } else { + + } + type_ = type; + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.SignalCondition.type) +} + +// string output_variable_name = 3; +inline void SignalCondition::clear_output_variable_name() { + output_variable_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& SignalCondition::output_variable_name() const { + // @@protoc_insertion_point(field_get:flyteidl.core.SignalCondition.output_variable_name) + return output_variable_name_.GetNoArena(); +} +inline void SignalCondition::set_output_variable_name(const ::std::string& value) { + + output_variable_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.core.SignalCondition.output_variable_name) +} +#if LANG_CXX11 +inline void SignalCondition::set_output_variable_name(::std::string&& value) { + + output_variable_name_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.core.SignalCondition.output_variable_name) +} +#endif +inline void SignalCondition::set_output_variable_name(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + output_variable_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.core.SignalCondition.output_variable_name) +} +inline void SignalCondition::set_output_variable_name(const char* value, size_t size) { + + output_variable_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.core.SignalCondition.output_variable_name) +} +inline ::std::string* SignalCondition::mutable_output_variable_name() { + + // @@protoc_insertion_point(field_mutable:flyteidl.core.SignalCondition.output_variable_name) + return output_variable_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* SignalCondition::release_output_variable_name() { + // @@protoc_insertion_point(field_release:flyteidl.core.SignalCondition.output_variable_name) + + return output_variable_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void SignalCondition::set_allocated_output_variable_name(::std::string* output_variable_name) { + if (output_variable_name != nullptr) { + + } else { + + } + output_variable_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_variable_name); + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.SignalCondition.output_variable_name) +} + +// ------------------------------------------------------------------- + +// SleepCondition + +// .google.protobuf.Duration duration = 1; +inline bool SleepCondition::has_duration() const { + return this != internal_default_instance() && duration_ != nullptr; +} +inline const ::google::protobuf::Duration& SleepCondition::duration() const { + const ::google::protobuf::Duration* p = duration_; + // @@protoc_insertion_point(field_get:flyteidl.core.SleepCondition.duration) + return p != nullptr ? *p : *reinterpret_cast( + &::google::protobuf::_Duration_default_instance_); +} +inline ::google::protobuf::Duration* SleepCondition::release_duration() { + // @@protoc_insertion_point(field_release:flyteidl.core.SleepCondition.duration) + + ::google::protobuf::Duration* temp = duration_; + duration_ = nullptr; + return temp; +} +inline ::google::protobuf::Duration* SleepCondition::mutable_duration() { + + if (duration_ == nullptr) { + auto* p = CreateMaybeMessage<::google::protobuf::Duration>(GetArenaNoVirtual()); + duration_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.core.SleepCondition.duration) + return duration_; +} +inline void SleepCondition::set_allocated_duration(::google::protobuf::Duration* duration) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(duration_); + } + if (duration) { + ::google::protobuf::Arena* submessage_arena = + reinterpret_cast<::google::protobuf::MessageLite*>(duration)->GetArena(); + if (message_arena != submessage_arena) { + duration = ::google::protobuf::internal::GetOwnedMessage( + message_arena, duration, submessage_arena); + } + + } else { + + } + duration_ = duration; + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.SleepCondition.duration) +} + +// ------------------------------------------------------------------- + +// GateNode + +// .flyteidl.core.ApproveCondition approve = 1; +inline bool GateNode::has_approve() const { + return condition_case() == kApprove; +} +inline void GateNode::set_has_approve() { + _oneof_case_[0] = kApprove; +} +inline void GateNode::clear_approve() { + if (has_approve()) { + delete condition_.approve_; + clear_has_condition(); + } +} +inline ::flyteidl::core::ApproveCondition* GateNode::release_approve() { + // @@protoc_insertion_point(field_release:flyteidl.core.GateNode.approve) + if (has_approve()) { + clear_has_condition(); + ::flyteidl::core::ApproveCondition* temp = condition_.approve_; + condition_.approve_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flyteidl::core::ApproveCondition& GateNode::approve() const { + // @@protoc_insertion_point(field_get:flyteidl.core.GateNode.approve) + return has_approve() + ? *condition_.approve_ + : *reinterpret_cast< ::flyteidl::core::ApproveCondition*>(&::flyteidl::core::_ApproveCondition_default_instance_); +} +inline ::flyteidl::core::ApproveCondition* GateNode::mutable_approve() { + if (!has_approve()) { + clear_condition(); + set_has_approve(); + condition_.approve_ = CreateMaybeMessage< ::flyteidl::core::ApproveCondition >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.core.GateNode.approve) + return condition_.approve_; +} + +// .flyteidl.core.SignalCondition signal = 2; +inline bool GateNode::has_signal() const { + return condition_case() == kSignal; +} +inline void GateNode::set_has_signal() { + _oneof_case_[0] = kSignal; +} +inline void GateNode::clear_signal() { + if (has_signal()) { + delete condition_.signal_; + clear_has_condition(); + } +} +inline ::flyteidl::core::SignalCondition* GateNode::release_signal() { + // @@protoc_insertion_point(field_release:flyteidl.core.GateNode.signal) + if (has_signal()) { + clear_has_condition(); + ::flyteidl::core::SignalCondition* temp = condition_.signal_; + condition_.signal_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flyteidl::core::SignalCondition& GateNode::signal() const { + // @@protoc_insertion_point(field_get:flyteidl.core.GateNode.signal) + return has_signal() + ? *condition_.signal_ + : *reinterpret_cast< ::flyteidl::core::SignalCondition*>(&::flyteidl::core::_SignalCondition_default_instance_); +} +inline ::flyteidl::core::SignalCondition* GateNode::mutable_signal() { + if (!has_signal()) { + clear_condition(); + set_has_signal(); + condition_.signal_ = CreateMaybeMessage< ::flyteidl::core::SignalCondition >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.core.GateNode.signal) + return condition_.signal_; +} + +// .flyteidl.core.SleepCondition sleep = 3; +inline bool GateNode::has_sleep() const { + return condition_case() == kSleep; +} +inline void GateNode::set_has_sleep() { + _oneof_case_[0] = kSleep; +} +inline void GateNode::clear_sleep() { + if (has_sleep()) { + delete condition_.sleep_; + clear_has_condition(); + } +} +inline ::flyteidl::core::SleepCondition* GateNode::release_sleep() { + // @@protoc_insertion_point(field_release:flyteidl.core.GateNode.sleep) + if (has_sleep()) { + clear_has_condition(); + ::flyteidl::core::SleepCondition* temp = condition_.sleep_; + condition_.sleep_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flyteidl::core::SleepCondition& GateNode::sleep() const { + // @@protoc_insertion_point(field_get:flyteidl.core.GateNode.sleep) + return has_sleep() + ? *condition_.sleep_ + : *reinterpret_cast< ::flyteidl::core::SleepCondition*>(&::flyteidl::core::_SleepCondition_default_instance_); +} +inline ::flyteidl::core::SleepCondition* GateNode::mutable_sleep() { + if (!has_sleep()) { + clear_condition(); + set_has_sleep(); + condition_.sleep_ = CreateMaybeMessage< ::flyteidl::core::SleepCondition >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.core.GateNode.sleep) + return condition_.sleep_; +} + +inline bool GateNode::has_condition() const { + return condition_case() != CONDITION_NOT_SET; +} +inline void GateNode::clear_has_condition() { + _oneof_case_[0] = CONDITION_NOT_SET; +} +inline GateNode::ConditionCase GateNode::condition_case() const { + return GateNode::ConditionCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + // NodeMetadata // string name = 1; @@ -3081,6 +4042,47 @@ inline ::flyteidl::core::BranchNode* Node::mutable_branch_node() { return target_.branch_node_; } +// .flyteidl.core.GateNode gate_node = 9; +inline bool Node::has_gate_node() const { + return target_case() == kGateNode; +} +inline void Node::set_has_gate_node() { + _oneof_case_[0] = kGateNode; +} +inline void Node::clear_gate_node() { + if (has_gate_node()) { + delete target_.gate_node_; + clear_has_target(); + } +} +inline ::flyteidl::core::GateNode* Node::release_gate_node() { + // @@protoc_insertion_point(field_release:flyteidl.core.Node.gate_node) + if (has_gate_node()) { + clear_has_target(); + ::flyteidl::core::GateNode* temp = target_.gate_node_; + target_.gate_node_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flyteidl::core::GateNode& Node::gate_node() const { + // @@protoc_insertion_point(field_get:flyteidl.core.Node.gate_node) + return has_gate_node() + ? *target_.gate_node_ + : *reinterpret_cast< ::flyteidl::core::GateNode*>(&::flyteidl::core::_GateNode_default_instance_); +} +inline ::flyteidl::core::GateNode* Node::mutable_gate_node() { + if (!has_gate_node()) { + clear_target(); + set_has_gate_node(); + target_.gate_node_ = CreateMaybeMessage< ::flyteidl::core::GateNode >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.core.Node.gate_node) + return target_.gate_node_; +} + inline bool Node::has_target() const { return target_case() != TARGET_NOT_SET; } @@ -3549,6 +4551,14 @@ inline void TaskNodeOverrides::set_allocated_resources(::flyteidl::core::Resourc // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/gen/pb-cpp/flyteidl/service/signal.grpc.pb.cc b/gen/pb-cpp/flyteidl/service/signal.grpc.pb.cc new file mode 100644 index 0000000000..892874328b --- /dev/null +++ b/gen/pb-cpp/flyteidl/service/signal.grpc.pb.cc @@ -0,0 +1,169 @@ +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: flyteidl/service/signal.proto + +#include "flyteidl/service/signal.pb.h" +#include "flyteidl/service/signal.grpc.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +namespace flyteidl { +namespace service { + +static const char* SignalService_method_names[] = { + "/flyteidl.service.SignalService/GetOrCreateSignal", + "/flyteidl.service.SignalService/ListSignals", + "/flyteidl.service.SignalService/SetSignal", +}; + +std::unique_ptr< SignalService::Stub> SignalService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) { + (void)options; + std::unique_ptr< SignalService::Stub> stub(new SignalService::Stub(channel)); + return stub; +} + +SignalService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel) + : channel_(channel), rpcmethod_GetOrCreateSignal_(SignalService_method_names[0], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_ListSignals_(SignalService_method_names[1], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_SetSignal_(SignalService_method_names[2], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + {} + +::grpc::Status SignalService::Stub::GetOrCreateSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest& request, ::flyteidl::admin::Signal* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_GetOrCreateSignal_, context, request, response); +} + +void SignalService::Stub::experimental_async::GetOrCreateSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response, std::function f) { + ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_GetOrCreateSignal_, context, request, response, std::move(f)); +} + +void SignalService::Stub::experimental_async::GetOrCreateSignal(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::Signal* response, std::function f) { + ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_GetOrCreateSignal_, context, request, response, std::move(f)); +} + +void SignalService::Stub::experimental_async::GetOrCreateSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_GetOrCreateSignal_, context, request, response, reactor); +} + +void SignalService::Stub::experimental_async::GetOrCreateSignal(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::Signal* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_GetOrCreateSignal_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::flyteidl::admin::Signal>* SignalService::Stub::AsyncGetOrCreateSignalRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::flyteidl::admin::Signal>::Create(channel_.get(), cq, rpcmethod_GetOrCreateSignal_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::flyteidl::admin::Signal>* SignalService::Stub::PrepareAsyncGetOrCreateSignalRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::flyteidl::admin::Signal>::Create(channel_.get(), cq, rpcmethod_GetOrCreateSignal_, context, request, false); +} + +::grpc::Status SignalService::Stub::ListSignals(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest& request, ::flyteidl::admin::SignalList* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_ListSignals_, context, request, response); +} + +void SignalService::Stub::experimental_async::ListSignals(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response, std::function f) { + ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_ListSignals_, context, request, response, std::move(f)); +} + +void SignalService::Stub::experimental_async::ListSignals(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::SignalList* response, std::function f) { + ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_ListSignals_, context, request, response, std::move(f)); +} + +void SignalService::Stub::experimental_async::ListSignals(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_ListSignals_, context, request, response, reactor); +} + +void SignalService::Stub::experimental_async::ListSignals(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::SignalList* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_ListSignals_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalList>* SignalService::Stub::AsyncListSignalsRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::flyteidl::admin::SignalList>::Create(channel_.get(), cq, rpcmethod_ListSignals_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalList>* SignalService::Stub::PrepareAsyncListSignalsRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::flyteidl::admin::SignalList>::Create(channel_.get(), cq, rpcmethod_ListSignals_, context, request, false); +} + +::grpc::Status SignalService::Stub::SetSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest& request, ::flyteidl::admin::SignalSetResponse* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_SetSignal_, context, request, response); +} + +void SignalService::Stub::experimental_async::SetSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_SetSignal_, context, request, response, std::move(f)); +} + +void SignalService::Stub::experimental_async::SetSignal(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::SignalSetResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_SetSignal_, context, request, response, std::move(f)); +} + +void SignalService::Stub::experimental_async::SetSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_SetSignal_, context, request, response, reactor); +} + +void SignalService::Stub::experimental_async::SetSignal(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::SignalSetResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_SetSignal_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalSetResponse>* SignalService::Stub::AsyncSetSignalRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::flyteidl::admin::SignalSetResponse>::Create(channel_.get(), cq, rpcmethod_SetSignal_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalSetResponse>* SignalService::Stub::PrepareAsyncSetSignalRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::flyteidl::admin::SignalSetResponse>::Create(channel_.get(), cq, rpcmethod_SetSignal_, context, request, false); +} + +SignalService::Service::Service() { + AddMethod(new ::grpc::internal::RpcServiceMethod( + SignalService_method_names[0], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< SignalService::Service, ::flyteidl::admin::SignalGetOrCreateRequest, ::flyteidl::admin::Signal>( + std::mem_fn(&SignalService::Service::GetOrCreateSignal), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + SignalService_method_names[1], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< SignalService::Service, ::flyteidl::admin::SignalListRequest, ::flyteidl::admin::SignalList>( + std::mem_fn(&SignalService::Service::ListSignals), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + SignalService_method_names[2], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< SignalService::Service, ::flyteidl::admin::SignalSetRequest, ::flyteidl::admin::SignalSetResponse>( + std::mem_fn(&SignalService::Service::SetSignal), this))); +} + +SignalService::Service::~Service() { +} + +::grpc::Status SignalService::Service::GetOrCreateSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status SignalService::Service::ListSignals(::grpc::ServerContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status SignalService::Service::SetSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + + +} // namespace flyteidl +} // namespace service + diff --git a/gen/pb-cpp/flyteidl/service/signal.grpc.pb.h b/gen/pb-cpp/flyteidl/service/signal.grpc.pb.h new file mode 100644 index 0000000000..1153797302 --- /dev/null +++ b/gen/pb-cpp/flyteidl/service/signal.grpc.pb.h @@ -0,0 +1,587 @@ +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: flyteidl/service/signal.proto +#ifndef GRPC_flyteidl_2fservice_2fsignal_2eproto__INCLUDED +#define GRPC_flyteidl_2fservice_2fsignal_2eproto__INCLUDED + +#include "flyteidl/service/signal.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace grpc_impl { +class Channel; +class CompletionQueue; +class ServerCompletionQueue; +} // namespace grpc_impl + +namespace grpc { +namespace experimental { +template +class MessageAllocator; +} // namespace experimental +} // namespace grpc_impl + +namespace grpc { +class ServerContext; +} // namespace grpc + +namespace flyteidl { +namespace service { + +// SignalService defines an RPC Service that may create, update, and retrieve signal(s). +class SignalService final { + public: + static constexpr char const* service_full_name() { + return "flyteidl.service.SignalService"; + } + class StubInterface { + public: + virtual ~StubInterface() {} + // Fetches or creates a :ref:`ref_flyteidl.admin.Signal`. + virtual ::grpc::Status GetOrCreateSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest& request, ::flyteidl::admin::Signal* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::Signal>> AsyncGetOrCreateSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::Signal>>(AsyncGetOrCreateSignalRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::Signal>> PrepareAsyncGetOrCreateSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::Signal>>(PrepareAsyncGetOrCreateSignalRaw(context, request, cq)); + } + // Fetch a list of :ref:`ref_flyteidl.admin.Signal` definitions. + virtual ::grpc::Status ListSignals(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest& request, ::flyteidl::admin::SignalList* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::SignalList>> AsyncListSignals(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::SignalList>>(AsyncListSignalsRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::SignalList>> PrepareAsyncListSignals(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::SignalList>>(PrepareAsyncListSignalsRaw(context, request, cq)); + } + // Sets the value on a :ref:`ref_flyteidl.admin.Signal` definition + virtual ::grpc::Status SetSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest& request, ::flyteidl::admin::SignalSetResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::SignalSetResponse>> AsyncSetSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::SignalSetResponse>>(AsyncSetSignalRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::SignalSetResponse>> PrepareAsyncSetSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::SignalSetResponse>>(PrepareAsyncSetSignalRaw(context, request, cq)); + } + class experimental_async_interface { + public: + virtual ~experimental_async_interface() {} + // Fetches or creates a :ref:`ref_flyteidl.admin.Signal`. + virtual void GetOrCreateSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response, std::function) = 0; + virtual void GetOrCreateSignal(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::Signal* response, std::function) = 0; + virtual void GetOrCreateSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void GetOrCreateSignal(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::Signal* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + // Fetch a list of :ref:`ref_flyteidl.admin.Signal` definitions. + virtual void ListSignals(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response, std::function) = 0; + virtual void ListSignals(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::SignalList* response, std::function) = 0; + virtual void ListSignals(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void ListSignals(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::SignalList* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + // Sets the value on a :ref:`ref_flyteidl.admin.Signal` definition + virtual void SetSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response, std::function) = 0; + virtual void SetSignal(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::SignalSetResponse* response, std::function) = 0; + virtual void SetSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void SetSignal(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::SignalSetResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + }; + virtual class experimental_async_interface* experimental_async() { return nullptr; } + private: + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::Signal>* AsyncGetOrCreateSignalRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::Signal>* PrepareAsyncGetOrCreateSignalRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::SignalList>* AsyncListSignalsRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::SignalList>* PrepareAsyncListSignalsRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::SignalSetResponse>* AsyncSetSignalRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::SignalSetResponse>* PrepareAsyncSetSignalRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest& request, ::grpc::CompletionQueue* cq) = 0; + }; + class Stub final : public StubInterface { + public: + Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel); + ::grpc::Status GetOrCreateSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest& request, ::flyteidl::admin::Signal* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::Signal>> AsyncGetOrCreateSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::Signal>>(AsyncGetOrCreateSignalRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::Signal>> PrepareAsyncGetOrCreateSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::Signal>>(PrepareAsyncGetOrCreateSignalRaw(context, request, cq)); + } + ::grpc::Status ListSignals(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest& request, ::flyteidl::admin::SignalList* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalList>> AsyncListSignals(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalList>>(AsyncListSignalsRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalList>> PrepareAsyncListSignals(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalList>>(PrepareAsyncListSignalsRaw(context, request, cq)); + } + ::grpc::Status SetSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest& request, ::flyteidl::admin::SignalSetResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalSetResponse>> AsyncSetSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalSetResponse>>(AsyncSetSignalRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalSetResponse>> PrepareAsyncSetSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalSetResponse>>(PrepareAsyncSetSignalRaw(context, request, cq)); + } + class experimental_async final : + public StubInterface::experimental_async_interface { + public: + void GetOrCreateSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response, std::function) override; + void GetOrCreateSignal(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::Signal* response, std::function) override; + void GetOrCreateSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void GetOrCreateSignal(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::Signal* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void ListSignals(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response, std::function) override; + void ListSignals(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::SignalList* response, std::function) override; + void ListSignals(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void ListSignals(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::SignalList* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void SetSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response, std::function) override; + void SetSignal(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::SignalSetResponse* response, std::function) override; + void SetSignal(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void SetSignal(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::SignalSetResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + private: + friend class Stub; + explicit experimental_async(Stub* stub): stub_(stub) { } + Stub* stub() { return stub_; } + Stub* stub_; + }; + class experimental_async_interface* experimental_async() override { return &async_stub_; } + + private: + std::shared_ptr< ::grpc::ChannelInterface> channel_; + class experimental_async async_stub_{this}; + ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::Signal>* AsyncGetOrCreateSignalRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::Signal>* PrepareAsyncGetOrCreateSignalRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalList>* AsyncListSignalsRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalList>* PrepareAsyncListSignalsRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalListRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalSetResponse>* AsyncSetSignalRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::SignalSetResponse>* PrepareAsyncSetSignalRaw(::grpc::ClientContext* context, const ::flyteidl::admin::SignalSetRequest& request, ::grpc::CompletionQueue* cq) override; + const ::grpc::internal::RpcMethod rpcmethod_GetOrCreateSignal_; + const ::grpc::internal::RpcMethod rpcmethod_ListSignals_; + const ::grpc::internal::RpcMethod rpcmethod_SetSignal_; + }; + static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + + class Service : public ::grpc::Service { + public: + Service(); + virtual ~Service(); + // Fetches or creates a :ref:`ref_flyteidl.admin.Signal`. + virtual ::grpc::Status GetOrCreateSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response); + // Fetch a list of :ref:`ref_flyteidl.admin.Signal` definitions. + virtual ::grpc::Status ListSignals(::grpc::ServerContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response); + // Sets the value on a :ref:`ref_flyteidl.admin.Signal` definition + virtual ::grpc::Status SetSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response); + }; + template + class WithAsyncMethod_GetOrCreateSignal : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_GetOrCreateSignal() { + ::grpc::Service::MarkMethodAsync(0); + } + ~WithAsyncMethod_GetOrCreateSignal() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetOrCreateSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestGetOrCreateSignal(::grpc::ServerContext* context, ::flyteidl::admin::SignalGetOrCreateRequest* request, ::grpc::ServerAsyncResponseWriter< ::flyteidl::admin::Signal>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_ListSignals : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_ListSignals() { + ::grpc::Service::MarkMethodAsync(1); + } + ~WithAsyncMethod_ListSignals() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status ListSignals(::grpc::ServerContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestListSignals(::grpc::ServerContext* context, ::flyteidl::admin::SignalListRequest* request, ::grpc::ServerAsyncResponseWriter< ::flyteidl::admin::SignalList>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_SetSignal : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_SetSignal() { + ::grpc::Service::MarkMethodAsync(2); + } + ~WithAsyncMethod_SetSignal() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSetSignal(::grpc::ServerContext* context, ::flyteidl::admin::SignalSetRequest* request, ::grpc::ServerAsyncResponseWriter< ::flyteidl::admin::SignalSetResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag); + } + }; + typedef WithAsyncMethod_GetOrCreateSignal > > AsyncService; + template + class ExperimentalWithCallbackMethod_GetOrCreateSignal : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_GetOrCreateSignal() { + ::grpc::Service::experimental().MarkMethodCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::flyteidl::admin::SignalGetOrCreateRequest, ::flyteidl::admin::Signal>( + [this](::grpc::ServerContext* context, + const ::flyteidl::admin::SignalGetOrCreateRequest* request, + ::flyteidl::admin::Signal* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->GetOrCreateSignal(context, request, response, controller); + })); + } + void SetMessageAllocatorFor_GetOrCreateSignal( + ::grpc::experimental::MessageAllocator< ::flyteidl::admin::SignalGetOrCreateRequest, ::flyteidl::admin::Signal>* allocator) { + static_cast<::grpc::internal::CallbackUnaryHandler< ::flyteidl::admin::SignalGetOrCreateRequest, ::flyteidl::admin::Signal>*>( + ::grpc::Service::experimental().GetHandler(0)) + ->SetMessageAllocator(allocator); + } + ~ExperimentalWithCallbackMethod_GetOrCreateSignal() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetOrCreateSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void GetOrCreateSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_ListSignals : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_ListSignals() { + ::grpc::Service::experimental().MarkMethodCallback(1, + new ::grpc::internal::CallbackUnaryHandler< ::flyteidl::admin::SignalListRequest, ::flyteidl::admin::SignalList>( + [this](::grpc::ServerContext* context, + const ::flyteidl::admin::SignalListRequest* request, + ::flyteidl::admin::SignalList* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->ListSignals(context, request, response, controller); + })); + } + void SetMessageAllocatorFor_ListSignals( + ::grpc::experimental::MessageAllocator< ::flyteidl::admin::SignalListRequest, ::flyteidl::admin::SignalList>* allocator) { + static_cast<::grpc::internal::CallbackUnaryHandler< ::flyteidl::admin::SignalListRequest, ::flyteidl::admin::SignalList>*>( + ::grpc::Service::experimental().GetHandler(1)) + ->SetMessageAllocator(allocator); + } + ~ExperimentalWithCallbackMethod_ListSignals() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status ListSignals(::grpc::ServerContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void ListSignals(::grpc::ServerContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_SetSignal : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_SetSignal() { + ::grpc::Service::experimental().MarkMethodCallback(2, + new ::grpc::internal::CallbackUnaryHandler< ::flyteidl::admin::SignalSetRequest, ::flyteidl::admin::SignalSetResponse>( + [this](::grpc::ServerContext* context, + const ::flyteidl::admin::SignalSetRequest* request, + ::flyteidl::admin::SignalSetResponse* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->SetSignal(context, request, response, controller); + })); + } + void SetMessageAllocatorFor_SetSignal( + ::grpc::experimental::MessageAllocator< ::flyteidl::admin::SignalSetRequest, ::flyteidl::admin::SignalSetResponse>* allocator) { + static_cast<::grpc::internal::CallbackUnaryHandler< ::flyteidl::admin::SignalSetRequest, ::flyteidl::admin::SignalSetResponse>*>( + ::grpc::Service::experimental().GetHandler(2)) + ->SetMessageAllocator(allocator); + } + ~ExperimentalWithCallbackMethod_SetSignal() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void SetSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + typedef ExperimentalWithCallbackMethod_GetOrCreateSignal > > ExperimentalCallbackService; + template + class WithGenericMethod_GetOrCreateSignal : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_GetOrCreateSignal() { + ::grpc::Service::MarkMethodGeneric(0); + } + ~WithGenericMethod_GetOrCreateSignal() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetOrCreateSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_ListSignals : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_ListSignals() { + ::grpc::Service::MarkMethodGeneric(1); + } + ~WithGenericMethod_ListSignals() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status ListSignals(::grpc::ServerContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_SetSignal : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_SetSignal() { + ::grpc::Service::MarkMethodGeneric(2); + } + ~WithGenericMethod_SetSignal() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithRawMethod_GetOrCreateSignal : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_GetOrCreateSignal() { + ::grpc::Service::MarkMethodRaw(0); + } + ~WithRawMethod_GetOrCreateSignal() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetOrCreateSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestGetOrCreateSignal(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_ListSignals : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_ListSignals() { + ::grpc::Service::MarkMethodRaw(1); + } + ~WithRawMethod_ListSignals() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status ListSignals(::grpc::ServerContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestListSignals(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_SetSignal : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_SetSignal() { + ::grpc::Service::MarkMethodRaw(2); + } + ~WithRawMethod_SetSignal() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSetSignal(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class ExperimentalWithRawCallbackMethod_GetOrCreateSignal : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_GetOrCreateSignal() { + ::grpc::Service::experimental().MarkMethodRawCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->GetOrCreateSignal(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_GetOrCreateSignal() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetOrCreateSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void GetOrCreateSignal(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_ListSignals : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_ListSignals() { + ::grpc::Service::experimental().MarkMethodRawCallback(1, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->ListSignals(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_ListSignals() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status ListSignals(::grpc::ServerContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void ListSignals(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_SetSignal : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_SetSignal() { + ::grpc::Service::experimental().MarkMethodRawCallback(2, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->SetSignal(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_SetSignal() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void SetSignal(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class WithStreamedUnaryMethod_GetOrCreateSignal : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_GetOrCreateSignal() { + ::grpc::Service::MarkMethodStreamed(0, + new ::grpc::internal::StreamedUnaryHandler< ::flyteidl::admin::SignalGetOrCreateRequest, ::flyteidl::admin::Signal>(std::bind(&WithStreamedUnaryMethod_GetOrCreateSignal::StreamedGetOrCreateSignal, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_GetOrCreateSignal() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status GetOrCreateSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalGetOrCreateRequest* request, ::flyteidl::admin::Signal* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedGetOrCreateSignal(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flyteidl::admin::SignalGetOrCreateRequest,::flyteidl::admin::Signal>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_ListSignals : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_ListSignals() { + ::grpc::Service::MarkMethodStreamed(1, + new ::grpc::internal::StreamedUnaryHandler< ::flyteidl::admin::SignalListRequest, ::flyteidl::admin::SignalList>(std::bind(&WithStreamedUnaryMethod_ListSignals::StreamedListSignals, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_ListSignals() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status ListSignals(::grpc::ServerContext* context, const ::flyteidl::admin::SignalListRequest* request, ::flyteidl::admin::SignalList* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedListSignals(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flyteidl::admin::SignalListRequest,::flyteidl::admin::SignalList>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_SetSignal : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_SetSignal() { + ::grpc::Service::MarkMethodStreamed(2, + new ::grpc::internal::StreamedUnaryHandler< ::flyteidl::admin::SignalSetRequest, ::flyteidl::admin::SignalSetResponse>(std::bind(&WithStreamedUnaryMethod_SetSignal::StreamedSetSignal, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_SetSignal() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status SetSignal(::grpc::ServerContext* context, const ::flyteidl::admin::SignalSetRequest* request, ::flyteidl::admin::SignalSetResponse* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedSetSignal(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flyteidl::admin::SignalSetRequest,::flyteidl::admin::SignalSetResponse>* server_unary_streamer) = 0; + }; + typedef WithStreamedUnaryMethod_GetOrCreateSignal > > StreamedUnaryService; + typedef Service SplitStreamedService; + typedef WithStreamedUnaryMethod_GetOrCreateSignal > > StreamedService; +}; + +} // namespace service +} // namespace flyteidl + + +#endif // GRPC_flyteidl_2fservice_2fsignal_2eproto__INCLUDED diff --git a/gen/pb-cpp/flyteidl/service/signal.pb.cc b/gen/pb-cpp/flyteidl/service/signal.pb.cc new file mode 100644 index 0000000000..59ecaa1bb3 --- /dev/null +++ b/gen/pb-cpp/flyteidl/service/signal.pb.cc @@ -0,0 +1,96 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: flyteidl/service/signal.proto + +#include "flyteidl/service/signal.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include + +namespace flyteidl { +namespace service { +} // namespace service +} // namespace flyteidl +void InitDefaults_flyteidl_2fservice_2fsignal_2eproto() { +} + +constexpr ::google::protobuf::Metadata* file_level_metadata_flyteidl_2fservice_2fsignal_2eproto = nullptr; +constexpr ::google::protobuf::EnumDescriptor const** file_level_enum_descriptors_flyteidl_2fservice_2fsignal_2eproto = nullptr; +constexpr ::google::protobuf::ServiceDescriptor const** file_level_service_descriptors_flyteidl_2fservice_2fsignal_2eproto = nullptr; +const ::google::protobuf::uint32 TableStruct_flyteidl_2fservice_2fsignal_2eproto::offsets[1] = {}; +static constexpr ::google::protobuf::internal::MigrationSchema* schemas = nullptr; +static constexpr ::google::protobuf::Message* const* file_default_instances = nullptr; + +::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_flyteidl_2fservice_2fsignal_2eproto = { + {}, AddDescriptors_flyteidl_2fservice_2fsignal_2eproto, "flyteidl/service/signal.proto", schemas, + file_default_instances, TableStruct_flyteidl_2fservice_2fsignal_2eproto::offsets, + file_level_metadata_flyteidl_2fservice_2fsignal_2eproto, 0, file_level_enum_descriptors_flyteidl_2fservice_2fsignal_2eproto, file_level_service_descriptors_flyteidl_2fservice_2fsignal_2eproto, +}; + +const char descriptor_table_protodef_flyteidl_2fservice_2fsignal_2eproto[] = + "\n\035flyteidl/service/signal.proto\022\020flyteid" + "l.service\032\034google/api/annotations.proto\032" + "\033flyteidl/admin/signal.proto\032,protoc-gen" + "-swagger/options/annotations.proto2\347\005\n\rS" + "ignalService\022\220\001\n\021GetOrCreateSignal\022(.fly" + "teidl.admin.SignalGetOrCreateRequest\032\026.f" + "lyteidl.admin.Signal\"9\222A6\0324Retrieve a si" + "gnal, creating it if it does not exist.\022" + "\216\002\n\013ListSignals\022!.flyteidl.admin.SignalL" + "istRequest\032\032.flyteidl.admin.SignalList\"\277" + "\001\202\323\344\223\002m\022k/api/v1/signals/{workflow_execu" + "tion_id.project}/{workflow_execution_id." + "domain}/{workflow_execution_id.name}\222AI\032" + "GFetch existing signal definitions match" + "ing the input signal id filters.\022\261\002\n\tSet" + "Signal\022 .flyteidl.admin.SignalSetRequest" + "\032!.flyteidl.admin.SignalSetResponse\"\336\001\202\323" + "\344\223\002\024\"\017/api/v1/signals:\001*\222A\300\001\032\023Set a sign" + "al value.JB\n\003400\022;\n9Returned for bad req" + "uest that may have failed validation.Je\n" + "\003409\022^\n\\Returned for a request that refe" + "rences an identical entity that has alre" + "ady been registered.B9Z7github.com/flyte" + "org/flyteidl/gen/pb-go/flyteidl/serviceb" + "\006proto3" + ; +::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fservice_2fsignal_2eproto = { + false, InitDefaults_flyteidl_2fservice_2fsignal_2eproto, + descriptor_table_protodef_flyteidl_2fservice_2fsignal_2eproto, + "flyteidl/service/signal.proto", &assign_descriptors_table_flyteidl_2fservice_2fsignal_2eproto, 967, +}; + +void AddDescriptors_flyteidl_2fservice_2fsignal_2eproto() { + static constexpr ::google::protobuf::internal::InitFunc deps[3] = + { + ::AddDescriptors_google_2fapi_2fannotations_2eproto, + ::AddDescriptors_flyteidl_2fadmin_2fsignal_2eproto, + ::AddDescriptors_protoc_2dgen_2dswagger_2foptions_2fannotations_2eproto, + }; + ::google::protobuf::internal::AddDescriptors(&descriptor_table_flyteidl_2fservice_2fsignal_2eproto, deps, 3); +} + +// Force running AddDescriptors() at dynamic initialization time. +static bool dynamic_init_dummy_flyteidl_2fservice_2fsignal_2eproto = []() { AddDescriptors_flyteidl_2fservice_2fsignal_2eproto(); return true; }(); +namespace flyteidl { +namespace service { + +// @@protoc_insertion_point(namespace_scope) +} // namespace service +} // namespace flyteidl +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) +#include diff --git a/gen/pb-cpp/flyteidl/service/signal.pb.h b/gen/pb-cpp/flyteidl/service/signal.pb.h new file mode 100644 index 0000000000..21613d1417 --- /dev/null +++ b/gen/pb-cpp/flyteidl/service/signal.pb.h @@ -0,0 +1,83 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: flyteidl/service/signal.proto + +#ifndef PROTOBUF_INCLUDED_flyteidl_2fservice_2fsignal_2eproto +#define PROTOBUF_INCLUDED_flyteidl_2fservice_2fsignal_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3007000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3007000 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include "google/api/annotations.pb.h" +#include "flyteidl/admin/signal.pb.h" +#include "protoc-gen-swagger/options/annotations.pb.h" +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_flyteidl_2fservice_2fsignal_2eproto + +// Internal implementation detail -- do not use these members. +struct TableStruct_flyteidl_2fservice_2fsignal_2eproto { + static const ::google::protobuf::internal::ParseTableField entries[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::google::protobuf::internal::AuxillaryParseTableField aux[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::google::protobuf::internal::ParseTable schema[1] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::google::protobuf::internal::FieldMetadata field_metadata[]; + static const ::google::protobuf::internal::SerializationTable serialization_table[]; + static const ::google::protobuf::uint32 offsets[]; +}; +void AddDescriptors_flyteidl_2fservice_2fsignal_2eproto(); +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google +namespace flyteidl { +namespace service { + +// =================================================================== + + +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) + +} // namespace service +} // namespace flyteidl + +// @@protoc_insertion_point(global_scope) + +#include +#endif // PROTOBUF_INCLUDED_flyteidl_2fservice_2fsignal_2eproto diff --git a/gen/pb-go/flyteidl/admin/signal.pb.go b/gen/pb-go/flyteidl/admin/signal.pb.go new file mode 100644 index 0000000000..52c3dcc4f1 --- /dev/null +++ b/gen/pb-go/flyteidl/admin/signal.pb.go @@ -0,0 +1,397 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: flyteidl/admin/signal.proto + +package admin + +import ( + fmt "fmt" + core "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/core" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// SignalGetOrCreateRequest represents a request structure to retrive or create a signal. +// See :ref:`ref_flyteidl.admin.Signal` for more details +type SignalGetOrCreateRequest struct { + // A unique identifier for the requested signal. + Id *core.SignalIdentifier `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // A type denoting the required value type for this signal. + Type *core.LiteralType `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalGetOrCreateRequest) Reset() { *m = SignalGetOrCreateRequest{} } +func (m *SignalGetOrCreateRequest) String() string { return proto.CompactTextString(m) } +func (*SignalGetOrCreateRequest) ProtoMessage() {} +func (*SignalGetOrCreateRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4b1c2d4aa3794afa, []int{0} +} + +func (m *SignalGetOrCreateRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalGetOrCreateRequest.Unmarshal(m, b) +} +func (m *SignalGetOrCreateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalGetOrCreateRequest.Marshal(b, m, deterministic) +} +func (m *SignalGetOrCreateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalGetOrCreateRequest.Merge(m, src) +} +func (m *SignalGetOrCreateRequest) XXX_Size() int { + return xxx_messageInfo_SignalGetOrCreateRequest.Size(m) +} +func (m *SignalGetOrCreateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SignalGetOrCreateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalGetOrCreateRequest proto.InternalMessageInfo + +func (m *SignalGetOrCreateRequest) GetId() *core.SignalIdentifier { + if m != nil { + return m.Id + } + return nil +} + +func (m *SignalGetOrCreateRequest) GetType() *core.LiteralType { + if m != nil { + return m.Type + } + return nil +} + +// SignalListRequest represents a request structure to retrieve a collection of signals. +// See :ref:`ref_flyteidl.admin.Signal` for more details +type SignalListRequest struct { + // Indicates the workflow execution to filter by. + // +required + WorkflowExecutionId *core.WorkflowExecutionIdentifier `protobuf:"bytes,1,opt,name=workflow_execution_id,json=workflowExecutionId,proto3" json:"workflow_execution_id,omitempty"` + // Indicates the number of resources to be returned. + // +required + Limit uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + // In the case of multiple pages of results, the, server-provided token can be used to fetch the next page + // in a query. + // +optional + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` + // Indicates a list of filters passed as string. + // +optional + Filters string `protobuf:"bytes,4,opt,name=filters,proto3" json:"filters,omitempty"` + // Sort ordering. + // +optional + SortBy *Sort `protobuf:"bytes,5,opt,name=sort_by,json=sortBy,proto3" json:"sort_by,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalListRequest) Reset() { *m = SignalListRequest{} } +func (m *SignalListRequest) String() string { return proto.CompactTextString(m) } +func (*SignalListRequest) ProtoMessage() {} +func (*SignalListRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4b1c2d4aa3794afa, []int{1} +} + +func (m *SignalListRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalListRequest.Unmarshal(m, b) +} +func (m *SignalListRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalListRequest.Marshal(b, m, deterministic) +} +func (m *SignalListRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalListRequest.Merge(m, src) +} +func (m *SignalListRequest) XXX_Size() int { + return xxx_messageInfo_SignalListRequest.Size(m) +} +func (m *SignalListRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SignalListRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalListRequest proto.InternalMessageInfo + +func (m *SignalListRequest) GetWorkflowExecutionId() *core.WorkflowExecutionIdentifier { + if m != nil { + return m.WorkflowExecutionId + } + return nil +} + +func (m *SignalListRequest) GetLimit() uint32 { + if m != nil { + return m.Limit + } + return 0 +} + +func (m *SignalListRequest) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *SignalListRequest) GetFilters() string { + if m != nil { + return m.Filters + } + return "" +} + +func (m *SignalListRequest) GetSortBy() *Sort { + if m != nil { + return m.SortBy + } + return nil +} + +// SignalList represents collection of signals along with the token of the last result. +// See :ref:`ref_flyteidl.admin.Signal` for more details +type SignalList struct { + // A list of signals matching the input filters. + Signals []*Signal `protobuf:"bytes,1,rep,name=signals,proto3" json:"signals,omitempty"` + // In the case of multiple pages of results, the server-provided token can be used to fetch the next page + // in a query. If there are no more results, this value will be empty. + Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalList) Reset() { *m = SignalList{} } +func (m *SignalList) String() string { return proto.CompactTextString(m) } +func (*SignalList) ProtoMessage() {} +func (*SignalList) Descriptor() ([]byte, []int) { + return fileDescriptor_4b1c2d4aa3794afa, []int{2} +} + +func (m *SignalList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalList.Unmarshal(m, b) +} +func (m *SignalList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalList.Marshal(b, m, deterministic) +} +func (m *SignalList) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalList.Merge(m, src) +} +func (m *SignalList) XXX_Size() int { + return xxx_messageInfo_SignalList.Size(m) +} +func (m *SignalList) XXX_DiscardUnknown() { + xxx_messageInfo_SignalList.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalList proto.InternalMessageInfo + +func (m *SignalList) GetSignals() []*Signal { + if m != nil { + return m.Signals + } + return nil +} + +func (m *SignalList) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +// SignalSetRequest represents a request structure to set the value on a signal. Setting a signal +// effetively satisfies the signal condition within a Flyte workflow. +// See :ref:`ref_flyteidl.admin.Signal` for more details +type SignalSetRequest struct { + // A unique identifier for the requested signal. + Id *core.SignalIdentifier `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The value of this signal, must match the defining signal type. + Value *core.Literal `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalSetRequest) Reset() { *m = SignalSetRequest{} } +func (m *SignalSetRequest) String() string { return proto.CompactTextString(m) } +func (*SignalSetRequest) ProtoMessage() {} +func (*SignalSetRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4b1c2d4aa3794afa, []int{3} +} + +func (m *SignalSetRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalSetRequest.Unmarshal(m, b) +} +func (m *SignalSetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalSetRequest.Marshal(b, m, deterministic) +} +func (m *SignalSetRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalSetRequest.Merge(m, src) +} +func (m *SignalSetRequest) XXX_Size() int { + return xxx_messageInfo_SignalSetRequest.Size(m) +} +func (m *SignalSetRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SignalSetRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalSetRequest proto.InternalMessageInfo + +func (m *SignalSetRequest) GetId() *core.SignalIdentifier { + if m != nil { + return m.Id + } + return nil +} + +func (m *SignalSetRequest) GetValue() *core.Literal { + if m != nil { + return m.Value + } + return nil +} + +// SignalSetResponse represents a response structure if signal setting succeeds. +type SignalSetResponse struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalSetResponse) Reset() { *m = SignalSetResponse{} } +func (m *SignalSetResponse) String() string { return proto.CompactTextString(m) } +func (*SignalSetResponse) ProtoMessage() {} +func (*SignalSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4b1c2d4aa3794afa, []int{4} +} + +func (m *SignalSetResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalSetResponse.Unmarshal(m, b) +} +func (m *SignalSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalSetResponse.Marshal(b, m, deterministic) +} +func (m *SignalSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalSetResponse.Merge(m, src) +} +func (m *SignalSetResponse) XXX_Size() int { + return xxx_messageInfo_SignalSetResponse.Size(m) +} +func (m *SignalSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SignalSetResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalSetResponse proto.InternalMessageInfo + +// Signal encapsulates a unique identifier, associated metadata, and a value for a single Flyte +// signal. Signals may exist either without a set value (representing a signal request) or with a +// populated value (indicating the signal has been given). +type Signal struct { + // A unique identifier for the requested signal. + Id *core.SignalIdentifier `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // A type denoting the required value type for this signal. + Type *core.LiteralType `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + // The value of the signal. This is only available if the signal has been "set" and must match + // the defined the type. + Value *core.Literal `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Signal) Reset() { *m = Signal{} } +func (m *Signal) String() string { return proto.CompactTextString(m) } +func (*Signal) ProtoMessage() {} +func (*Signal) Descriptor() ([]byte, []int) { + return fileDescriptor_4b1c2d4aa3794afa, []int{5} +} + +func (m *Signal) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Signal.Unmarshal(m, b) +} +func (m *Signal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Signal.Marshal(b, m, deterministic) +} +func (m *Signal) XXX_Merge(src proto.Message) { + xxx_messageInfo_Signal.Merge(m, src) +} +func (m *Signal) XXX_Size() int { + return xxx_messageInfo_Signal.Size(m) +} +func (m *Signal) XXX_DiscardUnknown() { + xxx_messageInfo_Signal.DiscardUnknown(m) +} + +var xxx_messageInfo_Signal proto.InternalMessageInfo + +func (m *Signal) GetId() *core.SignalIdentifier { + if m != nil { + return m.Id + } + return nil +} + +func (m *Signal) GetType() *core.LiteralType { + if m != nil { + return m.Type + } + return nil +} + +func (m *Signal) GetValue() *core.Literal { + if m != nil { + return m.Value + } + return nil +} + +func init() { + proto.RegisterType((*SignalGetOrCreateRequest)(nil), "flyteidl.admin.SignalGetOrCreateRequest") + proto.RegisterType((*SignalListRequest)(nil), "flyteidl.admin.SignalListRequest") + proto.RegisterType((*SignalList)(nil), "flyteidl.admin.SignalList") + proto.RegisterType((*SignalSetRequest)(nil), "flyteidl.admin.SignalSetRequest") + proto.RegisterType((*SignalSetResponse)(nil), "flyteidl.admin.SignalSetResponse") + proto.RegisterType((*Signal)(nil), "flyteidl.admin.Signal") +} + +func init() { proto.RegisterFile("flyteidl/admin/signal.proto", fileDescriptor_4b1c2d4aa3794afa) } + +var fileDescriptor_4b1c2d4aa3794afa = []byte{ + // 429 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x93, 0x51, 0x8b, 0xd3, 0x40, + 0x10, 0xc7, 0x49, 0x7b, 0x6d, 0x71, 0x0f, 0x45, 0x73, 0xe7, 0xb1, 0x56, 0xd1, 0x92, 0xa7, 0x22, + 0xde, 0xae, 0x9c, 0x88, 0xef, 0x27, 0x22, 0xc2, 0x81, 0xb0, 0x3d, 0x10, 0x7c, 0xb0, 0xa4, 0xcd, + 0x34, 0x2e, 0xb7, 0xd9, 0xcd, 0xed, 0x4e, 0xad, 0xc1, 0x0f, 0xe2, 0x57, 0xf4, 0x63, 0x48, 0x77, + 0x93, 0xf4, 0xd2, 0xf3, 0x41, 0x04, 0x1f, 0x67, 0xfe, 0xff, 0x99, 0xfc, 0xc2, 0x7f, 0x87, 0x3c, + 0x5e, 0xa9, 0x0a, 0x41, 0x66, 0x8a, 0xa7, 0x59, 0x21, 0x35, 0x77, 0x32, 0xd7, 0xa9, 0x62, 0xa5, + 0x35, 0x68, 0xe2, 0x7b, 0x8d, 0xc8, 0xbc, 0x38, 0xde, 0x37, 0x2f, 0x4d, 0x51, 0x18, 0x1d, 0xcc, + 0xe3, 0xa7, 0xad, 0xb8, 0x34, 0x16, 0xb8, 0xcc, 0x40, 0xa3, 0x5c, 0x49, 0xb0, 0xb5, 0xfe, 0xa4, + 0xab, 0x2b, 0x89, 0x60, 0x53, 0xe5, 0x6a, 0xf5, 0x51, 0x57, 0xc5, 0xaa, 0x84, 0x5a, 0x4a, 0x7e, + 0x10, 0x3a, 0xf3, 0x54, 0xef, 0x01, 0x3f, 0xda, 0xb7, 0x16, 0x52, 0x04, 0x01, 0xd7, 0x6b, 0x70, + 0x18, 0x73, 0xd2, 0x93, 0x19, 0x8d, 0x26, 0xd1, 0xf4, 0xf0, 0xec, 0x19, 0x6b, 0x71, 0xb7, 0x3b, + 0x58, 0x18, 0xfa, 0xd0, 0x72, 0x88, 0x9e, 0xcc, 0x62, 0x46, 0x0e, 0xb6, 0xbb, 0x69, 0xcf, 0x8f, + 0x8c, 0xf7, 0x46, 0x2e, 0x02, 0xd4, 0x65, 0x55, 0x82, 0xf0, 0xbe, 0xe4, 0x57, 0x44, 0x1e, 0x84, + 0x45, 0x17, 0xd2, 0x61, 0xf3, 0xd9, 0x2f, 0xe4, 0xe1, 0xc6, 0xd8, 0xab, 0x95, 0x32, 0x9b, 0x39, + 0x7c, 0x87, 0xe5, 0x1a, 0xa5, 0xd1, 0xf3, 0x96, 0xe4, 0xf9, 0xde, 0xda, 0x4f, 0xb5, 0xf7, 0x5d, + 0x63, 0xbd, 0x01, 0x75, 0xb4, 0xb9, 0x2d, 0xc6, 0xc7, 0x64, 0xa0, 0x64, 0x21, 0xd1, 0x63, 0xde, + 0x15, 0xa1, 0xd8, 0x76, 0xd1, 0x5c, 0x81, 0xa6, 0xfd, 0x49, 0x34, 0xbd, 0x23, 0x42, 0x11, 0x53, + 0x32, 0x5a, 0x49, 0x85, 0x60, 0x1d, 0x3d, 0xf0, 0xfd, 0xa6, 0x8c, 0x4f, 0xc9, 0xc8, 0x19, 0x8b, + 0xf3, 0x45, 0x45, 0x07, 0x9e, 0xeb, 0x98, 0x75, 0x03, 0x65, 0x33, 0x63, 0x51, 0x0c, 0xb7, 0xa6, + 0xf3, 0x2a, 0xb9, 0x24, 0x64, 0xf7, 0xa7, 0xf1, 0x4b, 0x32, 0x0a, 0x6f, 0xc1, 0xd1, 0x68, 0xd2, + 0x9f, 0x1e, 0x9e, 0x9d, 0xdc, 0x1a, 0xf6, 0xb2, 0x68, 0x6c, 0x3b, 0xbc, 0xde, 0x0d, 0xbc, 0xe4, + 0x9a, 0xdc, 0x0f, 0xc6, 0x19, 0xe0, 0x3f, 0xa7, 0xf6, 0x82, 0x0c, 0xbe, 0xa5, 0x6a, 0xdd, 0xc4, + 0x76, 0xf2, 0xe7, 0xd8, 0x44, 0x30, 0x25, 0x47, 0x4d, 0x64, 0xfe, 0x93, 0xae, 0x34, 0xda, 0x41, + 0xf2, 0x33, 0x22, 0xc3, 0xd0, 0xfd, 0xef, 0x8f, 0x66, 0x87, 0xdb, 0xff, 0x0b, 0xdc, 0xf3, 0x37, + 0x9f, 0x5f, 0xe7, 0x12, 0xbf, 0xae, 0x17, 0x6c, 0x69, 0x0a, 0xee, 0xad, 0xc6, 0xe6, 0xbc, 0x3d, + 0x88, 0x1c, 0x34, 0x2f, 0x17, 0xa7, 0xb9, 0xe1, 0xdd, 0xf3, 0x5b, 0x0c, 0xfd, 0x7d, 0xbc, 0xfa, + 0x1d, 0x00, 0x00, 0xff, 0xff, 0xcf, 0x2a, 0x71, 0x78, 0xc4, 0x03, 0x00, 0x00, +} diff --git a/gen/pb-go/flyteidl/admin/signal.pb.validate.go b/gen/pb-go/flyteidl/admin/signal.pb.validate.go new file mode 100644 index 0000000000..bd497009e3 --- /dev/null +++ b/gen/pb-go/flyteidl/admin/signal.pb.validate.go @@ -0,0 +1,544 @@ +// Code generated by protoc-gen-validate. DO NOT EDIT. +// source: flyteidl/admin/signal.proto + +package admin + +import ( + "bytes" + "errors" + "fmt" + "net" + "net/mail" + "net/url" + "regexp" + "strings" + "time" + "unicode/utf8" + + "github.com/golang/protobuf/ptypes" +) + +// 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) + _ = ptypes.DynamicAny{} +) + +// define the regex for a UUID once up-front +var _signal_uuidPattern = regexp.MustCompile("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$") + +// Validate checks the field values on SignalGetOrCreateRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, an error is returned. +func (m *SignalGetOrCreateRequest) Validate() error { + if m == nil { + return nil + } + + if v, ok := interface{}(m.GetId()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SignalGetOrCreateRequestValidationError{ + field: "Id", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetType()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SignalGetOrCreateRequestValidationError{ + field: "Type", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// SignalGetOrCreateRequestValidationError is the validation error returned by +// SignalGetOrCreateRequest.Validate if the designated constraints aren't met. +type SignalGetOrCreateRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SignalGetOrCreateRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SignalGetOrCreateRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SignalGetOrCreateRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SignalGetOrCreateRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SignalGetOrCreateRequestValidationError) ErrorName() string { + return "SignalGetOrCreateRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e SignalGetOrCreateRequestValidationError) 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 %sSignalGetOrCreateRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SignalGetOrCreateRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SignalGetOrCreateRequestValidationError{} + +// Validate checks the field values on SignalListRequest with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *SignalListRequest) Validate() error { + if m == nil { + return nil + } + + if v, ok := interface{}(m.GetWorkflowExecutionId()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SignalListRequestValidationError{ + field: "WorkflowExecutionId", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Limit + + // no validation rules for Token + + // no validation rules for Filters + + if v, ok := interface{}(m.GetSortBy()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SignalListRequestValidationError{ + field: "SortBy", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// SignalListRequestValidationError is the validation error returned by +// SignalListRequest.Validate if the designated constraints aren't met. +type SignalListRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SignalListRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SignalListRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SignalListRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SignalListRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SignalListRequestValidationError) ErrorName() string { + return "SignalListRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e SignalListRequestValidationError) 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 %sSignalListRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SignalListRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SignalListRequestValidationError{} + +// Validate checks the field values on SignalList with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *SignalList) Validate() error { + if m == nil { + return nil + } + + for idx, item := range m.GetSignals() { + _, _ = idx, item + + if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SignalListValidationError{ + field: fmt.Sprintf("Signals[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for Token + + return nil +} + +// SignalListValidationError is the validation error returned by +// SignalList.Validate if the designated constraints aren't met. +type SignalListValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SignalListValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SignalListValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SignalListValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SignalListValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SignalListValidationError) ErrorName() string { return "SignalListValidationError" } + +// Error satisfies the builtin error interface +func (e SignalListValidationError) 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 %sSignalList.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SignalListValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SignalListValidationError{} + +// Validate checks the field values on SignalSetRequest with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *SignalSetRequest) Validate() error { + if m == nil { + return nil + } + + if v, ok := interface{}(m.GetId()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SignalSetRequestValidationError{ + field: "Id", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetValue()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SignalSetRequestValidationError{ + field: "Value", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// SignalSetRequestValidationError is the validation error returned by +// SignalSetRequest.Validate if the designated constraints aren't met. +type SignalSetRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SignalSetRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SignalSetRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SignalSetRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SignalSetRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SignalSetRequestValidationError) ErrorName() string { return "SignalSetRequestValidationError" } + +// Error satisfies the builtin error interface +func (e SignalSetRequestValidationError) 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 %sSignalSetRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SignalSetRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SignalSetRequestValidationError{} + +// Validate checks the field values on SignalSetResponse with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *SignalSetResponse) Validate() error { + if m == nil { + return nil + } + + return nil +} + +// SignalSetResponseValidationError is the validation error returned by +// SignalSetResponse.Validate if the designated constraints aren't met. +type SignalSetResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SignalSetResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SignalSetResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SignalSetResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SignalSetResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SignalSetResponseValidationError) ErrorName() string { + return "SignalSetResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e SignalSetResponseValidationError) 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 %sSignalSetResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SignalSetResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SignalSetResponseValidationError{} + +// Validate checks the field values on Signal with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *Signal) Validate() error { + if m == nil { + return nil + } + + if v, ok := interface{}(m.GetId()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SignalValidationError{ + field: "Id", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetType()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SignalValidationError{ + field: "Type", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetValue()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SignalValidationError{ + field: "Value", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// SignalValidationError is the validation error returned by Signal.Validate if +// the designated constraints aren't met. +type SignalValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SignalValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SignalValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SignalValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SignalValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SignalValidationError) ErrorName() string { return "SignalValidationError" } + +// Error satisfies the builtin error interface +func (e SignalValidationError) 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 %sSignal.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SignalValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SignalValidationError{} diff --git a/gen/pb-go/flyteidl/admin/signal.swagger.json b/gen/pb-go/flyteidl/admin/signal.swagger.json new file mode 100644 index 0000000000..968dff5b23 --- /dev/null +++ b/gen/pb-go/flyteidl/admin/signal.swagger.json @@ -0,0 +1,19 @@ +{ + "swagger": "2.0", + "info": { + "title": "flyteidl/admin/signal.proto", + "version": "version not set" + }, + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": {} +} diff --git a/gen/pb-go/flyteidl/core/identifier.pb.go b/gen/pb-go/flyteidl/core/identifier.pb.go index af0834fcaf..0fc64f4902 100644 --- a/gen/pb-go/flyteidl/core/identifier.pb.go +++ b/gen/pb-go/flyteidl/core/identifier.pb.go @@ -300,44 +300,97 @@ func (m *TaskExecutionIdentifier) GetRetryAttempt() uint32 { return 0 } +// Encapsulation of fields the uniquely identify a signal. +type SignalIdentifier struct { + // Unique identifier for a signal. + SignalId string `protobuf:"bytes,1,opt,name=signal_id,json=signalId,proto3" json:"signal_id,omitempty"` + // Identifies the Flyte workflow execution this signal belongs to. + ExecutionId *WorkflowExecutionIdentifier `protobuf:"bytes,2,opt,name=execution_id,json=executionId,proto3" json:"execution_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalIdentifier) Reset() { *m = SignalIdentifier{} } +func (m *SignalIdentifier) String() string { return proto.CompactTextString(m) } +func (*SignalIdentifier) ProtoMessage() {} +func (*SignalIdentifier) Descriptor() ([]byte, []int) { + return fileDescriptor_adfa846a86e1fa0c, []int{4} +} + +func (m *SignalIdentifier) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalIdentifier.Unmarshal(m, b) +} +func (m *SignalIdentifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalIdentifier.Marshal(b, m, deterministic) +} +func (m *SignalIdentifier) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalIdentifier.Merge(m, src) +} +func (m *SignalIdentifier) XXX_Size() int { + return xxx_messageInfo_SignalIdentifier.Size(m) +} +func (m *SignalIdentifier) XXX_DiscardUnknown() { + xxx_messageInfo_SignalIdentifier.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalIdentifier proto.InternalMessageInfo + +func (m *SignalIdentifier) GetSignalId() string { + if m != nil { + return m.SignalId + } + return "" +} + +func (m *SignalIdentifier) GetExecutionId() *WorkflowExecutionIdentifier { + if m != nil { + return m.ExecutionId + } + return nil +} + func init() { proto.RegisterEnum("flyteidl.core.ResourceType", ResourceType_name, ResourceType_value) proto.RegisterType((*Identifier)(nil), "flyteidl.core.Identifier") proto.RegisterType((*WorkflowExecutionIdentifier)(nil), "flyteidl.core.WorkflowExecutionIdentifier") proto.RegisterType((*NodeExecutionIdentifier)(nil), "flyteidl.core.NodeExecutionIdentifier") proto.RegisterType((*TaskExecutionIdentifier)(nil), "flyteidl.core.TaskExecutionIdentifier") + proto.RegisterType((*SignalIdentifier)(nil), "flyteidl.core.SignalIdentifier") } func init() { proto.RegisterFile("flyteidl/core/identifier.proto", fileDescriptor_adfa846a86e1fa0c) } var fileDescriptor_adfa846a86e1fa0c = []byte{ - // 439 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x53, 0xd1, 0x6e, 0xd3, 0x30, - 0x14, 0xc5, 0x5d, 0x69, 0xc7, 0x4d, 0xcb, 0x82, 0x1f, 0x68, 0xd0, 0x24, 0x34, 0x15, 0x09, 0x4d, - 0x93, 0x48, 0xa4, 0x82, 0x78, 0x26, 0x6c, 0x9d, 0x88, 0x56, 0xba, 0x29, 0x4d, 0x55, 0x89, 0x97, - 0x2a, 0x8d, 0x6f, 0x8b, 0x69, 0x6b, 0x47, 0xae, 0x0b, 0xe4, 0x91, 0x1f, 0xe2, 0x33, 0xf8, 0x2e, - 0xe4, 0xac, 0x19, 0x69, 0xd5, 0xb1, 0xb7, 0x9c, 0x7b, 0x8e, 0xef, 0x39, 0x37, 0xbe, 0x86, 0x97, - 0xd3, 0x45, 0xa6, 0x91, 0xb3, 0x85, 0x97, 0x48, 0x85, 0x1e, 0x67, 0x28, 0x34, 0x9f, 0x72, 0x54, - 0x6e, 0xaa, 0xa4, 0x96, 0xb4, 0x59, 0xf0, 0xae, 0xe1, 0xdb, 0xbf, 0x09, 0x40, 0x70, 0xa7, 0xa1, - 0x1f, 0xa0, 0xa9, 0x70, 0x25, 0xd7, 0x2a, 0xc1, 0xb1, 0xce, 0x52, 0x74, 0xc8, 0x09, 0x39, 0x7d, - 0xda, 0x39, 0x76, 0xb7, 0x4e, 0xb9, 0xe1, 0x46, 0x13, 0x65, 0x29, 0x86, 0x0d, 0x55, 0x42, 0xd4, - 0x81, 0x7a, 0xaa, 0xe4, 0x37, 0x4c, 0xb4, 0x53, 0x39, 0x21, 0xa7, 0x4f, 0xc2, 0x02, 0xd2, 0xe7, - 0x50, 0x63, 0x72, 0x19, 0x73, 0xe1, 0x1c, 0xe4, 0xc4, 0x06, 0x51, 0x0a, 0x55, 0x11, 0x2f, 0xd1, - 0xa9, 0xe6, 0xd5, 0xfc, 0xdb, 0x74, 0xf9, 0x8e, 0x6a, 0xc5, 0xa5, 0x70, 0x1e, 0xdf, 0x76, 0xd9, - 0xc0, 0x76, 0x02, 0xc7, 0x23, 0xa9, 0xe6, 0xd3, 0x85, 0xfc, 0xd1, 0xfd, 0x89, 0xc9, 0x5a, 0x73, - 0x29, 0x4a, 0x03, 0x94, 0xec, 0xc9, 0x7d, 0xf6, 0x95, 0x87, 0xec, 0xdb, 0xbf, 0x08, 0xb4, 0xfa, - 0x92, 0xe1, 0x3e, 0x87, 0x16, 0xd4, 0x85, 0x64, 0x38, 0xe6, 0x6c, 0xe3, 0x50, 0x33, 0x30, 0x60, - 0xf4, 0x33, 0x34, 0xb0, 0xd0, 0x1b, 0xd6, 0xd8, 0x58, 0x9d, 0xb3, 0x9d, 0x5f, 0xf7, 0x9f, 0xf0, - 0xa1, 0x85, 0xff, 0x8a, 0xed, 0x3f, 0x04, 0x5a, 0x51, 0xbc, 0x9a, 0xef, 0xcb, 0xd0, 0x81, 0xba, - 0x8e, 0x57, 0xf3, 0x22, 0x83, 0xd5, 0x79, 0xb1, 0xe3, 0x52, 0x6a, 0x5a, 0x33, 0xca, 0x80, 0xd1, - 0x10, 0x9e, 0xe5, 0xb9, 0xf7, 0x64, 0x7c, 0xbd, 0x73, 0xfa, 0x9e, 0xd1, 0xc3, 0x23, 0xb1, 0x4d, - 0xd0, 0x57, 0x66, 0x5d, 0xb4, 0xca, 0xc6, 0xb1, 0xd6, 0xb8, 0x4c, 0x75, 0x7e, 0xb3, 0x4d, 0xb3, - 0x11, 0x5a, 0x65, 0xfe, 0x6d, 0xed, 0x6c, 0x08, 0x8d, 0xf2, 0xbe, 0xd0, 0x23, 0xb0, 0x86, 0xfd, - 0xc1, 0x4d, 0xf7, 0x3c, 0xb8, 0x0c, 0xba, 0x17, 0xf6, 0x23, 0x7a, 0x08, 0xd5, 0xc8, 0x1f, 0x5c, - 0xd9, 0x84, 0x36, 0xe0, 0x70, 0x74, 0x1d, 0x5e, 0x5d, 0xf6, 0xae, 0x47, 0x76, 0xc5, 0x08, 0x7b, - 0xfe, 0xb0, 0x7f, 0xfe, 0x69, 0x7c, 0xd3, 0xf3, 0xfb, 0xf6, 0x01, 0xb5, 0xa0, 0x7e, 0xe1, 0x47, - 0xfe, 0xa0, 0x1b, 0xd9, 0xd5, 0x8f, 0xef, 0xbf, 0xbc, 0x9b, 0x71, 0xfd, 0x75, 0x3d, 0x71, 0x13, - 0xb9, 0xf4, 0xf2, 0x01, 0xa4, 0x9a, 0x79, 0x77, 0xeb, 0x3f, 0x43, 0xe1, 0xa5, 0x93, 0x37, 0x33, - 0xe9, 0x6d, 0xbd, 0x88, 0x49, 0x2d, 0x7f, 0x07, 0x6f, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xab, - 0x18, 0x11, 0x5a, 0x29, 0x03, 0x00, 0x00, + // 465 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x53, 0xc1, 0x6e, 0xd3, 0x40, + 0x10, 0xc5, 0x69, 0x48, 0xd2, 0x49, 0x42, 0xcd, 0x1e, 0x88, 0x51, 0x24, 0x54, 0x19, 0x09, 0x55, + 0x95, 0xb0, 0xa5, 0x80, 0x38, 0x63, 0xda, 0x54, 0x58, 0x0d, 0x69, 0xe5, 0x38, 0x8a, 0xc4, 0x25, + 0x72, 0xec, 0x89, 0x59, 0x92, 0xec, 0x5a, 0xeb, 0x0d, 0xe0, 0x0b, 0x12, 0x3f, 0xc4, 0x67, 0xf0, + 0x5d, 0x68, 0x5d, 0xa7, 0x75, 0xa2, 0x14, 0x2e, 0xbd, 0x79, 0xe6, 0xbd, 0x9d, 0xf7, 0x66, 0x3c, + 0x03, 0x2f, 0xe6, 0xcb, 0x4c, 0x22, 0x8d, 0x96, 0x76, 0xc8, 0x05, 0xda, 0x34, 0x42, 0x26, 0xe9, + 0x9c, 0xa2, 0xb0, 0x12, 0xc1, 0x25, 0x27, 0xed, 0x0d, 0x6e, 0x29, 0xdc, 0xfc, 0xad, 0x01, 0xb8, + 0xb7, 0x1c, 0xf2, 0x1e, 0xda, 0x02, 0x53, 0xbe, 0x16, 0x21, 0x4e, 0x65, 0x96, 0xa0, 0xa1, 0x1d, + 0x6b, 0x27, 0x4f, 0x7a, 0x5d, 0x6b, 0xeb, 0x95, 0xe5, 0x15, 0x1c, 0x3f, 0x4b, 0xd0, 0x6b, 0x89, + 0x52, 0x44, 0x0c, 0xa8, 0x27, 0x82, 0x7f, 0xc5, 0x50, 0x1a, 0x95, 0x63, 0xed, 0xe4, 0xd0, 0xdb, + 0x84, 0xe4, 0x19, 0xd4, 0x22, 0xbe, 0x0a, 0x28, 0x33, 0x0e, 0x72, 0xa0, 0x88, 0x08, 0x81, 0x2a, + 0x0b, 0x56, 0x68, 0x54, 0xf3, 0x6c, 0xfe, 0xad, 0xaa, 0x7c, 0x43, 0x91, 0x52, 0xce, 0x8c, 0xc7, + 0x37, 0x55, 0x8a, 0xd0, 0x0c, 0xa1, 0x3b, 0xe1, 0x62, 0x31, 0x5f, 0xf2, 0xef, 0xfd, 0x1f, 0x18, + 0xae, 0x25, 0xe5, 0xac, 0xd4, 0x40, 0x49, 0x5e, 0xbb, 0x4f, 0xbe, 0xf2, 0x3f, 0x79, 0xf3, 0x97, + 0x06, 0x9d, 0x21, 0x8f, 0x70, 0x9f, 0x42, 0x07, 0xea, 0x8c, 0x47, 0x38, 0xa5, 0x51, 0xa1, 0x50, + 0x53, 0xa1, 0x1b, 0x91, 0x4f, 0xd0, 0xc2, 0x0d, 0x5f, 0xa1, 0x4a, 0xa6, 0xd9, 0x3b, 0xdd, 0x19, + 0xdd, 0x3f, 0xcc, 0x7b, 0x4d, 0xbc, 0x4b, 0x9a, 0x7f, 0x34, 0xe8, 0xf8, 0x41, 0xba, 0xd8, 0xe7, + 0xa1, 0x07, 0x75, 0x19, 0xa4, 0x8b, 0x8d, 0x87, 0x66, 0xef, 0xf9, 0x8e, 0x4a, 0xa9, 0x68, 0x4d, + 0x31, 0xdd, 0x88, 0x78, 0xf0, 0x34, 0xf7, 0xbd, 0xc7, 0xe3, 0xab, 0x9d, 0xd7, 0xf7, 0xb4, 0xee, + 0x1d, 0xb1, 0x6d, 0x80, 0xbc, 0x54, 0xeb, 0x22, 0x45, 0x36, 0x0d, 0xa4, 0xc4, 0x55, 0x22, 0xf3, + 0x3f, 0xdb, 0x56, 0x1b, 0x21, 0x45, 0xe6, 0xdc, 0xe4, 0xcc, 0x9f, 0xa0, 0x8f, 0x68, 0xcc, 0x82, + 0x65, 0xa9, 0x81, 0x2e, 0x1c, 0xa6, 0x79, 0xee, 0x6e, 0x8c, 0x8d, 0xb4, 0x20, 0x3d, 0xf0, 0x20, + 0x4f, 0xc7, 0xd0, 0x2a, 0xef, 0x2b, 0x39, 0x82, 0xe6, 0x78, 0x38, 0xba, 0xee, 0x9f, 0xb9, 0x17, + 0x6e, 0xff, 0x5c, 0x7f, 0x44, 0x1a, 0x50, 0xf5, 0x9d, 0xd1, 0xa5, 0xae, 0x91, 0x16, 0x34, 0x26, + 0x57, 0xde, 0xe5, 0xc5, 0xe0, 0x6a, 0xa2, 0x57, 0x14, 0x71, 0xe0, 0x8c, 0x87, 0x67, 0x1f, 0xa7, + 0xd7, 0x03, 0x67, 0xa8, 0x1f, 0x90, 0x26, 0xd4, 0xcf, 0x1d, 0xdf, 0x19, 0xf5, 0x7d, 0xbd, 0xfa, + 0xe1, 0xdd, 0xe7, 0xb7, 0x31, 0x95, 0x5f, 0xd6, 0x33, 0x2b, 0xe4, 0x2b, 0x3b, 0xf7, 0xc6, 0x45, + 0x6c, 0xdf, 0x9e, 0x5f, 0x8c, 0xcc, 0x4e, 0x66, 0xaf, 0x63, 0x6e, 0x6f, 0x5d, 0xe4, 0xac, 0x96, + 0xdf, 0xe1, 0x9b, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x5c, 0x4c, 0x03, 0xa9, 0x03, 0x00, + 0x00, } diff --git a/gen/pb-go/flyteidl/core/identifier.pb.validate.go b/gen/pb-go/flyteidl/core/identifier.pb.validate.go index 824fc586cc..ab319a070f 100644 --- a/gen/pb-go/flyteidl/core/identifier.pb.validate.go +++ b/gen/pb-go/flyteidl/core/identifier.pb.validate.go @@ -351,3 +351,80 @@ var _ interface { Cause() error ErrorName() string } = TaskExecutionIdentifierValidationError{} + +// Validate checks the field values on SignalIdentifier with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *SignalIdentifier) Validate() error { + if m == nil { + return nil + } + + // no validation rules for SignalId + + if v, ok := interface{}(m.GetExecutionId()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SignalIdentifierValidationError{ + field: "ExecutionId", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// SignalIdentifierValidationError is the validation error returned by +// SignalIdentifier.Validate if the designated constraints aren't met. +type SignalIdentifierValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SignalIdentifierValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SignalIdentifierValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SignalIdentifierValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SignalIdentifierValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SignalIdentifierValidationError) ErrorName() string { return "SignalIdentifierValidationError" } + +// Error satisfies the builtin error interface +func (e SignalIdentifierValidationError) 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 %sSignalIdentifier.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SignalIdentifierValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SignalIdentifierValidationError{} diff --git a/gen/pb-go/flyteidl/core/workflow.pb.go b/gen/pb-go/flyteidl/core/workflow.pb.go index a23e6d2fb8..ab7d0e2ab0 100644 --- a/gen/pb-go/flyteidl/core/workflow.pb.go +++ b/gen/pb-go/flyteidl/core/workflow.pb.go @@ -51,7 +51,7 @@ func (x WorkflowMetadata_OnFailurePolicy) String() string { } func (WorkflowMetadata_OnFailurePolicy) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_fccede37486c456e, []int{8, 0} + return fileDescriptor_fccede37486c456e, []int{12, 0} } // Defines a condition and the execution unit that should be executed if the condition is satisfied. @@ -402,6 +402,244 @@ func (*WorkflowNode) XXX_OneofWrappers() []interface{} { } } +// ApproveCondition represents a dependency on an external approval. During execution, this will manifest as a boolean +// signal with the provided signal_id. +type ApproveCondition struct { + // A unique identifier for the requested boolean signal. + SignalId string `protobuf:"bytes,1,opt,name=signal_id,json=signalId,proto3" json:"signal_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ApproveCondition) Reset() { *m = ApproveCondition{} } +func (m *ApproveCondition) String() string { return proto.CompactTextString(m) } +func (*ApproveCondition) ProtoMessage() {} +func (*ApproveCondition) Descriptor() ([]byte, []int) { + return fileDescriptor_fccede37486c456e, []int{5} +} + +func (m *ApproveCondition) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApproveCondition.Unmarshal(m, b) +} +func (m *ApproveCondition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApproveCondition.Marshal(b, m, deterministic) +} +func (m *ApproveCondition) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApproveCondition.Merge(m, src) +} +func (m *ApproveCondition) XXX_Size() int { + return xxx_messageInfo_ApproveCondition.Size(m) +} +func (m *ApproveCondition) XXX_DiscardUnknown() { + xxx_messageInfo_ApproveCondition.DiscardUnknown(m) +} + +var xxx_messageInfo_ApproveCondition proto.InternalMessageInfo + +func (m *ApproveCondition) GetSignalId() string { + if m != nil { + return m.SignalId + } + return "" +} + +// SignalCondition represents a dependency on an signal. +type SignalCondition struct { + // A unique identifier for the requested signal. + SignalId string `protobuf:"bytes,1,opt,name=signal_id,json=signalId,proto3" json:"signal_id,omitempty"` + // A type denoting the required value type for this signal. + Type *LiteralType `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + // The variable name for the signal value in this nodes outputs. + OutputVariableName string `protobuf:"bytes,3,opt,name=output_variable_name,json=outputVariableName,proto3" json:"output_variable_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalCondition) Reset() { *m = SignalCondition{} } +func (m *SignalCondition) String() string { return proto.CompactTextString(m) } +func (*SignalCondition) ProtoMessage() {} +func (*SignalCondition) Descriptor() ([]byte, []int) { + return fileDescriptor_fccede37486c456e, []int{6} +} + +func (m *SignalCondition) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalCondition.Unmarshal(m, b) +} +func (m *SignalCondition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalCondition.Marshal(b, m, deterministic) +} +func (m *SignalCondition) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalCondition.Merge(m, src) +} +func (m *SignalCondition) XXX_Size() int { + return xxx_messageInfo_SignalCondition.Size(m) +} +func (m *SignalCondition) XXX_DiscardUnknown() { + xxx_messageInfo_SignalCondition.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalCondition proto.InternalMessageInfo + +func (m *SignalCondition) GetSignalId() string { + if m != nil { + return m.SignalId + } + return "" +} + +func (m *SignalCondition) GetType() *LiteralType { + if m != nil { + return m.Type + } + return nil +} + +func (m *SignalCondition) GetOutputVariableName() string { + if m != nil { + return m.OutputVariableName + } + return "" +} + +// SleepCondition represents a dependency on waiting for the specified duration. +type SleepCondition struct { + // The overall duration for this sleep. + Duration *duration.Duration `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SleepCondition) Reset() { *m = SleepCondition{} } +func (m *SleepCondition) String() string { return proto.CompactTextString(m) } +func (*SleepCondition) ProtoMessage() {} +func (*SleepCondition) Descriptor() ([]byte, []int) { + return fileDescriptor_fccede37486c456e, []int{7} +} + +func (m *SleepCondition) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SleepCondition.Unmarshal(m, b) +} +func (m *SleepCondition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SleepCondition.Marshal(b, m, deterministic) +} +func (m *SleepCondition) XXX_Merge(src proto.Message) { + xxx_messageInfo_SleepCondition.Merge(m, src) +} +func (m *SleepCondition) XXX_Size() int { + return xxx_messageInfo_SleepCondition.Size(m) +} +func (m *SleepCondition) XXX_DiscardUnknown() { + xxx_messageInfo_SleepCondition.DiscardUnknown(m) +} + +var xxx_messageInfo_SleepCondition proto.InternalMessageInfo + +func (m *SleepCondition) GetDuration() *duration.Duration { + if m != nil { + return m.Duration + } + return nil +} + +// GateNode refers to the condition that is required for the gate to successfully complete. +type GateNode struct { + // Types that are valid to be assigned to Condition: + // *GateNode_Approve + // *GateNode_Signal + // *GateNode_Sleep + Condition isGateNode_Condition `protobuf_oneof:"condition"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GateNode) Reset() { *m = GateNode{} } +func (m *GateNode) String() string { return proto.CompactTextString(m) } +func (*GateNode) ProtoMessage() {} +func (*GateNode) Descriptor() ([]byte, []int) { + return fileDescriptor_fccede37486c456e, []int{8} +} + +func (m *GateNode) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GateNode.Unmarshal(m, b) +} +func (m *GateNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GateNode.Marshal(b, m, deterministic) +} +func (m *GateNode) XXX_Merge(src proto.Message) { + xxx_messageInfo_GateNode.Merge(m, src) +} +func (m *GateNode) XXX_Size() int { + return xxx_messageInfo_GateNode.Size(m) +} +func (m *GateNode) XXX_DiscardUnknown() { + xxx_messageInfo_GateNode.DiscardUnknown(m) +} + +var xxx_messageInfo_GateNode proto.InternalMessageInfo + +type isGateNode_Condition interface { + isGateNode_Condition() +} + +type GateNode_Approve struct { + Approve *ApproveCondition `protobuf:"bytes,1,opt,name=approve,proto3,oneof"` +} + +type GateNode_Signal struct { + Signal *SignalCondition `protobuf:"bytes,2,opt,name=signal,proto3,oneof"` +} + +type GateNode_Sleep struct { + Sleep *SleepCondition `protobuf:"bytes,3,opt,name=sleep,proto3,oneof"` +} + +func (*GateNode_Approve) isGateNode_Condition() {} + +func (*GateNode_Signal) isGateNode_Condition() {} + +func (*GateNode_Sleep) isGateNode_Condition() {} + +func (m *GateNode) GetCondition() isGateNode_Condition { + if m != nil { + return m.Condition + } + return nil +} + +func (m *GateNode) GetApprove() *ApproveCondition { + if x, ok := m.GetCondition().(*GateNode_Approve); ok { + return x.Approve + } + return nil +} + +func (m *GateNode) GetSignal() *SignalCondition { + if x, ok := m.GetCondition().(*GateNode_Signal); ok { + return x.Signal + } + return nil +} + +func (m *GateNode) GetSleep() *SleepCondition { + if x, ok := m.GetCondition().(*GateNode_Sleep); ok { + return x.Sleep + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*GateNode) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*GateNode_Approve)(nil), + (*GateNode_Signal)(nil), + (*GateNode_Sleep)(nil), + } +} + // Defines extra information about the Node. type NodeMetadata struct { // A friendly name for the Node @@ -424,7 +662,7 @@ func (m *NodeMetadata) Reset() { *m = NodeMetadata{} } func (m *NodeMetadata) String() string { return proto.CompactTextString(m) } func (*NodeMetadata) ProtoMessage() {} func (*NodeMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_fccede37486c456e, []int{5} + return fileDescriptor_fccede37486c456e, []int{9} } func (m *NodeMetadata) XXX_Unmarshal(b []byte) error { @@ -512,7 +750,7 @@ func (m *Alias) Reset() { *m = Alias{} } func (m *Alias) String() string { return proto.CompactTextString(m) } func (*Alias) ProtoMessage() {} func (*Alias) Descriptor() ([]byte, []int) { - return fileDescriptor_fccede37486c456e, []int{6} + return fileDescriptor_fccede37486c456e, []int{10} } func (m *Alias) XXX_Unmarshal(b []byte) error { @@ -572,6 +810,7 @@ type Node struct { // *Node_TaskNode // *Node_WorkflowNode // *Node_BranchNode + // *Node_GateNode Target isNode_Target `protobuf_oneof:"target"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -582,7 +821,7 @@ func (m *Node) Reset() { *m = Node{} } func (m *Node) String() string { return proto.CompactTextString(m) } func (*Node) ProtoMessage() {} func (*Node) Descriptor() ([]byte, []int) { - return fileDescriptor_fccede37486c456e, []int{7} + return fileDescriptor_fccede37486c456e, []int{11} } func (m *Node) XXX_Unmarshal(b []byte) error { @@ -654,12 +893,18 @@ type Node_BranchNode struct { BranchNode *BranchNode `protobuf:"bytes,8,opt,name=branch_node,json=branchNode,proto3,oneof"` } +type Node_GateNode struct { + GateNode *GateNode `protobuf:"bytes,9,opt,name=gate_node,json=gateNode,proto3,oneof"` +} + func (*Node_TaskNode) isNode_Target() {} func (*Node_WorkflowNode) isNode_Target() {} func (*Node_BranchNode) isNode_Target() {} +func (*Node_GateNode) isNode_Target() {} + func (m *Node) GetTarget() isNode_Target { if m != nil { return m.Target @@ -688,12 +933,20 @@ func (m *Node) GetBranchNode() *BranchNode { return nil } +func (m *Node) GetGateNode() *GateNode { + if x, ok := m.GetTarget().(*Node_GateNode); ok { + return x.GateNode + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*Node) XXX_OneofWrappers() []interface{} { return []interface{}{ (*Node_TaskNode)(nil), (*Node_WorkflowNode)(nil), (*Node_BranchNode)(nil), + (*Node_GateNode)(nil), } } @@ -713,7 +966,7 @@ func (m *WorkflowMetadata) Reset() { *m = WorkflowMetadata{} } func (m *WorkflowMetadata) String() string { return proto.CompactTextString(m) } func (*WorkflowMetadata) ProtoMessage() {} func (*WorkflowMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_fccede37486c456e, []int{8} + return fileDescriptor_fccede37486c456e, []int{12} } func (m *WorkflowMetadata) XXX_Unmarshal(b []byte) error { @@ -766,7 +1019,7 @@ func (m *WorkflowMetadataDefaults) Reset() { *m = WorkflowMetadataDefaul func (m *WorkflowMetadataDefaults) String() string { return proto.CompactTextString(m) } func (*WorkflowMetadataDefaults) ProtoMessage() {} func (*WorkflowMetadataDefaults) Descriptor() ([]byte, []int) { - return fileDescriptor_fccede37486c456e, []int{9} + return fileDescriptor_fccede37486c456e, []int{13} } func (m *WorkflowMetadataDefaults) XXX_Unmarshal(b []byte) error { @@ -828,7 +1081,7 @@ func (m *WorkflowTemplate) Reset() { *m = WorkflowTemplate{} } func (m *WorkflowTemplate) String() string { return proto.CompactTextString(m) } func (*WorkflowTemplate) ProtoMessage() {} func (*WorkflowTemplate) Descriptor() ([]byte, []int) { - return fileDescriptor_fccede37486c456e, []int{10} + return fileDescriptor_fccede37486c456e, []int{14} } func (m *WorkflowTemplate) XXX_Unmarshal(b []byte) error { @@ -911,7 +1164,7 @@ func (m *TaskNodeOverrides) Reset() { *m = TaskNodeOverrides{} } func (m *TaskNodeOverrides) String() string { return proto.CompactTextString(m) } func (*TaskNodeOverrides) ProtoMessage() {} func (*TaskNodeOverrides) Descriptor() ([]byte, []int) { - return fileDescriptor_fccede37486c456e, []int{11} + return fileDescriptor_fccede37486c456e, []int{15} } func (m *TaskNodeOverrides) XXX_Unmarshal(b []byte) error { @@ -946,6 +1199,10 @@ func init() { proto.RegisterType((*BranchNode)(nil), "flyteidl.core.BranchNode") proto.RegisterType((*TaskNode)(nil), "flyteidl.core.TaskNode") proto.RegisterType((*WorkflowNode)(nil), "flyteidl.core.WorkflowNode") + proto.RegisterType((*ApproveCondition)(nil), "flyteidl.core.ApproveCondition") + proto.RegisterType((*SignalCondition)(nil), "flyteidl.core.SignalCondition") + proto.RegisterType((*SleepCondition)(nil), "flyteidl.core.SleepCondition") + proto.RegisterType((*GateNode)(nil), "flyteidl.core.GateNode") proto.RegisterType((*NodeMetadata)(nil), "flyteidl.core.NodeMetadata") proto.RegisterType((*Alias)(nil), "flyteidl.core.Alias") proto.RegisterType((*Node)(nil), "flyteidl.core.Node") @@ -958,75 +1215,86 @@ func init() { func init() { proto.RegisterFile("flyteidl/core/workflow.proto", fileDescriptor_fccede37486c456e) } var fileDescriptor_fccede37486c456e = []byte{ - // 1111 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0x4d, 0x6f, 0xdb, 0x46, - 0x13, 0xb6, 0x2c, 0xdb, 0x12, 0x47, 0xb6, 0xa3, 0x6c, 0xf2, 0xbe, 0x55, 0xd2, 0xa4, 0x31, 0x88, - 0xa0, 0x75, 0x82, 0x56, 0x0a, 0x92, 0xc2, 0x3d, 0xa4, 0x08, 0x2a, 0xc6, 0x0c, 0x2c, 0xd4, 0x8e, - 0x93, 0x8d, 0x8a, 0x7e, 0x5c, 0x88, 0x15, 0x39, 0x94, 0x17, 0xa6, 0xb8, 0xca, 0xee, 0xd2, 0x89, - 0xd0, 0x6b, 0xff, 0x43, 0xef, 0x3d, 0xf4, 0xd4, 0xdf, 0xd2, 0x53, 0x7f, 0x50, 0xc1, 0xe5, 0x87, - 0x2c, 0x5a, 0x4a, 0x7a, 0xe3, 0xee, 0x3c, 0x33, 0xfb, 0xec, 0xcc, 0x3c, 0xb3, 0x84, 0x3b, 0x61, - 0x34, 0xd3, 0xc8, 0x83, 0xa8, 0xe7, 0x0b, 0x89, 0xbd, 0x77, 0x42, 0x9e, 0x87, 0x91, 0x78, 0xd7, - 0x9d, 0x4a, 0xa1, 0x05, 0xd9, 0x29, 0xac, 0xdd, 0xd4, 0x7a, 0xfb, 0xee, 0x22, 0xd8, 0x17, 0x71, - 0xc0, 0x35, 0x17, 0x71, 0x86, 0xae, 0x9a, 0xf1, 0x3d, 0xfa, 0xc9, 0x25, 0xf3, 0x67, 0x8b, 0x66, - 0x1e, 0x60, 0xac, 0x79, 0xc8, 0x51, 0x2e, 0x77, 0xe7, 0xb1, 0x46, 0x19, 0x32, 0x1f, 0x73, 0x73, - 0x85, 0x69, 0xc4, 0x35, 0x4a, 0x16, 0xa9, 0xdc, 0x7a, 0x6b, 0xd1, 0xaa, 0x99, 0x3a, 0x5f, 0x65, - 0x9a, 0x4d, 0x51, 0x2d, 0x8f, 0xa9, 0xd0, 0x4f, 0x24, 0xd7, 0xb3, 0x82, 0xf0, 0x58, 0x88, 0x71, - 0x84, 0x3d, 0xb3, 0x1a, 0x25, 0x61, 0x2f, 0x48, 0x24, 0x9b, 0x5f, 0xc8, 0xfe, 0x15, 0x1a, 0x83, - 0xd0, 0x89, 0x84, 0x7f, 0x4e, 0x9e, 0x81, 0x55, 0x66, 0xa3, 0x53, 0xdb, 0xab, 0xed, 0xb7, 0x1e, - 0xef, 0x75, 0x17, 0x92, 0xd7, 0x75, 0x84, 0x88, 0x90, 0xc5, 0xee, 0xfb, 0xa9, 0x44, 0xa5, 0xb8, - 0x88, 0xe9, 0xdc, 0x85, 0x3c, 0x02, 0x4b, 0x9f, 0x61, 0xec, 0xc5, 0x22, 0xc0, 0xce, 0xba, 0xf1, - 0xbf, 0x51, 0xf1, 0x7f, 0x29, 0x02, 0xa4, 0xcd, 0x14, 0x95, 0x7e, 0xd9, 0xff, 0xd4, 0xa0, 0x35, - 0x08, 0xdd, 0x48, 0x61, 0xc6, 0xe0, 0x21, 0x6c, 0xf8, 0x4c, 0x61, 0x7e, 0xf8, 0xff, 0x2b, 0xce, - 0x39, 0x4f, 0x6a, 0x30, 0xe4, 0x4b, 0xd8, 0x14, 0xfa, 0x0c, 0x65, 0x67, 0x7d, 0xaf, 0xfe, 0x01, - 0x70, 0x06, 0x22, 0x8f, 0xc1, 0xc2, 0x48, 0x61, 0xc6, 0xad, 0xbe, 0x92, 0xdb, 0xd1, 0x1a, 0x6d, - 0xa6, 0xb8, 0xf4, 0x3b, 0x3d, 0x01, 0xa5, 0x14, 0xb2, 0xb3, 0x61, 0xf0, 0x37, 0x2b, 0x78, 0x37, - 0xb5, 0x1d, 0xad, 0xd1, 0x0c, 0xe4, 0x58, 0xd0, 0x08, 0x30, 0x64, 0x49, 0xa4, 0xed, 0x3e, 0x80, - 0x23, 0x59, 0xec, 0x9f, 0x99, 0x30, 0x4f, 0xa0, 0xc1, 0x43, 0x2f, 0x8d, 0x9a, 0xdf, 0xeb, 0xf6, - 0x15, 0xaa, 0x65, 0x06, 0xe8, 0x16, 0x37, 0x0b, 0xfb, 0xf7, 0x1a, 0x34, 0x87, 0x4c, 0x9d, 0x9b, - 0x08, 0xcf, 0x60, 0x5b, 0x62, 0x88, 0x12, 0x63, 0x1f, 0x3d, 0x1e, 0xe4, 0x61, 0x6e, 0x55, 0xc3, - 0x94, 0xbd, 0x78, 0xb4, 0x46, 0x5b, 0xa5, 0xc3, 0x20, 0x48, 0x0b, 0x2b, 0x2e, 0x50, 0x4a, 0x1e, - 0xa0, 0xca, 0x0b, 0x53, 0x2d, 0x6c, 0x71, 0xd6, 0x69, 0x81, 0xa3, 0x73, 0x17, 0xa7, 0x05, 0x56, - 0x19, 0xce, 0xfe, 0xb3, 0x06, 0xdb, 0x3f, 0xe6, 0x0a, 0x33, 0xec, 0x1c, 0xd8, 0x8d, 0x58, 0x12, - 0xfb, 0x67, 0xd3, 0x88, 0xc5, 0x9e, 0xc4, 0xf0, 0xbf, 0xf0, 0xdb, 0x99, 0xbb, 0x50, 0x0c, 0x89, - 0x0b, 0x6d, 0x95, 0x8c, 0xbc, 0x42, 0xb9, 0x26, 0xca, 0xfa, 0xc7, 0xa3, 0xec, 0xaa, 0x64, 0x54, - 0x70, 0xa1, 0x18, 0x2e, 0x12, 0xfd, 0xbb, 0x06, 0xdb, 0x29, 0xc1, 0x13, 0xd4, 0x2c, 0x60, 0x9a, - 0x11, 0x02, 0x1b, 0x31, 0x9b, 0x64, 0x55, 0xb0, 0xa8, 0xf9, 0x4e, 0x8b, 0xa3, 0xf9, 0x04, 0x45, - 0xa2, 0xf3, 0x2a, 0xdf, 0xea, 0x66, 0x82, 0xe9, 0x16, 0x82, 0xe9, 0x1e, 0xe6, 0x82, 0xa1, 0x05, - 0x92, 0x1c, 0x40, 0x43, 0xa2, 0x96, 0x1c, 0x55, 0x67, 0xd3, 0x38, 0xdd, 0xa9, 0x90, 0xa4, 0xa8, - 0xe5, 0xec, 0x8d, 0x96, 0x4c, 0xe3, 0x78, 0x46, 0x0b, 0x30, 0xf9, 0x1c, 0x76, 0xcc, 0x40, 0x90, - 0xc9, 0x54, 0xf3, 0x51, 0x84, 0x9d, 0xad, 0xbd, 0xda, 0x7e, 0x33, 0xcd, 0xc6, 0xc2, 0xb6, 0xf3, - 0x3f, 0xb8, 0xb1, 0xb0, 0xe1, 0x5d, 0xb0, 0x28, 0x41, 0xbb, 0x07, 0x9b, 0xfd, 0x88, 0x33, 0x45, - 0xda, 0x50, 0xbf, 0x60, 0x32, 0xbf, 0x47, 0xfa, 0x49, 0x6e, 0xc2, 0x26, 0x4b, 0x4d, 0x26, 0x69, - 0x16, 0xcd, 0x16, 0xf6, 0x5f, 0x75, 0xd8, 0x30, 0x25, 0xda, 0x85, 0xf5, 0xbc, 0x6d, 0x2c, 0xba, - 0xce, 0x03, 0xf2, 0x0d, 0x34, 0x27, 0x79, 0x56, 0xf2, 0x34, 0x7f, 0xba, 0x44, 0x0c, 0x45, 0xe2, - 0x68, 0x09, 0x26, 0x5d, 0xd8, 0xe2, 0xf1, 0x34, 0xd1, 0xaa, 0x53, 0x5f, 0xaa, 0x3a, 0x87, 0xc7, - 0x01, 0x8f, 0xc7, 0x34, 0x47, 0x91, 0x87, 0x70, 0x3d, 0x99, 0x2a, 0x2d, 0x91, 0x4d, 0x8c, 0xf4, - 0x3c, 0x1e, 0xa8, 0xce, 0xc6, 0x5e, 0x7d, 0xdf, 0xa2, 0xd7, 0x0a, 0x43, 0x7a, 0xd4, 0x20, 0x50, - 0xe4, 0x29, 0xec, 0x8a, 0x44, 0x4f, 0x13, 0xed, 0x19, 0xf6, 0x26, 0xb9, 0xf5, 0x25, 0xba, 0x33, - 0x39, 0xa0, 0x3b, 0x19, 0xb6, 0x9f, 0x41, 0xc9, 0x01, 0x58, 0xe9, 0xb8, 0xcc, 0xf4, 0xbd, 0x65, - 0xae, 0xf4, 0xc9, 0x8a, 0x16, 0x4f, 0x35, 0xae, 0x0b, 0x69, 0x39, 0xb0, 0x53, 0x36, 0x9d, 0xf1, - 0x6d, 0x2c, 0x4d, 0xc7, 0xe5, 0x86, 0x3f, 0x5a, 0xa3, 0xdb, 0xef, 0x2e, 0x0b, 0xe0, 0x5b, 0x68, - 0x8d, 0x8c, 0xdc, 0xb3, 0x08, 0xcd, 0xa5, 0x7d, 0x3b, 0x1f, 0x08, 0x47, 0x6b, 0x14, 0x46, 0xe5, - 0xca, 0x69, 0xc2, 0x96, 0x66, 0x72, 0x8c, 0xda, 0xfe, 0x6d, 0x1d, 0xda, 0xc5, 0x41, 0x65, 0xd3, - 0x9e, 0x00, 0x79, 0x9b, 0xb0, 0x88, 0xeb, 0x99, 0x27, 0x42, 0x4f, 0xa1, 0xbc, 0xe0, 0x7e, 0x31, - 0x48, 0xee, 0x55, 0xce, 0x78, 0x9d, 0x01, 0x4f, 0xc3, 0x37, 0x19, 0x8c, 0xb6, 0xdf, 0x56, 0x76, - 0xc8, 0x4b, 0x00, 0x11, 0x7b, 0x21, 0xe3, 0x51, 0x22, 0xb3, 0x21, 0xbd, 0xfb, 0xb8, 0xb7, 0xe2, - 0xb2, 0x05, 0x87, 0xee, 0x69, 0xfc, 0x22, 0x73, 0x78, 0x25, 0x22, 0xee, 0xcf, 0xa8, 0x25, 0x8a, - 0x0d, 0xfb, 0x35, 0x5c, 0xab, 0x58, 0xc9, 0x4d, 0x68, 0xbf, 0xe8, 0x0f, 0x8e, 0xbd, 0xc1, 0xc9, - 0x89, 0x7b, 0x38, 0xe8, 0x0f, 0xdd, 0xe3, 0x9f, 0xdb, 0x6b, 0x64, 0x1f, 0xee, 0x9b, 0xdd, 0xfe, - 0x8b, 0xa1, 0x4b, 0x3d, 0xf7, 0x27, 0xf7, 0xf9, 0x0f, 0xc3, 0xbe, 0x73, 0xec, 0x7a, 0x2f, 0x4f, - 0x0f, 0xdd, 0x37, 0xde, 0xf3, 0xd3, 0x93, 0x57, 0xc7, 0xee, 0xd0, 0x6d, 0xd7, 0xec, 0xef, 0xa0, - 0x53, 0x65, 0x70, 0x98, 0x0d, 0x56, 0x45, 0xee, 0x57, 0x15, 0x94, 0x26, 0xa2, 0x59, 0xd1, 0x8f, - 0xfd, 0x47, 0x7d, 0x9e, 0xc8, 0x21, 0x4e, 0xa6, 0x11, 0xd3, 0x48, 0x1e, 0x94, 0x1a, 0xf8, 0xd0, - 0x50, 0x31, 0xf2, 0x78, 0x7a, 0x45, 0x1e, 0xf7, 0x3e, 0x92, 0xa2, 0x4b, 0x12, 0x79, 0x0a, 0x56, - 0xf9, 0xea, 0xe7, 0x2f, 0xcd, 0xdd, 0x6a, 0x27, 0xce, 0xa6, 0x18, 0x0c, 0x0a, 0x10, 0x9d, 0xe3, - 0xc9, 0x03, 0xd8, 0x4c, 0x7b, 0x28, 0xd3, 0xc8, 0x8a, 0xe7, 0x33, 0x43, 0x90, 0x47, 0xd0, 0xc8, - 0x24, 0x50, 0xe8, 0x64, 0x95, 0x16, 0x0b, 0x18, 0x39, 0x80, 0xed, 0xbc, 0xf0, 0x97, 0x65, 0xb2, - 0xf4, 0x8c, 0x56, 0x0e, 0x34, 0xfd, 0x3d, 0x84, 0xeb, 0xc5, 0xed, 0xbc, 0xfc, 0x89, 0x53, 0xb9, - 0x4e, 0xbe, 0xf8, 0x48, 0x5e, 0x8a, 0xc2, 0xd1, 0xf6, 0xa4, 0xb2, 0x63, 0x7f, 0x0f, 0xd7, 0xaf, - 0x3c, 0x3a, 0xa9, 0x8c, 0x25, 0x2a, 0x91, 0x48, 0x1f, 0x55, 0x5e, 0xab, 0xce, 0x95, 0xd9, 0x9a, - 0xdb, 0xe9, 0x1c, 0xea, 0x1c, 0xfc, 0xf2, 0xf5, 0x98, 0xeb, 0xb3, 0x64, 0xd4, 0xf5, 0xc5, 0xa4, - 0x67, 0x1c, 0x84, 0x1c, 0xf7, 0xca, 0x3f, 0xa3, 0x31, 0xc6, 0xbd, 0xe9, 0xe8, 0xab, 0xb1, 0xe8, - 0x2d, 0xfc, 0x2c, 0x8d, 0xb6, 0xcc, 0x94, 0x7f, 0xf2, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe4, - 0xfe, 0x61, 0x88, 0x42, 0x0a, 0x00, 0x00, + // 1285 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0xcd, 0x72, 0xdb, 0x36, + 0x10, 0x96, 0x2c, 0xdb, 0x12, 0xd7, 0x3f, 0x51, 0x10, 0xb7, 0x55, 0xfe, 0x3d, 0x9c, 0x4c, 0xeb, + 0x64, 0x5a, 0x29, 0x93, 0x34, 0x6e, 0x67, 0xdc, 0xc9, 0x54, 0x8a, 0x95, 0x48, 0x53, 0xff, 0x24, + 0xb0, 0xfa, 0x7b, 0xe1, 0x40, 0x24, 0x28, 0x63, 0x4c, 0x11, 0x0c, 0x08, 0x3a, 0xd1, 0xf4, 0xda, + 0x07, 0xe8, 0xad, 0xf7, 0x1e, 0xfa, 0x26, 0xbd, 0xf6, 0xd4, 0x47, 0xe8, 0x83, 0x74, 0x08, 0x80, + 0x94, 0x45, 0x4b, 0x49, 0x6e, 0x24, 0xf6, 0xdb, 0xc5, 0xe2, 0xdb, 0xfd, 0x16, 0x80, 0x5b, 0x7e, + 0x30, 0x91, 0x94, 0x79, 0x41, 0xcb, 0xe5, 0x82, 0xb6, 0xde, 0x70, 0x71, 0xe6, 0x07, 0xfc, 0x4d, + 0x33, 0x12, 0x5c, 0x72, 0xb4, 0x91, 0x59, 0x9b, 0xa9, 0xf5, 0xc6, 0xed, 0x59, 0xb0, 0xcb, 0x43, + 0x8f, 0x49, 0xc6, 0x43, 0x8d, 0x2e, 0x9a, 0xe9, 0x5b, 0xea, 0x26, 0x17, 0xcc, 0x77, 0x66, 0xcd, + 0xcc, 0xa3, 0xa1, 0x64, 0x3e, 0xa3, 0x62, 0xbe, 0x3b, 0x0b, 0x25, 0x15, 0x3e, 0x71, 0xa9, 0x31, + 0x17, 0x32, 0x0d, 0x98, 0xa4, 0x82, 0x04, 0xb1, 0xb1, 0x5e, 0x9f, 0xb5, 0x4a, 0x12, 0x9f, 0x2d, + 0x32, 0x4d, 0x22, 0x1a, 0xcf, 0x8f, 0x19, 0x53, 0x37, 0x11, 0x4c, 0x4e, 0xb2, 0x84, 0x47, 0x9c, + 0x8f, 0x02, 0xda, 0x52, 0x7f, 0xc3, 0xc4, 0x6f, 0x79, 0x89, 0x20, 0xd3, 0x03, 0xd9, 0xbf, 0x42, + 0xb5, 0xef, 0x77, 0x02, 0xee, 0x9e, 0xa1, 0xa7, 0x60, 0xe5, 0x6c, 0x34, 0xca, 0xdb, 0xe5, 0x9d, + 0xb5, 0x47, 0xdb, 0xcd, 0x19, 0xf2, 0x9a, 0x1d, 0xce, 0x03, 0x4a, 0xc2, 0xee, 0xdb, 0x48, 0xd0, + 0x38, 0x66, 0x3c, 0xc4, 0x53, 0x17, 0xf4, 0x10, 0x2c, 0x79, 0x4a, 0x43, 0x27, 0xe4, 0x1e, 0x6d, + 0x2c, 0x29, 0xff, 0x6b, 0x05, 0xff, 0x23, 0xee, 0x51, 0x5c, 0x4b, 0x51, 0xe9, 0x97, 0xfd, 0x6f, + 0x19, 0xd6, 0xfa, 0x7e, 0x37, 0x88, 0xa9, 0xce, 0xe0, 0x01, 0x2c, 0xbb, 0x24, 0xa6, 0x66, 0xf3, + 0x8f, 0x0b, 0xce, 0x26, 0x4f, 0xac, 0x30, 0xe8, 0x73, 0x58, 0xe1, 0xf2, 0x94, 0x8a, 0xc6, 0xd2, + 0x76, 0xe5, 0x1d, 0x60, 0x0d, 0x42, 0x8f, 0xc0, 0xa2, 0x41, 0x4c, 0x75, 0x6e, 0x95, 0x85, 0xb9, + 0xf5, 0x4a, 0xb8, 0x96, 0xe2, 0xd2, 0xef, 0x74, 0x07, 0x2a, 0x04, 0x17, 0x8d, 0x65, 0x85, 0xdf, + 0x2a, 0xe0, 0xbb, 0xa9, 0xad, 0x57, 0xc2, 0x1a, 0xd4, 0xb1, 0xa0, 0xea, 0x51, 0x9f, 0x24, 0x81, + 0xb4, 0xdb, 0x00, 0x1d, 0x41, 0x42, 0xf7, 0x54, 0x85, 0x79, 0x0c, 0x55, 0xe6, 0x3b, 0x69, 0x54, + 0x73, 0xae, 0x1b, 0x97, 0x52, 0xcd, 0x19, 0xc0, 0xab, 0x4c, 0xfd, 0xd8, 0x7f, 0x94, 0xa1, 0x36, + 0x20, 0xf1, 0x99, 0x8a, 0xf0, 0x14, 0xd6, 0x05, 0xf5, 0xa9, 0xa0, 0xa1, 0x4b, 0x1d, 0xe6, 0x99, + 0x30, 0xd7, 0x8b, 0x61, 0xf2, 0x5e, 0xec, 0x95, 0xf0, 0x5a, 0xee, 0xd0, 0xf7, 0xd2, 0xc2, 0xf2, + 0x73, 0x2a, 0x04, 0xf3, 0x68, 0x6c, 0x0a, 0x53, 0x2c, 0x6c, 0xb6, 0xd7, 0x71, 0x86, 0xc3, 0x53, + 0x97, 0xce, 0x1a, 0x58, 0x79, 0x38, 0xfb, 0xaf, 0x32, 0xac, 0xff, 0x68, 0x14, 0xa6, 0xb2, 0xeb, + 0xc0, 0x66, 0x40, 0x92, 0xd0, 0x3d, 0x8d, 0x02, 0x12, 0x3a, 0x82, 0xfa, 0x1f, 0x92, 0xdf, 0xc6, + 0xd4, 0x05, 0x53, 0x1f, 0x75, 0xa1, 0x1e, 0x27, 0x43, 0x27, 0x53, 0xae, 0x8a, 0xb2, 0xf4, 0xfe, + 0x28, 0x9b, 0x71, 0x32, 0xcc, 0x72, 0xc1, 0xd4, 0x9f, 0x4d, 0xb4, 0x05, 0xf5, 0x76, 0x14, 0x09, + 0x7e, 0x4e, 0x9f, 0xe5, 0x2d, 0x7a, 0x13, 0xac, 0x98, 0x8d, 0x42, 0x12, 0x64, 0x34, 0x5a, 0xb8, + 0xa6, 0x17, 0xfa, 0x9e, 0xfd, 0x7b, 0x19, 0xae, 0x9c, 0xa8, 0x9f, 0x0f, 0x73, 0x40, 0x4d, 0x58, + 0x4e, 0x85, 0x68, 0x32, 0x2d, 0x96, 0xf5, 0x40, 0x8b, 0x7b, 0x30, 0x89, 0x28, 0x56, 0x38, 0xf4, + 0x10, 0xb6, 0x78, 0x22, 0xa3, 0x44, 0x3a, 0xe7, 0x44, 0x30, 0x32, 0x0c, 0xa8, 0x13, 0x92, 0xb1, + 0xee, 0x47, 0x0b, 0x23, 0x6d, 0xfb, 0xc1, 0x98, 0x8e, 0xc8, 0x98, 0xda, 0x2f, 0x60, 0xf3, 0x24, + 0xa0, 0x34, 0x9a, 0x26, 0xf4, 0x04, 0x6a, 0x99, 0x82, 0x73, 0x9e, 0xb5, 0xc4, 0x9b, 0x99, 0xc4, + 0x9b, 0xfb, 0x06, 0x80, 0x73, 0xa8, 0xfd, 0x77, 0x19, 0x6a, 0x2f, 0x88, 0xd4, 0x8d, 0xbd, 0x07, + 0x55, 0xa2, 0x99, 0x31, 0x21, 0xee, 0x16, 0x52, 0x2f, 0xf2, 0xd6, 0x2b, 0xe1, 0xcc, 0x03, 0x7d, + 0x0d, 0xab, 0x9a, 0x00, 0x73, 0xec, 0x3b, 0x05, 0xdf, 0x02, 0x83, 0xbd, 0x12, 0x36, 0x78, 0xf4, + 0x04, 0x56, 0xe2, 0xf4, 0x30, 0x46, 0x7f, 0xb7, 0x8b, 0x8e, 0x33, 0x07, 0x4d, 0x85, 0xa5, 0xd0, + 0x69, 0x51, 0xf3, 0x19, 0x63, 0xff, 0x53, 0x86, 0xf5, 0xf4, 0x0c, 0x87, 0x54, 0x12, 0x8f, 0x48, + 0x82, 0x10, 0x2c, 0x2b, 0x0e, 0x75, 0x6d, 0xd4, 0x77, 0xaa, 0x38, 0xc9, 0xc6, 0x94, 0x27, 0xd2, + 0x48, 0xf7, 0x1d, 0x14, 0x65, 0x48, 0xb4, 0x0b, 0x55, 0x41, 0xa5, 0x60, 0x34, 0x6e, 0xac, 0x28, + 0xa7, 0x5b, 0x85, 0xfc, 0x30, 0x95, 0x62, 0x72, 0x22, 0x05, 0x91, 0x74, 0x34, 0xc1, 0x19, 0x18, + 0x7d, 0x0a, 0x1b, 0x6a, 0xca, 0x8b, 0x24, 0x92, 0x6c, 0x18, 0xd0, 0xc6, 0xea, 0x76, 0x79, 0xa7, + 0x96, 0xb6, 0xf8, 0xcc, 0x72, 0xe7, 0x23, 0xb8, 0x36, 0xb3, 0xe0, 0x9c, 0x93, 0x20, 0x49, 0xbb, + 0x74, 0xa5, 0x1d, 0x30, 0x12, 0xa3, 0x3a, 0x54, 0xce, 0x89, 0x30, 0xe7, 0x48, 0x3f, 0xd1, 0x16, + 0xac, 0x90, 0xd4, 0xa4, 0x88, 0xb6, 0xb0, 0xfe, 0xb1, 0xff, 0xab, 0xc0, 0xb2, 0xaa, 0xe2, 0x26, + 0x2c, 0xe5, 0x3d, 0xb9, 0xc4, 0x3c, 0xf4, 0x15, 0xd4, 0xc6, 0x86, 0x15, 0x53, 0x9a, 0x9b, 0x73, + 0x26, 0x5c, 0x46, 0x1c, 0xce, 0xc1, 0xa8, 0x09, 0xab, 0x2c, 0x8c, 0x12, 0x19, 0x37, 0x2a, 0x73, + 0x47, 0x69, 0x87, 0x85, 0x1e, 0x0b, 0x47, 0xd8, 0xa0, 0xd0, 0x03, 0xb8, 0x9a, 0x44, 0xb1, 0x14, + 0x94, 0x8c, 0xd5, 0x3c, 0x75, 0x98, 0x17, 0x37, 0x96, 0xb7, 0x2b, 0x3b, 0x16, 0xbe, 0x92, 0x19, + 0xd2, 0xad, 0xfa, 0x5e, 0x8c, 0xf6, 0x60, 0xd3, 0xb4, 0xbc, 0xca, 0x5e, 0x91, 0x5b, 0x99, 0x33, + 0x4c, 0x15, 0x07, 0x78, 0x43, 0x63, 0xdb, 0x1a, 0x8a, 0x76, 0xc1, 0x4a, 0xef, 0x40, 0x3d, 0xb4, + 0x57, 0xd5, 0x91, 0x3e, 0x59, 0x30, 0xb7, 0xd2, 0xc1, 0x2d, 0xb3, 0x79, 0xd9, 0x81, 0x8d, 0x7c, + 0x92, 0x28, 0xdf, 0xea, 0x5c, 0x3a, 0x2e, 0x4e, 0xb1, 0x5e, 0x09, 0xaf, 0xbf, 0xb9, 0x38, 0xd5, + 0xbe, 0x81, 0xb5, 0xa1, 0x9a, 0xe1, 0x3a, 0x42, 0x6d, 0xee, 0x30, 0x9a, 0x4e, 0xf9, 0x5e, 0x09, + 0xc3, 0x70, 0x3a, 0xf3, 0x77, 0xc1, 0x1a, 0x11, 0x69, 0xae, 0x1b, 0x6b, 0x6e, 0xe6, 0x99, 0x1a, + 0xd3, 0xcc, 0x47, 0xe6, 0xbb, 0x53, 0x83, 0x55, 0x49, 0xc4, 0x88, 0x4a, 0xfb, 0xb7, 0x25, 0xa8, + 0x67, 0x09, 0xe6, 0xcd, 0x7e, 0x08, 0xe8, 0x75, 0x42, 0x02, 0x26, 0x27, 0x0e, 0xf7, 0x9d, 0x98, + 0x8a, 0x73, 0xe6, 0x2e, 0xd2, 0xf0, 0x2b, 0x0d, 0x3c, 0xf6, 0x4f, 0x34, 0x0c, 0xd7, 0x5f, 0x17, + 0x56, 0xd0, 0x11, 0x00, 0x0f, 0x1d, 0x9f, 0xb0, 0x20, 0x11, 0x7a, 0x8a, 0x6d, 0x3e, 0x6a, 0x2d, + 0x20, 0x29, 0xcb, 0xa1, 0x79, 0x1c, 0x3e, 0xd7, 0x0e, 0x2f, 0x79, 0xc0, 0xdc, 0x09, 0xb6, 0x78, + 0xb6, 0x60, 0xbf, 0x82, 0x2b, 0x05, 0x2b, 0xda, 0x82, 0xfa, 0xf3, 0x76, 0xff, 0xc0, 0xe9, 0x1f, + 0x1e, 0x76, 0xf7, 0xfb, 0xed, 0x41, 0xf7, 0xe0, 0xe7, 0x7a, 0x09, 0xed, 0xc0, 0x3d, 0xb5, 0xda, + 0x7e, 0x3e, 0xe8, 0x62, 0xa7, 0xfb, 0x53, 0xf7, 0xd9, 0xf7, 0x83, 0x76, 0xe7, 0xa0, 0xeb, 0x1c, + 0x1d, 0xef, 0x77, 0x4f, 0x9c, 0x67, 0xc7, 0x87, 0x2f, 0x0f, 0xba, 0x83, 0x6e, 0xbd, 0x6c, 0x7f, + 0x0b, 0x8d, 0x62, 0x06, 0xfb, 0xfa, 0x96, 0x8d, 0xd1, 0xbd, 0xa2, 0xf2, 0x52, 0x22, 0x6a, 0x05, + 0xdd, 0xd9, 0x7f, 0x56, 0xa6, 0x44, 0x0e, 0xe8, 0x38, 0x0a, 0x88, 0xa4, 0xe8, 0x7e, 0xae, 0x9d, + 0x77, 0xdd, 0x30, 0x4a, 0x56, 0x7b, 0x97, 0x64, 0x75, 0xf7, 0x3d, 0x14, 0x5d, 0x90, 0xd6, 0x1e, + 0x58, 0xf9, 0x13, 0x70, 0xc1, 0xd8, 0x4b, 0xef, 0x07, 0xaf, 0x9f, 0x81, 0xf0, 0x14, 0x8f, 0xee, + 0xc3, 0x4a, 0xda, 0x3f, 0x5a, 0x5b, 0x0b, 0xde, 0x52, 0x1a, 0x81, 0x1e, 0x42, 0x55, 0x4b, 0x27, + 0xd3, 0xd7, 0x22, 0x0d, 0x67, 0x30, 0xb4, 0x0b, 0xeb, 0xa6, 0xf0, 0x17, 0xe5, 0x35, 0x77, 0x8f, + 0x35, 0x03, 0x54, 0x9d, 0x3d, 0x80, 0xab, 0xd9, 0xe9, 0x1c, 0xf3, 0xde, 0x89, 0x8d, 0xbe, 0x3e, + 0x7b, 0x0f, 0x2f, 0x59, 0xe1, 0x70, 0x7d, 0x5c, 0x58, 0xb1, 0xbf, 0x83, 0xab, 0x97, 0x5e, 0x20, + 0xa9, 0x88, 0x04, 0x8d, 0x79, 0x22, 0x5c, 0x1a, 0x9b, 0x5a, 0x35, 0x2e, 0xcd, 0x64, 0x63, 0xc7, + 0x53, 0x68, 0x67, 0xf7, 0x97, 0x2f, 0x47, 0x4c, 0x9e, 0x26, 0xc3, 0xa6, 0xcb, 0xc7, 0x2d, 0xe5, + 0xc0, 0xc5, 0xa8, 0x95, 0x3f, 0x93, 0x47, 0x34, 0x6c, 0x45, 0xc3, 0x2f, 0x46, 0xbc, 0x35, 0xf3, + 0x72, 0x1e, 0xae, 0xaa, 0xdb, 0xe1, 0xf1, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe4, 0xf8, 0xea, + 0x86, 0x4f, 0x0c, 0x00, 0x00, } diff --git a/gen/pb-go/flyteidl/core/workflow.pb.validate.go b/gen/pb-go/flyteidl/core/workflow.pb.validate.go index 37b61c1f5d..4ba3c419a9 100644 --- a/gen/pb-go/flyteidl/core/workflow.pb.validate.go +++ b/gen/pb-go/flyteidl/core/workflow.pb.validate.go @@ -495,6 +495,331 @@ var _ interface { ErrorName() string } = WorkflowNodeValidationError{} +// Validate checks the field values on ApproveCondition with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *ApproveCondition) Validate() error { + if m == nil { + return nil + } + + // no validation rules for SignalId + + return nil +} + +// ApproveConditionValidationError is the validation error returned by +// ApproveCondition.Validate if the designated constraints aren't met. +type ApproveConditionValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ApproveConditionValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ApproveConditionValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ApproveConditionValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ApproveConditionValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ApproveConditionValidationError) ErrorName() string { return "ApproveConditionValidationError" } + +// Error satisfies the builtin error interface +func (e ApproveConditionValidationError) 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 %sApproveCondition.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ApproveConditionValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ApproveConditionValidationError{} + +// Validate checks the field values on SignalCondition with the rules defined +// in the proto definition for this message. If any rules are violated, an +// error is returned. +func (m *SignalCondition) Validate() error { + if m == nil { + return nil + } + + // no validation rules for SignalId + + if v, ok := interface{}(m.GetType()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SignalConditionValidationError{ + field: "Type", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for OutputVariableName + + return nil +} + +// SignalConditionValidationError is the validation error returned by +// SignalCondition.Validate if the designated constraints aren't met. +type SignalConditionValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SignalConditionValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SignalConditionValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SignalConditionValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SignalConditionValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SignalConditionValidationError) ErrorName() string { return "SignalConditionValidationError" } + +// Error satisfies the builtin error interface +func (e SignalConditionValidationError) 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 %sSignalCondition.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SignalConditionValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SignalConditionValidationError{} + +// Validate checks the field values on SleepCondition with the rules defined in +// the proto definition for this message. If any rules are violated, an error +// is returned. +func (m *SleepCondition) Validate() error { + if m == nil { + return nil + } + + if v, ok := interface{}(m.GetDuration()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SleepConditionValidationError{ + field: "Duration", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// SleepConditionValidationError is the validation error returned by +// SleepCondition.Validate if the designated constraints aren't met. +type SleepConditionValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SleepConditionValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SleepConditionValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SleepConditionValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SleepConditionValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SleepConditionValidationError) ErrorName() string { return "SleepConditionValidationError" } + +// Error satisfies the builtin error interface +func (e SleepConditionValidationError) 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 %sSleepCondition.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SleepConditionValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SleepConditionValidationError{} + +// Validate checks the field values on GateNode with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *GateNode) Validate() error { + if m == nil { + return nil + } + + switch m.Condition.(type) { + + case *GateNode_Approve: + + if v, ok := interface{}(m.GetApprove()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GateNodeValidationError{ + field: "Approve", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *GateNode_Signal: + + if v, ok := interface{}(m.GetSignal()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GateNodeValidationError{ + field: "Signal", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *GateNode_Sleep: + + if v, ok := interface{}(m.GetSleep()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GateNodeValidationError{ + field: "Sleep", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + return nil +} + +// GateNodeValidationError is the validation error returned by +// GateNode.Validate if the designated constraints aren't met. +type GateNodeValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GateNodeValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GateNodeValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GateNodeValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GateNodeValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GateNodeValidationError) ErrorName() string { return "GateNodeValidationError" } + +// Error satisfies the builtin error interface +func (e GateNodeValidationError) 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 %sGateNode.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GateNodeValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GateNodeValidationError{} + // Validate checks the field values on NodeMetadata with the rules defined in // the proto definition for this message. If any rules are violated, an error // is returned. @@ -744,6 +1069,18 @@ func (m *Node) Validate() error { } } + case *Node_GateNode: + + if v, ok := interface{}(m.GetGateNode()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return NodeValidationError{ + field: "GateNode", + reason: "embedded message failed validation", + cause: err, + } + } + } + } return nil diff --git a/gen/pb-go/flyteidl/service/admin.swagger.json b/gen/pb-go/flyteidl/service/admin.swagger.json index 691901c5b2..0ec47c884c 100644 --- a/gen/pb-go/flyteidl/service/admin.swagger.json +++ b/gen/pb-go/flyteidl/service/admin.swagger.json @@ -5153,6 +5153,16 @@ }, "description": "Links a variable to an alias." }, + "coreApproveCondition": { + "type": "object", + "properties": { + "signal_id": { + "type": "string", + "description": "A unique identifier for the requested boolean signal." + } + }, + "description": "ApproveCondition represents a dependency on an external approval. During execution, this will manifest as a boolean\nsignal with the provided signal_id." + }, "coreBinary": { "type": "object", "properties": { @@ -5567,6 +5577,24 @@ }, "description": "Represents the error message from the execution." }, + "coreGateNode": { + "type": "object", + "properties": { + "approve": { + "$ref": "#/definitions/coreApproveCondition", + "description": "ApproveCondition represents a dependency on an external approval provided by a boolean signal." + }, + "signal": { + "$ref": "#/definitions/coreSignalCondition", + "description": "SignalCondition represents a dependency on an signal." + }, + "sleep": { + "$ref": "#/definitions/coreSleepCondition", + "description": "SleepCondition represents a dependency on waiting for the specified duration." + } + }, + "description": "GateNode refers to the condition that is required for the gate to successfully complete." + }, "coreIOStrategy": { "type": "object", "properties": { @@ -5849,6 +5877,10 @@ "branch_node": { "$ref": "#/definitions/coreBranchNode", "description": "Information about the branch node to evaluate in this node." + }, + "gate_node": { + "$ref": "#/definitions/coreGateNode", + "description": "Information about the condition to evaluate in this node." } }, "description": "A Workflow graph Node. One unit of execution in the graph. Each node can be linked to a Task, a Workflow or a branch\nnode." @@ -6214,6 +6246,24 @@ }, "description": "SecurityContext holds security attributes that apply to tasks." }, + "coreSignalCondition": { + "type": "object", + "properties": { + "signal_id": { + "type": "string", + "description": "A unique identifier for the requested signal." + }, + "type": { + "$ref": "#/definitions/coreLiteralType", + "description": "A type denoting the required value type for this signal." + }, + "output_variable_name": { + "type": "string", + "description": "The variable name for the signal value in this nodes outputs." + } + }, + "description": "SignalCondition represents a dependency on an signal." + }, "coreSimpleType": { "type": "string", "enum": [ @@ -6231,6 +6281,16 @@ "default": "NONE", "description": "Define a set of simple types." }, + "coreSleepCondition": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "description": "The overall duration for this sleep." + } + }, + "description": "SleepCondition represents a dependency on waiting for the specified duration." + }, "coreSql": { "type": "object", "properties": { diff --git a/gen/pb-go/flyteidl/service/flyteadmin/README.md b/gen/pb-go/flyteidl/service/flyteadmin/README.md index 6a5c03a848..19cd2d9d2d 100644 --- a/gen/pb-go/flyteidl/service/flyteadmin/README.md +++ b/gen/pb-go/flyteidl/service/flyteadmin/README.md @@ -202,6 +202,7 @@ Class | Method | HTTP request | Description - [ConnectionSetIdList](docs/ConnectionSetIdList.md) - [ContainerArchitecture](docs/ContainerArchitecture.md) - [CoreAlias](docs/CoreAlias.md) + - [CoreApproveCondition](docs/CoreApproveCondition.md) - [CoreBinary](docs/CoreBinary.md) - [CoreBinding](docs/CoreBinding.md) - [CoreBindingData](docs/CoreBindingData.md) @@ -227,6 +228,7 @@ Class | Method | HTTP request | Description - [CoreEnumType](docs/CoreEnumType.md) - [CoreError](docs/CoreError.md) - [CoreExecutionError](docs/CoreExecutionError.md) + - [CoreGateNode](docs/CoreGateNode.md) - [CoreIdentifier](docs/CoreIdentifier.md) - [CoreIdentity](docs/CoreIdentity.md) - [CoreIfBlock](docs/CoreIfBlock.md) @@ -261,7 +263,9 @@ Class | Method | HTTP request | Description - [CoreSchemaType](docs/CoreSchemaType.md) - [CoreSecret](docs/CoreSecret.md) - [CoreSecurityContext](docs/CoreSecurityContext.md) + - [CoreSignalCondition](docs/CoreSignalCondition.md) - [CoreSimpleType](docs/CoreSimpleType.md) + - [CoreSleepCondition](docs/CoreSleepCondition.md) - [CoreSql](docs/CoreSql.md) - [CoreStructuredDataset](docs/CoreStructuredDataset.md) - [CoreStructuredDatasetMetadata](docs/CoreStructuredDatasetMetadata.md) diff --git a/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml b/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml index b49ddb324c..e62a0cb8c1 100644 --- a/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml +++ b/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml @@ -7707,6 +7707,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -8162,6 +8221,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -8616,6 +8734,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -9539,6 +9716,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -9994,6 +10230,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -10448,6 +10743,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -11873,6 +12227,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -12328,6 +12741,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -12782,6 +13254,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -16226,6 +16757,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -16681,6 +17271,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -17135,6 +17784,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -18058,6 +18766,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -18513,6 +19280,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -18967,6 +19793,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -20392,6 +21277,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -20847,6 +21791,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -21301,6 +22304,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -22493,6 +23555,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -22948,6 +24069,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -23402,6 +24582,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -24325,6 +25564,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -24780,6 +26078,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -25234,6 +26591,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -26659,6 +28075,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -27114,6 +28589,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -27568,6 +29102,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -28662,6 +30255,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -29117,6 +30769,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -29571,6 +31282,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -30494,6 +32264,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -30949,6 +32778,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -31403,6 +33291,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -32828,6 +34775,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -33283,6 +35289,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -33737,6 +35802,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -34670,6 +36794,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -35125,6 +37308,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -35579,6 +37821,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -36502,6 +38803,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -36957,6 +39317,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -37411,6 +39830,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -38836,6 +41314,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -39291,6 +41828,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -39745,6 +42341,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -40281,6 +42936,17 @@ definitions: example: var: "var" alias: "alias" + coreApproveCondition: + type: "object" + properties: + signal_id: + type: "string" + description: "A unique identifier for the requested boolean signal." + description: "ApproveCondition represents a dependency on an external approval.\ + \ During execution, this will manifest as a boolean\nsignal with the provided\ + \ signal_id." + example: + signal_id: "signal_id" coreBinary: type: "object" properties: @@ -41631,6 +44297,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -42086,149 +44811,23 @@ definitions: name: "name" interruptible: true timeout: "timeout" - upstream_node_ids: - - "upstream_node_ids" - - "upstream_node_ids" - inputs: - - var: "var" - binding: - scalar: + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: schema: - type: - columns: - - name: "name" - type: {} - - name: "name" - type: {} - uri: "uri" - blob: - metadata: - type: - dimensionality: {} - format: "format" - uri: "uri" - none_type: {} - primitive: - duration: "duration" - datetime: "2000-01-23T04:56:07.000+00:00" - string_value: "string_value" - boolean: true - float_value: 1.4658129805029452 - integer: "integer" - binary: - tag: "tag" - value: "value" - structured_dataset: - metadata: - structured_dataset_type: - external_schema_type: "external_schema_type" - columns: - - name: "name" - - name: "name" - format: "format" - external_schema_bytes: "external_schema_bytes" - uri: "uri" - union: - type: - schema: - columns: - - name: "name" - type: {} - - name: "name" - type: {} - annotation: - annotations: - fields: - key: - list_value: - values: - - null - - null - number_value: 6.027456183070403 - string_value: "string_value" - null_value: {} - bool_value: true - structured_dataset_type: - external_schema_type: "external_schema_type" - columns: - - name: "name" - - name: "name" - format: "format" - external_schema_bytes: "external_schema_bytes" - metadata: - fields: - key: - list_value: - values: - - null - - null - number_value: 6.027456183070403 - string_value: "string_value" - null_value: {} - bool_value: true - blob: - dimensionality: {} - format: "format" - enum_type: - values: - - "values" - - "values" - union_type: - variants: - - null - - null - simple: {} - structure: - tag: "tag" - error: - message: "message" - failed_node_id: "failed_node_id" - generic: - fields: - key: - list_value: - values: - - null - - null - number_value: 6.027456183070403 - string_value: "string_value" - null_value: {} - bool_value: true - promise: - var: "var" - node_id: "node_id" - collection: - bindings: - - null - - null - union: - targetType: - schema: - columns: - - name: "name" - type: {} - - name: "name" - type: {} - annotation: - annotations: - fields: - key: - list_value: - values: - - null - - null - number_value: 6.027456183070403 - string_value: "string_value" - null_value: {} - bool_value: true - structured_dataset_type: - external_schema_type: "external_schema_type" - columns: - - name: "name" - - name: "name" - format: "format" - external_schema_bytes: "external_schema_bytes" - metadata: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: fields: key: list_value: @@ -42239,22 +44838,207 @@ definitions: string_value: "string_value" null_value: {} bool_value: true - blob: - dimensionality: {} - format: "format" - enum_type: - values: - - "values" - - "values" - union_type: - variants: - - null - - null - simple: {} - structure: - tag: "tag" - map: - bindings: {} + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" + upstream_node_ids: + - "upstream_node_ids" + - "upstream_node_ids" + inputs: + - var: "var" + binding: + scalar: + schema: + type: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + uri: "uri" + blob: + metadata: + type: + dimensionality: {} + format: "format" + uri: "uri" + none_type: {} + primitive: + duration: "duration" + datetime: "2000-01-23T04:56:07.000+00:00" + string_value: "string_value" + boolean: true + float_value: 1.4658129805029452 + integer: "integer" + binary: + tag: "tag" + value: "value" + structured_dataset: + metadata: + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + uri: "uri" + union: + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" + error: + message: "message" + failed_node_id: "failed_node_id" + generic: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + promise: + var: "var" + node_id: "node_id" + collection: + bindings: + - null + - null + union: + targetType: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" + map: + bindings: {} - var: "var" binding: scalar: @@ -42540,6 +45324,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -43490,6 +46333,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -43945,6 +46847,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -44399,6 +47360,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -45322,6 +48342,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -45777,6 +48856,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -46231,6 +49369,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -47656,6 +50853,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -48111,6 +51367,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -48565,6 +51880,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -49308,6 +52682,81 @@ definitions: kind: {} message: "message" error_uri: "error_uri" + coreGateNode: + type: "object" + properties: + approve: + description: "ApproveCondition represents a dependency on an external approval\ + \ provided by a boolean signal." + $ref: "#/definitions/coreApproveCondition" + signal: + description: "SignalCondition represents a dependency on an signal." + $ref: "#/definitions/coreSignalCondition" + sleep: + description: "SleepCondition represents a dependency on waiting for the specified\ + \ duration." + $ref: "#/definitions/coreSleepCondition" + description: "GateNode refers to the condition that is required for the gate to\ + \ successfully complete." + example: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" coreIOStrategy: type: "object" properties: @@ -49857,6 +53306,9 @@ definitions: branch_node: description: "Information about the branch node to evaluate in this node." $ref: "#/definitions/coreBranchNode" + gate_node: + description: "Information about the condition to evaluate in this node." + $ref: "#/definitions/coreGateNode" description: "A Workflow graph Node. One unit of execution in the graph. Each\ \ node can be linked to a Task, a Workflow or a branch\nnode." example: @@ -49942,6 +53394,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -51199,6 +54710,73 @@ definitions: group_version: "group_version" key: "key" group: "group" + coreSignalCondition: + type: "object" + properties: + signal_id: + type: "string" + description: "A unique identifier for the requested signal." + type: + description: "A type denoting the required value type for this signal." + $ref: "#/definitions/coreLiteralType" + output_variable_name: + type: "string" + description: "The variable name for the signal value in this nodes outputs." + description: "SignalCondition represents a dependency on an signal." + example: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" coreSimpleType: type: "string" description: "Define a set of simple types." @@ -51214,6 +54792,16 @@ definitions: - "ERROR" - "STRUCT" default: "NONE" + coreSleepCondition: + type: "object" + properties: + duration: + type: "string" + description: "The overall duration for this sleep." + description: "SleepCondition represents a dependency on waiting for the specified\ + \ duration." + example: + duration: "duration" coreSql: type: "object" properties: @@ -52734,6 +56322,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -53189,6 +56836,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -53643,6 +57349,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -54881,6 +58646,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -55336,6 +59160,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -55790,6 +59673,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -56713,6 +60655,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -57168,6 +61169,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -57622,6 +61682,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -59047,6 +63166,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -59502,6 +63680,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" @@ -59956,6 +64193,65 @@ definitions: name: "name" interruptible: true timeout: "timeout" + gate_node: + sleep: + duration: "duration" + approve: + signal_id: "signal_id" + signal: + output_variable_name: "output_variable_name" + signal_id: "signal_id" + type: + schema: + columns: + - name: "name" + type: {} + - name: "name" + type: {} + annotation: + annotations: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + structured_dataset_type: + external_schema_type: "external_schema_type" + columns: + - name: "name" + - name: "name" + format: "format" + external_schema_bytes: "external_schema_bytes" + metadata: + fields: + key: + list_value: + values: + - null + - null + number_value: 6.027456183070403 + string_value: "string_value" + null_value: {} + bool_value: true + blob: + dimensionality: {} + format: "format" + enum_type: + values: + - "values" + - "values" + union_type: + variants: + - null + - null + simple: {} + structure: + tag: "tag" upstream_node_ids: - "upstream_node_ids" - "upstream_node_ids" diff --git a/gen/pb-go/flyteidl/service/flyteadmin/model_core_approve_condition.go b/gen/pb-go/flyteidl/service/flyteadmin/model_core_approve_condition.go new file mode 100644 index 0000000000..e75ab0d299 --- /dev/null +++ b/gen/pb-go/flyteidl/service/flyteadmin/model_core_approve_condition.go @@ -0,0 +1,16 @@ +/* + * flyteidl/service/admin.proto + * + * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + * + * API version: version not set + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package flyteadmin + +// ApproveCondition represents a dependency on an external approval. During execution, this will manifest as a boolean signal with the provided signal_id. +type CoreApproveCondition struct { + // A unique identifier for the requested boolean signal. + SignalId string `json:"signal_id,omitempty"` +} diff --git a/gen/pb-go/flyteidl/service/flyteadmin/model_core_gate_node.go b/gen/pb-go/flyteidl/service/flyteadmin/model_core_gate_node.go new file mode 100644 index 0000000000..27966e22c7 --- /dev/null +++ b/gen/pb-go/flyteidl/service/flyteadmin/model_core_gate_node.go @@ -0,0 +1,20 @@ +/* + * flyteidl/service/admin.proto + * + * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + * + * API version: version not set + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package flyteadmin + +// GateNode refers to the condition that is required for the gate to successfully complete. +type CoreGateNode struct { + // ApproveCondition represents a dependency on an external approval provided by a boolean signal. + Approve *CoreApproveCondition `json:"approve,omitempty"` + // SignalCondition represents a dependency on an signal. + Signal *CoreSignalCondition `json:"signal,omitempty"` + // SleepCondition represents a dependency on waiting for the specified duration. + Sleep *CoreSleepCondition `json:"sleep,omitempty"` +} diff --git a/gen/pb-go/flyteidl/service/flyteadmin/model_core_node.go b/gen/pb-go/flyteidl/service/flyteadmin/model_core_node.go index 45126c2c25..430f9fea22 100644 --- a/gen/pb-go/flyteidl/service/flyteadmin/model_core_node.go +++ b/gen/pb-go/flyteidl/service/flyteadmin/model_core_node.go @@ -27,4 +27,6 @@ type CoreNode struct { WorkflowNode *CoreWorkflowNode `json:"workflow_node,omitempty"` // Information about the branch node to evaluate in this node. BranchNode *CoreBranchNode `json:"branch_node,omitempty"` + // Information about the condition to evaluate in this node. + GateNode *CoreGateNode `json:"gate_node,omitempty"` } diff --git a/gen/pb-go/flyteidl/service/flyteadmin/model_core_signal_condition.go b/gen/pb-go/flyteidl/service/flyteadmin/model_core_signal_condition.go new file mode 100644 index 0000000000..22e6a53060 --- /dev/null +++ b/gen/pb-go/flyteidl/service/flyteadmin/model_core_signal_condition.go @@ -0,0 +1,20 @@ +/* + * flyteidl/service/admin.proto + * + * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + * + * API version: version not set + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package flyteadmin + +// SignalCondition represents a dependency on an signal. +type CoreSignalCondition struct { + // A unique identifier for the requested signal. + SignalId string `json:"signal_id,omitempty"` + // A type denoting the required value type for this signal. + Type_ *CoreLiteralType `json:"type,omitempty"` + // The variable name for the signal value in this nodes outputs. + OutputVariableName string `json:"output_variable_name,omitempty"` +} diff --git a/gen/pb-go/flyteidl/service/flyteadmin/model_core_sleep_condition.go b/gen/pb-go/flyteidl/service/flyteadmin/model_core_sleep_condition.go new file mode 100644 index 0000000000..4646d8c012 --- /dev/null +++ b/gen/pb-go/flyteidl/service/flyteadmin/model_core_sleep_condition.go @@ -0,0 +1,16 @@ +/* + * flyteidl/service/admin.proto + * + * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + * + * API version: version not set + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package flyteadmin + +// SleepCondition represents a dependency on waiting for the specified duration. +type CoreSleepCondition struct { + // The overall duration for this sleep. + Duration string `json:"duration,omitempty"` +} diff --git a/gen/pb-go/flyteidl/service/openapi.go b/gen/pb-go/flyteidl/service/openapi.go index c9bbe0a305..160bdd2258 100644 --- a/gen/pb-go/flyteidl/service/openapi.go +++ b/gen/pb-go/flyteidl/service/openapi.go @@ -78,7 +78,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x79\x73\x24\xb7\x95\x2f\x0c\xff\x3f\x9f\x02\xb7\x7d\x23\x5a\xb2\xb9\x48\xf2\x8c\x5f\x0f\x27\x6e\xbc\x4f\x89\xac\x6e\xf1\x8a\x4d\xd2\x5c\xa4\xd1\x33\xe5\x28\xa1\x32\x51\x55\x30\x33\x81\x34\x80\x24\xbb\xec\xf0\x77\x7f\x02\x07\x4b\x22\xb7\xaa\xac\x85\x64\xb1\x95\x33\x11\x16\xbb\x32\x13\xeb\xc1\xc1\x59\x7f\xe7\x9f\xff\x86\xd0\x3b\xf9\x84\x67\x33\x22\xde\x9d\xa0\x77\xdf\x1d\x7d\xf3\xee\x40\xff\x46\xd9\x94\xbf\x3b\x41\xfa\x39\x42\xef\x14\x55\x09\xd1\xcf\xa7\xc9\x42\x11\x1a\x27\xc7\x92\x88\x47\x1a\x91\x63\x1c\xa7\x94\x1d\x65\x82\x2b\x0e\x1f\x22\xf4\xee\x91\x08\x49\x39\xd3\xaf\xdb\x3f\x11\xe3\x0a\x49\xa2\xde\xfd\x1b\x42\xff\x82\xe6\x65\x34\x27\x29\x91\xef\x4e\xd0\xff\x98\x8f\xe6\x4a\x65\xae\x01\xfd\xb7\xd4\xef\xfe\x15\xde\x8d\x38\x93\x79\xe9\x65\x9c\x65\x09\x8d\xb0\xa2\x9c\x1d\xff\x4d\x72\x56\xbc\x9b\x09\x1e\xe7\x51\xc7\x77\xb1\x9a\xcb\x62\x8e\xc7\x38\xa3\xc7\x8f\xdf\x1e\xe3\x48\xd1\x47\x32\x4e\x70\xce\xa2\xf9\x38\x4b\x30\x93\xc7\xff\xa4\xb1\x9e\xe3\xdf\x48\xa4\xfe\x05\xff\x88\x79\x8a\x29\x33\x7f\x33\x9c\x92\x7f\xf9\x76\x10\x7a\x37\x23\x2a\xf8\xa7\x9e\x6d\x9e\xa6\x58\x2c\xf4\x8a\x7c\x20\x2a\x9a\x23\x35\x27\xc8\xf4\x83\xdc\x12\xf1\x29\xc2\xe8\x44\x90\xe9\xc9\xaf\x82\x4c\xc7\x6e\xa1\x8f\xcc\x02\x5f\xc0\x68\xae\x13\xcc\x7e\x3d\xb2\xcb\x04\x2d\xc7\x44\x46\x82\x66\xca\xae\xf7\x0d\x51\x82\x92\x47\x12\x76\x60\x26\x82\xf4\x44\x7c\x67\x32\x23\x11\x9d\x52\x12\xa3\xc9\x02\x51\x96\xe5\x0a\x09\xf2\xf7\x9c\x48\x85\xa6\x34\x51\x44\xc8\x52\x2f\x3c\x23\x02\x56\xf0\x3c\xd6\xbd\x7c\x24\x6a\x00\x6d\x17\xa3\x0a\xdf\x16\x44\x66\x9c\x49\x22\x4b\x8b\x80\xd0\xbb\xef\xbe\xf9\xa6\xf2\x53\x7d\x06\x03\x24\xf3\x28\x22\x52\x4e\xf3\x04\xb9\x96\xc2\xc1\x98\x05\xd5\xe4\x83\x6b\x8d\x21\xf4\xee\x7f\x0b\x32\xd5\xed\xfc\xee\x38\x26\x53\xca\xa8\x6e\x57\x1a\x2a\x0d\x46\x5b\xfa\xea\x5f\xff\xd6\xf4\xf7\xbf\x82\x19\x65\x58\xe0\x94\xe8\x65\xf1\x74\x65\xfe\xaf\x32\x17\x4d\x09\xba\xf3\x82\x5a\xaa\x03\xaf\xcc\xf6\x12\xa7\x44\xef\xbc\xde\x2e\xfb\x05\xfc\x2d\x88\xe4\xb9\x88\x08\x9a\x90\x84\xb3\x99\x44\x8a\xd7\xd6\x80\x42\x0b\x9a\x88\xab\x4f\xf4\x56\x52\x41\xf4\x5e\x29\x91\x93\xca\x53\xb5\xc8\x60\x90\x52\x09\xca\x66\xe1\x52\xfc\xeb\xa0\xd3\xd4\x0c\xed\xaf\x31\x33\xf3\x41\xeb\xc4\x46\x6c\xe0\x5e\x89\x30\x43\x13\x82\xf4\x89\xa7\x31\x11\x24\x46\x58\x22\x8c\x64\x3e\x91\x44\xa1\x27\xaa\xe6\x94\xe9\x7f\x1b\xf2\x8d\xdc\x9a\xed\xcf\xda\xc0\x9f\xcb\x57\xe6\x5e\x12\xa1\x07\xfe\x48\x63\x12\xa3\x47\x9c\xe4\x04\x4d\xb9\x28\x2d\xcf\xd1\x88\xdd\xcd\xf5\x3a\xa4\x13\xca\xe0\xe4\xe9\xb5\x74\x14\xf2\x07\xb7\x5c\x7f\x40\xba\x3f\x94\x33\xfa\xf7\x9c\x24\x0b\x44\x63\xc2\x94\x3e\xd7\xb2\xda\xda\x1f\x38\xf4\x8f\x13\x74\x88\xf4\x3a\x13\xa1\x60\xbd\x39\x53\xe4\xb3\x92\xe8\x10\x25\xf4\x81\xa0\xf7\x17\x54\x2a\x34\xb8\x3e\x7f\x7f\x80\xde\x5f\x14\x8c\x43\xbe\x7f\x81\x15\xf6\x7f\xff\x35\x38\x7a\x0a\xcf\xaa\x87\xee\xdd\x40\x9f\xe6\x5b\x73\x01\x15\x2d\xfc\xf5\xdf\xc2\x76\xec\x7e\x2d\xe7\xea\x05\x4b\xb7\xfc\xbc\x2b\x17\x87\x65\x2a\x33\x70\xa9\x77\x68\x5b\xfe\x5d\xbb\x1d\x1a\x98\xb7\xdc\x92\x7b\xeb\xb1\x57\xd9\xb7\x7c\x5b\xfc\x5b\x4f\xe1\xb9\x79\xf8\x36\x0c\x1c\x2b\x38\x59\x98\x32\x73\x10\xfd\xb9\x14\x52\x9f\x45\x77\x42\xf6\x84\x6d\x6d\xc3\xcf\x83\x99\x05\x2c\xdd\x71\xea\x60\x55\xf6\x70\xde\x09\x4d\xe9\xaa\xfd\x3d\x67\xb1\x16\x1e\x2d\x43\x65\x79\x3a\x21\x42\x2f\x83\x63\xad\x30\xdb\x89\x66\xb5\x2a\x17\x8c\xc4\x1d\xa6\xf9\xf7\x9c\x88\xc5\x92\x79\x4e\x71\x22\xdb\x26\x4a\x99\x22\x5a\x52\xaf\x3c\x9e\x72\x91\x62\x65\x5f\xf8\xd3\xbf\xaf\xbb\x10\x8a\x3f\x90\x55\xfb\x7f\x6e\x76\x33\xc2\x12\xc8\x20\xcd\x13\x45\xb3\x84\xa0\x0c\xcf\x88\xb4\x2b\x92\x27\x4a\x1e\xc0\x6b\x5a\x3b\x20\xe2\xd0\xdf\x72\xd0\x83\xbb\xdd\x73\x09\xbf\xa0\xa9\x67\x76\x8c\x7c\x56\xd0\xd2\x88\xc1\xfd\x0e\x4b\x14\xde\x5a\xcf\xb0\x94\x9b\xd1\x8c\xe4\x42\x8d\x27\x8b\xa3\x07\x52\xeb\xb7\x95\x72\x30\x43\x58\x29\x41\x27\xb9\x22\x7a\xde\xba\x0d\x77\x3f\x03\x7b\x34\x42\x40\x17\xd6\xf0\x7a\x13\x8e\xa9\x20\x11\xcc\x6d\x9d\x03\xe3\xbf\xd2\xf3\xd6\x9a\xd8\xc2\xcc\xfe\x81\x2c\x40\xe6\x69\x58\x01\xbf\xe5\x23\x36\x62\xe8\x10\x9d\x0d\x6f\x4f\x87\x97\x67\xe7\x97\x1f\x4f\xd0\xf7\x0b\x14\x93\x29\xce\x13\x75\x80\xa6\x94\x24\xb1\x44\x58\x10\x68\x92\xc4\x5a\xae\xd1\x83\x21\x2c\xa6\x6c\x86\xb8\x88\x89\x78\xbe\x65\xac\x3c\x25\x2c\x4f\x2b\xf7\x0a\xfc\x5e\x8c\xbe\xf2\x85\x16\x63\xfc\xa3\xd2\x93\xbf\xd6\x16\x18\x66\xac\xfb\x0e\x5a\x7b\x31\xc1\x29\x9a\xd3\x24\x16\x84\x1d\x2b\x2c\x1f\xc6\xe4\x33\x89\x72\x73\x27\xff\xb3\xfc\xc3\x58\x4b\xbf\x3c\x26\xe5\x5f\x4a\xff\x28\xc4\xad\xb5\x3f\xf5\xfa\xf6\xda\x5f\x82\x76\xde\xed\x3b\xf8\x85\xc6\x8d\x6f\xc3\x2f\x2b\xe6\xe0\xde\x59\x32\x58\xf7\x4a\xeb\xa8\xdc\x0b\x56\xd8\x6b\x7c\x47\x10\x25\x16\x63\xac\x14\x49\x33\xb5\xa6\xe5\x01\xa3\x44\xcb\xae\xcb\x64\xd5\x4b\x1e\x93\xa1\xeb\xef\x57\x2b\x82\x1a\x61\xd3\x70\xad\x29\x11\x84\x45\xa4\xbd\x85\x3b\x2c\x1f\x8a\x16\x56\x0b\xbc\x40\x63\x48\x2f\x3f\x2a\x08\xac\xd6\x71\x21\xf6\xea\x25\x29\xde\x5c\x25\xec\x96\xe6\x23\x3f\x70\xa1\x87\xf7\x16\x04\xde\xd2\xc0\x5f\x42\xe6\xdd\xf4\x44\x7f\x71\x56\x8e\x0d\xf9\x53\x6f\x13\xd9\x7e\x25\xbb\x5a\x50\xb8\x40\x72\x21\x15\x49\x57\xda\x52\xde\xce\x42\xd8\x0b\x68\x5f\x07\x5c\xb9\x03\x7f\x03\xa7\xbe\x7c\xa3\xf7\xc7\x7b\x8d\x25\xdb\x95\x25\x74\xdf\xe7\xe9\xbc\x5d\xcb\xa7\x7a\xeb\xb6\x2f\x70\xf7\xbc\x89\x69\x96\x64\xcd\x5d\x0f\xf2\x99\xcc\x19\xad\x7b\xe5\x56\x7b\x0c\x03\x58\xa1\xc8\x96\x6d\xe9\xfe\xfc\xe9\x4f\x43\x0b\x90\x31\xf7\xa9\x39\x95\x81\x31\x0c\x45\x5c\x18\x59\x30\xb6\xe7\xdd\xe8\xb2\x83\xbb\xc1\xed\xf0\xee\x04\x0d\x50\x8c\x15\xd6\x07\x5c\x90\x4c\x10\x49\x98\x02\x3b\x81\xfe\x5e\x2d\x50\xca\x63\x92\x18\x8d\xf6\x83\x96\xac\xd1\x19\x56\xf8\x14\x2b\x9c\xf0\xd9\x11\x1a\xc0\x3f\xf5\xc7\x54\x22\x9c\x48\x8e\xb0\x23\x2b\x12\xbb\x26\x30\x8b\x1d\x6b\xc1\x28\xe2\x69\x46\x13\xef\x47\xf0\xc6\x1b\xca\x62\xfa\x48\xe3\x1c\x27\x88\x4f\x34\x57\xd1\x1a\xf8\xf0\x91\x30\x95\xe3\x24\x59\x20\x9c\x24\xc8\x76\xeb\x5e\x40\x72\xce\xf3\x24\xd6\xed\xba\x51\x4a\x9a\xd2\x04\x0b\xad\xe2\x9b\xd1\x5e\xd9\xb6\xd0\xdd\x9c\xf8\xb1\xc2\xb8\xf4\x6a\xa6\xf8\x81\x48\x44\x15\xca\xb8\x94\x74\x92\x14\x67\xfe\xfe\x1c\xc1\xb8\x4f\x2f\xce\xc1\x5e\x10\x29\xc4\x0d\x0f\x75\x9d\x5b\xfb\x90\xeb\x31\xc5\x8c\x11\xe8\x98\xab\x39\x11\xb6\x7b\xfb\xf2\x6b\xab\xfe\xf7\x97\xb7\xd7\xc3\xd3\xf3\x0f\xe7\xc3\xb3\xba\xee\x7f\x37\xb8\xfd\xb1\xfe\xeb\xcf\x57\x37\x3f\x7e\xb8\xb8\xfa\xb9\xfe\xe4\x62\x70\x7f\x79\xfa\xc3\xf8\xfa\x62\x70\x59\x7f\x68\xc9\xaa\xb3\x19\x21\x1c\xd9\x9a\x67\xab\xb7\x99\x3e\x97\xcd\xf4\xe0\xcb\x35\x9a\x5a\xa7\x54\x77\x83\xa9\xb7\x51\xd8\x2f\x51\x86\xa5\x34\x92\x91\x19\xc1\xd1\x88\x7d\xe2\x42\x33\xb0\x29\xd7\x3c\x42\x4b\x4f\x4a\xe4\x91\xa2\x6c\xe6\x3f\x3a\x41\xa3\xfc\x9b\x6f\xfe\x18\x5d\x50\xf6\x00\x7f\x91\x7d\x5c\x9c\xde\xa2\xdc\x5b\x94\x7f\x5b\x16\x65\x2d\xfa\x1c\x87\x86\xe4\xdd\x06\x57\x69\xe1\x02\x7c\xe2\x5a\x94\xe0\xb9\xd2\x7f\xea\x2e\x81\x3c\x96\x84\x58\x75\x33\x58\xfa\x08\xab\x96\x3e\x04\x4f\x41\x90\xfb\x4c\x25\x30\xa3\x27\x2e\x1e\xa6\x09\x7f\xea\x66\xae\xfc\x48\x94\x1f\x86\x16\x9c\xde\x82\x95\xf2\x67\x3b\x43\x3f\xf0\x8f\x44\xe9\xb1\xdf\xd8\x5e\xfa\x60\xab\x3e\xd8\xea\x75\x83\xad\xf6\xca\x54\xf8\xfc\xac\xb5\x6c\x57\x34\xfc\xb5\xc5\x0f\xd7\xea\x66\x6b\xf1\xa2\x05\x4e\xb2\x17\xe1\xc9\x65\x57\xd4\x2e\xf9\x72\xd9\xd9\xb4\x82\x27\x97\x86\xf1\x56\xf8\x72\x69\xd0\x2f\xcf\x93\x7f\x13\x7e\xa2\xde\x0d\xb4\xe1\x42\xbd\x49\xd6\xdd\xf1\x56\x7a\x31\x27\xce\xf3\x5f\x25\xb5\x98\x8f\x75\x82\x3c\xd6\x88\xea\xe8\x1c\xc6\xb1\x22\x6e\xa3\x31\x50\xa3\x29\x32\xa3\x1e\x8a\xd1\x18\x7b\xb1\x5d\xb0\xc5\xa6\xb7\x5e\xf7\xf0\x89\x75\x6f\xbd\xee\x81\x13\x1f\x89\x2a\x0d\xe3\xad\xdc\x7a\xa5\x41\xbf\xfc\xad\xf7\x1b\x8d\x97\xe8\x03\x24\x9e\x71\xe9\xbe\xf4\xbb\x72\x7f\x43\x20\x7e\x03\x31\x0f\x7d\x90\xc3\x5a\x6b\xf4\x65\x45\x35\x7c\xa9\x61\x0c\x6f\x33\x6e\xa1\x0f\x54\xe8\x03\x15\x5e\xc3\xa3\xf4\xf6\x02\x15\x9e\x55\xf1\x25\x9a\xac\x24\x58\x51\x43\xe5\xe6\x5d\xc6\x65\xbb\xbe\x17\x3a\xaf\x1b\xf4\x3a\x68\xb3\x6c\xcd\x04\xea\xfd\x15\xcd\xb1\x44\x3c\x8a\x72\x51\x71\xd1\x56\x4f\xf9\xa9\x20\x58\xe9\x23\x52\x36\x5c\x22\x68\x19\x09\x12\x71\x01\x4e\x4a\x8c\xb2\x39\x96\x04\x29\x81\x99\xa4\xab\xb4\x3c\xd3\x2a\x8c\x4b\xb7\xf3\x16\x14\xbc\xfa\x22\xbe\x94\x7a\x37\xe1\x71\xed\x40\x9a\xb3\xda\xf4\x64\xf9\x4d\xb2\xb3\xa9\x43\xda\x6f\x97\x99\x3f\xe3\x51\xd1\xb7\xd6\x8e\x8f\x4a\x49\x8d\xdf\xf4\xa8\x94\xad\x1d\x3b\x39\x2a\x30\xae\xb7\x72\x54\xea\x8b\xf8\x9b\x39\x2a\x4d\x53\xdf\x87\xa3\xe2\xc2\x01\x76\x7c\x5c\x6a\x3e\xf8\x4d\x8f\x4c\x3d\x5c\x61\x27\xc7\xc6\x8f\xef\xad\x1c\x9d\xe6\x05\xfd\xcd\x1c\x9f\xb6\xe9\xbf\xee\x11\xf2\x7e\x88\xce\x87\xe7\x4e\xd0\xd9\x8c\x08\xa3\x19\x45\x9a\x14\x57\x43\x2d\x15\x96\xf7\xcd\x0e\xcc\xea\xd3\xe0\x7b\x78\x0b\x27\xc1\x0f\xd6\x8c\xfd\x37\x73\x04\x6a\xf3\xde\x13\xda\x3f\xd6\x9c\xf8\x11\xd0\xda\xba\x9d\x81\x1b\x02\x84\x0f\x17\x48\x26\xc8\x23\xe5\xb9\x4c\x16\x87\x22\x67\x4d\xdc\x1e\x8c\x04\x4f\x34\x49\x10\x67\xc9\x02\x49\x85\x85\x72\x8f\xd9\xcc\x78\x94\xf4\x61\x4a\xb0\x54\xe8\x81\xf1\x27\x86\xa6\x98\x26\xb9\x20\x28\xe3\x94\xa9\xa3\x11\x3b\x67\xe8\xc6\x8c\x11\x34\xef\x03\x94\x4b\x7d\x04\x23\xcc\x18\x57\x28\x9a\x63\x36\x23\x08\x33\x07\x5d\x53\x50\x06\xe2\x02\xe5\x59\xac\x0f\x96\xee\xa2\x62\x63\x2a\x0e\xd8\x88\xdd\x81\x15\x43\x22\xf2\x59\x09\x92\x92\x64\xa1\xfb\xd0\xb4\xaf\x38\xb2\xeb\x63\x86\x6a\x0d\xe2\x44\x08\x2e\x24\xe8\xec\x93\xc5\x3f\x30\x53\x94\x11\x04\x6a\xa6\x34\xc0\x47\x87\xe8\x82\x4b\x88\xc9\xfe\xf1\xcf\x12\x45\x49\x2e\x15\x11\x07\x68\x92\xcf\x24\xa2\x0c\x65\x09\x56\x53\x2e\x52\x3d\x42\xca\xa4\xc2\x13\x9a\x50\xb5\x38\x40\x29\x8e\xe6\xa6\x2d\x58\x03\x79\x30\x62\x31\x7f\x62\x52\x09\x82\x7d\xef\xee\x21\xfa\x2a\x7c\x66\x08\x40\x7e\x7d\x00\x86\x7b\x9a\x66\xc9\x22\x1c\x7e\x90\x08\x0d\x7b\xa2\x1b\x21\x31\x9a\x90\x08\xe7\xd2\x1a\x76\x94\x58\x20\xf2\x79\x8e\x73\x09\x7b\xa7\xa7\x67\xad\x1e\x11\x4f\xb3\x84\x28\x82\xe8\x14\x29\x41\x49\x8c\xf0\x0c\x53\xbd\x74\xb7\x64\x49\xe2\xb6\x27\x7a\xbb\x81\x96\xea\x7f\x05\xcb\x47\xca\x05\x41\x31\x51\x98\x26\x72\xb9\x53\xf2\x45\x09\x0e\x3d\x3b\xbd\xa1\xfd\x25\x37\xb4\xd7\xd4\xb6\xe4\x26\xb4\x3b\xd6\x5f\x85\x6f\xe9\x2a\x2c\x73\x85\xbd\xb8\x0b\x0d\x48\xc4\x0e\x04\x42\x66\xad\xe2\x11\x4e\xb6\x94\x0d\x6f\xec\xa0\xd6\x96\x0e\xdd\x87\xfd\xa1\x78\x5b\x87\xc2\xec\xda\xfe\x9c\x8a\xb6\x84\x8a\x9d\x23\xc5\xac\x83\xf1\xb2\x24\x23\x42\xa2\x14\x2b\x7d\xb1\xcd\xec\x15\xdd\x11\xc5\xb0\x00\x75\x79\x53\x07\xe5\x25\x90\x5c\xbe\xec\x88\x85\x3e\x52\xe1\x37\x88\x40\xbb\x37\x09\x8c\x7d\x0e\xf4\x33\xe5\x40\x53\xd9\xe7\x40\xf7\x39\xd0\x5d\x17\xa8\xcf\x81\xee\x73\xa0\xdf\x6c\x0e\xf4\xb3\xa6\x3f\xef\x2e\xc9\x79\x37\x99\xcc\x6f\x4a\x3a\xef\x25\xf3\x5e\x32\xef\xd3\x95\xfd\xd4\x76\xc5\x05\xdd\xd7\xef\x62\x92\x10\x45\xda\x0d\x74\x44\xa4\x5a\xe1\x30\x37\x3c\x65\x5a\x14\x9c\x09\x22\xe5\xb6\x3c\xcd\x37\x1c\x96\x57\x68\xf0\x47\x14\x28\xb3\x9e\x2c\xc1\xae\xb3\x8c\xd9\xf9\xb6\xdf\x26\xcb\xf3\xc3\xef\x21\x1b\x7a\x1e\xd8\xf3\xc0\x4d\xa6\xb6\x3f\xe6\xe8\xe0\x30\xbf\x94\x3d\xda\xf3\xf6\x2c\x6f\x17\x4e\xef\x8d\xa3\xb5\x60\xb4\x86\xc2\x21\x2b\x95\xfb\xc3\x6d\xe9\x7c\x4b\x5e\xbf\x4e\x5f\xcb\xf8\xba\x69\xe7\x6d\x32\x75\x33\xf6\x9e\xa3\xf7\x1c\xbd\xe7\xe8\x6f\x9b\xa3\xbb\x93\xfc\xaa\xee\xc5\xa0\x70\xda\x98\xc6\xdb\xd4\x4e\xeb\x5e\x87\x02\xa7\x24\x1e\x42\x96\x98\xcf\x71\x13\xbf\xea\x4f\xc2\xaa\x68\x2e\x1f\xac\xbb\x03\x32\xfc\xba\x58\xf5\x52\x29\xab\xcd\xfc\x91\x45\x81\xb2\xf3\xf8\x4d\xb8\x24\x1b\x57\xf8\x0b\x29\xae\xb6\x1f\x5c\xe4\xc5\x6b\xab\xed\xc7\xb4\x7b\x17\x59\x5f\x5a\xad\x77\x02\x75\x9c\x70\xef\x04\xda\x5f\x27\x50\x87\x6d\x7c\x16\xcf\xee\x0b\x1f\xcf\x97\x12\x1d\xbb\x67\xee\xb8\x04\x1b\x16\xa3\x3c\x4b\x38\x8e\x3b\x56\x47\x0f\x24\xba\x0e\xe9\x3b\x2c\x46\x82\xcc\xa8\x54\x44\xe8\x7d\x69\x14\x0c\x57\xe7\xf3\xbc\xd5\x32\xe8\x9d\x23\x36\xc3\x6e\xdf\xfd\x7b\x87\xe1\xdf\xd8\x3b\x1b\x38\xd1\x04\xc7\xbe\x3e\x31\x88\x6f\x29\x5e\xa0\x39\x7e\x24\x2e\xca\xfc\x11\x27\x34\xc6\xd5\xb5\xae\xcc\x70\xd9\x80\xfe\x73\xbd\x01\xe1\xf2\x70\x7c\x41\x3b\x59\x8e\x02\xb6\x00\x15\xf0\xce\x5c\x6b\xe5\x89\x20\x38\x5e\xa0\x09\x21\xcc\x93\x4d\xc3\x7d\xd2\x32\xe6\x9d\x08\xce\xaf\xae\x95\xd6\xa9\x67\x5f\xd4\xd2\x17\x8c\x7b\x6d\xe6\x37\xdb\xeb\xa0\xdb\x2b\x9e\xf2\xbb\xb7\xc5\x82\xfa\x58\xd8\xde\x36\xf9\xfa\xb6\xc9\x3e\x16\xb6\x57\xf4\xf7\x4c\xd1\xef\x63\x61\xfb\x58\xd8\xde\x0c\xb2\x7c\xda\xbd\x19\xe4\x8b\x88\x85\xed\x24\xc3\x6f\x18\x0d\xfb\xc6\xa5\xf9\x5e\x98\x77\xef\xf5\xc2\x7c\x2f\xcc\x7f\xa1\xc2\xfc\x7e\xac\x70\x2f\xc9\xf7\x92\x7c\x2f\xc9\xf7\x92\x7c\x2f\xc9\xef\x7c\x19\x7b\x49\xbe\x59\x92\x87\xbf\x5c\xb1\x9d\x75\xc5\xfa\x35\xc5\xf9\xb5\xd3\xdd\xd6\x77\x06\x7e\x24\xea\xad\x7a\x02\x7b\xa9\xbd\x97\xda\xf7\x5b\x6a\xdf\x9b\x09\x7d\x79\x85\x32\xfa\x52\x13\x7d\xa9\x89\xbe\xd4\xc4\x33\x97\x9a\x70\x5f\x77\xc8\x91\xb2\x87\x4b\x61\x95\x4b\x83\x55\x5c\x04\x9b\x74\x12\x7b\x3a\xa4\x46\x55\x7a\x58\x2d\xf7\xa0\x81\x42\x29\xd7\xba\x1b\x23\xa5\x77\x1c\x83\x33\x81\x35\x33\xfa\x48\x18\x72\xc9\x01\x07\xf6\x1a\x3b\x00\x63\xca\xbf\xfc\xe1\x33\xc9\xb7\x58\x21\x8c\x14\x4d\xc9\x11\x3a\x9f\x1a\x6e\x11\xe9\xd3\x25\x89\x92\x95\x68\x2c\x43\xf9\xf0\x11\x8b\x8b\xb1\xba\xbe\x69\x11\x9c\x63\x5e\x3b\x70\xcc\x36\x4f\x94\x61\xbd\xae\x71\x40\x1a\x9d\x78\x0e\x05\x07\x2d\x25\x22\x71\x5f\x96\xba\x75\x2f\xa7\x38\xd6\x8c\x21\x18\x42\x91\x25\x1c\xbe\x0f\x77\x3a\x95\x3e\xbc\xa8\xf4\xbd\xf9\x1a\xe0\x4a\x01\x5e\x14\x60\xd5\x3b\x0d\x63\x0e\xd1\x6f\x5a\xc4\x8b\xf3\x84\x20\x2c\x25\x8f\x28\x06\x35\xc6\xc8\x00\x88\x2a\x67\x69\x70\x2f\xb9\xae\x63\x2a\xf1\x24\x21\xb1\x5d\x63\x52\x44\x3b\x2d\x1d\x39\x95\x68\x42\xf4\x12\x6b\x36\x55\x5e\xfd\xb9\x91\x40\x1a\x46\x13\x0c\x85\xd4\x47\x42\x98\x19\xc8\x12\x09\xda\x10\xe7\x5b\x15\xa2\xfb\x8c\x3b\xff\xb4\x17\xa9\x7b\x91\xfa\x37\x2a\x52\xef\x51\x84\xe6\x5e\x24\x0e\x82\x0f\x54\x73\xfe\xb1\x37\x6c\xca\xae\xb6\x9e\x0b\x2a\x95\x44\x51\x2e\x15\x4f\xdb\x25\x9f\x4f\xae\x87\x81\xef\xe0\x94\xb3\x29\x9d\xe5\xe6\x6e\xf9\xd5\xca\x26\xfe\x44\x17\x6a\xca\x22\x23\xdd\x0c\x43\xde\x6e\xbd\xaa\xb3\xc6\x7c\xc4\x06\x27\x6f\x43\x3b\x6f\xe2\xb6\x6b\x1e\xfa\x4b\x5d\x7a\xeb\x28\xab\x85\x7d\xdc\x6a\x9a\x5a\xbf\x18\xdf\x0c\x6f\xaf\xee\x6f\x4e\x87\x27\x68\x90\x65\x09\x35\x2e\x2b\x43\x61\xf4\x1f\x7a\x52\xa6\x6a\x94\x27\x11\x2b\x10\x19\x30\x77\xf0\x91\x69\x7d\x10\x1d\xa2\xd3\x8b\xfb\xdb\xbb\xe1\x4d\x4b\x83\x96\x24\x00\x71\x80\xa4\x59\x02\xf2\xd1\x43\x3e\x21\x82\x11\x2d\xe1\x5b\xc8\xf7\xc2\x73\x66\x1a\x1d\xfe\xf7\xf0\xf4\xfe\xee\xfc\xea\x72\xfc\x97\xfb\xe1\xfd\xf0\x04\x39\xda\xd2\xcd\xea\x71\xe9\x51\xc4\x0b\x86\x53\xad\x75\x97\xcb\x5b\xfd\x3d\x27\x39\x88\x63\x74\xc6\x52\x02\x95\x18\x4a\x2d\xba\x01\x5f\x0c\xbe\x1f\x5e\x94\x5b\x9e\x93\x10\x87\x1e\x25\x78\x42\x12\xeb\xca\x03\xef\x94\x3e\x3f\x01\x62\xbf\xf1\xf1\xe5\x66\x55\xff\x72\x3f\xb8\x38\xbf\xfb\x65\x7c\xf5\x61\x7c\x3b\xbc\xf9\xe9\xfc\x74\x38\xb6\x9a\xd4\xe9\x40\xf7\x5b\xea\xc9\x2a\x5c\xe8\xef\x39\x4e\xb4\x46\xce\xa7\x0e\x99\x1e\x3d\xcd\x09\x43\x39\x03\x8a\x33\x6a\x3e\x68\x25\x21\x2c\x8f\x99\xd1\xf5\xc5\xfd\xc7\xf3\xcb\xf1\xd5\x4f\xc3\x9b\x9b\xf3\xb3\xe1\x09\xba\x25\x09\x28\xc2\x6e\xd1\x61\x17\xb3\x24\x9f\x51\x86\x68\x9a\x25\x44\xaf\x06\xb6\x38\x10\x73\xfc\x48\xb9\x28\x69\x2b\xb0\x8e\xc0\x0a\xa0\x7d\xa7\x70\x8e\x83\xa5\xbb\xba\xfc\x70\xfe\xf1\x04\x0d\xe2\xd8\xcf\x41\x42\x1b\x25\xca\x71\x68\x42\x87\x35\x34\xa1\x08\x9b\x80\x10\x28\xd0\xfe\x48\x84\xa0\x31\xa9\xd0\xd1\xe0\xf6\xf6\xfc\xe3\xe5\xa7\xe1\xe5\x1d\xac\x98\x12\x3c\x91\x68\xce\x9f\xc0\x0b\x04\x33\x04\xe7\xd0\x23\xa6\x09\x74\xe6\x36\x8b\x33\xf4\x34\xa7\xe0\x39\x84\x0a\x05\xbe\x67\x63\x93\x10\x79\x3d\xa9\xe2\xa5\xb5\xfe\xd2\xc1\xab\xab\xea\xd5\x93\x54\x7f\xa3\x72\x2c\x96\xbd\x50\xa2\xf2\xfa\x8b\xab\xa8\xb5\xfe\x45\x85\xdc\xda\x0d\x14\x35\x7a\x69\x9f\x69\xb1\xd7\x9d\xed\x13\xe5\x35\x7c\xb1\xdb\x5b\x33\xde\x78\xec\xec\x54\xc7\xff\x2c\x31\xe0\x7f\xed\x30\x5a\xcb\x24\xe8\x2c\xc5\x2e\x0c\xb2\xd5\x7f\xb5\xd7\x6c\xc7\xcb\x3b\xf8\xb2\xe9\xc3\xba\x1f\x27\xf8\xe0\x2d\xdc\xca\xe1\x70\xf7\xe8\x06\xbe\x09\xe5\x2c\x27\xae\xa7\x44\xe1\x18\x2b\xac\xf9\xda\x8c\xa8\x23\x74\xc5\xe0\xd9\x1d\x96\x0f\x07\xc8\x15\x1e\x43\x5c\xa0\x42\x90\x7d\x81\x04\xf7\x37\x62\xc0\x5c\x5f\xb9\xea\x8d\x04\xbd\x91\xa0\x79\x65\xfa\x68\xb9\x96\x15\xde\xd5\x8d\xba\x96\xcd\x7f\x77\x17\x5f\x60\xe2\x77\x81\x2f\x15\x1b\x6d\xe9\x46\x5c\x69\x8f\x7d\xbb\x97\xe1\xcb\x5a\x64\x77\x7a\x35\x9a\xba\x64\xfd\xbd\x67\xfe\xaf\xbf\xf7\xfa\x7b\xaf\xbf\xf7\xf6\x60\x85\x5f\xdd\xba\xdd\xc0\xdd\x5f\xd5\xbc\xbd\x4a\x41\xde\x18\x26\xaf\x50\x88\xd7\x01\xca\xfb\xb5\x0b\x1e\x5e\x83\x59\xbb\xae\x21\x4b\x24\xe7\x58\x98\x82\xdf\x11\x4f\x53\xce\xca\x76\xf3\x03\xe4\x9d\xfc\x60\x94\x5c\x09\xa6\xaa\x29\xbb\xe8\x86\xbe\x0d\x7b\x77\xb0\x2e\x2f\x91\xdd\xb4\x53\x11\xc2\xa4\x0d\xf4\xfa\xf5\x33\xca\x19\x3d\x8e\xe1\x4e\x71\x0c\xf7\x63\xae\xcf\x92\x09\xb5\x7b\x1b\xfc\xdb\xc8\x7e\xea\x01\x0b\xfb\xfc\x9e\x3e\xbf\x07\x7e\xef\x01\x0b\x77\x47\xad\xcf\x2b\xd3\xf3\x98\x8c\x2b\x15\xba\xfc\x3f\xc7\x55\x97\x57\xe9\x49\xe8\xff\x2a\x3d\x28\x12\x9e\xa0\x75\x1a\xef\xb2\xaa\xd7\x25\x8f\xc9\x16\x95\xbd\xf4\x88\x3a\x57\xf5\x2a\xf5\xb5\xe7\x22\xbc\x5b\x26\x23\xca\x97\x06\xfe\xcc\x82\x7c\x0b\xc5\x7c\x89\xd6\xa8\x06\xfa\xef\x4d\x53\x2b\x17\xea\x4b\x2d\x9b\x50\x30\xb8\x37\xe4\xa8\xe9\x76\x0b\xb8\xf0\x9e\x71\xcb\x5d\xd0\xfc\xdc\xdf\x08\xcd\x8f\x9f\x07\xd2\xa6\xfb\x85\x50\x41\xb2\x29\x5f\x05\x9b\x22\xd8\x94\xba\x7f\x1b\x76\x9e\x70\xc4\x2f\x61\xe9\x59\x4a\x4c\x5f\xdc\x35\xb1\xec\x68\xf4\x97\x45\xc7\xe5\xfa\x52\xaf\x8c\x1e\x79\x66\x99\xed\xa5\x87\x76\xe9\x4d\x3f\xfb\x33\xe1\xde\xf4\xf3\xa6\x4d\x3f\xc6\x51\x3d\xce\xb0\x20\x4c\x35\xc8\xe8\xd5\xeb\x04\x5e\x0f\x73\xf8\x9d\xd4\x01\x0d\x18\x69\xd1\x5e\xc8\xfe\xaa\xfa\xb2\x6c\x41\x56\x30\x08\x92\x97\x8e\xff\x59\xfc\xed\xa5\xff\x52\x5d\x8b\x25\xd1\x5e\x06\x34\x5f\xea\x3b\x3a\xb7\x81\x5f\xdb\xa7\x37\xd9\x14\x62\x27\x0a\x26\xe4\x91\x24\xdd\xe2\xc3\x5c\xfa\x02\x89\x0b\x81\xaa\x98\x5d\x43\xdc\x58\x5d\x40\x6d\x8e\x19\xbb\x36\xef\xbd\xad\xe4\xa6\xda\xa0\x5f\x36\x7e\xac\x4e\x56\xdd\x8e\xa7\xdb\x77\x6a\x12\x75\x82\x6c\x10\x2d\xeb\xf2\x69\xb8\xa3\x2e\x19\x1b\x43\xae\x52\xdb\xfd\xf2\x9b\x8b\x2a\x69\xdd\xf9\x57\x8d\x2d\x69\xe2\x3d\x4d\x0c\xa7\x8b\xf5\x78\x57\x49\x94\x8e\xd8\x5a\x62\x3e\xda\xcc\xcd\xcf\xc4\x6c\x3e\x12\xf5\x65\x70\x9a\x8f\x44\xbd\x14\x9b\xd9\x94\xb7\x2c\xe5\x2b\x45\x0d\x9d\xfd\x8b\x5d\x58\x27\xa8\xe6\x67\x33\x49\x1b\x51\xe3\x73\x97\xc3\xa9\x2a\x6e\xb5\xcc\x92\xa0\xde\xe7\x98\xf6\x39\xa6\x7d\x8e\x69\xf5\xa8\xf7\x39\xa6\x7d\x8e\x69\x63\x46\x4c\x4c\x12\xa2\x48\xab\xd4\x72\x06\x8f\x5f\x4b\x6a\x31\xbd\x3f\x97\xcc\x62\x5a\xff\x32\xc4\x16\x33\x97\x5e\x72\xf9\xcd\xe8\x45\x6e\xc3\xf7\x42\x2f\x32\x27\x79\x95\x69\xa6\xf4\x63\x43\x10\xfe\x8b\x9b\x6b\x36\x61\x49\x3b\xb0\xd9\x1c\x3a\xd7\x58\x91\xd3\xd2\xd5\x8c\x73\x06\x5f\xbe\x49\x5e\x55\x1d\x7a\x6f\xd2\x41\xc1\xd6\x3d\x1f\xeb\xaa\x9d\xb9\x6e\x13\xb7\x34\xfa\x76\xe7\xbd\x2f\x2c\xbb\x8d\xee\xf7\x95\x71\x6f\x9c\x27\xf5\x05\x18\xb8\xd6\xe3\xcc\x85\xcd\xeb\x0b\x62\xcb\xbd\xfd\xeb\x95\x73\x77\x6a\xfc\xf7\xcd\x4e\xb7\x37\xf7\xf5\xe6\xbe\xde\xdc\xd7\x9b\xfb\x7a\x73\x1f\xea\xcd\x7d\x2f\x64\xee\x5b\x4f\x82\x2b\x59\x00\xbf\x20\x21\xae\xb7\x06\xf6\x72\xdc\xee\xa6\xbb\xaf\x9a\xf4\x3e\x99\x40\x3b\x23\x69\x17\x49\x84\x2b\x73\x47\xec\xb4\x7f\x5d\x99\x34\x12\x54\x25\x71\xc3\x59\x95\x18\x72\xed\x86\xfd\x76\x98\x9c\x7c\x6e\x3e\xb6\x4d\xf8\xbb\x5b\xf7\x2f\x36\xfa\xbd\xaf\xbb\xda\xb8\x56\x7d\x70\xfe\x92\xc5\xe9\x83\xf3\xfb\xe0\xfc\xbd\x0b\xce\xdf\xb9\x4a\x95\x71\xb9\x0c\x3c\xcc\x5c\xcd\x4b\x51\x03\xdc\x45\x6f\x74\x19\x4d\x0a\xa6\x56\x5c\x4c\xb2\x84\x2f\xc0\xde\xb3\xd4\xf2\x6d\xba\x28\x94\xa0\x65\x97\xbf\x7b\xfb\xba\x1e\x1e\xb1\xe7\xf7\xbf\x1b\xf9\x4b\xa9\x35\xfb\x22\xf6\x16\xf3\xde\x0b\x41\xf7\xf8\x9f\x15\xc8\x8c\x4e\x98\xba\x01\xc8\xc5\xea\x63\x30\x62\xcd\x4f\x82\xf2\x8e\xf6\xd6\x9c\xe4\x2a\xc8\x47\x95\xfa\x00\x64\x44\xa8\x45\xf0\x26\x49\x33\xb5\xf8\xaf\x11\xa3\x45\x15\x38\x3a\x63\x5c\x18\x1e\xa8\x3f\x9e\x63\x16\x27\xfa\xfc\x48\xdf\x4e\x84\x19\xe3\x0a\x84\x13\x98\x41\x8c\x1e\x29\x36\xa2\xcc\xe0\xfa\xbc\x43\x7c\x40\xa7\xb3\x58\x72\xed\xbf\xa1\x93\xf8\xd2\xf5\xd5\x56\xdc\xa2\x1f\x13\x3e\x81\x8a\xa0\x79\xd9\xc4\xa0\x1b\xe8\x9d\xd1\xa5\x9d\x7b\x2d\xe6\xa1\xb0\x7c\xa8\x02\xf9\x94\x61\x1d\xc6\x4b\xa1\x7d\x56\xbc\x5b\x2a\x76\xb1\xfc\xd5\x0a\xfc\x4f\xf9\x99\x05\x04\x82\xc7\x30\xe4\xea\x38\xdc\x8f\x61\x87\xee\xb7\xa2\x65\xf7\x8b\xab\xa8\x0e\x3f\x0a\xa2\xc4\x62\x8c\x95\xd2\x0c\x69\x97\x98\x43\x77\x58\x3e\x6c\x81\x39\x54\xf6\x34\xad\xc0\x1c\x2a\xf5\xb5\xe7\x1c\xab\x84\x39\x54\x1e\xf8\xb3\x73\xac\x8e\xc4\xbd\x82\xb1\xbd\x3d\x78\x89\xae\x47\x75\x8d\x89\xff\x56\xa0\x26\xba\xb1\xae\x55\x46\xe7\xb7\x08\x3b\xb1\x8c\x17\xef\xcd\x08\x2b\xd7\xc1\x97\x78\x72\xcb\x97\x5b\x7f\x44\x97\xad\xd1\x17\x57\xfa\xb5\x22\xb3\xac\x98\xdb\x1b\x29\x01\x5b\x15\xbb\x76\x3d\xaa\xe7\xb1\xbf\x07\xbb\xb1\x4e\x08\xd5\x79\xb9\xe4\x81\x3f\x43\x2e\xa8\xaa\x00\x8d\x37\xa5\xce\xa9\x0c\xf1\x24\x22\x2e\x8c\xe4\x15\xdb\x33\x6b\xec\x89\x06\x9b\xfb\x04\x0d\x50\x8c\x15\xd6\x87\x54\x90\x4c\x10\x49\x98\x32\x5a\xbd\x41\xaa\x4f\x79\x4c\x12\xa3\x51\x1b\xd3\xd5\x19\x56\xf8\x14\x2b\x9c\xf0\xd9\x11\x1a\xc0\x3f\xf5\xc7\x50\x1f\x5e\x72\x84\x1d\xe1\x90\xd8\x35\x81\x59\xec\xcb\xd2\xa3\x88\xa7\x19\x4d\x7c\xb9\x07\xef\x5e\xa0\x2c\xa6\x8f\x34\xce\x71\xe2\xe1\xf5\x47\x6c\xf8\x48\x98\xca\x41\x03\xc4\x49\x82\x6c\xb7\x01\x7a\xbe\x33\x05\xb8\x51\x4a\x9a\xd2\x04\x0b\xa4\xb8\x1d\xed\x95\x6d\x0b\xdd\xcd\x89\x1f\xab\x2b\x25\x80\x52\xfc\x40\x24\xa2\x0a\x65\x5c\x4a\x3a\x49\x8a\x63\x7c\x7f\x8e\x60\xdc\xa7\x17\xe7\xb6\x36\x3b\xe2\x86\x0f\xba\xce\xad\x03\xc3\xf5\x98\x62\xc6\x08\x74\xcc\xd5\x9c\x08\xdb\xbd\x7d\xf9\xb5\xcd\xaf\xaf\x0d\xf9\xde\x6e\xca\x0d\x47\xf6\x7a\x3a\x6b\x67\x85\xb5\xab\xb6\xda\x4d\x55\x6d\xd7\x53\x9f\xc1\xe7\xdc\x5d\x99\xac\xe0\x15\x96\xd5\xc8\x4d\xf1\x0a\x4b\xdd\xbf\x09\xe7\x74\x69\xc4\x2f\x81\x57\xf8\x1b\xd5\x2c\x7b\xb5\xf2\x59\xd6\xed\x4b\xd5\x29\xf7\x5c\xa1\xec\x91\x16\xfb\x2a\x17\x7d\xa8\xc9\x0e\x17\xa7\x0f\x35\xe9\x43\x4d\xbe\xd8\x50\x93\x76\xf5\x84\xc6\x5b\x67\x6c\xae\x59\xd7\xce\x5b\x19\xc4\xaf\x20\x4a\x69\xb1\xbf\x43\xa5\xbb\x26\x6d\xa1\x90\xa5\x4b\x95\xa9\x36\xd7\x1c\xce\xe3\x37\xa1\x32\x34\xae\xe6\x4b\xa8\x0e\x7d\x91\xb4\x9d\x16\x49\xdb\xbb\x69\xf7\x52\x65\x2f\x55\xf6\x82\x53\xc7\x09\xf7\x82\xd3\xfe\x0a\x4e\xaf\xa5\x0d\x7d\x49\x78\xd9\x5a\xc4\x2a\x65\x25\x2d\x8d\x53\x36\xf8\x4a\xe0\xcc\xc8\xb3\x84\xe3\x78\x55\xc4\xd1\xaf\x81\xf8\xb6\x44\xee\x0b\xda\x15\x45\x9c\x72\x45\xfc\x5b\x26\xdb\x99\x06\x74\x8f\x6f\x41\xb4\xd3\xe3\x34\x23\xee\x10\x1d\x19\x76\xf8\xee\xdf\x3b\x0c\xfc\xc6\xde\xc9\xc0\x69\x26\x38\x76\x00\x06\x46\x3c\x4b\xf1\x02\xcd\xf1\x23\x41\x53\x4c\x13\x63\x9f\xa3\x31\xae\xae\x6f\x65\x6e\xcb\x06\xf4\x9f\xeb\x0d\x08\x97\x87\x53\x64\x34\xea\xfb\xc2\x48\x55\x11\x4e\x9c\xbb\x0f\xde\x99\x63\x89\x70\x22\x08\x8e\x17\x68\x42\x08\x0b\x32\xd9\xba\x8e\x79\x27\x82\xf1\xab\x87\x67\x86\x74\xf3\xaa\x51\xde\xc0\x35\x20\x5e\xb1\x14\xf7\xf8\x5c\x8a\x65\x95\x93\x6c\xa1\x43\x6e\xa3\x38\xca\xef\xde\x0a\x73\x79\x09\x35\xf1\x0b\xf6\x22\xf5\x9e\xa2\xe5\x61\x78\x3b\x8a\x6a\x1a\xb1\x3b\xad\x5a\x15\x18\x0c\x41\x8a\x2c\xfa\x83\x5b\xae\x3f\x40\x84\xbe\x8d\xda\x4f\x16\x85\xe6\x2d\xab\xad\x79\xb9\x0c\x1d\x6a\xa1\x38\x22\x42\x19\x90\x07\xa6\xc8\x67\x25\xd1\x21\x4a\xe8\x03\x41\xef\xf5\xe9\x40\x83\xeb\xf3\xf7\x07\xe8\xbd\x29\xaa\x8f\xb2\x04\x33\xf9\x7e\x6f\xb4\x8f\x5e\x45\xef\x93\x8c\x7b\xcf\x4f\x6f\xc0\xe8\x0d\x18\x3b\x5f\xc6\x7d\x32\x60\xbc\xa2\x8c\x6e\x72\x9b\x9e\xa5\x98\xed\xbe\x48\xeb\xbd\xb0\xde\x0b\xeb\xbd\xb0\xfe\xc5\x0a\xeb\xfb\xb1\xc2\xbd\xa4\xde\x4b\xea\xbd\xa4\xde\x4b\xea\xbd\xa4\xbe\xf3\x65\xec\x25\xf5\x8a\xa4\x0e\x7f\x39\xb4\x80\x75\xc5\xf6\xce\xe2\xfa\x66\xd0\x00\xdd\xdc\x74\x16\x1b\xe0\xad\x48\xe6\xbd\x54\xde\x4b\xe5\xfb\x2d\x95\xef\xcd\x84\xbe\xbc\x84\xe0\x3e\xa5\xb6\x4f\xa9\xed\x53\x6a\x5f\x23\xa5\xd6\xf1\x92\x65\x12\xce\xb2\xba\x3e\x3f\x59\xe6\xf2\x15\x65\x51\x92\x83\xa8\xaa\x7f\xfe\x3e\xa7\x49\x8c\x40\x45\xd2\x9a\x2e\xe5\xec\x6b\xa0\x27\x20\x05\x18\xa7\xab\x44\xb1\x5c\x82\xf9\xa9\xc6\xea\xf6\x56\x88\x29\x46\xbb\x29\x0c\xdb\xae\xf6\xd4\x15\xc6\xd8\xa4\xfa\x5f\xe9\x37\xd7\xd0\x1e\xd5\x04\x3c\x70\x62\x89\xe6\x48\x6e\x7c\xcf\x5c\x1d\xb0\xb1\xcf\xb5\x6a\x05\xfe\x6c\x3f\x7a\x5b\xa5\x0c\xea\xa3\xee\x2b\x04\xa2\x60\xd7\xfa\x0a\x81\xcf\x38\x6f\x77\xce\x56\xcc\xdc\xd1\xa8\xb1\x85\xbf\xd1\x69\xbf\x7a\xb0\x63\xfb\x49\x7f\xd5\xd0\xc7\xc6\x8b\xac\x96\x5b\x77\xfc\xcf\xc6\x7b\xea\x15\x0a\x23\xae\x7d\x39\xed\xa4\x44\xe2\x36\xd7\xd3\x47\xa2\xbe\x94\xbb\xa9\x2f\x93\xd8\x97\xd7\xd9\xd1\x74\x37\xba\x7b\xde\xec\x6c\xfb\xa2\x90\x7d\x51\xc8\xbe\x28\x64\x5f\x14\xb2\x2f\x0a\x89\x7e\xe3\x45\x21\xd7\x96\x5f\x77\x50\x1e\x72\x1b\xe9\xd5\x74\xff\xa5\x08\xb0\x7d\x89\xc8\x5e\x86\xdd\xdd\x74\x7f\x5b\x32\xec\x1e\x5a\x50\xf6\xa2\x16\xa6\xb7\xa0\xbc\x3a\x2c\x91\x67\xed\x9d\xa1\x89\xc2\xb8\x17\xff\xf5\x4e\x11\x8a\xdc\xa6\xf5\x28\x45\xf6\xff\x7a\x94\xa2\x1e\xa5\xa8\x65\xd6\x7d\x60\x75\x8f\x52\x84\xfa\xd0\xe1\x3e\x74\x78\x9f\x43\x87\x3b\x6c\x63\x8f\x52\xd4\x51\x64\x7c\x26\xa4\x22\x27\x73\x6d\x85\x56\xd4\x20\x0e\xae\x46\x2c\xfa\xb9\xae\x11\xed\xad\xa8\xe7\xc6\xda\x23\x17\xf5\xc8\x45\xdb\xd2\xce\x5e\x28\xa0\x2f\x88\x60\xd4\xc4\x61\xd6\xc9\x8b\x6e\x60\x2e\xdb\x2a\x98\x6f\x03\xcd\xc8\x8d\xb6\x4f\x92\xee\xd3\x31\xf6\x3f\x1d\x63\xef\x92\xa4\xf7\x46\x53\xe9\xd5\xf9\x3e\x4f\xba\xcf\x93\xee\x8d\x1d\xbd\xb1\x63\xe7\xcb\xb8\x4f\xc6\x8e\x57\x96\xdb\x9f\x11\xd5\x68\x1f\x25\xf8\x5e\x80\x37\xef\xf5\x02\x7c\x2f\xc0\x7f\xa1\x02\xfc\x7e\xac\x70\x2f\xbd\xf7\xd2\x7b\x2f\xbd\xf7\xd2\x7b\x2f\xbd\xef\x7c\x19\x7b\xe9\xfd\xc5\x90\x8e\x9a\x44\xf8\xb5\xd1\x8e\xd6\x74\xf3\x05\xc9\x6c\x6f\x49\x5a\xef\x25\xf5\x5e\x52\xdf\x6f\x49\x7d\x6f\x26\xd4\x23\x1f\xf5\xc8\x47\x3d\xf2\x51\x8f\x7c\xb4\x91\x8c\xf4\x6f\xf6\x58\xbe\x0b\x6e\x62\x7f\x65\xbf\xfb\x3e\xe1\x93\xbb\x45\x46\xf4\x7f\xcf\x68\x4a\x98\x04\x89\x96\xaa\x45\x28\x13\xb5\xac\x7c\x7d\xcd\xdf\xdd\x9e\x5f\x7e\xbc\x08\x53\xd5\xde\x7d\xba\xbf\xb8\x3b\xbf\x1e\xdc\xf8\x75\xf1\xb3\x0a\xd7\xc2\x7e\x57\x12\xeb\x2c\xc9\xdf\x10\xad\xbf\xc2\xa9\xb9\x55\x58\xe5\x72\xb3\x91\xdd\x0c\x6f\x87\x37\x3f\x41\xaa\xdd\xf8\xec\xfc\x76\xf0\xfd\x45\x89\x20\x4a\xcf\x07\xa7\x7f\xb9\x3f\xbf\x69\x7f\x3e\xfc\xef\xf3\xdb\xbb\xdb\xb6\xa7\x37\xc3\x8b\xe1\xe0\xb6\xfd\xeb\x0f\x83\xf3\x8b\xfb\x9b\xe1\xd2\xf5\x58\x3a\xda\xe5\x8a\x8c\x84\x45\x82\x2c\x16\x14\x59\xae\x21\x8a\x35\x44\x5e\x7c\x74\xec\xb0\xa9\xaf\x13\x74\x6f\xed\x02\xd4\x36\xee\x42\x92\x7c\x43\x46\xa1\x89\xa9\xc4\x93\x84\xc4\xb5\x96\xdc\x1a\xb6\xb5\x84\x4b\x83\x7a\xd2\x1a\xb8\x17\x39\x35\xcf\x8b\x0c\x2f\x40\x90\x00\xac\x08\x8b\x1b\xfa\x30\xfb\xd0\xda\x03\xd3\xbc\x8b\x3e\x92\x52\x4f\x51\x2e\x04\x61\x2a\x59\x18\x81\x5b\xd6\x1a\x75\xdb\xd7\xd6\xac\xbd\x53\x7d\x83\x73\x2c\x4d\xe4\x55\x69\xfc\x82\x24\x04\xcb\x86\x31\xdb\xdd\xef\xb6\x2c\x7e\xaf\xac\x45\xc7\x5c\x46\x53\x4c\x93\x5c\x90\xca\x69\xe1\x69\x86\x05\x95\x9c\x0d\x3f\xeb\xbb\x4c\x1f\xe4\x2b\xf8\x9c\x8b\xcd\x4e\xcc\xf0\x2f\x21\x05\x5f\x96\xff\xf9\xf1\xae\xfc\xaf\xd2\x99\xbf\xb8\x2b\xff\x6b\x39\xad\x07\x0d\x57\x29\xfb\x10\x7d\xbc\x3b\x41\x1f\x21\xa4\x4b\xa0\xbb\x39\x36\x14\x7b\x71\x77\x82\x2e\x88\x94\xf0\x4b\xf1\xb1\xa2\x2a\x81\xb9\x7d\x4f\x19\x16\x0b\xe4\xa6\x6f\xb2\xc8\x31\xf8\x4a\xdc\xd2\x54\x17\x8f\xfd\x2d\x67\xa0\xfe\x17\xab\x77\xc1\x67\x34\xc2\xc9\x76\x8b\x38\xb8\x2c\xf1\x81\xab\x9b\xa5\x4b\x11\xbe\x5d\x5f\x8b\xc1\xe5\x19\x64\x68\xbb\xa1\x36\xcc\xfc\x92\x48\x4d\x24\x11\x67\xb1\xf5\x1f\xe9\xdb\x7f\x11\x08\xf5\x7f\xe3\x90\xe5\x9e\x4b\xad\x6a\x0e\x2e\xcf\xd0\x31\xba\xba\x19\xb1\x2b\x11\x1b\x63\x2a\xd1\xd2\xb0\xa1\x39\x2a\x11\xe3\x0a\xd1\x34\xe3\x42\x61\xa6\xb4\x22\x00\x62\x80\x5d\x11\xc3\x01\x4e\x79\x9a\xe6\x0a\xeb\x83\x56\x5b\x54\x66\x4c\x2a\xb7\x44\x9d\xc7\xe0\x9e\x69\x58\x43\x23\x27\x14\x73\xc9\x84\x6e\x5f\xcb\x28\x65\x3d\x9c\xc6\x35\x55\xd6\x35\x81\x85\xc0\x65\x69\xe2\x1d\x55\x24\xad\xbe\xdf\x31\xbc\xf8\x5f\x8d\x46\x86\x53\x93\xce\x43\xc4\x40\x44\x73\xaa\x48\xa4\xf4\x11\xdc\x88\x26\xee\x2f\x7f\xbc\xbc\xfa\x39\x94\x20\xde\x0d\x3e\x9d\xfd\xe9\xdf\x4b\x3f\xdc\x7c\xaa\xfd\x30\xfe\xe9\x4f\xb5\x5f\xfe\x7f\x4b\xe9\xa9\xda\x53\x4d\xcf\x0f\xe6\x72\x08\x22\x35\xd8\x95\xdd\x54\x11\x4d\xf1\x8c\x20\x99\x67\x9a\x02\xe4\x51\x79\x7f\xb5\x48\x79\xc1\x71\x4c\xd9\xcc\xa4\x57\x5f\x50\x45\x04\x4e\x3e\xe1\xec\x83\xb3\x81\x6f\xb0\x3a\xff\xf7\xb6\x94\x0c\xff\xee\x97\xc1\xa7\x30\x9d\xfe\xdd\xf5\xcd\xd5\xdd\xd5\xd2\x59\x97\x5a\xa8\x1f\x23\xfd\xf8\x04\xfe\x17\x1d\x23\xdd\xba\x97\x7c\x53\xa2\xb0\xd6\x08\xd0\x57\x26\x25\xd4\xa7\x70\x51\x96\xc0\xa9\xc9\x04\x4d\x29\x5c\x29\xc6\x0a\xf8\xb5\x11\xae\xbd\xf6\xe0\xcf\x8d\xf9\xc0\x24\x7d\xdb\x4b\x99\xc5\x58\xc4\xe8\x6f\xb2\x8a\xcd\x00\xc6\x67\xf3\x03\x89\xd1\x21\x9a\x2b\x95\xc9\x93\xe3\xe3\xa7\xa7\xa7\x23\xfd\xf6\x11\x17\xb3\x63\xfd\xc7\x21\x61\x47\x73\x95\x26\x06\x8b\x42\xaf\xc2\x09\xba\x16\x5c\x5f\x21\xa0\xa0\x13\x41\x71\x02\xa9\xe8\x13\xc3\xff\xf8\x14\xfd\x1a\x71\x41\x8e\x8a\x8d\xb1\x86\x29\x7b\x8f\x58\xe3\xd5\xb1\x7e\xa9\x81\x99\x54\xf7\x13\xc5\x24\xa2\xb1\x15\x33\x08\x8b\x38\x58\x2f\x8d\xbf\x43\xb7\xe7\xf2\x68\x89\x75\x36\xfb\xe5\x0c\x94\x15\x1c\x93\x00\x4a\x42\xf1\x32\xc1\x69\xc5\xe7\xdc\xa8\xad\xb9\x56\xd1\x21\xba\x19\x6e\x55\xf7\x6a\xa6\x27\x1c\xf1\x04\x4d\xf2\xe9\x94\x88\xd0\xd7\x7d\xa0\xb5\x19\x2a\x91\x20\x11\x4f\x53\x90\x18\xf4\x57\xb9\x34\x54\x0d\x2b\x66\x47\x7b\x34\x62\xb0\xff\x5a\xcd\x01\x0a\x88\x39\xb0\x3a\x46\x48\x8c\x30\x5b\x98\x6e\x26\xf9\xb4\xe4\x4b\x07\x8c\x17\x1c\x23\xaa\x46\x6c\x90\x24\x48\x90\x94\x2b\x12\x86\x69\x83\xe3\xad\xb4\xe0\xc0\x22\x05\xc9\x12\x1c\x39\x10\x80\x84\x47\x38\x41\x53\x9a\x10\xb9\x90\x8a\xa4\x61\x03\x5f\x81\xad\x46\xaf\x19\x95\x28\xe6\x4f\x2c\xe1\xd8\xce\xa3\xfa\xd9\xd7\xe5\xd3\x38\x74\xf8\x1b\x43\x21\xb8\x80\xff\xf9\x91\xb2\x78\x67\x1c\xea\xfe\x76\x78\x13\xfe\xfb\xf6\x97\xdb\xbb\xe1\xa7\xf5\xb8\x8f\xa7\x2c\x18\x1e\xe8\xf0\x27\xe8\xd6\x2c\x02\x17\x5a\x22\x12\x2d\x93\xfa\x64\x49\xa9\xf8\x81\xc7\x1b\x72\xdf\x4f\x83\xcb\xfb\x41\x89\xa3\xdc\x9e\xfe\x30\x3c\xbb\xaf\xe8\x03\x76\x7e\x25\x19\xde\xa8\x7f\xe1\x6f\xa7\x3f\x9c\x5f\x9c\x8d\x1b\x14\xc6\x77\x37\xc3\xd3\xab\x9f\x86\x37\x85\x6e\xd7\xb8\x44\x95\xc1\x54\x99\xd5\x9d\x61\x4a\x73\x1e\xa3\xc9\xa2\x19\x6d\x45\x4b\xce\x09\xf8\x73\x0b\xbc\x21\xd3\xea\x09\xf0\x26\x07\x7c\x53\x7c\x91\xf2\x98\x1c\xd8\x77\x00\xa6\xc6\x18\x57\x8c\xc4\xdc\xdc\xb0\xee\x1d\xb3\xc0\x50\x61\x10\x64\xfc\xc2\x9d\xa0\x01\x92\xfa\xc5\x5c\x1f\x6a\x41\x67\x33\x30\x1c\x56\x86\x6a\x5a\xb3\x9f\xc2\xf2\xc2\x77\x66\xff\x33\xc1\xe1\x9c\xeb\x6e\xad\xc5\xd9\x5b\x25\xcc\x87\x06\x65\xb7\xd4\xa2\xc0\x60\x70\x68\x18\x9a\xdb\x2c\xbd\x08\xad\xeb\x65\xce\x63\x91\x58\x01\x6c\x4b\x1a\x7b\x67\x26\xc8\x23\xe5\x79\xf0\xa9\x45\xcd\x29\xed\x78\x63\xf3\xc5\x02\xc0\xb2\x19\xa3\x48\xa5\x19\x4f\x1e\x8d\x2d\x68\x16\xf6\x08\x2d\x4c\x05\x4f\x1b\xda\x28\x1f\x93\xf3\xab\x5b\x25\xb0\x22\xb3\xc5\x99\x65\x19\x9b\x1f\x8f\xb3\xab\x9f\x2f\x2f\xae\x06\x67\xe3\xe1\xe0\x63\xf9\xc4\xfb\x27\xb7\x77\x37\xc3\xc1\xa7\xf2\xa3\xf1\xe5\xd5\xdd\xd8\xbd\xb1\x94\xe4\x5b\x3a\xa8\xdf\xd3\xe5\x17\x4f\x90\x66\xb9\xc0\x1a\x1d\x9c\x65\xc0\x1f\x27\x64\xca\x85\xe1\xf3\xa9\x0b\x7f\xb0\x22\x8c\x5b\x5b\xab\x8b\x55\x66\x71\x02\x96\xb1\xa6\x26\x8d\xd5\x5b\x09\x82\x53\xb8\x27\x30\x43\x43\x16\x1f\x5e\x4d\x0f\x6f\xcd\x8f\x29\x16\x0f\x44\xf8\x4f\x9f\x04\x55\x8a\xb0\x92\x4a\x87\xdd\x90\xbd\x92\x58\x74\x70\x84\x6e\x34\xdf\xd7\xef\xfb\x4b\x4d\x13\x7b\x4c\x14\xa6\x89\xb4\x83\x2d\xad\xeb\x09\xba\xc0\x62\x56\xd8\xe1\xbe\xe2\xd3\xa9\x69\xec\x6b\x33\x0c\x7d\x87\x95\x66\xd1\xc0\x7b\x35\x69\xb8\x7b\x11\xfa\xb3\x2f\x7b\x79\xb8\x4e\x55\xf7\xd9\x76\x34\x75\x7f\x0d\x2b\x6e\x34\xf6\x92\x6e\x68\x9f\x34\xd0\x1a\x4c\xdc\x3c\x5e\x7e\xc9\x34\xb7\x5d\x27\xa7\xf2\x8b\x0d\xe4\x64\xb2\xf8\xf4\xce\x4f\xb5\xb6\xd9\x40\x4b\xe4\x33\xb5\x06\x83\x70\xdc\x15\x12\x2a\x9a\x01\xf3\x2a\xce\x32\x82\x85\x6c\xda\xed\xb2\x18\xd8\xb2\xf7\xa6\xa7\xb0\x0f\xbb\xc9\xae\x9f\x03\xc4\x19\x18\x1c\xbc\x10\x51\xa1\xc8\x0e\x34\x60\xda\xaa\x51\xc0\x35\x40\x99\x5d\x59\xd8\xb0\x4f\x54\x6a\xa5\xd1\xfc\xf8\xbd\xc5\x33\xdb\x8c\x20\x3e\x0c\xce\x2f\x2a\xc2\xc5\xf8\x6c\xf8\x61\x70\x7f\xb1\xdc\x4c\x58\xfa\xae\xba\xc5\xe8\x10\xe9\xe7\x65\xdf\x3b\x9d\x9a\x3b\xc3\xa1\xb2\x19\x95\x96\x30\x30\x5a\xd9\xa4\x3b\x63\xaf\x8e\x49\x96\xf0\x45\x4a\x18\x98\x78\x4a\x37\xa1\x5e\xcf\x29\xa6\xf6\x6a\x09\x06\x0b\x56\x1c\x6b\x76\x83\x6b\xec\xd0\x41\xc1\x91\xd8\xdf\xbc\x65\x24\xb8\x0a\xeb\xbe\x36\xde\x33\xfb\x9f\x5b\x85\xd5\x86\x67\x6c\x70\x7a\x77\xfe\xd3\xb0\xac\x1f\x9e\xfe\x70\xfe\x53\x93\x54\x33\xfe\x38\xbc\x1c\xde\x0c\xee\x56\x08\x27\x95\x26\x9b\x84\x13\xa9\x07\x5c\xf5\x9e\x52\xe9\xa3\x8a\x22\x83\x27\x87\xa8\x92\xe8\x91\x4a\x3a\xa1\x80\xbe\x67\x3d\x91\xf7\xe7\xc0\x59\x21\xcd\x92\xaa\x85\x13\x5f\x4c\xbf\xe5\x7d\xd4\x9c\xd4\xb6\x6f\xcc\x0e\xa1\x7f\x12\xac\x7c\x66\x73\xdc\xa4\x4f\x10\xe8\xb6\x8f\xa0\xb4\x05\x9f\x31\x2d\x48\xb3\x19\x11\x66\x38\xe0\x7d\x09\xc7\x12\x3c\xd7\xa3\x0a\x85\x95\x62\xd5\xbc\xd0\x3a\x23\x8c\x08\x80\xf7\xf2\x9d\x18\x41\x4a\x10\xf6\x5e\xcb\x5c\x59\x42\x23\xaa\x92\x05\x8a\xc0\x86\x05\xe6\xcc\x14\x33\x3c\xb3\xc2\x01\xa8\x39\x15\x92\xf8\x8b\x81\x28\xbc\x9a\x5a\xd3\xfe\x1d\x25\x1b\x1e\xb3\xfb\xcb\xb3\xe1\x87\xf3\xcb\x32\x09\xfc\x70\xfe\xb1\x24\xc2\x7e\x1a\x9e\x9d\xdf\x97\x6e\x73\x2d\xc9\x2e\x97\xeb\xab\xcd\x36\x1c\x45\xff\xd2\x09\x3a\x33\x9f\x9e\xe8\xc5\x6d\xc0\x5f\xf4\xca\x6f\x65\x1d\x6e\x5c\x58\x9f\xfb\x63\xc8\x94\x68\xf4\x4b\x74\x35\x21\x59\x1f\x64\xc9\x86\xd4\x1c\xaa\x50\xeb\xfb\xb2\xea\x54\xae\x87\x72\x58\x47\xa4\xee\xe4\xa8\xb0\x2c\x85\x31\x0c\x60\x34\x68\x33\x62\x35\xb8\xb5\x0a\x86\xfd\x13\xb8\xa8\xd3\x5c\x2a\xe3\x4a\x04\xe2\x44\x0f\x7f\x96\x7a\x41\xc1\xd5\x78\x84\x6e\x09\x19\x31\x67\x3d\x98\x51\x35\xcf\x27\x47\x11\x4f\x8f\x0b\xf0\xcf\x63\x9c\xd1\x14\x6b\x49\x9a\x88\xc5\xf1\x24\xe1\x93\xe3\x14\x4b\x45\xc4\x71\xf6\x30\x83\x28\x1a\xe7\x4e\x3d\xf6\xcd\xce\xf8\xef\x2e\xfe\xf8\xcd\xe1\xc5\x9f\xbf\x79\x57\xb7\x90\xb5\xed\xff\x90\x45\x38\x93\x79\x62\xa3\xee\x44\xb8\x36\xee\xc8\xe7\x64\xd5\x7e\x5f\x96\xb7\x6b\x3b\xfd\xf5\xf4\xfa\xbe\x64\xb1\x2e\xff\xf3\xd3\xf0\xd3\xd5\xcd\x2f\x25\x4e\x79\x77\x75\x33\xf8\x58\x62\xa8\xc3\xeb\x1f\x86\x9f\x86\x37\x83\x8b\xb1\x7b\xb8\x8d\xed\xed\x47\xc6\x9f\x58\x79\x69\xa4\xe3\x80\xb5\x9e\x4e\xd0\x07\x2e\xd0\x8f\x7e\x27\x0f\x27\x58\xc2\x15\xe3\xee\x2c\x79\x80\x32\x1e\x03\xe3\x45\x24\x9b\x93\x94\x08\x9c\x58\x9b\x81\x54\x5c\xe0\x99\xb9\xe9\x65\x24\xb0\x8a\xe6\x48\x66\x38\x22\x07\x28\x02\x6a\x98\x1d\xc0\xa6\x80\xaa\xc5\x67\x55\x3b\xdf\x4d\xce\x14\x4d\x89\x53\xc1\xed\x3f\xef\xcc\x66\x6c\xb0\x39\x57\x77\x3f\x94\x85\xbd\x0f\x17\xbf\xdc\x0d\xc7\xb7\x67\x3f\x2e\x5d\x4f\xf3\x59\x69\x64\xb7\x10\x80\x74\xca\x93\x3c\x65\xe1\xdf\x9b\x8f\xed\xfc\xf2\x6e\xf8\xb1\x3a\xba\xab\xc1\x5d\x99\x32\x6e\xca\x41\x72\xef\xbe\xbf\xba\xba\x18\x96\x5c\xc2\xef\xce\x06\x77\xc3\xbb\xf3\x4f\x25\xfa\x39\xbb\xbf\x31\x50\x9f\xcb\xa6\xe9\x46\xd0\x30\x51\x3d\xad\x70\x9a\xbb\x66\x85\x9d\x38\xd1\xc0\x06\xa5\x9b\xb3\x7c\x18\x00\x3d\x99\x70\x30\xb0\xea\x1c\x7a\x93\x6a\x64\x46\xda\xc8\x0e\x55\x79\x9b\x50\x3b\x3b\x5e\xba\xd1\xcb\xb8\xf2\x9d\x1f\x82\xc1\xd9\x35\xca\x36\x4e\x12\xfe\x64\xc2\x81\x53\xaa\x6f\x65\x0b\xfb\xa7\x5f\x91\x85\x87\xf0\xa8\x81\xe3\x95\xb7\x85\x44\x82\xa8\x4f\x3c\x67\x6a\x73\x92\x1b\x5c\x96\xf8\xce\xf0\xf2\xa7\xf1\x4f\x83\x32\x05\x9e\x5f\x2c\x67\x35\x61\x13\x0d\x57\xf1\xe0\xf2\x17\x7f\x09\x43\xd0\xf8\x81\xd7\x50\x8d\xec\x1a\x25\x54\x8b\xbd\x11\xd6\xda\x6b\x02\x12\x0d\x22\x14\x4c\x0e\xa9\x9e\x1c\x04\xa9\x66\xc6\x9f\x64\xf8\x93\x19\xe4\x89\xfb\xa3\xd2\x9e\x84\x75\x01\x6b\xaa\x8b\xc9\x87\x76\xac\x56\xcd\x10\x61\x8f\x54\x70\x00\x8b\x46\x8f\x58\x50\x2d\x8d\x9b\x96\xf5\x5c\x4f\xe0\x7f\xd7\x6b\x13\x0c\xa3\x15\xc6\x75\xcb\x85\x3a\xf3\xc1\xc0\x9b\x59\x43\x9a\x82\x62\xeb\xe1\xb0\xcd\x86\x8e\xfa\xb7\x0d\x9b\xb3\x65\xd0\x70\x79\xc2\x7f\x4f\xce\x28\x4e\x34\x03\xd8\x9d\xbc\x38\xb8\xbc\x3d\x2f\xcb\x8f\x65\x35\x23\xe0\xcb\x1b\xcb\x8b\x60\xa8\x34\x23\x77\xca\xc4\xed\x5f\x2e\x8c\x76\x01\x88\xe2\xe6\xdc\x06\x8a\x85\x85\x66\x31\xd2\x44\x86\x85\xac\x7c\x21\x11\x40\xf0\x15\x01\x57\xfa\xce\x82\x70\xa6\x47\x4e\xe3\x11\x23\x9f\x33\xc2\x24\x04\x07\x98\xfb\xac\xf0\xb5\xcb\x23\x74\x3e\x05\x96\xa0\x5f\x67\x28\x67\xd6\x01\xa6\x2f\x5c\x33\xc8\x03\x2d\xca\x16\xe8\x30\x81\xf9\x88\x11\x17\x2c\x55\x0c\x7e\xc4\x7e\xf6\x4e\x34\x78\x34\xe5\x9a\x01\xe9\x5d\xb4\xed\x9d\x20\xcc\x24\x3d\x40\x5a\x61\xa9\xee\x29\xa4\x1f\x68\x85\xd2\x86\x70\x69\x4e\x63\xff\x7c\xf9\x6b\xa0\x16\x27\x1c\x5e\x06\xcd\x77\x41\xe5\x2a\x68\x11\x8d\x13\xe3\x31\x19\x77\xbf\x13\x22\x2e\x88\xf5\xb3\xac\x7d\x0d\xac\x62\xec\x77\x58\x3e\xd4\x7c\x0f\xe7\x4c\x2a\xcc\x22\x72\x9a\x60\xb9\x61\x10\x92\xb3\x71\x1c\x94\x25\x8e\x9b\x9b\xfb\xeb\xbb\xf3\xef\x57\x70\xf9\xea\xc7\xf5\x30\xa0\x28\xc9\x9d\x7b\x6e\x22\x38\x8e\x91\x66\x9f\x33\x6e\x5c\x81\x56\xf0\x2f\x70\xf5\x4d\x6e\x90\x0f\xa8\x2c\x61\xfa\x17\x29\x0d\xd6\xce\x11\xba\x12\xa8\x5d\x08\x14\xe9\x95\x40\x81\xc9\xc3\x6d\x35\x78\x16\x4d\xb9\x21\x6b\xdd\xca\x12\xac\xa6\x5c\xa4\x86\xcb\x97\x26\x6d\x1a\x5f\xde\x28\x65\x8a\x08\x91\x67\x8a\xba\x42\x09\x55\x29\x55\x6f\xd9\x05\x9f\x7d\x22\x52\xe2\x19\xd9\xc6\x01\xdd\xa4\x3c\xdc\xfe\x14\xfe\x13\x1c\xcc\x5d\x64\xff\xd2\x08\x5d\xe4\xbb\xa3\xa7\x2b\xf6\xc1\x04\xf2\x5c\xf3\x84\x46\x1b\x06\xdc\x7d\x18\x9c\x5f\x8c\xcf\x3f\x69\x25\x7e\x70\x37\xbc\x28\x89\x12\xf0\x6c\xf0\xe1\x6e\x78\x63\x11\xe2\x07\xdf\x5f\x0c\xc7\x97\x57\x67\xc3\xdb\xf1\xe9\xd5\xa7\xeb\x8b\xe1\x8a\xc8\x9c\xd6\xc6\xeb\xd6\xd5\xea\xab\x27\xb5\x5f\x60\x87\x35\x2f\x0b\xed\x65\x90\x79\x86\x69\x02\x4e\x70\x6e\x9c\xe1\x18\x31\x1e\x1b\x0c\x2e\xe9\xac\x33\x1e\x96\x1d\x9d\xab\xf7\x49\x82\x70\xae\x78\x8a\xc1\x6b\x93\x2c\x46\x0c\x4f\x34\x6b\xc5\x49\x12\x84\x77\x89\x9c\x31\xcd\x62\x75\x63\xa6\xfe\x41\x94\x10\xcd\xce\xb3\x20\x61\xd0\xfa\x0d\xa6\x94\x41\xa4\x6d\x8a\xc5\x83\x2b\xe6\xe8\xd3\x30\xfc\xa1\x90\x08\xcb\x11\x33\xd8\x60\x56\x5a\xe9\xb0\xc2\x27\x9d\xde\x6a\x5d\x9d\x14\x3f\x10\xbd\x2a\x69\x1e\xcd\x51\x26\xf8\x4c\x10\x29\xad\x6d\x39\xc2\xcc\x04\x20\xd8\xd7\xf5\x35\x34\x62\x8c\xeb\xa5\x70\x26\xec\x98\x64\x84\xc5\x84\x45\xd4\xa4\x06\x82\xef\xde\x9b\x36\x67\x02\x67\x73\x24\x39\x38\xbd\x61\xd9\xc1\x7e\x65\x3e\x72\x37\x99\x45\x43\x83\xc7\xa1\x05\x5a\xe4\x9a\x4f\x5c\x81\x9c\x68\x56\x19\x3e\x76\x97\xa1\x73\xbb\x18\x3b\x60\x9a\x25\x44\x99\x4a\x18\xb0\xe4\xb0\x19\x7a\xad\x4b\xfb\xa1\xb7\xa9\x69\x13\xf4\x85\xed\xc6\x8c\xa5\x1d\xd1\x51\x83\x65\xdb\x1e\x29\xf4\x03\x66\x71\xa2\x5b\x71\x3e\x8c\xf2\x59\x84\x54\x94\x81\xa6\x1a\x77\x1a\xb7\xb9\x45\x23\x9c\xcb\x6d\xae\xd1\x4a\x3e\xa7\xb1\x0a\x1e\x16\x41\x21\x40\xde\x36\x99\x13\x56\x37\xd3\x2c\x12\x27\xdc\xae\x92\x79\x3d\x37\xd5\xdd\x10\x8c\xa6\xe5\x9a\xcd\x04\x65\x11\xcd\x70\xb2\x91\xee\x57\x09\xc6\xb7\x31\xee\x5f\xd1\xa9\x26\x9f\xaf\x6b\x6e\x5b\x45\x44\x0a\x49\xce\x76\x98\x7e\x0b\xd7\xb0\x24\xd9\xac\x06\x22\x8b\x68\x12\x2c\x78\x6e\xfc\x71\xb0\x2e\x24\x6e\x38\xaa\x47\x4d\xdb\xad\x4f\x06\x2e\x07\x40\x6f\xb0\xd9\x26\xf2\xa7\x6d\xfd\x2a\xad\xd8\xde\x4d\x30\x1e\x4e\xae\x9b\xdb\x6c\xda\x81\xe0\xe1\xbf\x96\xd1\xce\x27\x9c\x69\x9a\xb1\x35\x31\x70\x31\x47\xab\x24\xd9\x9a\x7f\x2e\x7e\x26\xf0\x9d\xfb\xbc\x90\xee\xbb\x51\x2c\xa1\x0d\x80\xaa\x77\x52\x8a\x21\x08\xf2\xd4\x2d\x8d\x4f\x73\x2d\xcb\x22\x0c\x51\x08\xe8\x2b\x72\x34\x3b\x42\xae\xc2\xc9\x01\x1a\x5c\x5f\x0f\x2f\xcf\x0e\x10\x51\xd1\xd7\x2e\x66\xd1\x06\x2c\x8d\x98\xe2\x56\x5a\x59\xb8\xea\x34\x29\x11\x33\x52\x9a\xb3\x8b\x6e\x82\x50\xe5\x19\x95\xca\x86\xcf\x6a\xbe\x12\xd4\x11\xa2\x69\x55\xcc\x36\x14\x92\xab\xf9\x36\xa4\x81\xa5\xcc\x53\xad\xcb\x8e\x29\x4e\xc7\x82\x27\xdb\x30\x85\x33\x98\x0a\xa8\xcb\x3e\xc5\x9f\xe2\x14\xe9\x66\x6d\x28\x88\x77\x39\x7a\x91\x4e\x0b\x46\x9a\x2f\xeb\x7b\x33\xb8\xb7\x9c\xf7\xc1\xc6\xa3\x51\x17\x02\x01\x10\x00\x2d\xac\xa2\x30\x1b\x8f\xad\xa5\x7e\x8c\xa3\x48\xab\xdc\x3b\x9e\x54\x50\x9c\xca\xb9\x04\x6c\x47\xcf\x36\xcd\x55\x74\xee\x86\x99\x69\x0e\x06\xc1\xc0\xf5\x5a\x2e\x0d\xfd\x4e\x16\xb5\x5e\x5d\xf9\xa8\x7b\xe9\x4d\x2a\xe6\x12\x96\x04\x76\x52\x9a\xf2\x53\x6a\x4e\x2c\xf4\x68\xd8\xa5\x4b\x88\xd1\x0d\x2f\x78\x2e\x9a\x18\xdd\x88\x9d\x91\x4c\x10\x2d\xe9\x57\x1d\x28\x9e\xa6\x6f\xca\x94\xd8\xd3\x75\x4f\xd7\x6f\x9e\xae\x4f\x4d\x15\xb2\x81\xaf\x3a\xb7\x95\x00\x67\x1a\x1b\x67\x9c\x27\xe3\x0e\x36\x91\xee\x2b\x5e\xf2\x84\x55\x6a\xb2\x01\xac\x00\xcf\x41\x3e\x2a\x5d\x9b\x5c\xdf\x75\x41\x8a\xad\x1d\xde\x92\x65\x70\x2e\xb3\xa0\x1a\xd4\x36\xe7\xbd\xa9\x95\x65\x2d\xa1\x67\x17\x73\x4e\x8d\x7c\xd3\x54\x64\xab\x7c\x98\x9c\x28\x42\x59\xad\xd4\xa1\xa1\x67\xa8\xdb\x0f\x72\xc7\xdf\x73\xae\xb0\xfc\xfa\x68\xc4\xb4\x10\xf5\x40\x16\xc6\xdc\xaa\xc5\x94\xdf\x6b\x59\xfc\x50\x12\x26\x21\xdc\xfb\xf7\xc6\x3d\xa7\x49\xdc\x99\xab\x8d\x6a\x6a\x2a\x2c\x96\xeb\x7f\x41\x88\xae\x6d\xd4\x4a\x49\x45\x00\x74\x51\x34\xcc\x3d\x33\xc3\x9f\x11\x05\x29\xd6\x8a\x2a\xd0\x99\x62\x53\xc2\xb1\x36\xf4\x95\xa6\x2b\x43\x15\x82\x83\x9f\x24\xce\xb7\x63\xfc\xb2\xde\xc6\x4a\xce\xe8\xb5\x85\x5b\x1b\xf3\x7e\xec\xec\x46\x91\xe0\xb5\xba\x88\x58\x22\xb3\xd3\x13\xc3\x0e\x9c\xff\x9a\xb0\xa3\x27\xfa\x40\x33\x12\x53\x0c\x11\xf0\xfa\x5f\xc7\x7a\x5e\xbf\x3b\xbd\xb9\xba\x1c\x17\x99\x3c\xff\x35\x62\x83\x44\x72\x9f\xa5\x80\x18\x67\x3e\xdc\x3e\x13\xc4\x89\x84\x76\x2e\x60\x75\x2d\xcc\x88\x23\xd6\x36\x82\x98\x47\xf2\x08\x3f\xc9\x23\x9c\xe2\x7f\x70\x06\xae\xf4\x01\xfc\x79\x9a\xf0\x3c\xfe\x19\xab\x68\x7e\x0c\xe7\x5a\x1d\x93\x47\xc2\x94\x71\x53\xe9\xe5\x8a\x21\x79\x57\x42\xb4\xfe\xef\xf4\x98\x8b\xa4\x22\xa9\x35\xd9\x88\x64\x0a\xfd\x3f\x82\x4c\x38\x57\xcd\x97\x14\x9f\x4e\x25\x59\xeb\x42\x2a\x94\xb4\xdb\x2b\xf4\xe7\x3f\x7d\xf3\xad\x26\xa1\x4d\xd6\xf8\xfc\xf6\x6a\xac\xbf\xff\xdd\x99\xfd\x5e\xae\xc1\xee\xae\xb2\x82\xb5\x39\xe2\x31\x81\xf3\x39\x83\xdb\x4f\x80\xf3\x02\xd8\x1b\x90\x43\xb1\x8f\x4d\xdc\xed\xcc\xc0\x1c\x6c\x95\x35\xb4\xc5\xad\xfe\x31\xe1\x13\xb0\x0b\xe5\xa5\x02\x69\x4b\x22\x3c\xb6\xb4\xa7\x9f\x51\x99\x25\x78\x51\xeb\x61\xd5\xb2\x5f\x6a\xee\x94\xe1\x88\x14\xf8\x0c\x2e\x18\x2b\xe2\x69\x0a\x01\x82\xce\x73\x12\xd3\x29\x44\x0a\x2a\x7d\xe7\xa3\x09\x51\x4f\x10\x97\xea\x7e\xf5\xb2\x8a\x33\xc8\x6a\x56\x06\xec\x72\xa4\x17\x39\xce\xc1\x9b\x36\x7a\x77\x80\x46\xef\x62\xf2\x48\x12\x9e\xe9\xd3\xac\x7f\x20\x2a\x6a\xda\xc4\x61\x8a\x69\x72\xc9\x95\xbf\xf9\xb6\xd9\x4f\x41\x22\x9a\x51\x7d\xba\xc6\x44\xb7\xfb\xac\x29\x61\xcd\x07\xec\x6e\x4e\x3c\x8e\x14\x8c\x01\xe1\x38\xd6\x44\x0c\xd5\xe2\xdc\xf0\x0a\x13\x3b\x0b\xa6\x5e\xaa\x82\xb4\xbe\xdc\xa6\xa5\x04\xe8\x31\x6c\xb3\x2c\x56\x34\xee\x80\x37\xbc\xec\xf4\x24\xb5\xfb\x65\x9c\xa9\xdb\x77\x5c\x54\xee\x5a\x4a\xff\xb6\x10\x61\x80\xe0\x60\x2d\x96\xad\x16\x9e\xea\x01\xd4\x6b\xd1\x6d\x9c\xe5\x95\xb9\xd5\xdf\x2d\x1d\x9a\x0c\x21\xd4\xa2\xb0\x9e\x28\x58\x17\x6c\xee\x40\x35\x5d\x81\xac\x1c\x71\x94\x70\x59\x4e\x25\xec\x3c\xe8\x53\xfb\xe9\xb2\x71\x0f\x43\x63\x4c\x9e\xf8\x2c\xbe\x4e\x74\x37\x68\x58\xf8\x0a\x56\x86\x61\x13\xca\x2a\x10\xf6\xed\x03\x44\xc1\x19\x05\x92\x6d\x52\x24\x56\xb0\x18\x15\x52\xe2\x88\x15\x26\x3d\x89\x9e\x48\x02\x5e\x80\x88\xa7\x19\x48\x40\x76\xb8\xb6\x25\x7d\x81\x2b\xac\xc8\x01\xe2\xb9\xd2\x8d\x99\x90\x25\x77\xc7\xd9\x78\xa8\x42\x2a\x34\xaa\x89\x8d\x0d\xf0\xd8\x5d\x86\xd6\x0d\x2b\xa4\x0c\x7d\x24\x0a\x5a\x01\x6c\xc4\x70\x82\xa6\xf2\xf6\xd2\xa3\x74\x5a\xdb\xb6\xb5\x4f\x94\x9d\xc9\x1a\x3b\x5f\xe4\x95\x7d\x9f\xf0\xc9\xd2\x7d\xbf\x82\xc6\xd1\xfd\xcd\xb9\xf3\xa1\x14\xe6\xe5\x00\xdc\xa9\xa4\x70\x0d\xaf\x6f\x86\xa7\x83\xbb\xe1\xd9\x11\xd2\x7a\xdd\x47\xa2\xfc\x74\x21\xfc\xdc\xc3\x04\x9a\x91\xdb\x44\x35\x26\x15\xc1\x71\x0b\x75\x13\x21\x4a\x41\xe2\x2b\x18\x47\x39\x8b\x6d\x39\x61\x43\x0e\x19\x65\x26\xa3\x0f\xf2\x2e\xab\xf3\xb4\x8e\x8b\x55\x27\x10\xcc\xc8\xe3\xb7\x63\xc4\x37\xe3\x4d\xeb\x8e\x8b\x55\xe4\x53\x76\x78\x3c\xf7\x64\xe0\x68\xa9\x39\xa1\x02\x75\x9a\x96\x21\xaa\x71\xf7\x39\x05\x11\x00\x9f\x70\xb6\x3c\x3a\x17\x3f\x95\x88\xd6\x48\x32\x81\x69\xe3\xb9\xcf\x81\x63\x6b\x63\xc3\x0a\xb7\x9f\x60\x21\xef\x1b\xde\xea\xf9\xa6\x09\x88\x91\xb5\xea\xf9\x47\x23\x56\x19\x84\x75\xf3\x49\x04\x67\x07\x7e\xa1\x0c\x95\xae\xc4\x03\x34\xa5\x9f\x6d\xa3\x85\xfb\xdf\xbd\x1a\xd8\x83\x5a\xdc\x4d\x73\x5c\x3f\x53\x6b\x88\x0d\xd7\xf0\xfd\x52\xf7\x07\x97\x4a\x4b\x5d\x5a\x72\x15\x44\xeb\x17\x24\x46\xd0\xad\x0f\x46\x58\x29\x32\x28\x2c\xf4\xa2\xe0\xb5\xf4\xad\x02\xe6\x35\xc6\x8a\x1c\x2a\xba\x32\x3e\xdc\x86\x10\x41\xb0\x11\x56\x41\xb6\x74\x71\xf3\x4c\xc8\x0c\x33\xe7\xb9\x6e\x19\xae\xbb\xf2\xb6\x60\x55\x5a\x82\xc5\x10\x3d\x07\xf2\x15\x44\x46\x95\xc6\x21\x33\x58\xcf\xa5\xe3\xb0\xc6\xc1\x7d\x58\xb6\x27\xec\x6d\x95\x2d\x83\xcd\xb3\x78\x9f\x06\x9b\x60\xa9\x90\x1d\x53\x9b\x26\x19\x48\xf8\x3b\x00\xbe\x58\x56\x60\x37\x54\xcd\xba\xda\xe3\x34\x09\x95\x95\x10\xa2\x14\xb5\xd5\x5f\x73\x49\x6c\x12\x5d\x4a\xc4\xcc\x09\xc2\xa6\x32\x97\x3f\xdb\xb6\x44\x97\xbb\x25\x42\x66\x02\x31\x0c\xf5\xa6\x8f\xd0\x80\xd5\xd2\x89\x9d\xd9\xba\xb4\x5e\xe6\x4e\xc2\xc9\x13\x5e\x48\x94\x09\x93\x79\x67\x02\x1b\xdc\xe4\xc1\x9f\x58\xfe\xc8\x5b\x8a\x94\x8b\x2c\x41\xa0\x4a\xaf\xf6\x29\x04\x05\xa7\xbb\x73\xbb\x8e\x3a\x51\xc5\xe9\xde\x54\x13\xda\xab\x9a\x1d\x58\x9d\x22\xe3\x68\x8e\xd9\x8c\x8c\x6d\xb2\xe1\x46\xda\x92\x6e\xe7\x14\x9a\x39\xb3\xad\x34\x5f\x4e\xd7\x46\x61\xb2\x10\xbb\xe6\x55\xa7\xd3\xc1\x21\x90\x0a\xcf\x08\x32\x23\x5a\xa6\x98\x14\xd0\x01\xa1\x41\xdd\x62\x31\x81\x9e\x60\x5b\x1d\x96\x83\x0c\xda\x84\x77\xb0\x0c\x5f\xe0\x09\x49\xb6\x8e\x05\xd8\xc8\x4a\x07\x5d\x5b\xe4\x49\xc5\xf5\xd2\x40\xb0\x04\x41\x4f\x73\x22\xaa\xec\xd8\xd9\xb6\x45\xde\x14\x3a\xb1\x6c\x9e\xa5\x62\x78\x5b\x4c\xd4\x41\xa9\x6e\x32\xd5\x36\x80\xd5\xf0\xda\x0b\x80\x48\x9b\xec\x23\xe1\xf5\x57\x35\x09\x6e\x36\x90\x00\x0f\xb5\x65\x1c\x5b\x03\xa2\xae\x9c\xca\xc6\x39\x18\x1d\x0b\x0d\x9c\x4f\x11\xe3\x8c\x20\x2a\x8b\x97\x55\x39\x5a\xcc\x67\x30\x6a\x11\xdf\x18\x5f\xea\xe5\x5d\x9f\xdb\xd2\x52\xe4\x96\x78\xdb\x80\x0b\x7f\x67\x44\x2b\xaa\x58\x2c\x00\x01\xc5\xf0\xe1\xb2\x4c\xb7\x72\x9c\x3b\x17\xb8\xef\x1c\xc0\x4d\xe0\xc8\x54\x1c\x81\x18\x59\x19\x1c\x32\x30\x31\xf6\x25\xfb\x91\xcd\xe2\x1b\x31\x6f\xd9\x00\x42\xa4\x12\xa5\x38\x83\xd8\x73\xc6\x55\xf1\x95\xc9\x4a\x55\x7e\x0b\x0f\x9c\x20\x2e\x0d\x4c\x79\xcb\x0a\xac\x32\xed\xb8\xeb\xb7\x58\xd7\x32\xfa\x87\x43\x2e\x9a\xd1\x47\xc2\x1c\x4d\x1f\xb8\x33\xa1\x07\xe5\x3a\x4d\x16\x87\x18\xbc\xb0\x24\x0e\x0d\xd7\xcb\x39\x92\x2d\xed\xba\x07\xf6\xc8\xee\x4b\xa6\x37\x3e\xaf\x59\x28\x4d\x0e\x79\x09\xfc\xcf\xf9\xcd\x43\x2a\xb5\xb0\x46\x26\x50\x1e\x4b\xf4\x7b\xc6\xd5\xef\x03\xe0\x27\x67\xbc\x30\x95\x7f\xad\x09\xea\xa0\x86\x68\x0b\x87\xd6\x12\x0e\xc2\x41\x02\xf2\xca\x95\xdf\x16\x7f\xad\x88\x0b\x78\x56\x69\x74\x58\x0f\x12\x6c\x83\x04\x37\xa5\x32\x76\x66\xb1\x79\x89\x9a\xf6\xc8\x90\x81\x20\x2e\x19\x3d\xe5\x82\x54\xca\x75\x18\x7e\xee\xa3\x68\xd3\x4c\x35\x66\xa2\xd5\x45\xa3\x06\x83\xa7\xa9\x5c\x50\x9c\xf4\x92\xa1\x53\x1e\x8d\xd8\x2d\x21\xed\x70\xf6\x7e\x2f\x7e\x85\x86\x60\xac\x4e\x6a\x5c\x42\x69\xbb\x08\xa9\x4d\xcb\x60\x23\x4b\xa8\x66\x05\x46\x54\xb3\x5d\x62\x93\x30\xd8\x36\xb9\xdc\x3b\x29\xc2\xba\xcc\x6d\x20\x48\x47\x23\xf6\x81\x0b\x7b\x05\x4b\x0b\xc3\x38\xc1\xd1\xc3\x21\x61\x31\xc2\xb9\x9a\x1b\x30\x22\xeb\x57\x58\x58\x6a\xd0\x92\x06\x90\x8d\xcf\x34\xa2\x32\xc2\x22\x76\x80\xa0\x8f\xdc\x8d\x62\xc4\x82\x46\x00\xe8\x11\x70\xb0\xa1\x1a\x50\x9b\xaa\x49\xa0\xf0\x40\xdb\x5a\x34\xd5\xb9\xa9\x55\xb9\x59\x7e\xce\x4a\x75\x7b\x00\xa2\x92\x11\x69\x45\xf6\xca\xea\x9c\x3b\x6b\xa3\xd3\xef\x64\x58\xf9\xdc\xbf\x79\x60\x35\x0a\x63\x92\xb2\x33\xd0\x92\xce\x37\x8e\xd7\x96\x40\x95\xa6\xb9\x80\x18\xa5\xa6\x36\xbf\x8a\xe6\x34\x29\x7c\x17\x5f\x1f\xf8\x61\xea\x26\x13\xf2\x48\x12\x03\xe9\x17\x09\x08\x5c\x30\x56\xc3\x6f\xd0\xff\x31\xb5\x5f\xd0\xb7\x23\xf6\x11\xd8\x70\x92\x2c\x00\x70\xc4\xb7\x8c\x55\xa5\x99\x87\xc6\x01\x28\x1b\x29\x85\xca\x03\x31\x7b\x3d\xc7\x8f\x64\xc4\x5c\x33\xff\x07\x3d\xa0\x3f\xa0\x6f\xdb\xd4\x3b\x17\x7f\xf0\xcc\x76\x8e\x0f\x81\x77\x3f\xb8\xe5\x2c\xa3\xb4\xfc\xc6\x99\x41\x4a\x46\xc8\x86\xc4\x23\x8f\x1b\x46\xd9\x23\x8f\x6a\x41\x2e\xe1\xa9\xc5\x82\x30\x35\x66\x3c\x26\x63\xd2\xe0\xd2\x5c\xc2\x24\xb4\x10\x70\xc9\x63\xb2\xd2\x21\xe9\x99\xe9\xcf\x60\xba\x91\xf9\xc4\x6f\x07\xe4\x3f\xf8\x60\x77\x6f\x7d\x28\x53\x5a\xf3\xc8\x3d\x38\xcf\x26\xe3\xde\xd4\x99\x7a\x65\xe5\xb3\x03\xb8\x10\xec\x00\x9a\x1d\x7a\x09\x56\x2e\x44\xbc\x7a\x1c\xab\x8e\x00\xfd\xb2\x9e\xb9\xbd\xac\x02\xd8\x21\x80\x86\x15\x74\x46\xb5\xfc\xde\xdd\x61\x0b\x9c\x70\x13\x6f\x86\xc1\x60\xe9\xe4\xce\x28\x96\xc2\xe5\xa1\x1d\x7a\xfa\x2b\x9c\x90\x13\x9e\x57\x05\x78\xbb\x00\x54\x86\xc1\xeb\x56\x56\x5f\x68\x3e\x3c\x33\x01\x92\x64\x4e\x4d\x4a\xc2\xe0\xf4\x02\xe9\xd3\xc1\x53\x93\xb7\x0b\x8b\x96\xab\x39\x17\xf4\x1f\xad\x01\x5c\xed\x32\x7a\xe1\x69\x2d\xe2\xdd\xcc\x38\xcb\xd2\x3a\x10\xab\x11\x29\x54\x49\x2b\x69\xd2\x99\xd0\x24\x07\x88\x1a\xcd\x66\xa7\x79\x62\x70\x2d\x23\x2e\x62\x53\x9c\x4e\x96\xa2\xeb\xf4\x7b\x5e\xbc\xc7\xca\x37\x48\x2d\x92\x87\x45\xce\x34\x16\x9c\xa5\x02\xe8\x5f\x72\x92\xef\x28\x40\xd1\xa2\xe1\xbf\x50\xe4\x47\x55\x0d\xc0\x33\x59\xc4\xec\x9a\xb5\xd1\xbc\xb9\x58\xdf\xbf\xeb\x99\xca\x20\xa4\xd7\x59\x16\x7d\x86\xac\x51\xc9\x4d\xdd\x94\xb5\x2c\x3a\x37\x06\x19\x70\x07\x26\x9d\x97\x88\xe7\xa8\xcb\x48\x0d\xec\xc7\x92\xdf\xa3\x0f\x70\xad\xb2\x88\x67\xb2\x93\x38\x88\xc5\x8a\xf4\xf1\x8c\x26\x93\x0d\x98\x5c\x5d\xa8\x5e\xb6\xde\x81\x01\xc5\xb3\xb5\x86\x58\x73\xc5\x91\x9e\xfb\x93\xa0\x90\x40\xbf\x28\x5e\xf6\x25\x82\xdc\x75\x11\xf2\x18\x2d\xa5\x18\xb1\x16\xe2\x3a\xdc\x12\x2e\x9a\x79\xfc\x1a\x06\x08\xdb\x50\xb9\xeb\xba\xdf\xbe\xed\x44\x18\x96\xb4\xaf\x47\xa2\x9e\x3d\xb7\xf2\x30\x78\xa0\xd4\xd7\x31\x20\x7a\xd1\xe6\x99\x4f\xc6\x5a\x14\x12\x5c\x64\x6b\x93\xc8\x6d\xd9\x54\xb9\x36\x5d\x98\xbe\xc7\xe0\xe7\xde\xda\xbd\x13\xb8\x00\x8a\x6c\x0a\x93\x46\xe7\x32\x66\x5f\xc8\x90\x09\x91\x03\xe5\x44\xbe\x20\x70\xa0\x2d\x63\xf3\x59\xf9\x59\x81\x50\xe9\x38\x52\xc7\xa1\x2c\x75\x97\x76\x74\x7e\x82\x85\x6c\x19\x7b\xbd\xb0\x51\x9f\x65\xb7\xa1\x09\x3d\xe3\x41\xe4\x84\xab\xc1\xa2\x04\x86\x04\x02\x08\xfb\xfe\xd9\x68\x79\x54\x1a\x2b\x8c\x43\xa2\x4c\x33\xb5\xb0\xc0\xe5\xc0\x9b\x2d\xa4\xb1\x9a\x63\x66\x93\xb2\x9b\x5c\x94\x55\x3e\x1d\x97\x9c\x94\x4d\x9d\x41\x47\x56\xb5\x6d\x6c\xd2\x2d\x74\x98\xe4\x53\x49\xaa\x68\x8b\x48\x30\x35\x60\xc6\x38\x69\xb5\xa7\x4c\x38\x4f\x08\x66\x6d\x6a\x67\xe3\xe3\x9a\xf5\x95\x86\x89\x14\x16\x9f\x45\x89\x9c\x68\x9d\x1b\x27\x49\x65\x5e\x18\xca\xb8\x2a\x8f\x03\x3f\x29\x8a\xd5\x74\x77\x98\x26\x78\x42\xd6\x72\x91\x5e\x98\x0f\x96\x52\x11\xbc\x52\x94\x19\xed\x94\x99\x1b\x86\x7f\x35\xe6\x31\xaf\x1a\x58\x98\xfd\xbc\x54\x84\x28\x67\x10\x6f\x36\x44\x49\xa2\x5c\x50\xb5\x18\x5b\xc3\x53\x77\xa6\x75\x6b\xbf\x3c\xb5\x1f\x76\xd1\xea\x4e\x90\xeb\xcf\x19\xba\x40\xbc\x11\xd4\x80\xdc\xda\x29\x74\xd9\x6e\xad\xa9\x35\xe6\x37\x2e\x5b\x58\x97\x60\xd9\x6d\xa8\xba\x8b\x4d\x87\x67\xc1\x33\xc7\x7c\xea\x52\x17\xbb\x2f\x6c\x15\x55\x74\x0d\x8b\x9d\x43\x48\xca\x04\xe5\xc2\x82\x77\x76\x09\xac\x4a\xf1\xe7\x71\x86\x05\x4e\x12\x92\x50\x99\x6e\x6e\x5f\xfc\xe3\x77\x4b\x47\x7b\x6a\x40\x66\xa5\x85\x6c\xfe\x4c\xd3\x3c\x0d\xca\x83\x03\xb2\x4d\x80\x4f\x61\x4d\xf6\x36\xcd\xd2\x0d\xb0\xb8\x68\x98\xa2\x22\x40\x1c\xd1\x3a\xb1\xc7\x9e\xb2\xea\x32\x8e\xe6\x50\xb6\x75\x8a\xa9\x60\x44\xca\x23\x74\xc9\x15\x39\x41\x9f\x70\x76\x07\x0a\x9f\xa9\xfa\x30\x33\x16\x5a\x2c\x91\x96\x9c\x72\x46\xd5\xc1\x88\x59\xc0\x2a\xb7\x2a\xc7\x11\x67\x06\xb4\x24\x82\x85\xf5\x4d\x80\xc9\xd1\xa1\x77\x28\x03\x04\xaf\xa9\xa4\x65\xb1\x05\x7e\x1a\x07\x11\x94\x63\x13\xa1\xbe\x06\x1d\xdf\xe0\x27\x13\x33\x0c\x55\x0e\xcd\xd7\x4b\xa4\x47\x1b\x94\x63\x41\x7e\x0d\x56\x8f\x0b\x5e\xe0\x00\x39\x49\x90\x87\x27\x37\x11\x92\x5f\xd1\x23\x72\x84\xbe\x4f\xf8\x44\x1e\x20\xe9\x71\xad\x5c\x11\x46\x79\x60\x9c\x24\xf0\x6f\x93\x4d\xf2\xb5\x5b\xfd\x82\xef\x03\x32\xff\x94\x7e\x36\x65\xed\xe5\x1f\x4f\x8e\x8f\xd3\xc5\xe1\x24\x8f\x1e\x88\xd2\x7f\x81\x4c\xd1\xb8\x42\x2e\xc9\x13\x37\xa5\x8c\xae\x5a\x9d\x7a\xba\x69\x27\x8a\xb4\x40\x05\x92\x00\xb4\x99\xbe\xd2\x7d\xed\x13\x97\x9d\xc8\x59\x73\x61\x07\x3b\x65\x91\xb7\x1d\xaf\x12\x26\xd2\x33\x5e\xbc\x03\x83\x96\xe8\xce\x47\x19\x8a\x69\x9a\xe0\x99\x31\x0c\x16\xe6\x6c\xb8\x6b\x9d\x82\xa9\x08\x73\x2e\x52\xca\x66\x49\xd9\xb8\x76\x95\x52\x4b\x45\x7a\xee\xe0\xf3\xd7\xa7\xac\x1c\xe9\xf4\xde\xb9\xc4\xc0\xb5\x65\x4d\xfe\x47\x23\x36\x90\xe8\x89\x98\x92\x2d\x90\xd6\x04\x16\xf2\x9c\xca\xb9\x4f\x6a\x02\x9b\x1d\x34\x6a\x10\x6b\x74\x4f\x5e\x79\x81\xa4\x0d\x08\x82\x35\x3e\x04\xab\x05\x41\xe1\x49\xdd\x30\x64\x2d\xbb\x60\x36\xf4\x24\x70\x96\x11\x31\x62\x16\x7d\x04\x30\xb6\x38\xb7\x81\x0a\xeb\x61\x68\x94\x43\x6c\xa1\x92\x4e\x0a\x82\xb7\x2c\x0a\x06\x38\x3d\xdd\xab\x3d\xa5\xeb\x01\x40\x7f\xe0\xe3\x98\x13\x19\x18\xe0\x90\xd7\xa3\x13\x3a\x25\x9a\x6b\x8f\x98\xde\x9d\xd0\x58\x68\xb0\x83\x1c\x94\x90\xee\x34\x12\x5c\x4a\x1b\x35\x6b\xda\x59\x9e\xfb\xb0\x05\x4c\xb9\x01\x40\x32\x05\x02\xab\x80\xe5\xc1\x33\x07\x5d\x6e\x1f\x36\xd7\x8d\x6b\x6b\x6a\x25\x50\x79\xb1\x16\x6b\x40\x95\x1f\x9f\x5e\x9c\x7b\x7c\xde\x4a\xd7\x75\xac\xf2\x10\x34\xaa\x1d\xad\xbc\x3e\xe3\x00\xb7\xbc\xd2\xc4\x12\xe4\xf2\xd5\x9b\x55\x8e\xd5\xdb\x26\x23\xb8\xb2\xf5\xab\xf8\x66\x85\x66\x56\x85\x94\xee\x68\x9b\x5a\x12\x0c\x22\xb8\x68\x9f\xdb\x3b\x06\x17\x96\x7e\x4b\x2a\x9c\x66\x61\xba\x94\x83\x44\xb0\xd3\x34\x47\xad\x4d\xab\x7a\x51\xa8\xa6\x08\x1b\x4f\x74\x75\x70\xb5\xad\x58\xcf\x5a\x7d\x67\x11\xa0\x76\x11\x82\xf8\x72\xf9\x87\xc9\xa2\x88\xb8\x91\xf6\xce\xf3\x15\x9a\x9b\x6d\x76\x13\xe2\xd1\xae\x5a\x37\x74\xdb\x04\x23\xa7\x43\x20\x41\xb0\xb4\xae\x54\xc8\xc3\xa9\xc4\xe8\xaf\x61\x56\xf3\x63\x36\x99\x7c\x87\x1e\x5f\x2e\xb8\x6a\x2c\x64\x72\xe4\x0e\x22\x15\x82\x40\x9d\x6b\x83\xd9\x7b\x5e\xb9\x5d\x00\x5e\x59\x10\x1c\x2f\x82\x15\xf1\xce\x42\xd3\x33\x98\x15\x24\x4d\xb5\xe2\x03\x22\x1d\xe3\x87\x3c\x73\xb2\x5e\xe9\x2d\x00\x07\xa4\x53\x7d\x63\x05\xae\x46\xfd\x05\x3b\x84\x02\xae\x5a\x36\x6e\x88\xb3\x72\x8d\x40\x5c\x16\x40\x06\xcf\x89\xbd\xe1\x46\xef\x06\xdf\x5f\xdd\xdc\x0d\xcf\x46\xef\x8a\xc8\x5a\x97\x3a\xe2\xa4\x1c\x8f\x5d\xc6\xd9\x88\xf9\x60\x38\x8f\xed\x02\x7b\x89\x70\x1c\x17\xc8\x5a\x56\xf8\x36\xb1\x3c\x4b\x39\x72\x70\x2a\x56\x86\xc1\x2d\x69\xe6\x1e\xf2\x07\xf6\xf5\x64\x2d\x31\x7b\x97\x4e\x8e\xc9\x82\x58\x12\xae\xbe\xa3\xcb\x26\x84\xa5\x50\x46\x47\x21\xbe\xa2\x29\x23\x4f\x4e\xc6\x84\xdb\xf9\x18\x9b\x4b\x78\x3d\x6e\xe7\x36\x64\x83\x4d\xfd\x40\x3f\x93\xf8\xa6\x45\xaa\xda\x49\x34\x7a\xa7\x28\x9e\xc6\x5d\xd0\x7a\xeb\x1a\x9b\xe0\xa7\x72\xaf\xbf\xeb\xce\x96\x0c\x7b\xab\x20\x47\x00\x6c\x84\x42\x18\x45\x44\x28\x4c\x19\x9a\xc2\xc1\xd6\xba\x32\x60\x12\x10\xf0\x3f\x7d\x87\x52\xca\x20\xeb\x77\xd9\xd2\xde\x97\xe7\xb1\x4e\xc9\xc0\xf3\xcb\xfb\x72\x85\xe3\x1f\xae\xee\xcb\xf5\xaa\x06\xbf\x2c\x95\x55\x2b\x2d\x2c\x73\xf4\x07\x53\x2c\x32\x88\x2c\x80\x86\x5f\x99\xa6\x89\x7e\x24\xea\x27\xcd\x97\x39\xdb\x45\x78\xad\x95\xb3\xc0\xe9\x41\xc6\x8f\xa6\xe1\x35\xc8\xc0\x0e\x65\x49\x0c\xb5\x93\xe4\xa0\x07\x64\x7b\x08\x13\x7a\x8f\x4c\x65\x26\x28\x73\x0f\xea\x9a\x0b\x54\xd1\xfa\x12\x67\x7a\xb9\x46\xf0\x36\x52\xb5\xe6\xf8\xd4\x7c\xdc\x29\x70\xf2\x26\x0c\x97\xd4\x6d\x15\x4b\x89\x06\xd7\xe7\x0d\x6b\x7d\x51\xb5\x0b\x7f\x59\x30\x92\x89\x37\x51\xef\x1a\x41\x32\xc8\x7b\xd9\x0b\xf0\x48\x3b\xd3\xed\x70\x23\x8d\x27\xef\xba\xec\x1e\x7c\xd6\x6b\x78\x0b\x79\xb6\x94\xcf\x66\x15\x83\xdd\x80\x69\x14\xcb\xb0\x26\x9a\x46\x38\x20\x1b\x5f\x1c\x22\x48\xd4\x83\xd7\x0e\x42\x44\x09\x53\x1b\xd3\xf9\x22\x77\x86\xb2\x51\xcc\xa6\x0b\xcc\xc6\x4f\x86\xa2\x7d\x16\x36\xe4\x95\x3b\x20\x74\x17\x74\x66\x93\x22\xc3\xe9\x86\xd4\xb6\x1e\x32\x47\x31\x3e\x67\xd3\xb2\xc5\x3c\x70\x86\xad\x52\x0c\x12\xbe\x43\x28\x6b\x02\xb4\x3e\x1a\xb1\xc0\x0b\x2d\x8d\x4c\xae\xcf\x88\x03\x05\x84\x4a\x13\x9a\x9d\xda\xe8\x6f\x7f\x33\x97\x76\xa0\x9a\x7b\xa9\xe6\x65\x58\xbf\x5a\x3f\xf6\x74\xca\x39\x76\x19\x2e\x4e\xbd\xb7\x01\x26\xa1\xf1\x03\xda\x0b\x80\xbc\x6c\xc7\xe4\x91\xd8\xa0\x14\x1c\xc0\x44\x07\x59\x91\x31\x27\x92\xbd\x57\x3e\x87\x88\x26\x16\x8a\x10\x57\x6d\x7e\x5a\xe4\xc0\xd4\xb6\xbc\xfc\x80\xef\x00\xf6\x63\x5d\xa9\x36\x38\x56\x2b\x6d\x28\xce\x71\x03\x94\x10\x06\x18\x40\xa7\x6d\x18\x1d\x9f\x33\x12\x6d\x82\x4d\x70\x8d\x05\x4e\x89\x22\x62\x59\x8c\x41\xb9\x88\x0b\xf8\xcf\xdd\x0e\xda\x7e\xcd\x2e\x1a\x84\xbb\x2a\x14\xa2\x57\xbd\x2e\x56\x61\x0d\xf8\x59\xac\x05\xab\xa2\xa7\xf1\x93\x85\xf4\x5b\x73\x16\xb6\x9f\x62\x1a\x36\x84\x22\x80\x96\xd8\x76\x4e\x2f\x93\x63\x7f\x57\xcb\x56\x2f\xc5\x00\xec\x49\x72\xfd\xea\x51\xb6\x65\xd5\xaf\xe2\xa5\x3b\xe1\xdd\x2e\x74\xd6\xe5\x66\x55\x0e\x55\x29\x28\x17\xa8\x04\xe4\x7d\x93\x60\xde\x9c\x19\x0f\x42\x4b\x53\xd8\x53\x90\x60\x60\x71\x93\x0a\x6b\xa3\x95\xac\xaa\xa0\xae\x95\xe5\x5a\xc1\xe3\x76\x95\x35\xdc\x4b\x34\xbb\x96\x68\xd6\xb0\xed\x19\xea\x24\xa2\x02\x60\x60\x8b\xad\xd8\xcc\xd3\xf2\x04\x21\xa8\xdd\x5e\x91\xb6\x62\x03\x5c\xfd\x94\xf9\x7f\x95\x39\xb8\x23\xea\x90\x54\x9b\xb2\x75\x8e\x02\xff\x08\xb8\x47\x92\x50\x1a\xb0\xce\x72\x18\xad\x89\x6d\x32\x26\xe8\xf3\x4b\xe3\x5d\x81\xac\xb9\x05\xcf\xd1\x13\x95\x5a\x17\x1e\x31\x08\xfe\xf1\xa6\x6a\xc5\x6d\xc9\xd8\x03\x78\x0b\xf2\x6b\x65\x3e\x49\xa9\x42\x38\x98\x61\xc9\x5e\x76\x60\xcf\xb3\xfe\x00\x66\xdc\x98\xc0\xd9\x84\xfd\xb0\xe2\xd0\x6c\x60\xfc\x29\x1a\xd9\x36\x47\x33\x08\x54\x7c\xde\x2c\xcd\x40\xe3\x09\x35\xcc\xc6\x33\xd7\xa7\x69\xa2\x66\x6b\x83\x45\xa3\x03\xc8\x40\x2a\x55\xe5\x6e\xb1\x18\x74\x2b\x52\x34\x8b\x8d\xe8\x94\xa3\x59\xbc\xbe\x8b\x24\xcd\x36\x78\xe0\x65\x49\x3b\xee\x93\x16\xe3\xac\x4b\x06\x53\xdc\x45\xc3\x86\x92\xd2\x75\xab\xa4\xb4\x6f\x70\x39\x45\x94\xef\xe6\x31\xa3\xeb\xa8\x83\x45\xe0\x7f\x48\x45\x41\x1e\x4f\x19\x6c\x80\x54\x39\x3f\xe3\x0a\x82\xb5\x23\x28\x9d\x54\x4b\x20\x1a\xb1\x66\x09\x64\x39\x4f\xdc\x36\xee\x7a\xa7\xb0\x3a\xc1\xf9\x73\xb3\xb0\x16\xad\x9f\x7d\xe4\x8a\x51\x96\x6d\x11\xa4\xaa\x88\x59\xf8\x9f\x5a\x14\x10\x10\x3c\x36\xc9\x64\x6b\x38\x95\x1d\xa3\xa2\x57\x9e\x0b\x7b\xe9\xee\x50\xb5\xab\x71\xe7\xce\x41\xe4\x5e\x46\xb6\xdc\xd8\x45\x41\x3a\x35\xbe\xe2\x46\xdc\xa4\xb8\x03\xa0\xd5\xed\x0c\x63\xaf\x9a\xf6\xaa\x1b\x3f\x00\xd7\xa3\x1d\x3a\x36\x61\x18\x1e\xf9\xb5\xb2\x25\xa5\x09\xdb\xa2\x59\xcf\x30\xe9\x75\x0b\x72\x04\xae\x30\x61\x43\xf8\x68\x68\x37\x80\x4a\x1c\x36\xf2\xa9\xc2\x87\xbd\x68\x97\xb3\x98\x08\x46\xb0\x9a\xbf\x5c\xe0\xf4\xe9\xb6\xc6\xe9\x17\x0b\xa2\x3e\xdd\x49\x35\xa6\x4a\x60\xf2\x9a\x31\xc9\x6b\x04\xf8\x16\xb5\x39\x6a\x8a\x63\x53\x15\xbc\x02\xdb\x60\x1d\x2a\xdd\x2a\xb6\xba\x59\x99\x7b\x9e\x28\xf3\x06\xab\x4f\x2d\xbe\x5c\x1f\xf6\xb0\xa2\xc9\x8a\x25\xf9\x22\xc2\xb9\x9f\x3f\xc2\x78\x59\xed\x94\x3c\x08\x3a\x86\x02\x36\x0a\x53\x66\xb9\xd7\xb2\x38\x63\x53\x2e\xbc\x29\xb4\x78\xef\x83\xd6\xbf\xf8\x98\xf5\x3e\x82\xf9\x4d\x46\x30\x2f\x33\x75\x79\xef\x0b\x14\x5c\x2d\xa1\xe4\x1b\x19\x71\x85\xc6\xb0\x79\x64\xb1\xb3\x16\x85\x61\x19\xf6\x17\xfb\x43\x63\x64\x46\xed\xb3\xea\x6c\x43\xcb\x15\x5b\x54\x0d\xc0\x58\xc4\x89\x85\xb2\xb1\x71\x93\x65\x4b\xc3\x32\xa3\xd8\x88\xfd\xc0\x9f\xc8\x23\x11\x07\x08\x2b\x94\x72\xad\x28\x06\x91\x10\x40\x93\x25\x54\x54\xe3\xf1\xc6\xe8\x12\xa7\x24\x1e\x82\xba\x11\x44\x57\x59\xd3\x9c\x75\xaa\x35\x21\xb6\x01\xf8\x98\xd9\x06\xe7\x21\x1f\x31\x13\xf1\x64\xa2\x6c\xe0\x5e\xa0\x6e\x62\x20\xb4\xfc\xde\xbb\xfc\x7e\x7f\x84\xee\x34\x2f\xa2\xb2\x3c\xde\x00\xc0\xa5\x6d\x6c\x23\x36\x13\x3c\xcf\xbc\xb5\x84\x4f\xc0\x4c\x63\x48\xb8\xc1\xe5\x07\x83\x71\xfe\xbe\x08\xc7\x5a\xeb\x5a\x4e\x38\xaf\x12\x0c\xb7\x11\x0a\x42\x48\x40\x9a\xad\xf8\x08\x1f\x1b\x71\x6b\x3c\x75\x41\xee\xf7\x32\x2c\xd7\x67\x72\x23\x9e\x11\x09\xfa\xbf\xb7\xaf\x96\xd2\x00\xcb\xa9\xa6\x8d\xe3\x5c\x66\xfd\xf2\x16\x6a\x67\xc5\x6d\xce\x62\x2d\x3a\xb7\xd1\x3d\xae\x1e\x38\x10\xf0\xb3\xd9\xc5\x3a\x07\xf1\xb5\xf1\x8b\xeb\x5c\x64\x1c\x6e\xdd\x64\xe1\xb2\x6e\x2d\x58\x4c\xc6\xb3\xdc\x44\x30\xd1\x30\xa0\xa5\x91\xb2\xa9\x54\x9f\xb0\x8a\xe6\x5a\xc5\x2c\x40\x53\x76\x14\xd9\x55\x70\xe5\xe7\xb5\x95\x35\xcc\xe0\x34\xec\xbd\xc5\x78\xdc\xc1\x76\x6a\x2e\x64\x17\xe5\x0b\xff\x4a\x12\x94\xea\xfe\x4a\x75\xd3\x02\x0b\x98\xfb\xc4\x3e\xd1\x13\x5d\x45\x45\xab\xc6\xdf\x8d\xb6\xca\x45\x3b\x76\x1e\x33\xb6\x05\x02\xc0\x99\xc5\xfc\x28\x5e\x44\x56\xb2\x6a\x64\x39\xb9\xa0\x9b\x25\x23\x58\xa0\xdd\x47\x2d\x14\x7a\xdb\x5a\x8a\x33\x2d\x30\x2a\xae\x6f\x49\x31\x33\x32\x8b\x20\x2a\x17\xfa\x1e\xc9\x05\x75\x67\xbf\x92\xd2\xd7\x4e\x1d\x60\x8b\x3a\x0e\x8b\x32\x44\x38\xa8\x57\x63\x5c\xbb\x38\x52\x39\xf6\x21\x68\x40\x13\x09\x65\x0f\xba\x33\x93\xbe\xe8\x5c\xa8\x82\x98\x34\xc6\xb8\x61\x4f\x57\x12\xf6\x16\xbb\xdc\x5e\x7d\x71\xd5\x49\xa3\x6c\x16\xe0\x2b\x35\xdb\x03\xbb\xc0\x27\x37\x7e\xd9\x0d\x02\xba\xf1\x53\x27\xfb\x6c\xf2\xed\x12\xec\x8d\x8d\x8b\x72\x96\xc2\x6d\x6d\xc8\xa3\x95\x9e\x42\xe4\x2b\x6b\xab\x01\x00\x3b\x53\xe2\x14\x5b\x69\xea\xbf\xfc\x5f\xa6\xdc\x86\x59\x9a\xff\x42\x5c\x8c\x98\xf9\xfd\xc0\x43\x5d\xeb\x17\x0a\x0c\x39\x9c\x92\x02\x65\x4b\x94\xf1\x78\x20\x23\xdc\xe2\xa9\x18\xbc\x40\x8f\xf4\xab\xc7\x10\xd4\x93\xad\x55\xb6\x4c\x31\xc3\x33\x40\x27\x3c\x80\x18\x28\x10\x57\x0b\xeb\x92\x21\x69\x53\x32\x09\xb8\x95\x66\x96\x36\xed\xaf\xa8\xfc\x06\x7d\x1a\x51\xd6\x82\xa3\x15\x8e\xf4\x66\xea\x77\x65\x47\x37\x93\xd8\xef\x06\xb7\x3f\x8e\x6f\x86\xb7\x57\xf7\x37\xa7\x25\xb1\xfd\xf4\xe2\xfe\xf6\x6e\x78\xd3\xf8\xac\x48\x99\xfb\xcb\xfd\xf0\xbe\xe5\x91\x6b\xe0\x62\xf0\xfd\xf0\x22\x7c\xe5\x2f\xf7\x83\x8b\xf3\xbb\x5f\xc6\x57\x1f\xc6\xb7\xc3\x9b\x9f\xce\x4f\x87\xe3\xdb\xeb\xe1\xe9\xf9\x87\xf3\xd3\x81\xfe\x32\x7c\xf7\xfa\xe2\xfe\xe3\xf9\xe5\xd8\x05\x98\x86\x8f\x7e\xbe\xba\xf9\xf1\xc3\xc5\xd5\xcf\xe3\xa0\xcb\xab\xcb\x0f\xe7\x1f\x9b\x66\x31\xb8\xbd\x3d\xff\x78\xf9\x69\x78\x79\xb7\x54\x11\x69\x5e\x8d\xd6\x4a\x70\xc1\x45\x16\x18\x08\x02\x31\x69\xb2\xb0\xa4\x4d\xff\x01\x66\xea\x6b\x43\x8f\x87\x07\xee\x2f\x53\x5c\xf1\x50\xb3\x40\xe7\x01\x29\xb8\xc7\x88\x79\x17\x95\xbf\x54\x15\x9e\x49\x97\x01\x59\x1a\xed\x09\x1a\xc0\x59\x01\x85\xa1\xd4\x29\xe4\xde\xfb\x91\x3a\xa7\x26\xd0\x61\x42\x53\x0a\xfe\x4d\x74\x88\xaa\x1b\x5e\x6e\xd0\xce\x09\x86\x60\x3d\x34\xf1\xb2\xd3\x20\xab\xc9\x95\x40\x29\x27\xc8\x71\x68\xdd\xac\x1e\x17\xc0\xd7\x2d\x18\x4e\x69\x64\x7e\xa8\x20\xb8\xa1\x22\x53\xbc\xda\x62\x89\xc0\xca\x2d\xcf\x09\xfa\xf1\xcf\xc5\xa0\xc0\x5a\x6d\x2d\x0a\x79\xad\x28\x8f\x7d\x20\x72\xb3\xaa\xab\xc8\xb3\xd4\x93\x3b\xe6\xd6\x8c\x08\xe7\xd6\xd6\x6e\x04\xd7\x42\xce\x02\xb4\x98\x92\x9f\xc1\xd6\x6e\x46\x87\xa8\x42\xe3\x27\xe8\x16\x32\xd5\x65\xa1\xba\xeb\x5d\xcc\x92\x7c\x46\x6b\xa5\x5b\x27\x64\x8e\x1f\x29\x77\x08\xd8\x06\x28\x1c\xd6\xd1\x8a\x56\xe8\x10\xb5\x1e\x94\x13\x34\x88\x63\x59\x66\x70\x25\xca\x71\x2c\xf3\xb0\x3c\xec\x10\xe0\x85\xc5\x9e\x6d\x56\xe8\xa8\x38\x72\xb0\x62\xbb\xcf\xc5\xaf\xb3\xc3\xf2\xdd\xbb\x15\xb6\xa1\x7c\x18\x3b\x52\x1e\x6f\x24\x0c\xdc\x61\xf9\xd0\x50\x11\xba\xf1\x7e\x75\xa8\x08\xdb\xf5\xd8\x5e\x86\xba\xb1\x53\xbf\xb2\x63\x38\x68\x9b\xf5\xd9\x0a\x2c\xb9\xa2\x4b\x37\xe3\xa4\x52\xfd\xa3\x73\x7f\xa5\xea\x21\xcf\x6f\xd9\x6f\x96\xc6\xe0\x48\x8e\x3d\xfd\xaf\x31\x8f\x6b\xf8\xf4\xca\x7f\xb9\x54\x64\x1b\x07\xeb\xb6\xae\xbd\xbf\x96\x2b\x68\x6d\xfe\x4b\xe9\x70\x47\xe8\x1c\xdd\x85\x41\xc0\x6e\xa6\x11\xb8\x76\x30\x65\x16\xd1\x9f\x78\xdf\x83\xab\x61\xa9\xcf\xb1\xaf\x32\x83\x27\xfc\xb1\xa4\x5c\xa6\x44\x4a\xdc\x82\x9b\x10\x98\xc4\xb6\x61\x0c\xfe\x84\xda\x0f\x3b\xd2\x93\x3b\x93\x77\xfa\xab\x65\x46\x9f\x9b\x50\x33\x76\x13\xd5\x02\x6b\xec\x62\x2a\xd1\x95\xc9\xac\xd2\xfc\xe5\xa0\x08\x9b\xe0\x22\x88\x26\x69\x33\xf5\x77\x34\xab\x55\x17\xac\xb1\x50\x43\xe8\xae\x59\x3f\xda\x22\x68\x7d\x63\x50\x4d\x6b\x43\xc7\xe5\xf5\x59\x83\xea\x4a\xbe\xad\xb0\x88\xa5\xa9\xd7\x6c\x2a\x64\x07\x23\x3d\x40\xd8\x24\xb4\x15\xd2\x94\xcc\xa3\xb9\xf1\x28\xe8\x2b\xe3\x60\xc4\x9e\x82\x0d\x29\x85\x7c\x0e\xc2\x96\x00\x0c\xee\xb3\x3e\x6e\xf4\xb1\x14\x48\x0b\x22\x23\x85\xa8\xce\x80\x10\x8c\xf3\xa7\xa8\x40\xb1\x82\xc0\x83\xfd\xda\x82\xd4\x37\x28\x37\xd4\x50\x11\xbb\xa9\xe8\x90\x9f\x5b\x50\xeb\x67\x0b\x4d\xb9\xeb\x10\x82\x72\x43\x4d\x23\xd8\x41\xb5\xa1\x17\x45\x08\xf5\x89\x79\x26\x8f\x33\x9d\xd8\x54\x79\x3d\x5d\xb7\xda\x7f\x70\x33\xfa\x83\xf1\x3b\xe4\x2d\xd8\x0a\x41\x6b\x1e\x24\x14\x1d\x6a\x99\xd5\xe5\xfc\x5a\xa7\xbb\x44\x87\x06\xf4\xe9\x3d\xc4\xd4\x0d\xae\xcf\xdf\x1f\xa0\xf7\x61\x5e\xd1\xfb\x8d\x0e\xa0\x1d\xb7\xad\x38\x04\xda\x54\x29\xb8\xbc\x7c\xec\x60\xaf\x2a\x27\xd1\xee\x99\x3d\x88\xa8\xed\x1c\xea\x2f\x4b\xdf\x80\x23\x12\x2a\xe8\x18\x5f\x9d\x0f\x6d\xb5\x2e\x20\x23\xe3\x52\xd9\xb0\x76\xf1\x88\x4d\x16\x55\x27\xcf\x81\xf7\xf2\x74\x3e\xa5\x5b\x57\x85\xd1\xed\xd5\x13\x51\x77\x1c\x72\xb9\xfc\x3e\x58\x91\xda\x3a\xf0\xd5\xda\x0b\x2e\xd6\xe6\x91\xee\x63\x95\x9b\x66\x55\xb2\x97\xb9\xc5\x6c\xdc\x94\x55\xf2\xcf\x5b\x23\xb7\x0e\x01\xbe\x83\xa6\x15\xb1\xb1\xdd\x2d\xc2\x75\x4f\x65\xcf\x4b\x65\xbb\x88\x6d\x2f\x0f\x6e\xfd\x0b\xf4\xd4\xc8\x71\x41\x33\xce\xe0\xaa\x95\x09\xcf\xe0\x4b\xa5\x83\x56\xd7\xdc\x5b\xd3\xe7\x1b\xac\xc9\x6a\xa7\xef\xad\x09\x1c\x30\x6e\xd7\xfa\x58\xab\x43\x1d\x28\x5b\xc7\x80\x53\x93\xc7\xa6\x68\x4a\x0e\x10\x67\xc9\x22\x08\x76\xb0\xe7\x15\xc8\xcd\xc4\xa3\x98\x82\xe0\xa6\x13\x0b\x75\xb6\x56\xe2\xf3\x9a\xd2\x78\x1b\x8d\x6c\x11\x69\x72\x39\xf8\x34\x3c\x1b\x0f\x2f\xef\xce\xef\x7e\x69\x80\xb1\x2b\x3f\x76\x48\x76\xc1\x0b\xb7\xbf\xdc\xde\x0d\x3f\x8d\x3f\x0e\x2f\x87\x37\x83\xbb\x15\x28\x77\xcb\x3a\x6b\x43\x50\xcb\x65\x93\xfa\xb6\x0e\x8a\x9a\x33\xf3\x36\xf4\x5e\xc7\xba\x0b\x3a\xa1\xa4\x05\xef\xce\x24\x79\xb3\x98\x08\x14\x93\x47\x92\xf0\xac\x30\xab\x36\x2e\x58\x00\x84\xd7\xd0\xfe\x32\x30\x3c\x68\xb3\xba\xc6\x27\xc8\x94\x8b\x09\x2a\xe6\xf9\x06\x41\xe4\xc3\x82\xb0\xf7\x0a\x91\xcf\x59\x42\x23\xaa\x82\x24\x30\x2e\xac\x7b\xc5\xb8\x0f\x21\x12\x71\x05\x71\xed\x2c\x1a\x65\xe7\x3a\x7f\xe8\x49\xaf\x6b\xfb\xfe\x44\x79\x60\xa6\x95\x35\x08\x76\xa0\xd8\xb7\x38\x8d\x6b\xb8\x51\x1b\x8c\xee\x39\xcc\x03\xf5\x6c\x0c\x9b\xc8\xd5\x82\x29\xd5\x3c\xc8\xd5\xb7\xe1\xb2\x38\x99\xd2\xb9\x5e\x1e\x28\xd3\x8d\x52\x5f\x39\xdc\xa5\x54\x9b\x6b\x07\x18\x0b\x36\x4e\x79\xcd\x80\x85\x1a\xdc\x3f\x7b\x30\x20\xe8\x48\x90\x94\x2b\xad\x80\x99\x88\x80\x03\x2d\x54\x51\x9c\xd0\x7f\x00\x1a\x91\x20\x47\x41\x04\x05\x24\x7b\xc5\x61\x70\xbf\x45\x0a\x38\x1a\xb1\xb3\xe1\xf5\xcd\xf0\x54\x33\xa4\x23\x74\x2f\x01\x68\xa8\x34\xf5\x33\x4b\xde\x46\x1c\x0b\x23\x19\x28\x93\x8a\xe0\xb6\x60\x30\x22\x04\x17\xdd\xf9\x83\xef\x6f\x08\xdf\x35\x93\x37\x3c\x2b\xd9\xa6\x9c\x01\xe0\xb2\xb5\xb0\x62\x10\x1f\xbe\xf3\xf4\x9b\x1b\xfc\x54\x5a\x91\x10\x68\x01\x24\x91\xf2\xaa\x3f\xe3\x6a\x03\x8e\x60\xf7\xf9\x95\xfa\xbc\x86\x6f\x97\xcd\xf3\xce\xd5\x46\xf7\xa0\x84\x06\xb7\xd0\x17\x2d\xa8\xcc\xb3\x55\x54\x14\xaf\x01\xca\x50\x21\xfd\x09\x99\x61\x86\x44\xce\x58\x05\xa5\x32\xb4\xb4\xd5\x83\x66\xd6\x3d\xaa\x7a\xcd\x70\xca\x73\x06\x4a\x03\x84\xb1\x36\x0c\x46\x66\x84\xa9\x15\x83\x79\x2d\xc8\x8d\xca\x50\xf7\x17\x75\xa3\x61\xa0\x6d\xc0\x1b\x4d\xfe\x24\xa8\xde\xb8\xde\xb5\xec\x82\xf2\x4a\x4e\x25\x7d\xa8\xfc\xfd\xdc\xac\x65\x63\xf9\xb0\x75\x77\x77\x58\x3e\xac\xee\x2a\x26\xd1\xc3\xba\x97\x4d\x35\x0b\x2f\xb1\xc5\x2f\x6b\xc6\xbe\x85\x7e\x6a\x91\xf5\xa1\xe6\x69\xf4\x80\x7e\xb8\xfb\x74\x81\xa6\x54\xcb\xbd\xfa\x5a\xb9\xc4\x5a\xc6\xbe\x17\x89\x2f\x28\x6d\x64\x90\x5c\x24\xfe\xee\x85\x8d\x77\xa2\x54\x20\x25\xe8\x1b\x0d\xcf\x88\x33\xf6\x0a\x8b\xab\x56\x41\xd6\x17\x98\xc5\x3c\x35\xf3\x38\x96\xf9\x74\x4a\x3f\x1f\x29\x2c\xbe\x5e\x43\xa2\x39\x2d\x39\xd8\x2a\x64\x64\xc3\x27\x2d\xcc\x1f\x58\x15\x56\xca\x09\xc3\x47\xc2\xd4\x4e\x84\x6c\x68\xa2\x21\xcb\xb8\x9b\xa9\xdc\x94\xba\x3a\x3f\x2b\x38\xb4\x2f\xb9\x1c\x84\xe6\x28\x81\xe1\xb2\xb2\x99\x1d\xd6\x2f\xdc\xe6\xad\x7e\xec\xec\x00\x85\x57\xeb\xeb\xb2\x22\xbe\xdb\xae\x76\x51\xf2\xb2\x88\xcd\x74\x30\xd9\x1b\xe2\x8e\x48\x62\x54\xf1\x20\xdf\xdd\x6a\x58\xd5\x3d\x37\x7d\xce\xb1\xac\x76\xb9\x72\xcb\x37\x00\xd9\x28\x35\xf3\x91\x40\x0e\xda\x4e\xca\xd0\xaf\x91\x6b\x0c\x03\xb9\x17\x09\xc4\x01\x2f\x35\xc5\x98\x72\x9b\xfa\xf8\x7a\xf1\x04\x77\x10\x34\xcd\x60\xb4\xe4\x43\x32\x41\xa0\x00\xf4\x09\xba\x4e\x88\x16\x1f\x72\x2d\x42\xe4\x49\xe2\x00\x89\x96\x8b\x38\x6b\x81\x68\x3d\xfb\xbc\x02\x01\x7a\xc9\xc4\x1c\x20\xd7\xf2\x99\x05\x6b\xb0\xfb\x0c\xf1\x60\x7d\xc1\x0e\x0a\xd6\xb0\xb2\x2a\x04\x0c\x78\x61\x82\x3f\xc1\x1e\x82\x4b\xdc\x98\xfe\x43\xb3\x79\x41\xe4\x9c\x27\x4b\xa7\xb0\x36\xcc\xd9\x3a\x73\x70\x4b\xf9\x8c\x93\xb0\x91\x77\xe3\xb6\xe0\xe0\x0e\x97\xf3\x99\x69\xa2\x51\x24\x58\x36\x45\x8f\xa4\xee\x43\x18\x2c\x3c\xa4\x0d\x65\xb3\x43\x03\xc7\x5c\x61\x2f\x0a\xa1\x9a\x0a\xfb\x7b\x21\x91\x2f\x8c\x03\xd1\x7f\x1e\x14\xf2\xf6\x71\xed\x54\xc9\xa2\xf2\x0d\x54\x74\x5f\x8f\xcb\xda\xec\x87\xa2\x09\x3d\xe0\x66\xd6\x66\x41\xd4\x41\x6e\xb3\xb1\x2d\xb2\x04\x32\x65\xb7\xd8\x4c\xb9\x51\xa7\x68\x67\xa0\xdb\xfa\x71\xca\x35\xbc\x9f\xcd\x9d\x53\xa2\x96\xd2\x04\x7a\xd8\xa2\xf5\x61\x8b\x2c\xa2\xbe\xa7\x3d\x00\x19\x53\x02\xb2\x8a\x0b\x8f\x4d\xf5\x92\xb7\x56\xd6\x55\xa9\x36\xa5\xdd\xe9\x94\x57\x53\xfa\x42\x9f\xfb\xb3\x2d\x5d\x3e\x7a\x32\x8b\x31\x64\x2a\x6e\x13\xf6\x51\x9a\xbf\x31\x57\x43\x9b\x24\x46\x26\x35\xda\x80\xaa\xda\xb5\xf3\xa6\x7a\x53\xdd\x7e\xc4\x6e\xf4\x28\xcc\x17\x85\xeb\xbf\xa8\x1c\x4d\x8a\x1a\x77\x53\x84\xed\x57\xb0\xe8\x6d\x91\x57\x72\x1c\x14\xce\x7f\xc6\x2c\xeb\xef\xcd\x3b\x26\xa1\xda\x02\x8a\xe8\xa9\xd2\x69\xa1\x37\x6a\x61\x2f\x9a\x53\xc8\x67\x8e\x89\xb4\x97\x07\x55\x36\x61\xdd\x8b\xca\x39\x71\xd0\xae\xf0\x99\xe7\x5f\x4d\xcc\xd5\x69\xa6\xcc\x59\x84\xe4\x88\x05\x7d\x2c\x41\x02\x34\xda\xe1\x86\x62\x3f\xec\x33\x8d\xbd\xa7\x05\xfe\x69\x76\xa8\x56\x05\xdf\x4e\x2f\xc5\x19\xd8\x13\xcd\x19\xe4\x53\x7f\xff\xdc\xd9\xb0\xf6\x23\x18\xf1\xff\xfc\xf7\x5f\x8f\x68\x9b\xb9\x5d\x8e\xed\x0a\xec\xc3\x4e\xae\xb7\x2d\xe1\xce\x07\x10\x05\x2d\xa9\xef\x32\x9f\x78\xfc\xe0\x52\xa8\x7e\xf1\xab\xbd\xdc\x34\xd1\x70\x35\x37\xfe\xc5\x32\xb9\x83\x31\x5e\xe4\xcb\x6f\xd9\x80\xc5\x15\x1e\xe8\xc2\xcd\x18\x44\x79\x3a\x00\x7a\x13\x9d\xa7\xdb\xaf\x5c\x28\x15\x06\x15\x20\x85\x6d\x13\x0d\x37\xc7\xf2\xf9\x42\x1e\x1a\xab\x7a\x18\x2b\x65\x78\x47\xae\x0a\x7e\x30\x83\x34\x59\x74\x7a\x57\x72\x49\x84\x39\xd0\x1e\x52\x06\xd5\x8b\xcf\x42\xec\xdb\x0a\x1f\x0e\x49\x31\x5d\x2b\x4e\x5b\xbf\xdf\x8c\xd2\x56\x32\xe2\xe2\x19\x11\xe3\x38\x2f\x05\xe5\xae\x6a\xfb\x5a\x7f\x74\x96\xab\xc5\xea\xf6\x65\x82\xa3\x87\x75\x90\xf1\xf4\xfb\x2d\xcd\xae\x16\x0c\x83\xd0\x89\xb2\x70\xd8\x82\x3b\x47\x2a\xb8\x73\x36\x96\xaf\xa4\xb5\xc3\x45\xc3\xa0\x7a\x70\x20\xdc\xdb\x9b\xc8\xa0\xe3\xc2\xc8\xd1\x24\x2f\xac\x1c\x1e\x6f\x3c\x3e\x1a\xb1\x0f\x06\xb0\x1f\x14\x0f\x33\x80\x08\x12\x29\xc8\xe7\x8c\x4b\x52\xca\xec\x69\xc0\x10\xb7\x99\x79\x76\x18\xcd\x32\x69\xa5\x7a\xf3\x56\x22\xe9\xab\x23\x08\xd6\x37\xbc\x3e\xe5\x66\x0a\xdc\x4a\xea\x89\x68\x46\x35\xed\x8c\x1b\x4f\xda\xfa\x53\xef\x5a\x82\xa2\x88\x95\x01\x2c\x19\x95\x2c\x0e\x90\x9f\x5e\x85\x20\x12\xf2\x48\xc0\x4c\x09\x63\x0c\x91\xe2\xcb\xa6\xa6\x16\x76\xb2\xea\x00\x15\x69\x75\xc0\x16\x50\x5c\x1d\x41\x39\xf9\xa8\x89\x16\xcb\x69\x15\x5b\x67\x00\x35\x39\xfc\xd7\x90\x42\x07\x21\x62\xfe\x82\x28\x44\x3e\x2b\x62\x0b\xbe\xdd\xb9\x1c\xad\x7a\x58\x37\x6a\x4e\x33\x69\x17\x91\x76\x4f\x15\xb5\x89\xd8\xcc\x5c\x97\x84\x16\xbb\x7b\xdf\x26\x65\xcd\x31\x8b\x6d\xa6\xa1\x95\xa5\xb5\x4c\x01\xb3\x33\x76\x20\x1f\x83\x6d\xf3\xe5\x02\xa8\x61\xd3\xa6\xc1\x44\x86\x8b\xcc\xe9\x45\x5a\x32\x07\xb7\x35\x17\x5a\x40\xcd\x99\xa2\x89\x26\x0e\x3b\x06\xad\x35\xe7\xcc\x83\x7d\x41\xc4\x70\x1b\x9e\x14\x95\x92\xb2\xd9\xd8\xae\xa4\x4b\x9a\xeb\x76\x31\x94\x69\xea\x93\x69\xca\xfc\xf8\xbd\x6b\x68\xb9\x9d\xd7\x90\x35\x60\xfd\xb8\x74\x3d\x10\xac\x19\x77\x93\xb1\x20\x4d\x2e\xcb\x6f\x4c\xe3\x52\x81\x7a\x98\xe8\x3a\x46\x0a\x10\xeb\xea\xf9\xf1\xc5\x15\x22\x6d\x0a\x9e\x49\xac\x81\x08\x68\xd5\x92\x63\x28\x5b\x73\x0b\xcf\x99\x17\xd1\x6c\xe1\x18\x9f\x41\x5d\x49\x53\xc4\xae\x3b\x1b\xe6\x8d\x93\x64\x82\xa3\x07\xaf\x6c\x78\x95\x9b\x0b\x07\xbc\xad\x05\x54\xa8\x2c\x64\x88\x4b\x0f\x34\x02\xe9\x26\xf4\xc2\x18\x84\x14\x3b\xec\xa2\x73\x5b\xd6\x9f\x99\x42\xf3\xa0\x9c\x9b\xd1\x9b\x98\xf1\x98\x64\x09\x5f\xa4\x2d\xf7\x59\x35\x35\x6b\x9b\x08\x88\xb6\xcc\xb0\x9d\x5e\x65\x15\xa6\xb7\xf6\x65\x56\xcb\xf3\xd8\x01\x5e\xcf\x1a\x5c\xf2\x63\xc2\x27\x60\xe5\xb3\x5a\xb6\xcb\x5d\x08\x42\xe8\xab\xe7\x79\xdd\x8c\x8a\xea\x89\xa4\x32\x4b\xf0\x62\x59\x0f\x26\x96\xff\x79\xf7\xcd\xe4\x7e\xaf\x36\x82\x75\x8f\x82\x6d\xfc\xfc\x39\x50\x40\x2f\x9c\x24\x60\xde\x35\xfc\xab\x62\x4c\x32\x49\x54\x47\x99\xe0\x5a\x50\xe0\x23\xa6\xf0\xcc\x6d\xae\x15\x2e\xf9\x13\x23\x42\xce\x69\x56\xaa\x38\xb6\x75\xd8\xad\xa5\x68\xfb\x1f\x13\x64\xba\x06\xef\xe4\xd9\xa1\x41\x7e\xd0\xf4\x21\x33\x1c\x15\xc6\xbf\x28\xc1\x52\xd2\xe9\x22\x00\x6c\xf0\x11\x8c\x90\x16\x53\xd6\x96\x83\x22\x3f\x4d\x8c\xc6\x8c\x6f\x37\x19\xcb\xdb\x67\x6b\xdd\x97\x8f\x1f\x8d\x43\x64\x2c\xa8\xff\x5e\x43\xe7\x70\x37\xb5\x45\xe9\x68\x45\x73\x34\xa9\xd9\x9b\x65\x18\x2f\x05\x55\x69\x37\x23\x14\xc2\xa4\x1d\xb6\x55\x64\x3c\x90\x42\x08\x32\xa2\x4a\x29\x6a\xb0\xf9\x5a\x71\x72\xe6\x4f\x4d\x9c\x1e\x84\x01\x72\xd5\x8b\x8f\x0f\x90\xdc\x0a\xbc\xa8\x0b\x5d\x9c\x91\x84\xec\x24\x92\x75\x03\x22\xa9\x7a\xd8\x03\xf2\x58\x4a\x1a\x05\x50\xf7\x6a\xe3\xc2\x06\x01\xb6\x2d\x10\x28\xcd\x43\xff\xd9\x0c\xd4\xc6\xd8\x36\xed\x22\xd8\xbf\x60\x95\xbb\xea\x2e\x4d\x58\x6a\xa6\x05\x4b\x72\x45\x37\x25\xba\x2a\x3a\xf5\xf2\xca\x3e\x92\xda\x2b\x87\xa2\xd6\xc6\xf5\x91\x74\x89\x38\x58\x79\x00\x36\xe2\x40\x75\x3e\xdd\x8d\x2e\xac\x9f\x50\x71\x34\x23\xca\x14\x77\xf6\x15\xac\xdf\x12\x4d\xec\x2c\x90\x7e\x47\xab\xdf\x7c\xc8\xd7\x3b\xb5\xb7\x44\x49\x77\x25\xd4\xe0\xe9\xec\xe6\xec\xe1\x16\xec\xc7\xb1\x34\x82\xeb\x17\x2f\xb7\x6c\x9d\x7c\x6e\x47\x66\x53\xb0\x7f\x43\x02\x95\x99\x63\x6c\xbf\xf0\xe9\xd6\x25\xa0\x21\x5c\x02\x67\x33\x6b\xf4\xfa\x5c\xaf\x4a\xda\x5f\xba\xe8\xb5\x3e\x8d\x57\x47\x55\x50\x77\x2f\x0f\xae\x27\x0f\x3a\xf0\xc2\x3d\xbc\xfc\xdb\x8e\xc1\x7e\xde\x3f\x7b\x20\x1c\xd6\xae\xc4\xdd\x89\x88\x6f\x88\x4c\xf6\x42\x52\xac\x6d\xc5\x4b\xc9\x8b\x87\x0e\x3d\xa6\xc0\x62\xd9\xdf\x2d\xda\x8f\x93\x7c\x63\xdd\x40\xcf\x77\xc1\xae\xa6\x97\x9d\xd0\x07\x00\x29\x62\xc8\x37\xcd\x6d\x65\x06\x38\xbc\x41\xc8\x58\xcd\xf7\xb0\x22\x18\xcf\x0e\xaf\x53\x18\x5e\x6d\x39\x9f\x63\x7b\x6d\x72\x51\xe7\xcd\x7d\x4e\x52\x5b\x77\x2c\xbb\xd0\x51\x9e\xd9\x8b\x63\xa9\x31\xf8\xa0\x8f\x89\xed\x76\x8b\x36\x40\x96\xb8\x2d\xdb\xe5\x21\x6b\x2a\x9d\xb4\x7d\x7a\xb4\x4b\x39\x1b\x67\x82\x4c\xe9\xe7\x8d\x44\xf1\x6b\xf8\xd4\xaa\x97\x7a\x99\x2b\xc5\x98\xc0\x3d\x03\xc5\x9b\x82\xb8\x3d\xbb\xd2\xb6\xba\xce\x88\x15\x19\x67\x36\xdd\xec\x81\x2c\x10\x17\xa5\x9f\x36\x05\xd7\xdb\x7d\xe1\x28\xb3\xaf\x73\xa5\x32\x79\x72\x7c\x3c\xa3\x6a\x9e\x4f\x8e\x22\x9e\x9a\x70\x73\x2e\x66\xe6\x8f\x63\x2a\x65\x4e\xe4\xf1\x77\xdf\x7e\x5b\x6c\xf1\x04\x47\x0f\x33\x03\x57\x52\xf7\x3b\x95\xb6\xfc\xb6\x5e\x5c\x75\xfd\x52\x0f\x82\xb3\x31\xf9\xac\x89\x54\x6e\x0a\x64\x73\x2f\x89\x44\x83\x9f\x6f\x91\x5c\x30\x85\x3f\x9f\xa0\x4f\x94\x81\x00\xf2\x03\xcf\x85\x44\x67\x78\x71\xc8\xa7\x87\x29\x67\x6a\x8e\x3e\xc1\xff\xda\x9f\x9e\x08\x79\x40\xbf\x10\x2c\xec\xfe\xda\x1a\x4a\xbe\xc2\xeb\x1c\x43\x2e\xae\x44\xe4\x51\xaf\xf0\xb7\xff\x81\x52\xd3\xf2\x09\xfa\xe6\xf8\xdb\xff\x40\xbf\x87\xff\xff\xff\xa3\xdf\xb7\x68\x6a\xeb\x41\xe1\x40\xf1\xc6\x9b\xb2\x3b\xee\xa0\xb2\x52\x1b\xd4\xb3\x3d\x15\xbc\xd8\xa9\xc6\x96\x1f\x68\xf4\xc0\xa7\xd3\xb1\xa2\x29\x31\xb9\x41\x63\x2c\x6a\x30\xaa\x1b\xe2\x0a\x52\x5b\x7d\x53\x50\x03\xb7\xed\x6a\x2b\xd8\x4e\x4d\x26\xb4\x3b\x6e\x32\x2f\xaa\x0f\x42\x10\x48\xa9\xa2\x23\x95\xf0\x15\x89\xf5\xa9\x58\x27\xe0\xc3\x59\x67\xea\x35\xc2\x0b\xe4\x80\xb0\xa2\xac\x0f\xdc\x0a\xa3\x10\x4d\xa0\x86\x5d\xc8\xc6\xe3\x50\x0b\x8f\xfc\x62\x62\xde\x60\x6a\xaf\x15\xef\x26\x6b\x9d\xaf\x0e\x75\xbb\xe5\x62\x2b\x79\xf9\x81\xd4\x62\x6e\x3b\xd6\x11\x71\x75\x0c\xc3\xda\xc6\x90\x74\xca\x85\xc7\xf7\x34\x7a\xad\xad\x36\xb6\xda\x0a\x45\x85\x09\x0e\xea\x76\xe8\xf5\xd4\xcf\xfc\x27\xab\x86\x09\x91\x42\xee\xed\xa2\x8e\x12\x8c\x56\x5f\x71\x9a\x25\x36\x8c\xb8\x01\x04\x6c\xd5\x86\xde\xfa\xbc\x6f\x68\x1c\xc2\xd6\x20\x64\x9f\x39\xc9\xc4\xe6\x24\x37\xee\x27\x40\x23\xed\x02\x35\xad\x86\xb2\xbd\x05\x9f\x33\xa6\xb2\x82\x45\x38\x90\xf6\x0a\x36\xbb\xc0\x9a\x7b\x6c\x08\x34\x67\xaa\x6d\x1c\x20\x81\x21\xf2\x4b\xcd\x31\x33\x4a\xd4\x14\x47\x94\xcd\x0e\x02\x8c\x31\x48\x95\x0e\x79\x56\xd3\x4a\xde\x61\xf9\xb0\xdb\x68\xa6\xad\xab\x8f\xd1\xb8\xa8\x80\x63\x51\x01\x8c\xf5\x94\xd6\x00\x96\x14\x96\x0f\x6d\xb0\x18\x35\x4c\x9e\x25\xa3\xf3\x4b\xe1\x90\x7c\x96\x8d\xcf\xa5\x5e\x92\x50\x68\x03\xc0\x6d\x57\xfb\xd0\x22\x74\xb9\xec\x19\x0c\x37\x0d\x4d\x48\x5c\x85\xa6\xab\x8e\x7f\x15\x21\x18\xb5\x38\x88\x9b\x01\xe4\xb2\x54\x2b\x7e\xb1\x31\xcf\xb2\x85\x39\x4a\xfa\xe6\xc2\xf2\x41\xfa\x12\x78\x48\xa6\x38\x49\x0e\x90\x20\xb9\xd4\x57\xef\x01\x92\x24\x99\x1e\x3a\x10\xf1\x18\x25\x7c\x46\x23\x9c\xa0\x49\xc2\xa3\x07\x39\x62\xfa\x2a\x61\x33\x73\x03\x66\x82\x47\x44\xca\xe0\xee\x2d\xd2\x32\x6d\xb2\x0c\xd4\xbf\x53\x44\xa4\x94\x51\xa9\x68\xe4\x2e\xd5\x22\x13\xda\x54\xdc\xd4\xda\x50\xc4\x4d\xd5\x3e\x18\xae\x96\x05\x88\x81\x35\xcb\x99\x2d\x37\x01\x0c\xdd\xa2\x15\xb9\x30\xd0\x36\xea\xdd\x01\xf8\x92\xdb\x9e\xb1\x2a\x9f\x86\x15\xf4\x7c\x6a\x3f\x83\x33\xb4\x8c\x62\x6e\xca\xe4\xec\xa9\xc1\x93\xb9\xc7\xf4\x75\x44\x51\x04\xb9\x96\xee\x36\x1f\xfb\xb9\x67\x58\x30\x30\xe4\x16\x04\x98\x55\x34\xad\x57\x11\x2e\x45\xa8\x70\x52\xf5\x8b\x51\x16\x25\x79\xec\x6b\x5c\xe9\x4b\xe2\x51\x13\x89\x5b\x1e\xbd\xf6\xfa\x2a\x39\x40\x58\xa2\x27\x92\x24\xfa\xbf\x26\xc6\xf5\xd0\x43\x4e\x6b\x7e\x68\x60\xc1\xa1\x13\xc7\x22\x5b\x29\x0a\x26\xb1\x27\xa5\x19\xfd\x25\xbd\x2e\x5b\x5c\x29\x48\xe8\xe5\x59\x93\x3d\xea\x95\x6e\x85\xe7\x2b\x8d\xad\x4c\xb6\x80\x33\xd2\x3e\xa8\x8e\xf6\x0a\xd1\x94\xd0\x6b\x28\x0e\x9e\x3e\xd2\xa2\x0c\xa9\xed\x6d\xa9\x3d\x43\xcf\xa8\x93\x31\x23\x24\x8a\x8d\x0d\x74\x95\xa9\xd4\x12\xe3\xa9\xa9\xa1\x6c\x26\x04\x52\x6d\x1e\x45\x84\xc4\x8d\xe1\x90\x7a\x44\x7b\x07\x3f\x77\x8d\xd5\xdc\xe4\x58\xa7\x5c\x99\x2a\x78\x06\x7e\xce\x19\x5a\x0c\x5e\xd9\x24\xe1\x13\xb8\x90\x00\x99\xce\xe5\x68\x06\xf9\x5d\x66\xde\x24\x46\x5f\x05\xf7\x8b\xcf\xff\xff\xba\x19\x27\xad\xb4\x22\x7b\x80\x4a\x57\xb5\xf0\xb4\x62\xd3\x95\x0b\x39\x1d\xa1\xeb\x0a\x68\x45\xb0\x32\x53\xac\xaf\x8d\xa5\x00\x28\xaf\x84\x64\x57\x99\xc4\xf3\xed\xd0\x9a\x48\x76\xa5\x3e\x77\x80\x64\x57\x99\x67\x4b\x10\x39\x9f\x3d\x6b\xf2\xab\x9e\xd4\x05\xef\x9e\x91\x64\xc0\x93\x8c\x88\x57\x22\x41\x77\x20\x17\x4d\x84\xb8\x5f\x28\x7d\x95\x72\x67\xaf\x8b\xd2\x57\x19\xcc\x3e\xa3\xf4\x55\x86\xba\xbf\x28\x7d\x0d\x03\xed\x80\xd2\x67\xbc\xcc\x63\x4d\xd4\xdd\x98\x02\x64\x58\x4c\xf2\xe9\x2d\xdc\xbb\x4b\xc7\x78\x6a\x3c\xd8\xe6\x1a\x73\xa2\xa4\x05\xad\x85\xd1\xda\x64\xbc\xb6\xb8\x1c\x2c\xb7\xa2\x3d\xef\x06\xa2\xd2\x68\xf1\x59\x82\x59\xf9\xea\x80\x8a\xe6\x82\x44\x9a\xfc\x0c\xa3\x52\x02\x33\x09\x53\x3d\xb0\xd6\x25\x3d\x0a\x63\x50\x8d\x70\x66\x93\x9b\xdb\x6a\x49\xec\x4f\x1a\xe7\x7a\x00\x88\x80\xcb\x56\x62\xf5\x9d\x50\x95\x3e\x55\xe0\xd8\xe7\xfc\xc9\x4a\x8e\x40\x7e\x86\x18\x5b\x49\x0f\x3a\x1d\x5b\x85\xbe\x6d\xc5\x28\x53\x64\x56\x15\xe9\x8b\xc3\x42\x99\xfa\xe3\x77\x2b\x39\x90\x81\x9d\x73\xa6\x83\x00\x14\xdd\x22\x5d\xf8\xf2\x2b\x24\xb6\x35\xd9\xa5\xd6\xae\xf5\x74\xcc\x8d\x2a\x51\x8a\xa9\xd3\xf3\x73\x09\xbe\xa4\x39\x95\x23\x66\xf2\x8d\x6c\x29\xb0\x23\xf4\x01\x2a\x3d\xe2\x34\x4b\xc8\x01\xf2\xf3\xa3\x9a\x82\x46\xf9\x37\xdf\xfc\x91\xa0\x6f\x50\x4a\x30\x2b\xd9\x37\x40\xab\xd7\x57\x1e\xe0\x9a\xa9\x39\x19\xb1\xc6\xad\x40\xc3\xcf\xa6\x78\x8c\x0b\x38\x3b\x67\x53\xee\xec\x25\x50\xc1\x0c\x47\x73\x24\xf3\x89\x29\xc1\x19\xd8\xb7\x9c\x9e\x77\xc1\x67\xe0\x29\x85\x9b\xd8\x0d\x7a\x63\x3c\xc7\x0a\xc3\xe9\x88\xe7\x58\x9a\x5a\x8f\xe7\xd8\x7c\xfa\xf6\x16\xcf\xb1\xb2\xe7\xdd\xf0\x1c\x9b\xb6\x7c\x03\x3c\xc7\x52\x33\x5f\x0c\x9e\x63\x65\x45\xbf\x18\x3c\xc7\xca\xbc\x7a\x3c\xc7\x2f\x04\xcf\x71\x35\x1f\x69\x44\x2c\x6c\x3e\xbc\xeb\x21\x16\x36\xea\x57\xed\x2c\x62\x5b\x78\x18\x90\xe6\x5e\x18\xb1\xb0\x34\x81\x3e\x3a\x6b\xfd\xe8\xac\x46\xe2\xb3\x7d\xeb\xe1\xb9\x90\xad\xea\x45\xd6\x11\xb3\xb0\xb4\x3f\x9d\x4d\x9f\xbb\xa0\xc4\xe7\x8d\x07\x04\x0f\x4c\x57\x73\xc8\xa0\xb4\x8a\xd2\x22\x9d\x6a\xc9\xc8\x61\x4d\x19\xcd\x29\xf4\x3e\xf7\x94\xbb\x41\x5c\x61\x65\x79\xbd\xcf\xc6\xd0\xe2\x2e\x8d\xf3\x0d\x65\xbc\xb7\xa0\x57\x97\x7a\xb5\xa6\x73\xc4\x0d\x02\x9c\x24\xcd\x86\x41\x9a\xd2\x5d\x35\xbb\xea\x22\xf3\x48\x3a\xa0\x4d\xd5\xb2\xca\xf4\xf5\x64\x86\x63\x64\xe3\x4a\x32\x1d\xa4\xf9\x9b\x2f\x67\x54\x2a\xd1\x1a\x59\x53\x1b\xe1\x36\x6e\xd8\x2c\xdf\x04\xb3\x63\xb6\xd9\x67\x29\x49\xb9\x58\x15\xd6\xd3\xf8\xa5\x2d\x40\xb0\xc9\xa7\x24\x9b\x93\x54\x0b\x41\xe3\x75\x1b\xe9\xba\xdf\x3e\xe5\xd0\x66\xbe\x98\x30\xbb\x12\x11\x04\x4e\x56\xfd\x6e\x6c\xf0\xec\x3a\x6f\xf7\xb6\xdb\x6c\x11\xf7\xd6\xb4\xe2\x3b\xc4\xd1\xe5\xd6\x12\xfb\x52\xc9\x95\x0e\xf4\xdd\x18\xac\xe1\x63\x65\x36\x0c\xc7\x68\x41\x31\xac\x77\x08\xde\x5a\x49\xc4\x61\x28\xa3\x96\x3c\xa4\xf5\x11\x94\xd6\xdd\xe9\x36\x5b\x2c\x7b\x2e\x5a\xa3\x06\xbb\xd8\xf5\x22\x95\xe3\x04\x14\xa7\xb0\x4a\x57\x95\xbe\x27\x8b\x86\x34\xa4\x6e\x86\x63\xca\xd4\x9f\xfe\x7d\x9d\x30\x0a\x10\xf2\xed\xba\x41\x65\x11\x1c\x45\x44\x1a\x53\xa3\x8d\x2a\x35\x55\xef\x73\x91\x6c\xb3\xab\xfa\x70\xe8\x79\x6b\x96\xe9\xa1\x41\xe3\x82\x78\xcc\x05\x3c\x17\x3c\x9f\xcd\x9d\x35\x43\x53\xa1\x9e\x5a\xd3\x5e\xfe\x54\x33\x19\xae\xbd\x97\xdf\xe7\x34\xd9\xcc\x56\x74\x5b\x2a\xb7\xf2\xf1\xfc\x0e\xc9\xb9\xa7\xff\x09\x34\xdb\xb8\xb1\xf5\x41\x77\xef\xd3\x7e\xeb\xcd\xd6\xd0\xcd\x81\x83\xc3\x9b\xf2\x24\x01\xc3\xab\x24\xe9\x63\x5b\xd5\x7c\x98\xf0\x1d\xdd\xb0\x36\x38\x7c\x0d\xee\x1b\xa9\x70\x9a\x75\x92\x68\xae\x8d\xb0\x25\x91\x1b\x7d\xd5\x77\x6b\xa2\xba\x38\x23\xac\xc9\xda\xf3\x73\xbd\x48\xc0\x1b\x8b\xad\x73\xb1\x5e\x3b\x8b\xaf\x73\x4b\xf2\xc2\x31\x76\x4d\xf3\x58\x83\x05\x94\x42\xce\x0b\x1e\xef\x82\x17\x8c\x1c\x3f\xd0\xf3\x1b\xb1\x41\x29\x38\xdd\x95\xe3\x9c\x2c\x8a\xe8\x56\x23\x12\x87\x9c\x04\xb0\xd5\xad\x9d\x00\x4c\xfa\xfa\x2f\x10\xdc\x0d\x92\xa3\x89\xbe\x73\x11\x76\x10\x9a\x4b\xe2\x43\x1c\x2d\xa2\x84\x46\x81\x0a\x38\x13\x38\x9b\x37\xb1\x1b\xb7\xec\x3d\x04\xc5\x6b\x41\x50\xb4\x15\x0c\x59\x27\xb4\xd8\xd1\x15\xc3\x29\xe9\xa1\x31\x9a\xa0\x31\x0e\x7c\xf2\x37\x2b\x4a\x9f\xbc\x62\x4e\x71\xfd\xdc\xf5\xf8\x18\xaf\x80\x8f\xb1\xc9\xe1\x2b\xc0\x2f\x4a\xc7\xae\xc7\xec\x78\xd7\x09\xb3\xc3\x5f\x82\x7b\x05\xc3\xd0\x7e\x1e\x5f\x39\xbd\xbf\x3e\xb0\xd7\xc4\xe8\x68\x10\x17\xd6\x91\x9b\x96\x81\x74\x2c\xa3\x8b\x4e\xeb\xf2\xba\x90\x19\xeb\xad\xcc\x5a\x68\x18\x8d\x77\xd7\x9e\x60\x63\xb4\x6f\xc3\x9e\x9c\x9b\x5d\x26\x80\xac\x57\xdb\x2d\x4c\x02\x59\x47\xbb\x59\x2f\x1f\xc4\xd3\xc3\xdb\xca\x09\x29\x0a\xeb\x6c\x96\x17\x32\x70\x2e\x55\x22\xd0\x9c\x27\xb1\x89\x5a\x0a\x56\xcb\x77\xe0\xa3\x91\xfd\x02\xb9\xcd\xb8\xcd\x48\x64\xb4\xad\xa2\x3a\xce\xb2\xec\x0f\xbf\x89\x6f\x3d\x03\x24\x90\x7f\x77\x9b\x05\x12\xae\xec\xa6\x99\x20\x2b\x06\xb7\x4c\xf4\xd8\x30\x1b\x24\xe8\x71\xa9\xd3\xc9\xcd\xae\x93\xe3\xa9\x4a\x2c\x1b\xc4\x04\xd5\xca\x18\x6d\x8f\x94\x91\xe2\xcf\xe3\x0c\x0b\x9c\x24\x24\xa1\x32\x7d\xb6\xc0\xc4\xd3\xb2\xf7\x51\x9f\x55\xc1\x8d\x7d\x86\xe5\xe9\xc4\x90\xa2\x1b\x88\x2d\x9e\xa6\x38\x12\x39\x0b\x71\x7e\xfc\xc6\x20\x57\x5c\x2b\x87\x7b\x01\x4c\x3a\xd1\x1c\x2a\xf5\x4d\x31\x15\x8c\xc8\xd6\xba\x68\x24\xca\x05\x55\x8b\xb1\x2d\x33\xd7\xfd\xc0\xdd\xda\x2f\x4f\xed\x87\xcb\x1d\xb6\x2e\x45\xda\xf5\xe7\xcb\xda\x65\x44\x40\xcd\x0c\x57\xfd\x21\x28\xa5\x67\x53\xe0\x89\x2f\xbc\x01\xa1\x98\xb5\x6b\xbb\x2d\x84\x18\x3f\x8d\x83\xac\x8e\x71\x54\x25\x8e\x55\x87\xb5\x09\x84\x65\xd9\x24\x9f\x19\x86\xa4\xc5\x29\xfa\x0c\x90\xfb\x36\x74\xdb\x34\xad\x07\x1c\x78\x36\xc1\x58\x58\x6c\x4c\x90\x97\x6d\x95\xaa\x96\x71\x62\xc6\xb8\x6a\x2e\xb6\xb4\x64\xb0\x83\xe0\xab\x0e\x23\x0e\x3a\xd9\xd1\xb0\xf5\x41\x17\x22\xcf\x14\x9d\xd4\x71\x42\x76\x58\x82\x6f\x90\x40\x46\xb2\xb3\xf1\x97\xba\x35\x75\xf9\x4a\x9c\xd8\xce\x4e\xcb\xff\x16\x54\xc7\xc1\xad\x50\x36\x4b\x48\x29\x97\xe8\x2a\xa5\x40\x85\xe6\xfc\x80\xf5\x57\x53\x67\xd9\x36\xfb\xde\x45\x2f\x60\xa8\xee\x67\x4c\x44\x47\x23\x36\x90\xe8\x89\x20\x46\xcc\x12\x36\xd5\xed\xf3\x26\x65\x28\x84\x32\x21\xba\x27\x1f\x6a\xa1\x85\x07\xaa\xa4\xaf\xc5\x63\xfa\x98\xe2\x44\x92\x03\xdd\x30\x94\xf0\x53\x1c\x62\x00\x31\x7a\x12\x38\xcb\x88\x18\x31\x1b\x51\x0e\xde\x0e\xce\x13\xd3\xfe\x5a\xd2\x4f\x1c\xcb\xb2\xa1\xcb\xa8\x10\xf4\x1f\x25\x15\xfb\xb0\x94\x85\x12\x05\x78\x1c\x10\x7f\xe6\x4a\xaa\x2c\x93\x75\xfa\x68\xe6\x7a\x34\x73\xf3\xda\xec\x63\x44\xb3\x3f\x4f\xeb\x46\x35\xb7\x6d\xff\x2e\xa4\x98\x1d\x46\x37\xbf\x72\x18\xf0\xf3\x44\x00\xbf\x6e\xc8\xf6\x73\x44\x6b\xf7\x31\xcd\x6f\x2f\xa6\xb9\xfd\xd8\xae\x15\xd7\xbc\x02\x60\xc6\xf5\xb2\x6d\x10\xa9\x07\x3d\x79\xd6\x40\x52\xef\xb6\x0f\xbe\xe8\x18\x4c\x5a\xa0\xb2\xf4\x01\xa5\xcf\x14\x50\xda\xb0\xc4\xeb\x05\x95\x6e\xa4\xdf\xbf\x7c\xbc\x5b\xb5\xca\xf6\x73\xc6\xbc\xad\x08\xf3\x90\xf9\x64\xfc\xec\x47\xaf\x71\xce\x5d\x4f\xe0\xcf\x9e\x28\x8c\x48\x24\x34\x9d\x4d\x48\x1c\x83\x0d\x59\x2b\xab\x90\x49\x58\xd0\x8e\xd3\x05\x34\xf3\xc5\x52\x13\x3b\x4e\x38\x9b\x49\x1a\x93\xa0\xae\x7d\x49\x53\x81\xac\x46\xd8\xdf\x24\x21\xc2\x99\x20\x05\xfa\x4a\x52\x16\x91\xd0\x2c\x29\x50\xcc\x89\x64\xef\x95\xd1\x0c\x30\x5b\xa0\x07\xc6\x9f\x12\x12\xcf\x60\x87\xaa\x83\x39\x44\x94\x1c\x20\xaa\xfc\x67\x02\xd2\x20\x79\xae\x46\x7a\xec\x10\x58\x62\x44\x40\x62\xbf\x0d\xaa\x81\xfa\x66\xbe\x3e\x42\xe8\x9c\xa1\x29\x8e\xd4\x41\xb9\x0e\x79\xcc\x4d\x79\xc7\x47\xc2\xc2\x89\x17\x8d\x3c\x5b\xbc\x63\x63\x7c\x63\x85\xda\xdc\x79\xd3\x04\x30\x48\x28\xde\x2a\x34\xe5\x11\x6f\x03\xde\xf6\x29\x97\xd6\x87\x89\x38\xf3\x87\xc9\x22\x24\x78\xbc\x4a\xa8\x72\x67\xb0\x1f\x19\x8f\x5b\x4d\x05\x95\xa9\xac\x3b\x96\x22\x8e\xc8\x16\xd7\xb3\x76\x5e\x68\xd7\x2c\x77\xcc\x9f\x98\x54\x82\xe0\xd4\xda\xd6\x34\xf3\x06\x1f\xb4\x89\x22\xd2\xa3\xa7\xc2\x5c\xda\xeb\x6c\xf1\x05\x65\x0f\x7a\x77\x0b\x84\x4e\xa8\x55\x0a\x3d\x37\x6c\xda\xf7\x94\xe1\x52\x10\xf5\x06\xbb\x96\xe4\x6b\x45\xf5\x05\x66\x89\x45\x1b\x38\xaa\xc2\xab\xf0\x4a\xd7\xd0\xc4\x91\x84\x02\xad\x68\x02\xf5\xc3\x35\xab\x33\xd6\x3c\x8c\x14\x06\x6b\xd8\x9c\x24\x59\x50\xe4\x30\xc3\x42\x49\x47\x40\x06\xaf\x4f\x73\x87\x34\x67\x26\x59\xdb\x68\x88\x4f\x16\x96\xcd\x1a\x42\x8b\xc6\x8f\x46\xec\x5c\xbd\x97\xfa\x7c\x71\x36\x4b\x16\x08\xc7\x8f\x54\x16\x68\xa9\x11\x67\x32\x4f\x89\xa8\xd4\x0e\x36\x51\x32\x08\x3b\x5a\xd1\x63\xd3\xb2\xda\x23\x4e\x68\xec\x6a\xd9\xeb\x1f\x27\x64\xaa\xef\xbd\x0c\x0b\xe9\x5c\x2a\x0d\xee\x10\xbb\xb9\xb1\x5e\xab\x57\x3b\x93\x3f\x85\xc7\x0e\xa5\xc5\x09\xc5\x56\x77\x39\xae\x9e\x4f\xbb\xea\x4b\xce\xe6\xa4\x36\x29\xb4\xfc\x62\xb2\xab\x70\xb6\x0a\x4d\xc0\x21\xda\xe4\xc6\xfd\xad\xfb\x71\x32\x90\x19\xdc\x5a\xe6\x9f\xca\x04\xed\xa8\x8d\x0d\x2d\x3c\x9b\x84\xc2\xa5\x20\x15\x56\x34\xb2\xe2\x16\x17\x96\x3d\x59\xf6\xd5\xbe\xb5\x67\x5b\xa2\x67\xca\x08\x27\xf5\x1d\x5e\x62\x71\x37\xef\x2f\xe7\x7d\xf6\xb8\x99\xb6\x97\x46\x9b\x47\x3c\x49\xd6\xc1\x42\xad\xcc\xfc\xb4\xf8\x7c\xf9\x88\x8a\x7e\xf4\x06\xb8\xbd\x80\x53\x63\xfc\x16\x38\xb1\x92\x85\x54\x76\x97\xc2\x97\x0c\x0f\x5d\x58\xbf\xc8\x88\xf1\xa9\x29\x65\xd7\xe6\xd1\xc8\x04\x4f\xe9\x3a\x28\x47\xc6\xc8\x7f\xe3\x22\x90\x56\xf8\x9e\x5d\x9c\x12\xd4\xa0\x36\xe4\x65\x7b\x84\x58\x55\xcc\x8c\x9c\xb1\xe4\x0c\xa5\x38\xdb\x68\xc1\x57\x69\xc9\x03\x94\x1a\x13\x85\x5d\x3d\x69\x0a\x9d\x3f\x90\x05\x80\xa0\x24\x4f\x78\x51\xc4\xe4\xb7\xe1\xd7\xb0\xb5\xc8\xe1\x5e\xbf\x7e\xce\xa6\x7c\x23\xe8\x5a\x7b\xfa\xb0\xa3\xd9\xe0\xfc\xf9\x78\x30\xb3\xfb\x66\x4d\xbb\x9c\xc7\xd3\x26\xa2\x5e\xfb\x64\xba\x15\x7c\x4e\x91\x3d\x64\x22\xa1\xb4\xbe\xce\xdd\x5a\x3e\x5a\x41\x8b\x08\x86\xb3\x7c\xa9\x3e\x95\xe8\x70\xe7\x6b\x54\x69\x07\x19\xcd\xd0\x05\x12\x5c\x37\xb7\xfa\x02\x6b\x66\x0f\x49\xa7\xc5\xda\x32\x69\x68\x3d\x1c\x1e\xd7\xa3\x47\xdf\x69\x3e\xa1\x2b\x41\x06\xd7\xd1\x48\xa6\x5a\x12\xb2\x05\xf5\xbd\x57\xd2\x86\x67\x4e\x69\x42\xe4\x11\x3a\x6f\xd0\x4e\x5c\x70\x24\xc8\x68\x80\x51\x08\x61\x22\x4e\x7a\xca\x05\x0d\x2a\x44\x38\x19\x09\x51\xc0\xb1\x0d\x6d\x1e\x82\xe8\x31\x47\xc6\xe7\xc2\x0d\xe8\x0e\x44\x66\x08\xaa\x79\x96\x11\x56\x15\x98\xef\x34\x2f\xa0\x36\xd3\x32\x26\x19\x61\xb1\xff\x80\x1b\x7f\x19\xb6\x45\x70\x8a\x51\xb5\x6c\xe9\x2e\x90\xaf\xbb\xc7\x9e\xba\x5e\xef\xf4\x17\xf5\xbd\x69\x1c\xe1\x5d\xb9\xf5\xb5\x47\xe7\xa5\xfc\xf5\x1d\x48\x1f\xe0\x53\x67\xcd\xc2\x68\x2a\x08\x18\x3c\x53\x9f\xcc\xc5\x62\x22\xa4\xe2\x1c\xee\xbb\xdb\xb3\x1f\x8f\xef\xcf\x11\x51\x11\x54\x25\x1f\xb1\x48\x3e\x1e\x68\xf1\xf8\xef\x39\x51\xfa\xe7\x96\x60\x67\x9a\x12\x26\x81\x13\x50\x55\x4b\x23\x6d\x5e\x48\xb7\x30\xfa\xbf\x67\xe5\xef\x97\x90\x7c\x2d\x74\x1e\x68\xd7\xc1\x22\x03\x99\x02\xa4\xa6\x59\x5a\xd9\x40\x31\xc6\x7d\x3b\x6c\x2a\xab\xb1\x41\xa8\x1c\xfb\x5b\xce\xd6\x14\xba\x4e\x8b\x8f\x82\x51\xb4\xc8\x74\x69\x86\x01\x73\x6a\xbd\x18\x3c\xf3\x4d\x63\xeb\xab\x98\x48\x91\x92\x60\x1d\xdd\xa8\xa8\x40\x82\x94\x20\x04\x58\x88\xa7\x27\x7b\xd7\xdb\x14\x30\x3f\xb1\xe0\xa3\xa3\x11\xfb\xe4\x0c\xb0\xc5\xaf\xd2\x35\x61\xe2\x3a\x3d\x14\x57\xb9\x15\x68\x36\xa6\xd2\xff\x00\x80\xaa\x32\x4f\x94\x81\xc6\x9f\x52\x86\x13\x3f\x50\xf3\xa4\x89\x4b\x08\xcc\xa2\xf9\x25\x8f\xb7\xc3\x16\x9a\x8e\x49\xb2\x8e\x24\x7a\x3e\x1d\x26\x52\xd3\x77\xf4\xd0\x72\x3a\x37\x29\xfe\x50\x4c\x06\xe4\x40\x07\x0f\x6e\x74\x1c\x63\xf5\x4b\x0c\xd0\x3e\x41\x60\xb2\xab\x46\x4e\x9a\xe4\x28\xbd\x8b\x56\x52\x37\x16\x3b\x13\xb2\xe4\xc3\x11\xa0\x17\x84\xd5\x88\x89\x9c\x01\xd8\xa3\x37\xe0\x63\x24\x89\xa0\xc6\x92\x1e\x71\x66\x64\x00\x6b\x8a\x99\x69\x36\xa1\x25\x3f\xf0\xe2\x70\x06\xfa\x19\xcf\x25\x44\x3f\xa5\x44\xe9\x0b\xea\x2b\x28\x28\x63\x5c\x28\x07\x28\x13\x34\xa5\x8a\x3e\x12\xf9\x75\xc3\xd6\x9d\x62\x85\x13\x3e\x1b\x08\x45\xa7\x38\x52\x77\x78\x2b\x0d\x1c\xdb\x66\x36\x75\xc7\xbb\x61\xa0\xf3\x33\xbd\xf8\x33\xc2\x88\x80\x89\x6a\x9d\xbc\xf9\x08\xc3\x93\x8d\x38\x37\xc0\xdb\x47\x06\x10\x5c\x7a\x8b\x05\xce\x15\x4f\xb5\x7e\x8b\x93\x64\x01\x40\xdf\xfa\xc9\x1c\xcb\xb9\xdb\x68\x83\x0e\xde\xe5\x6e\xb2\x8b\x7b\x8a\xa3\x39\xb9\x55\x58\xe5\x8d\x26\xc7\xca\x28\xdf\x11\x96\xa7\xef\x4e\xd0\xff\x14\x73\x3c\x1d\x9c\xfe\x30\x1c\x9f\x9d\xdf\x0e\xbe\xbf\x18\x9e\x05\xf3\xb1\x4f\x3e\x9d\xdf\xde\xd6\x7f\xfd\xe1\xfc\xae\xfe\xe3\xf5\xd5\xf5\xfd\xc5\xe0\xae\xa9\x95\x8b\xab\xab\x1f\xef\xaf\xc7\x1f\x06\xe7\x17\xf7\x37\xc3\x86\x4f\xef\xef\xfc\x43\xfb\xec\xaf\xc1\x21\x82\xe8\x11\x88\x2e\x6a\x1e\x6d\xf5\x9c\x1d\xa2\xf2\x8b\x27\xe8\xbe\x8a\x34\x68\x43\x30\x4c\xaa\xd6\x13\x96\x9a\x55\xe1\x49\x42\xe2\x11\x43\xee\x73\x3d\xf7\xb6\x4f\x8d\x93\x2a\x9a\x13\x94\x70\xfe\x90\x67\x96\x83\x99\x78\x6f\xc6\x8d\x7d\x87\xc8\xa0\xb5\x1f\xce\xef\x4e\xea\x88\x87\xbe\xb1\x20\x23\xdb\x91\x3a\x8c\x0b\x3b\xae\x09\x26\x93\x4c\x90\x47\x38\x93\xde\x57\x19\xf4\xe0\x37\x60\x59\x3f\xa6\x35\xcc\x54\xa5\x9b\x38\xb6\x45\x82\xdc\xc4\x82\x86\xcb\xdb\xb7\x6c\x35\xfd\x72\x18\x88\x67\x34\x21\x11\xce\x8d\x2b\x4f\x5f\x47\x42\x70\x11\x0e\xb8\xd8\xf6\x2d\x1b\x7d\x57\x97\x32\xca\xc5\x60\x24\x9c\x11\xfd\x49\x70\x72\xb4\xf6\x0d\x9a\xb9\x83\x17\x9d\x5b\x18\x68\x2a\x8d\xb7\xa1\xf0\xbf\x00\x72\x96\xe6\xdc\x1e\x06\x92\x82\x6f\x10\x2b\xf4\x44\x20\xe8\x3f\xb7\xf8\xca\x46\x43\xd6\x27\x10\xba\x33\x56\x6d\x07\xea\x5f\x4a\x06\x68\x65\x99\xbb\x10\x8b\xf5\xf7\x92\x34\xb1\xcb\x2d\x22\xb7\xcf\x4c\xa3\xc0\x43\x9d\xa3\x16\x46\xdc\xe2\x3f\x70\x3c\xbb\xc1\x8e\xbd\x44\x0a\xaa\xdf\x1b\x2b\x58\xba\x66\xae\x5d\xc6\xe3\xb2\xd5\x4a\x88\x62\xeb\xc1\x77\xf8\x20\x83\x95\x6b\x75\xc7\x63\xbc\xd0\xc4\x01\x11\x12\x32\xcf\x32\x2e\x14\x6a\x69\xc3\x44\xfb\x99\xf1\xc1\xcd\x60\xe7\xe1\x59\x14\x34\xa2\xe5\x00\xd9\x00\xfa\xd9\x2d\x81\xc7\xae\x6b\x71\xee\x43\x24\x00\x50\xd7\x3c\x3a\x70\x5a\x52\x7c\x4b\x14\xda\x24\xa2\x6e\x13\x17\x95\xe9\x6b\xb8\x2b\x58\x7d\x53\xef\x57\xae\x85\xc6\x2d\x4f\xc8\x54\x8d\x1b\x7d\x33\x4b\xcc\x90\xba\x45\xd6\x96\xf3\x48\x67\xf3\x1d\xb4\xd8\x5d\x96\xff\xce\xfa\xce\xb4\x00\x1f\xe8\xf1\x82\x73\x65\xa4\xc8\x42\xd3\x40\x6e\x35\xc1\x08\x60\x3b\x35\xd5\x75\x0a\x51\x4d\x4b\xe6\x0f\x8c\x3f\x31\x6f\x7f\x97\x47\x23\x36\xc4\x50\xf2\xc9\xab\x0b\x36\xfc\xc1\xc8\xea\x2b\xa5\xf4\x52\x05\x99\x17\x0d\x31\x68\x87\xd4\x29\xe8\xde\x96\xc7\x4b\x16\xa8\xa8\x12\x54\xfa\xae\xcb\xe9\x31\xb6\x69\x27\xa8\x99\x09\xdb\xfa\x16\x8a\x64\xd6\x7e\x6e\xe6\x59\x64\xb7\x80\x0b\x56\x77\x75\x84\x7e\x76\xf6\x19\x88\xd6\x28\xaa\x5b\x29\x73\xe3\x24\x78\xe1\x30\x43\x9a\x16\x76\x17\x30\x1c\xbb\x8e\xdf\x58\xbe\xc0\x3e\xe5\xb8\x61\x95\x4b\x6a\x32\x63\xc6\x6e\xba\x46\xb0\xda\xa9\xff\xe8\x96\x2c\x8f\x66\xfd\x00\xc5\x2a\x0c\x5e\x33\xdc\xd0\x9a\x8f\xfe\x2f\xb3\x59\x26\x56\xda\xc1\x50\xdb\xe2\x01\xd6\xcf\xa9\xcf\x0f\xf8\xe9\x4c\x28\x35\x9a\xd2\x24\x01\x39\xe0\x08\x0d\xa0\xd6\x13\x54\xf1\xd1\x57\xa1\x8b\x09\xa2\x33\xc6\x57\x85\x21\xb4\x10\x53\x14\x10\xd3\x6d\x3b\x31\x49\xa0\xa6\x22\xd3\x64\x37\x14\xb5\x83\xac\x43\xcd\x5b\x70\x1d\x82\xac\x7b\xae\xe1\x1a\x2a\xf6\x6b\x84\xf4\xd4\x86\x1b\x7c\xf8\xaf\xe6\xa1\x7f\xcc\xb1\xc0\x4c\x41\xa0\x8a\x95\xbc\x05\x09\x02\x26\xc9\x67\x08\x05\x63\xc6\x5c\x0b\x3f\x85\x9b\xeb\x1c\xf3\x33\xfa\x48\x18\xa2\xf1\x01\xa2\x47\xe4\xe8\xc0\x16\x6c\x95\xf9\xa4\x78\x73\xae\x25\x87\x11\xab\x65\xd0\x1d\xa1\x41\x22\xb9\xfd\x82\xb0\x28\x81\xda\x6a\x41\x4c\x8d\xa7\x7c\xeb\xfc\x99\x2c\x40\xbf\x80\xad\x2c\x9a\xe7\xf6\x41\xf0\xe1\x88\x61\x69\x3c\xd7\x09\x9c\xf4\xe2\xf7\xa6\xfa\x89\xa5\x68\x86\x67\xc4\xcf\xac\x5d\x43\xcf\xb6\x49\x06\x58\x7f\xd9\x06\xc1\x1b\xb0\x31\x45\x66\x63\x90\x23\x88\xbe\xc2\x0a\x25\x04\x4b\x85\xbe\xfd\x7a\xad\x08\x0e\x37\xc1\x82\xbb\xda\xe3\x5b\x84\xb7\xba\xf8\xb8\xb6\x22\xb0\x50\xf8\xc4\x56\xad\xf7\x02\xe4\x81\xde\x67\xc5\xd1\x23\x95\x39\x94\xab\x0b\x22\xf2\x4d\xc1\x31\x93\x3b\x02\x21\x86\x46\x65\x6a\xe1\x23\x0e\x0d\xcb\x3a\x39\xed\xb0\x1a\x28\xcb\x2a\x4f\xd4\xa8\x67\x90\x34\x5e\x44\xaa\xcd\xb1\x1a\x31\xcb\x59\x5d\x70\x47\x50\x5a\x68\x90\x24\xe5\xe8\x30\x0c\x01\x90\x4c\x4f\x18\x8a\xed\x1d\xf9\x05\xba\x04\xf5\xcb\x07\x14\x95\x0b\xef\xfa\xc3\xa2\x35\xb5\x11\xf3\x19\xb9\x61\xdb\x8d\xd2\x4e\x93\x15\xf8\x05\x85\xe0\x86\xee\x2f\x4c\xd5\xc3\x0e\xc2\x70\x7b\x55\xea\x25\x5e\x93\x9a\xe5\x7d\x89\x6c\xbc\xeb\x0e\xba\x8b\xca\xcd\x56\x6c\xb8\x66\x9f\x78\x83\x51\xbc\x65\x73\x03\xd9\x62\x1b\x05\xdc\x47\xb6\xbd\x94\x5f\xb6\x34\xf4\xf3\x18\x22\xd5\x57\x73\xc1\x22\xf2\xdb\xb1\x0e\x30\x47\xd3\x38\x08\x44\x0d\xa2\xf4\x20\x50\xd9\x31\x3e\xfb\x66\x8b\x7f\x34\x7b\xdb\xd3\x3f\x28\xe6\xef\xa6\xe2\x43\xd5\xea\x13\x6f\x17\xf6\x06\xf1\xdf\x70\x44\x58\xb4\x30\x3d\xb9\xcc\xc2\x7a\xca\xb0\x03\x5a\xc3\x60\x72\x6f\x14\x0f\x6d\x01\xd3\x23\x34\x84\x8b\xc6\xd5\x33\xc5\x53\xe7\x36\x08\x5e\x1e\x31\xad\x99\xb8\x0c\xc3\xa0\xfd\x32\x89\x37\x9d\x00\x03\x57\xb0\x95\xc7\x25\x5d\x0d\x0a\xdb\xa6\x4d\x38\xb4\x04\x68\x03\x50\x2f\xd1\x70\x76\x82\x62\x1e\x3d\x10\x71\x2c\x48\x4c\xe5\x09\x78\xc0\x55\xab\xeb\x2d\xd5\xda\xf6\xd6\x92\x46\xd7\xda\xe2\xf5\x4a\xa0\x29\x14\xe9\x84\x10\x65\x57\x7e\xe7\x00\xd1\x29\xa8\x13\x2e\x5b\xc1\xa4\x30\xb8\x84\x4c\xc2\x94\x58\x64\x9c\x32\xe5\x4d\x59\x95\x85\x70\x9a\x86\x16\xda\xda\x02\x76\xc5\x2e\x22\x65\x36\x9c\xf6\xdd\x9c\x48\xe2\xc2\x02\xcc\xa4\x14\x47\xc6\x17\x62\xd8\x45\x86\xd5\x5c\x42\xbe\x45\x79\x0d\xac\xd2\x05\x9f\xea\x15\xc2\x19\x44\x15\x18\x2b\x45\xf1\x91\xcf\x0a\x90\x8a\x26\xc9\x88\x31\x42\x62\x89\x20\x35\xe2\x7d\x63\x5e\x8f\xfe\xf4\x00\xe1\x38\x46\xff\xfb\xab\x0f\x17\xbf\xdc\x0d\xc7\xe7\x97\x60\x73\x3e\xbf\x18\x7e\x7d\xe0\x7f\xbc\xba\xbf\xf3\xbf\x1a\x0b\xcb\x23\x11\x28\xc5\x0f\xa0\xe2\x31\x69\xe4\x3f\x88\x9d\x0f\x47\xea\x32\x9e\xf4\x13\x49\x5c\x3c\xaa\x15\x53\x3c\xc8\x87\xdd\xc3\xd6\xea\x5a\xc6\xe6\xb7\x86\xf2\x7b\xe3\x3f\x59\x4e\x83\x8e\x78\x7c\x17\x4e\x0c\x4c\x09\x53\x9a\xc7\x58\x6b\x5f\xa1\xfb\x16\x04\x47\xd8\x8c\xb2\xb6\xa8\x39\xc2\x1e\x9f\x53\x88\xff\x91\x2c\x7e\xd2\xea\xf5\x35\xa6\xa2\x33\xed\x0d\xd9\x23\x15\x9c\xc1\xd4\xbc\x59\xcb\x9f\x18\xad\xa7\x63\x59\x3d\x54\xd2\xc8\xc2\x10\x49\x91\xb5\x46\x66\x36\x41\x15\xbc\xfa\x74\x6d\x92\x3a\xf9\xac\x84\xcb\xad\xf3\x79\xf6\x8f\x98\x26\x10\x55\xeb\x2e\x9a\x82\x06\x47\xec\xee\xea\xec\xea\x04\x91\x04\x4f\xb8\x80\x5c\x1b\x13\xb8\xe3\x9a\xb0\x0b\x06\x75\xad\x7d\x43\xa5\xbc\xca\x03\x94\x15\x79\x95\xa1\x11\xed\xc8\xb4\xb1\xaa\xec\x25\x17\xf5\xac\xc4\xdd\xaa\x80\x76\xb2\xd7\x5c\x74\xb9\xfe\xf5\x6b\xb0\x74\x3c\xd3\x8a\x5c\x85\xf3\xda\xbb\x79\x4a\xb0\xa9\x38\x67\xdc\x42\xd6\x96\x6f\xc3\x4c\x93\xa4\x54\xc0\x42\x1f\x1c\x79\x64\x1d\xe5\xc5\x9b\x9c\xa1\x1f\xff\x2c\xd1\x24\x57\x23\x56\x6e\x83\x33\x34\xf8\xf9\x16\x7d\x8f\x55\x34\xff\x7a\xc4\xae\xb4\x9a\xf9\xe3\x9f\x5b\x12\xc0\xd7\xc6\xcf\xd0\x6b\x72\x86\x15\xbe\xe0\x38\xa6\x6c\xd6\x04\x9e\x51\xc0\x0b\x0f\xef\x06\x27\xe8\xca\xea\xf0\x3e\x67\xb3\x00\xbc\x09\x1a\x02\x86\x0c\x13\x71\x5c\x04\x58\x39\x2b\x03\x0c\x18\xcd\x0c\x2e\xac\x11\xbb\x33\xa8\x21\x9a\xab\x52\x85\x32\x6e\x21\xae\xb5\x56\x66\xf0\x54\x8c\x29\xdb\x5a\x12\xf5\xea\x00\x19\xfb\xcd\xb0\xf2\x18\xc8\x33\x75\x66\x3f\x62\xa0\xa0\xfb\x3c\xba\x84\x47\x38\x81\xc8\xb9\xc3\xc0\xa6\xa7\xd5\x76\x9e\x43\x52\x13\x84\xac\xb0\x45\x39\xc0\xd5\xe7\xd9\x79\xa1\x2c\xdc\x28\x30\x00\xc0\x3e\x5a\x67\x6a\xca\x35\xc7\x39\x1a\xb1\xf3\xa9\x09\xac\x4b\xcc\xea\xe8\x0f\x09\x03\x7f\xb2\x5b\x16\xfd\xd4\xf1\x23\xa8\xc4\x69\xdc\x8a\x38\x02\xf3\x3d\x5b\x40\x90\x35\xc0\xe2\x72\x08\xd0\x28\xb8\xb3\x25\xca\xda\x2e\xfa\x3b\x31\xf8\x6c\xc4\x4c\x3c\x5f\x69\x5f\xc2\x9c\xe3\xa0\x77\xce\x20\xdc\xb0\xb8\x2e\xbd\x80\x91\xd9\xf0\x43\x2b\xeb\x67\x82\x1c\xba\x9a\xf8\xfa\xd7\x60\x4d\xf5\x0d\x7b\x84\x6e\x42\xf5\x3a\xe6\x51\x9e\x3a\xec\x2f\x48\xfe\xb2\x71\x6a\xf6\x12\xf5\x14\x62\x2e\xf6\x55\x14\x8f\x45\x34\xa7\x8a\x40\x86\x56\x67\xfd\xd8\x10\xcc\x20\xfc\xb4\x2e\xa9\xb7\x0b\xbe\xc0\x3b\xb6\x8b\x2d\x33\x0d\x8d\xb3\x72\x4b\xa5\xd6\x56\x43\x17\xad\xc0\x91\xbf\x2c\xf0\x89\xb8\x00\x61\x8b\x7c\xce\x38\x18\xb9\x4d\x02\x20\x8f\xdf\x4b\x74\x7e\xad\x25\x20\xad\xf1\xfa\x33\x98\x4b\x65\x42\xc0\x20\xa9\xc6\x7c\x6d\x82\xfa\x0f\xd0\x37\xa6\x44\x62\x84\x3e\xbb\x3f\xfe\xf4\x1f\xff\xf1\xc7\x3f\xad\x93\xf4\xe1\x14\x72\x68\xb7\x58\x23\x8f\x36\x5e\x16\x89\xc2\x1d\xa8\x73\xaa\x2d\x76\xc1\x1e\xc0\x5d\x62\xc5\x04\x11\x3e\x78\x66\x4f\xb8\x0c\x4f\x26\x2a\x1d\xcd\x22\x92\x40\x12\x75\x50\xe6\x10\x5e\xd8\xb5\x12\xfd\xff\x5a\x02\xb1\x30\xd6\x47\x65\xb3\x48\x24\x9a\x78\xf1\x5a\x37\x82\xbe\xb2\xf6\x3f\x05\x0e\xc4\xaf\xdd\x05\xc7\x93\x98\x08\x5b\x5e\xd5\x99\xec\xbc\x21\x11\x98\x03\xf9\x9c\x25\x3c\x76\x00\x3e\x92\x64\x18\x04\x08\xcd\x0c\x8e\x46\x6c\xe8\xaa\x6d\xda\x5a\xdf\xf0\x91\xf1\xbc\x4c\x71\x64\x70\x6b\x24\xfa\xea\xf3\x89\xfe\xed\x00\x2d\x4e\x20\xd4\xf3\x00\xfd\xe3\xc4\xa6\x78\x63\xa1\xc6\xfa\xa7\xaf\x9d\xac\x6d\x9b\x80\x41\x53\x89\xde\x1f\x3f\x62\x61\x8a\x74\x1d\x9b\x11\xbd\xb7\x9c\xd5\x97\x4d\x08\x65\xf3\x84\xf3\x07\x1b\x06\x5b\xfb\xf0\xd8\xc1\x45\x00\x79\x7b\xbf\x89\xd9\x7a\x1b\xd1\xac\xe5\xc8\x43\x5b\x2b\xf4\x28\x9b\xa0\xa3\xbf\x49\xce\xd0\xd1\x02\xa7\x89\xfd\xd5\x3d\xb5\x51\xba\x58\x22\x57\x2d\xd6\xc5\xe8\x24\x0b\x63\x29\xfd\x3e\xe1\x13\x98\xd5\x27\x37\x53\x13\xe7\x0a\x03\x2d\x6e\x9f\xe2\xc2\xb2\x13\xb1\x92\x94\x49\x7a\x87\x4a\xf4\xfa\x15\xe0\x71\x4d\xb3\xfa\xec\x87\xf4\xdf\xc6\x2f\x0c\x8b\xe2\x52\xed\x8c\x71\xd8\xc7\x98\xe9\x46\x3f\xa3\xaf\x2c\x0b\xfa\x5a\xdf\x31\x36\xa8\xd8\x2c\x43\x53\x07\x0b\xdf\xc1\x2f\x41\x07\x94\x21\x93\x3c\xb9\xe4\xcb\x7f\x1c\x1f\x1d\x1d\xf9\xaf\x2f\xf5\x54\xfe\x5f\x44\x95\x24\xc9\xd4\xb4\xe4\x6e\xb0\xc5\x88\x7d\x72\xd0\xa0\xce\x78\x5d\x00\xd1\x40\x95\xd7\x88\x27\xe8\xb0\x30\xe8\xc6\x3c\x92\xe8\x77\x5a\xac\x0d\x96\x12\x7e\xd4\x7a\x5c\xf3\x99\xb2\x58\x64\x2f\x74\xa8\xac\x41\xbc\x7a\xac\x42\xec\x09\xaf\xd8\x62\x19\xe2\xcc\x02\x2d\x68\xca\x39\xb6\xf8\x14\x50\x7b\x1f\xb0\xda\xf4\xa3\x16\xf8\x8f\xc6\x80\xf3\xe6\x9b\xb2\xc6\x6e\x0b\x14\x10\x43\xd6\x2d\x0b\x60\x41\x1a\x2c\x67\x30\xf3\x3c\x08\xdd\x27\xfa\x72\x61\x21\x58\xa5\xcc\xd3\x14\x8b\xc5\x71\x71\xda\xea\xc4\x59\x20\x4f\x03\x8f\x49\xdc\x02\x80\x0b\x37\xb1\x47\xcb\x46\x31\x58\xf1\xd2\xdd\x68\xfe\xec\x46\x50\xea\x02\xe2\xe9\x4c\xa1\x17\xc2\x22\x1e\x5b\xba\x2e\x72\x44\xcb\x12\x8b\x7f\xa7\x2e\xab\xb8\x88\x18\x59\x18\xe3\x98\x32\x89\xe3\xf6\x0d\xf7\x71\x0b\xfb\xe6\x63\x28\x43\x44\x66\x6b\xb8\x47\xcf\xaf\x6e\xdd\x37\xdd\x2f\x5d\x58\x87\xb2\xc8\x8e\x9d\x96\xe8\x2c\x12\x02\x3f\x15\xd7\x2f\xc4\x76\x18\xeb\x4c\xee\x33\x68\xcd\xbf\x4f\xf9\x35\x4d\xf4\xad\x05\x34\x7e\x34\x62\xa5\x9f\x0f\x10\x49\x68\x4a\x99\x8f\xad\x33\xcc\x9d\x4f\x8d\xf4\xfc\x40\x95\xde\x32\x19\x3f\x68\x0e\xe6\xc0\x08\x02\x95\x6a\xc0\x16\x8e\x74\xbc\x63\xca\x5a\x20\x72\xa9\xc7\x55\xe8\xe8\x5a\x98\xd5\x4d\x1c\x5a\x81\x94\x06\x84\x07\xe7\x77\xc4\x74\x6b\xee\x2c\x15\x41\xbd\x41\x7b\x41\x73\x87\x0e\xb2\x31\xe0\x00\xd0\x47\x29\x32\xd7\xcb\xbf\x0d\x02\xca\x90\xe5\xe9\xb6\x29\x21\x36\xc8\xf7\xb5\xcc\x74\xd7\x45\x5d\x73\x9b\x5e\x44\x58\x9e\xba\x03\xb5\x06\xc5\x0d\xad\xf8\x13\x93\x28\xc1\x70\x77\x40\x43\x10\xf9\x78\x60\x1c\xa4\x41\x0d\x75\x7b\xbd\x98\x6e\x0c\x0a\x74\x42\xd8\x57\xe6\xdf\x5f\xfb\xba\xdc\x07\xf6\x3e\x17\xd2\x61\xd4\xd9\x3d\x87\x2a\x22\x24\x36\x36\x74\xc0\x52\x9b\x61\x11\x1b\x6b\x79\xa8\x55\x98\x3c\x5b\x2d\x7f\x2d\x78\x8e\x9e\xa8\x9c\x8f\xd8\x1d\x77\x06\x47\xc4\xb8\x47\xa3\x3b\x00\x65\xb4\xd6\x1f\x96\xc0\x04\x60\xd4\x4d\x14\x00\xe1\xa6\xdb\x64\x04\x41\x10\xeb\x98\xf1\x98\xac\x19\xcb\xde\x50\x52\xdd\xfa\x21\x9c\xff\x5a\x10\x93\xb5\x05\x37\x45\x6b\x49\x7a\x28\x38\xbe\x45\xc7\xb0\x04\xae\x70\x39\x54\x8c\x7a\x62\x9b\xc2\x6f\xf8\x5b\x0d\x5a\x71\x1a\x67\x90\xb3\x5b\x5a\x7b\x8f\xf1\xb6\xed\x26\x44\xe5\x84\x92\x95\x2b\xe0\xaf\x3e\x33\xf7\x08\x96\xdd\x07\x18\x63\x34\x13\x3c\xcf\x7c\x62\xbb\x4b\xca\x33\xdb\x60\x65\x9a\x73\x36\xe5\x27\x56\xa7\xba\xa0\xec\xc1\x50\xfc\x73\xed\x91\x81\xf1\x23\x31\x0a\x7e\x77\x77\x98\x59\xf1\x43\x44\x59\x94\xe4\x70\xf1\x49\x85\xa3\x07\x03\x45\xd8\x66\xf4\xd5\xdf\x8c\x57\xa7\x3c\xb6\x48\x4c\x79\x92\xd8\x6e\x8b\x0b\xb4\xa8\x72\xf6\x48\x31\xc2\xe8\xfe\xe6\xbc\xb9\xef\x07\x5a\x77\xe6\x34\xdf\x9e\x65\x02\x81\xff\xf9\x91\xae\x15\x77\x59\x01\x7d\x26\x25\x52\xf7\xc6\xa5\x36\xa4\xb0\xca\xed\xbd\xa5\xf7\x58\xdf\x42\xe3\xb4\x81\x52\x9b\x27\x5f\x74\x7c\x66\x3f\xfe\xa4\xbf\x6d\xde\x91\x4f\x90\x72\xe4\x51\x1e\x52\xcc\xf4\x04\x5d\xaf\x2d\xb6\x18\x73\x31\x6e\x34\xa4\xfb\x6c\xa3\x01\x99\x1e\x3b\x16\x28\xb0\x5d\xb9\x56\x9e\x8c\x39\x12\x27\x46\xdd\x56\x73\xd0\xc4\x0a\x60\x5f\xbd\xb1\x65\x8d\xcc\x80\x00\x27\x58\xcc\x8c\x9c\x28\x89\x92\x5f\x37\xec\x70\x11\xfa\xbd\xc5\x0e\x6f\x50\x3c\x25\x74\xff\x80\x14\xb2\x8c\x03\xf8\x51\x96\x61\x8c\x3c\x73\xf2\x65\x88\xec\xdd\x41\x65\x88\xbf\x1e\x71\x21\x00\x6e\x2f\xd6\xd2\x78\x3b\xc0\xc3\x96\x45\xb4\x2e\x71\xea\xd3\x97\x5d\x29\x1f\x9b\xa5\x62\x06\x37\x21\x80\x69\xd5\x3e\x86\xad\xab\x65\x85\x43\xb0\xd5\x2b\xda\x46\x30\x62\x03\xf7\x8a\x4f\x81\x04\x11\x57\x18\x39\x04\xc2\xe4\x4c\x50\x28\x88\x99\xb8\x58\x75\x3b\xb9\x96\x49\xac\x9b\x69\x56\x2d\xf8\xa5\xc5\x5c\x0f\x82\x67\xa1\x7d\xad\xbe\xb3\x02\x56\xf9\x71\xfd\x7a\x88\xcd\x28\x12\x51\xb5\x5e\x5d\x53\xc7\xab\x45\x4a\x97\xde\x6e\x1b\x0a\x4b\xe4\x99\x50\xba\x64\x51\x90\xa9\x5e\x71\xa3\x9a\x54\x3a\xab\x9f\x56\xb5\x15\x37\xa6\x38\x1d\x0b\xde\x8e\x3b\xdd\x61\x99\x5c\x13\x25\x35\x77\x6e\xb0\x49\x17\xe8\xef\x39\x4e\x8c\xb5\x9f\x59\x72\x74\xc3\x06\x89\xe1\xbb\x3f\xa1\x01\x5c\x97\xe8\x13\xf0\x45\xf0\x73\x42\x6b\x8a\x23\x9a\x66\x44\x48\xae\xf5\xb1\x96\x4d\x7e\xf8\xb3\x1c\x5b\x60\xe1\x31\x8e\x22\x9e\xd7\x41\x84\xd7\x98\x49\x43\x6b\xe1\xa4\x30\x7a\xc8\x27\x44\x30\x62\x40\xe6\xe1\x3d\xe4\xde\xeb\x34\x5c\x8e\x73\x35\xff\x6e\x1c\x25\xb4\x33\xda\x31\x24\x59\x0c\xf4\x67\xa7\xe6\xab\x65\x13\x28\xb5\x5f\x1a\x3a\x43\xe6\x19\x32\xcf\x8e\xd0\xf7\x38\x7a\x20\x2c\x46\x59\x92\xcf\xa8\xcd\x7c\x86\x1b\x0a\xd8\x65\x60\xa5\x2a\x4f\xcc\xa8\xbc\xa6\x7d\x7d\x0d\x8d\x58\x8a\x1f\x40\x43\xfa\x6c\x63\xd1\xb5\xa6\xb9\x96\xb6\xe5\xe9\xa1\x06\x01\xe1\xd2\x74\x3d\xa0\xbf\x39\x1f\xca\x9c\x0f\xb0\x2b\x01\xa8\x5a\xce\x10\x06\x14\x89\xf7\x12\xe5\x99\x33\x7e\x80\xc1\x23\x01\xf7\x93\x99\x24\x54\x6a\xa4\x5a\x1c\x9c\x93\x11\x83\x90\x3e\xd7\xe2\xc2\x73\x95\xd0\xe3\xe9\x3d\xef\x4d\x87\x6f\x6a\x72\xa8\xb7\x73\xa6\x18\x33\xd2\xce\xc3\x15\xd5\x9c\x30\xd0\xc3\xba\xb7\x0c\x89\xe8\xdd\x37\xad\x14\x9a\x68\x66\x51\x18\x8e\xfc\x12\xe6\x8c\x5a\x7c\x6d\x6b\x2b\x0c\xa2\x86\x9c\x41\xbd\xf8\x9e\x4a\x24\xb1\xa2\x72\x4a\x1b\xf5\xd3\x30\x73\x7d\x9b\x55\xc7\xeb\xa5\xcb\x37\xa4\xca\x57\xd6\xc2\x87\x3f\x1f\xa1\x0f\xa0\x6e\x17\x53\x52\xdc\x27\x9e\xb7\xb1\x04\x35\x27\xad\x08\x6c\xbb\x88\x1b\x70\x33\xe8\x6a\x45\xf1\xa1\xee\x47\x68\x50\x98\x39\x4d\xea\xbd\x31\x60\xae\x98\x11\x49\x24\xd9\x84\xf8\x3a\x59\x04\xc0\x15\x08\x04\x84\x40\x56\x91\xfa\xf7\x02\x0d\xd2\x0f\xf3\x09\xb2\xc9\xf0\x03\x61\xcb\xd4\xbe\xee\x23\x1c\x96\x72\x71\x9b\x86\x38\xf0\x0a\x3f\x37\x3a\xff\x26\x03\xec\x7e\xec\x0a\xb4\x03\x3a\x3d\xd6\x4b\xae\x05\xfd\xe8\xc1\xc6\xb0\x1b\xb3\x8f\xc5\x4b\x78\x9a\x73\x19\x9e\x33\xb7\x7f\xb0\x99\x4a\xe4\xc4\xc5\xaa\x43\x0e\x80\x5f\x60\xe3\xfc\x67\x3c\x84\x53\x80\x51\xfb\x43\x6a\x4c\x5a\x7e\xbf\x91\x63\xa1\xb0\x0c\x60\x2e\x77\x4d\xd5\x4f\xf3\x8f\x7f\x96\x57\x70\x62\x77\x91\x12\xdc\x5c\xa1\x64\xfb\x70\xdc\x0d\x0d\x91\x3e\xd0\xa4\x28\x6f\x82\x63\x9f\x83\x9e\xf1\x18\x15\xe4\xb5\x7e\x2d\x93\xd7\x9f\x56\xa5\x06\x4a\xa7\xb9\xad\xa2\xec\x4f\x81\xb7\xd2\xd4\x1f\x37\xc8\x2b\x81\xc8\x65\xd3\xc6\x40\xfb\xb5\xd7\x3f\x95\xfe\x3e\x69\xa6\xb1\x6b\x1e\x6f\x43\x58\xeb\xa3\x6b\xd5\xe9\xba\x43\x30\xa3\x6c\x2a\x7f\xb6\x64\x25\x32\xde\x1e\x86\x16\x8f\xbb\x17\x0c\x03\xbf\xe3\x24\x9f\xde\x02\x52\x70\x5b\x6a\xbc\x03\x35\x9a\x13\x9f\xeb\xa2\xf7\x59\x77\xe3\x23\xaf\xdb\x36\xc5\xba\xb1\x8a\xeb\x1f\xa3\xff\x7b\x7b\x75\x79\x98\x62\x21\xe7\x18\x52\x0f\x5d\x5b\x07\x0e\xcf\xde\x28\xa0\xce\xbc\x4e\x19\x1a\xb1\x43\x34\xe3\x07\xc6\x9b\x73\x82\xe6\x4a\x65\xf2\xe4\xf8\x78\x46\xd5\x3c\x9f\x1c\x45\x3c\x3d\x2e\xd6\xe6\x18\x67\xf4\x78\x92\xf0\xc9\xb1\x20\x10\xcf\x77\xf8\xed\xd1\x77\xdf\xc2\xd6\x1c\x3f\x7e\x7b\x0c\x36\xfc\xa3\x19\xff\xdd\xc5\x77\xff\xf9\xc7\x3f\xe9\x86\xb3\x85\x9a\x73\x76\x62\x5d\x45\x4b\xdb\x3e\x34\x82\xef\xb1\xf9\xa4\xd2\xcb\x7f\x1e\x7d\x13\x0e\xc3\xbe\x9a\xf2\x98\x24\xf2\xf8\xf1\xdb\xb1\xdb\x99\xa3\x6c\x1d\xe7\x57\xc1\xf0\xfd\x92\x57\xaa\xe5\xe9\xdf\x3d\xc9\xb8\xcc\xa3\x55\xdb\xd2\x70\x56\xc2\x68\xcd\x2d\x4e\xcc\x03\xa9\xf9\x03\xd7\xd0\xc0\xbc\x24\xd5\xa2\xd3\xaf\x0b\x45\xdc\x2a\xdb\xac\x95\x9c\x06\xde\x37\x1a\x01\xcc\xa5\xb1\x41\x64\x98\x36\x45\xf9\x58\x2f\xf3\x36\xeb\xf7\x9c\x80\xad\xbb\x46\x6a\xb5\xd3\xdd\x10\xa5\x35\x31\x5f\x3b\x9f\x38\x7f\x72\xe8\xac\xbb\xc0\x34\xed\x58\xf5\xc3\x43\x35\x1a\xe2\x81\xb1\xb8\x71\xb5\x0c\x63\x8e\xe5\x66\xc1\x15\x03\x03\x88\xe4\xb3\x9e\x7d\xbd\x2c\xdb\xa1\xe3\x95\x2e\x7b\x15\x4a\x4a\x59\x90\x8c\xcc\xd4\x63\x95\x47\xe8\x43\xa5\x2c\x42\x11\x30\x72\xf3\xe1\x14\x7d\xfb\xe7\xff\xfc\xe3\x88\x7d\xd5\xc0\xc5\xc0\x83\xcd\xc5\xcc\xc6\xaf\x00\xef\x4a\xb1\x54\x44\x1c\x8b\x69\x74\x6c\x1c\xe2\xc7\xfa\xfb\x43\xdb\xe9\x21\x9f\x1e\x7a\xc0\xc6\x43\x8b\x5d\x77\x94\xc6\xeb\x25\x76\x96\x48\xcf\x84\x8f\xd8\xc0\x53\x09\x41\xaa\x06\x02\x82\x4f\x3d\x34\xaf\x89\x2f\x36\x28\xde\x7c\xda\xf0\x07\x54\xb1\xfb\xda\x03\xcf\x60\xe9\xfa\x28\x90\x20\xda\x8f\xe6\x6e\xb0\x5b\x1d\x89\x3c\xa7\xde\xe6\x78\x49\x28\x9d\xad\xb3\xf0\xcd\x87\xad\x08\xff\x35\x79\xb0\xb6\x0c\x9a\xc1\xbe\xe4\x8c\xf0\x29\x44\x4f\x80\x60\xe0\xbc\x43\x60\x1c\x62\x5c\x05\x39\xaf\x82\x64\xe6\x82\x09\xcb\xa6\x35\x2c\xf7\x96\xf8\xaf\xab\xd6\xf9\x39\xf0\x5f\xb7\x5d\x77\xcb\x50\x5e\x69\xc1\xb7\x0d\xe1\x30\x47\x69\x8d\xeb\x07\xde\x5f\xe9\xb2\xf1\x7c\x00\x7c\x34\x61\x95\x38\x83\xf1\x02\x41\xdb\xe4\x50\xf1\x43\x00\x0b\x80\x14\x74\x83\xc8\xdc\x56\xf5\x04\x5c\x5d\xeb\x5c\x93\xfa\xfd\x0e\xe3\x34\x81\xfa\x9f\x83\x81\x5a\x99\xc4\xd6\x05\xb5\xae\x70\xca\x18\x11\xd6\x88\xbf\xf2\x46\x5d\xd3\x11\x16\x6e\xe5\x72\x4f\x78\x21\x98\x87\x68\xb9\x3e\x0e\x12\x07\x4c\xe0\x08\x41\x34\xfa\x9c\xa7\x5c\x8b\x33\x3c\x97\xc1\x43\x93\xcd\x00\x97\x70\xab\xec\x95\xe2\xcc\x80\x03\xbd\xde\x6c\xf4\xd1\xd2\x8f\x8c\x8d\x23\x7c\x69\x2d\x00\xf2\x49\x19\x72\x79\xc5\xf8\x3d\x56\xee\x72\xba\x01\x37\x6b\x0a\x36\x65\xa8\x2b\x63\x11\x30\xe9\x3f\xb4\x0a\xa3\x49\xca\x67\x0e\xf8\x9b\xdb\x04\xe4\x1a\x0c\xac\x10\x25\xaf\x52\xff\xba\x3a\x7c\xc2\xf2\x74\xcd\x3d\xf0\xc1\x5d\x5d\x36\x00\x33\x13\xee\xe4\xe2\x9c\x0e\x1b\x03\x9d\xda\xce\xa5\xab\x39\x13\x8f\x1d\x4e\xdb\x7a\x43\xbd\xf5\x0d\x58\x48\xb6\xfa\xb8\x0b\x98\x0b\x88\x8a\x33\x6b\x6c\x18\x82\x93\x2d\x5a\xbc\xfc\x6c\xfd\xc3\x08\xf0\xf3\xeb\xac\x1d\x74\x62\x88\xb3\xb6\x82\xc1\x59\x68\x5b\xc0\xf5\x2c\x0e\xcb\x14\xf8\xa6\x30\x4a\x83\x0c\x54\x44\x4d\xeb\x51\xd6\x94\x47\xff\xe1\x63\x51\xb2\x6a\x91\x91\x03\x34\xc9\xe1\xf9\xe5\xd5\x5d\xe8\x1e\xa6\x66\xb6\x87\xd1\x9c\x44\x0f\x90\x40\x65\xae\x3c\x73\x18\x5c\xb9\xb2\xc9\x62\xc4\x8a\xc2\x28\x8a\x3b\x5f\xe7\xc2\x63\xc5\x7a\xbc\x64\x2e\x50\x4c\x65\x96\xe0\x05\x78\x95\x98\x89\x8f\x2c\x3c\x52\x3e\xb0\x58\xb3\x82\x55\xe6\xb3\xee\x3b\xad\x77\xa5\x28\x06\xbc\xf6\x5a\x62\x31\xa1\x4a\x60\x5b\x51\xd9\x2c\x66\x9d\x1f\x20\x49\x52\xcc\x14\x8d\x46\x2c\x25\x98\x85\xf1\xbb\xd6\xab\xa6\x17\x39\xe6\xc4\xe2\x34\x4e\xa7\x24\x52\x05\xd0\x13\x08\xef\x7e\xa5\x56\x9d\xc1\xf5\xe6\xee\x4f\xde\xd2\xa9\xff\x40\x99\x49\x2b\xa4\x69\x26\xf8\xa3\x65\xc3\xee\x6a\xdc\xd0\x96\x0d\x85\x74\xec\x95\xeb\x94\x41\xf8\x97\xa3\x29\x5f\x45\xd6\x27\x5e\x34\xc9\xf8\x5b\x83\x29\x6f\x13\xb4\xd8\x56\x12\x2a\x08\x3d\x31\x07\x2c\x8c\x5e\xf1\x80\x0b\xd5\x62\xeb\xef\x6d\x2a\x08\x58\x7b\xde\xdb\x30\xe0\xf7\x70\x4d\x6b\xed\x51\x3c\x92\x78\xc4\xca\x70\x16\x56\x66\x2c\x0e\x1c\x2a\xca\x84\xec\x86\xdb\xb8\x35\xee\x64\xda\x1c\x42\x0a\x6f\x01\xde\xe5\x93\x1d\x96\x94\x2d\x69\xae\x4f\xfa\x0c\x15\x31\x3a\xdb\xbc\x8b\x4a\x22\xb6\x0c\x80\xad\x1a\x54\x72\x2f\x7b\xa2\xf4\xc9\xfa\x06\xc9\xc7\x07\x81\xdb\xa0\xf0\x5a\xe6\x63\x53\x1b\x23\xe6\xb2\xd8\xa6\x79\x62\xd0\xd9\xda\x0a\xa9\x58\xec\x0e\x17\x71\xfb\x7a\x91\xd7\xde\xae\x86\x82\xca\x2b\xde\x0b\xec\x12\x8f\xa2\xc5\xff\xc7\xde\xb7\x35\xb7\x91\x23\xe9\xbe\xef\xaf\x40\xc4\x79\xb0\x7d\x82\x92\xe6\x12\x1b\xb1\xe1\x88\x7d\x60\x4b\xf2\x34\x67\x64\x49\xa3\x8b\xdd\x7b\x96\x1b\x34\x58\x05\x92\x58\x15\x01\xba\x2e\x92\xb9\x3b\xf3\xdf\x4f\x20\x33\x71\xa9\x2b\xab\x48\xca\xed\x9d\xed\x87\x99\xee\x16\x49\x14\x0a\x97\x44\x22\xf3\xcb\xef\xf3\x82\xd1\xb0\x74\x85\xca\x0a\x70\x29\xac\xe8\x02\x14\xa2\x2e\x45\x0e\xa7\x79\x5c\x24\x58\x94\x05\xf9\x7d\xe0\x01\xe1\x49\xc2\x64\x9e\x4d\x95\xa3\x2d\x41\x12\x5a\xb0\xb0\xb6\xc4\x36\xa6\x2b\x17\x3c\x02\x9a\x25\xa1\x3f\xf0\xc3\x64\x24\xf3\xb0\x47\x90\xb7\xde\x86\x44\xe5\x9b\x8d\xe0\x58\x43\x80\xd3\x36\x55\x35\x6d\xf0\x30\x7f\x8b\x80\x7b\x90\x5f\x3b\x06\xf6\xbd\x7d\xe9\xa2\xfc\xde\xe0\x29\x39\x65\x63\x7c\x3b\x73\xe1\xb2\x1a\x64\xd8\x5b\x2b\xe8\x8e\xd0\x2e\x73\xab\xc9\x33\x27\xa3\xec\xee\xad\x1b\x9e\xe6\x32\x2a\x12\x9e\x26\xc0\x05\xbc\x28\x12\x26\x17\x81\x9c\x1a\xcc\x01\x92\x56\x98\xe9\x8a\x34\x9c\xd5\x36\x25\x94\xf1\xb5\x08\xea\xe5\x28\xbc\x93\x04\x29\x65\x64\xe2\xc4\x5c\xa5\x69\xeb\xdd\x29\xbb\xa8\x8a\xe7\xc1\x9e\x08\xc8\xae\x64\x86\xe6\xcf\xf5\x37\x28\xf5\x40\x11\x3e\xb9\x30\x57\xca\x37\xc1\xae\x6b\x13\x76\xe5\xd9\xd3\xc0\x7c\xb5\xa5\x4c\xee\x86\x29\x36\x96\x7a\x3d\x80\xf8\x67\x29\x8b\xed\x36\x44\x4b\x07\xed\xa9\x30\xb0\x93\x21\x51\xd8\x1e\x1d\xfd\x1c\xa8\x6b\x56\x3b\xbb\xee\x50\x6f\x83\x79\x1c\xd8\xd5\x40\x0b\x61\x78\x47\x83\x95\x13\xa2\x13\x5a\x47\x76\x77\x08\xe7\x73\x49\x95\x80\x99\x7e\x99\xeb\xb3\x40\x3c\x4b\x45\xa0\x1b\xfa\x40\xf2\x05\xc0\x35\xeb\x36\xdb\x5c\xb0\x44\xaa\x27\x5b\x59\x6a\x66\x7e\xc4\xb8\x6f\x1d\x36\x1f\xf6\x1e\x17\x73\x8b\x4b\xd3\xc4\xcc\x7c\x80\x97\xd3\xaf\x3e\xa3\xf9\xea\x69\x7b\x32\x88\x7c\xbb\x26\x63\x1d\xbc\x47\xff\x69\xe9\x44\x50\xba\xcb\x84\x85\x4d\xe2\xf9\x12\x60\xb9\x72\xe9\x84\x8d\x5b\xc7\xf7\x76\xc5\x9b\xb5\xf0\x77\xab\x0d\x3c\x5e\x5f\x5c\x7e\x98\x5c\x97\x25\x02\xfe\xfa\x78\xf9\x58\xfe\xcb\xdd\xe3\xf5\xf5\xe4\xfa\x4f\xe1\x9f\xee\x1f\xcf\xcf\x2f\x2f\x2f\xca\xdf\xfb\x30\x9e\x5c\x55\xbe\x67\xfe\x54\xfe\xd2\xf8\xa7\x9b\xbb\x8a\x28\xc1\xfd\x5f\x26\xb7\xb7\xe5\x3f\x3d\x4c\x3e\x5e\x5e\xcc\x6e\x1e\x4b\xba\x06\x17\xff\x76\x3d\xfe\x38\x39\x9f\x35\xf4\xe7\xee\xf2\xfc\xe6\xd3\xe5\xdd\xe5\x85\x9d\x9b\x46\xbd\x02\xff\xbe\x8d\x43\x7a\x0c\x50\xc7\xde\x22\x15\x63\xb6\x48\xa5\x50\x71\xb2\x45\xcc\xa9\xbd\x60\x55\x20\x6e\xe1\x11\x20\xd7\x42\x17\x87\x40\x47\x1f\x56\x82\xe9\x67\x73\xb9\x4f\x18\xb5\x46\x15\x33\x3c\x7b\x6a\xa5\x48\xca\xd3\x7a\x70\xba\x13\x21\x9f\xa7\x5b\x57\x83\xd1\xd5\x1d\x4f\xa0\x40\x0f\x61\x1b\x91\x76\xf5\x05\x0e\xe8\xb4\xd8\xe4\x72\xde\x0e\x06\xee\x49\x2c\x30\xfc\x0a\x88\x74\x3f\xcd\xb5\xd1\xd7\xcd\x86\xb1\x84\x89\x3d\x04\x0e\x08\x2d\xec\xab\xbd\xe2\x7e\x6d\x21\x54\x9b\x62\x9e\xc8\x88\xc9\xb8\x7a\xad\xc7\xd2\x0d\x8c\x5c\x56\x59\xc1\x36\x22\x05\x8f\xc9\x38\xa2\x9b\x54\x9c\xf0\x22\x5f\x59\x59\x58\x08\x26\x11\x87\xeb\x54\x65\x22\x4a\x45\x6e\x95\xea\x45\x6c\xd5\x38\x82\x27\x41\x67\xa8\x80\x2b\x86\x5a\xf1\xd3\x80\xa1\xb5\x25\x54\x8d\xbf\xc4\xd6\x07\xc4\xea\xf0\xfb\x9d\x43\x43\x3d\x96\x59\x55\x71\x11\x7c\x43\xfc\xd0\x6a\x7a\x98\xf7\x36\x96\x3a\xb2\x40\x63\x9c\x64\x8b\x59\x6e\x7e\x8d\x5d\x6b\x2c\x5c\x28\x65\x88\x31\xb5\x4e\x1f\x9d\xa7\x02\x0e\x11\xca\x48\xdb\x6b\x34\x20\x28\x08\xe3\x0c\xd0\x66\x73\x63\x98\x8b\x15\x4f\x16\x18\x1c\x33\x53\xe3\xf7\x55\x7d\x89\x3e\xe8\x27\xa1\xee\x70\xc2\x7e\x15\x73\xa8\xd0\x01\xf7\x25\x7d\x2e\x30\xe1\x23\x69\xa6\x8f\x76\x55\xd9\x1a\x0f\x54\x2e\x46\x77\x35\xf8\x18\x81\xd6\x9e\xb0\xcf\x96\x87\x2c\x16\xf2\x9b\x69\x70\xaa\x44\x23\x65\x19\xc0\x56\x2c\xb9\x82\xb3\xcb\x40\xd9\x83\x15\xea\x4f\x42\x81\x9c\x08\x6a\x02\xee\x5c\xb3\xc3\xc2\xb8\xf5\xb9\xe8\x88\x2b\x43\xe8\x49\x96\x54\x56\xc2\x64\x83\x1d\x27\x28\xe6\x7a\x12\xa7\xec\x82\xea\x6e\xcd\x5f\xce\xaf\x26\x97\xd7\x0f\xb3\xf3\xbb\xcb\x8b\xcb\xeb\x87\xc9\xf8\xea\xbe\xef\xf6\x3b\x46\x3d\x40\x65\xf7\x55\x4b\x32\x9c\x85\x38\xa3\x9d\xe7\xcb\xd2\xdc\x4b\xf9\x6d\x07\x53\xb2\xbb\xf7\x32\xde\xcc\x62\x99\x45\xe6\xf8\xdb\xce\x84\x8a\x81\xeb\x71\xaf\xa5\xda\xdc\x54\xf5\x2d\xdc\x37\x98\xfb\x86\xb5\x20\x78\xda\x3d\xdb\x15\xed\x3e\x07\x32\x28\x12\xe7\x37\x9b\x3f\x9e\xaa\xe0\xb4\x39\xdd\x4d\xf0\x6d\x9a\x3b\xec\xdd\xca\x4d\x54\xdf\x09\xfb\x2b\xb3\xac\xe0\xc6\x3e\xda\xaf\x41\xb9\x77\xcb\xa8\x10\x01\x4f\x48\x38\x29\x03\x49\x33\x66\xae\xc8\x6b\xae\x62\x9e\xeb\x74\xdb\xf2\x8a\xfd\x8c\x67\xb8\x6d\xca\x26\x34\x3c\xb2\xcd\xfd\xdf\xce\x02\x7e\x95\xab\xea\x52\x42\x5a\xca\x87\x9b\xbf\x5c\x5e\xdf\xcf\x2e\xaf\x3f\xcd\x6e\xef\x2e\x3f\x4c\x7e\x71\xdc\x1a\x1b\x9e\xd5\xc5\x92\x84\x39\x14\x8d\x75\xb1\x55\xbe\x8d\xf6\x05\x15\x8b\x6c\x3b\xa4\x52\x21\x17\x53\x65\x2d\x4b\xea\x9b\x5f\xa5\xba\x58\xae\x9a\x1b\xaa\xf6\xf2\x76\xfc\xf0\xf3\x5e\xdd\x04\x0e\x06\x94\x35\xc1\xdd\x56\x27\x2a\x93\x0b\xb2\x7b\xc8\x6e\x56\xe9\x1e\x30\x89\xc0\x57\x9b\x82\xdd\x2d\x16\x6d\xaf\xdb\x4b\xdd\x68\x75\x3a\xff\x0d\x5f\x6f\x5b\x40\x0f\x81\xdd\x2c\x1d\x23\x80\x0d\x45\xc5\xac\x5a\x6b\xef\x1b\xfe\x56\x3a\xc1\xfe\x70\x92\x88\xe5\x52\xc4\xb8\xbc\xaa\x0d\x53\x28\x88\x4c\x60\xe4\xcf\xf5\xa6\x51\x24\xfd\x9a\x03\x0e\x66\x07\x3b\xea\x6f\xc0\x6f\xdd\x4f\x9a\x6d\xc5\xb9\x55\xb2\x8c\xb4\xca\x72\xae\x5a\xf2\x99\x03\xb5\xfb\xbd\x48\x47\xca\x5c\x49\x02\x05\x48\x6c\xe4\xda\xef\x83\x7d\x32\x39\xa4\xd3\xa3\x28\xe2\x11\xe8\xf7\x04\xd2\x9b\x0d\x93\x50\x51\x47\x7f\xf5\xe0\x46\xe7\xd5\x89\x88\x27\x20\xe2\x88\x42\x09\xc4\x89\x88\xd1\x20\x50\x1f\x69\xc5\xa7\x0e\x9a\x90\xca\x93\x3f\xd1\xd0\xe3\xad\xb5\x1c\xf1\xf4\x4a\xf0\x76\x82\x9c\xf3\x36\x3c\xbe\x55\x51\x3e\x0f\x34\xe6\xe3\x22\x22\xf2\x4f\x6c\xd6\x03\x2d\x28\xa0\x65\x0f\xd8\x98\x9d\x98\x69\xa6\x4b\x8a\x88\x4f\x80\x42\x60\xaa\xda\xb2\x1a\xd6\x06\xb4\x84\xb9\x6e\xed\xa9\x75\x18\xfd\xcc\x00\xdc\xac\x1d\xec\x7e\x95\x5d\xcc\x7e\x1d\x9c\xbd\x16\x9c\x0a\xcd\xcb\x9c\x63\xca\xb2\x7c\x1c\xb7\x15\x79\x3b\xab\x3a\x0c\x4e\xd3\x0f\x8d\x50\xe6\x8e\xc1\x23\x72\xc5\x33\xf4\x5c\xf3\x68\x55\xee\x38\xbc\x4d\x99\x1f\xa6\xda\x5d\xe7\x09\x1e\x16\x21\xe8\x95\xb8\x18\xe1\x9d\x5a\x66\xd4\xfb\x50\xeb\xc3\x09\x17\x0d\x5b\xf8\xa1\x73\xe4\x2e\x2f\x68\xf7\xc0\x60\x25\xbc\x50\xd1\x8a\x6d\x12\x8e\xd5\x8c\x2b\x9e\xe1\x92\xb6\xd9\x7b\x3e\x97\x89\xcc\x81\x88\x01\x93\x4a\x95\x11\x36\x37\x1a\x9e\x3e\x59\x0a\x38\xee\x89\xa0\xba\x16\xfd\x81\x28\x49\xaf\x62\xfb\x3d\x71\x92\x7e\xcb\x06\xbf\xe8\x4c\x49\xf9\x65\x49\x18\x49\x3f\x1d\xc6\xe2\xc1\xb2\xf4\xef\x32\x6c\x66\xa9\xc5\xdb\xea\xcf\x4b\xe3\xdd\x70\x50\x0f\xc7\x08\x10\xb7\xe9\x00\x33\x5f\x65\x3e\x6d\xdc\x59\x8b\x44\xf3\x16\xf5\x3d\xdb\x36\x12\x99\xb6\xb5\x1d\xeb\x62\xde\x46\x9d\x87\xbd\xea\x6e\xbd\x2b\xee\x6f\xf7\xed\xb1\xe2\x82\xa1\x01\xe4\xb9\xc8\xe5\xb0\xd0\x46\xf0\xd2\x3c\x17\x27\xf0\xf3\xe6\xc6\x89\x30\xae\xf7\x3b\xd7\x16\x9a\xa7\xd3\x76\x04\x7d\x80\xde\xaa\xaf\xae\xbf\x16\xa0\x13\x7f\xb3\xb8\x47\x66\x80\x43\x16\x59\x2e\xeb\x2b\xac\x79\x27\x56\x9f\xfa\x50\x4e\xaa\x84\x6b\xa0\x77\x55\x58\xd3\xdb\xdc\x9b\x5f\xf7\xdf\x90\x65\x89\xda\x4d\x2a\x35\xd4\xef\x93\xae\x6d\x07\xc7\x50\xe3\x73\x0f\x18\xc9\xaf\x85\x28\x84\x59\xfb\xf3\x22\x5e\xd6\x63\x9b\x03\xbc\x33\xff\x4a\x2b\xfd\xc2\xd6\x45\xb4\x62\xb6\x71\x16\x8b\x84\x6f\x4b\xaf\x06\xfe\x52\xae\x13\x60\xed\xdb\x93\x42\x2c\x2a\xb2\x5c\xaf\x01\xdd\xe8\xdb\x4d\x0b\x05\x0b\x9e\xf1\x3c\x4f\xe5\xbc\xc8\x1b\x91\x50\x25\x2e\x9d\x3d\x13\x5a\xf7\xb7\x97\xe7\x93\x0f\x93\x4a\x36\x69\x7c\xff\x97\xf0\xbf\x3f\xdf\xdc\xfd\xe5\xc3\xd5\xcd\xe7\xf0\x6f\x57\xe3\xc7\xeb\xf3\x9f\x67\xb7\x57\xe3\xeb\x52\xce\x69\xfc\x30\xbe\xbf\x7c\xd8\x91\x56\xaa\x3f\xb5\x7d\x22\x78\x40\xf5\x63\xf1\x96\x96\xfa\xd1\xde\x2e\xe9\xa9\xef\xd9\xd8\x12\x1f\x85\xba\x83\xdc\xa6\x06\x21\xa5\x8d\x42\x88\x94\x41\xbc\xe0\x39\x27\x61\xd9\x53\x36\x66\x56\x20\x18\x50\xc6\x99\x71\x16\x88\x15\xc6\xcc\x0e\x36\x61\x3c\x86\xc8\xdf\xdc\xbc\xb6\x8d\x5e\x10\x1f\x53\x22\x42\x16\x54\x5b\x52\x33\x55\x97\xcf\x42\xe5\x05\x50\x34\xf2\x24\xb1\x42\xce\xf6\x0b\x41\xf5\xa4\xed\x65\x26\xd7\x32\xe1\xa9\x97\x21\xb9\xa1\xb6\xc0\x61\xb7\x7d\x75\x64\x19\x75\x6e\x7a\x7b\x79\x78\x9c\x30\xe8\xf7\xf9\xd5\x04\x5c\xa0\x28\xb7\x1c\xdb\xf6\xe1\x53\x85\x7c\x3f\xf4\xc4\x35\x07\xe4\x7b\xae\x29\x9e\x86\x8f\xa7\x2f\xb7\x2f\xc4\x46\x11\xf7\xfe\x84\x52\x18\x79\x7e\x2d\x74\x8d\xeb\xa4\xfd\x97\x4b\x95\xa7\xdb\xde\x7e\xcd\x03\x90\x34\x66\xe0\x9b\x12\x90\xa6\x2c\x4d\x82\xe1\x0e\x66\x5b\xbf\x06\x67\xc7\xa2\xbc\x28\x1a\xef\x82\xee\x02\x88\x20\x5b\xfc\xef\xc4\x1c\x42\x3f\xea\x38\x84\xe4\x04\x30\x0a\x73\x5d\xa8\x38\x23\xc8\xcf\x5a\xaa\xb3\x35\xff\xf6\xce\xbe\x29\x16\xfb\x3a\x82\x60\x20\x72\x11\x89\xb9\x89\x6c\x8d\x91\xeb\x1e\xae\xa9\xea\x18\xaf\xdd\xde\xa2\xb5\xac\x70\xed\xf1\x77\x54\x04\x2f\x3d\x8b\x6d\xd3\xfc\xd5\x48\xde\x11\x20\x45\x1b\x1e\x1a\xd9\xa4\xc2\x7c\xd1\x21\xa3\x12\x04\xbc\xb9\xff\x06\x04\x74\x49\x88\xa6\xd9\x76\x87\x59\xde\x83\xb6\x4d\x63\x7e\xf9\x15\x58\xfa\xe9\x49\x66\xce\x30\xdb\x6c\x03\x9d\x84\xf8\xa6\x34\x9a\x99\xac\xff\xd4\x73\x50\xbb\xcf\xac\xd0\x64\x2a\x20\xb0\x0d\x53\x61\x69\x25\x81\xee\xa3\x96\xc2\xb6\x4b\x20\x11\x19\x84\x7b\x95\xb9\x6e\x89\xaf\x05\x65\xec\x7e\xff\xbb\x61\xe7\x6c\x9e\x6e\x99\xa5\x30\x0e\xcb\x2f\xa8\xfa\x88\xce\x5c\xe8\x57\xa1\x64\x13\x07\xd0\x5d\xa1\xcc\x51\x7c\x0c\xb0\x43\xff\x6c\x56\xe5\xa1\xf4\x9f\x3b\x2b\x14\x6c\x20\x36\xc5\xef\xbf\x1a\x69\xda\xa7\x0a\x57\x1a\x3d\x0e\xf0\xb0\xd4\x7a\x78\xa0\xcd\x79\xf4\xf4\xc2\xd3\x18\x63\x85\x80\x3e\x38\x65\x3f\xeb\x17\xf1\x2c\xd2\x11\x8b\x44\x9a\x73\xa2\x51\xc9\x20\xfd\x0a\x1b\x8a\xda\x99\x2a\x80\x87\x23\x27\x8d\x02\x8d\xce\x5c\x2e\x57\xe6\x3e\x19\x24\xcf\x75\x6a\xcc\x51\x8e\x1c\x55\x1b\x11\x11\x71\x45\xcb\x00\x2c\x12\xfe\x5c\xe7\x85\xd9\xa7\xc4\x9c\x4d\x5c\x8d\x9b\xcd\x4e\x59\xaa\xde\x2e\xb8\x03\x0d\x18\x19\x4d\x64\x1a\x18\xb1\xa5\x4e\xb8\x5a\x9e\x9e\x9e\x32\x91\x47\xa7\xef\x06\x2d\x74\x6a\x30\xcc\x77\x39\x6c\x67\xa2\x75\x26\x92\xad\x23\x5b\x70\xe8\x7b\x33\xcc\x50\x7c\x91\x49\x0c\x79\x34\x2c\xff\xfb\x6a\xa9\xfa\xf7\x0d\x9d\x37\xdf\x54\x07\xd7\x76\xb5\xb4\x03\xcc\xff\x03\x5a\xc2\xef\x37\xdf\xbc\x06\xd4\x2a\x5a\x99\x1e\x5f\xb3\xd8\xc2\xab\xa8\xd5\xd0\x42\xbc\x4f\xba\x4d\xcf\x72\x2f\x2e\xa4\xc6\x96\x88\x29\x61\xaf\xe2\xa5\xb6\xc8\x45\xa5\x9e\xec\x80\x52\xb2\x8e\xaa\xb0\x81\x05\x61\x0d\xfb\xaf\x61\x7b\xb8\x92\xd3\x43\xf0\x49\x3a\x29\xd6\xed\x24\x40\x87\xba\x7c\xbe\x93\xf8\x6f\xe7\xf0\xb8\xde\x2e\x9f\xd7\x18\xb5\x2c\xe6\xd4\x5f\x0c\xdc\x52\x51\x9e\xb1\xed\xa9\xcc\x80\xae\x6a\x9f\x0a\x21\xd7\x0c\x36\x0d\xf9\xa5\xed\x06\x03\x86\x58\x3b\x94\x6c\xb1\x06\xcd\xe6\x23\xe8\x27\x19\xfa\x65\x90\x94\x6a\x37\x63\x55\xd4\xd3\xe0\x39\x02\x8e\xec\xbd\x32\x71\xe0\xe8\x04\x34\xad\x04\xcb\x80\x06\x29\x77\x9c\x6b\xb6\xb0\x35\x27\x4f\x22\x50\xf5\x8a\x81\xc0\xf5\x05\x29\x21\xfe\xf2\x2f\x99\xcd\x32\x13\x10\xc0\x9f\xb1\xb9\x7f\x08\x46\xb3\x9f\x7f\x6f\xf1\x1f\xf8\x86\xd8\x04\x08\x65\xc4\x5c\xe5\x8d\x0d\x78\x78\x14\xb4\x85\x3f\xf9\x64\xee\xed\x8d\x5f\xa7\xf6\xe1\xab\xc8\x89\x3f\xfe\x7c\xcf\x70\xa8\x89\xea\x33\xed\xea\x68\xd0\xc8\x6e\x04\x0a\x0c\xd7\x6c\x0f\xdf\xa5\x34\x0f\x38\xe8\x96\xeb\xd5\x0c\xbb\xc8\xa3\x95\x3f\x2b\xcb\xe2\x76\x24\x78\x42\xef\xb9\xf6\xe4\xa5\x08\xee\x0b\x51\x52\x72\xa9\x74\x2a\x3c\xda\x4a\x2b\x01\x69\x05\x9e\xb3\x58\x87\xcd\x32\x99\xef\x86\xa2\x0c\x24\xd8\xd9\xb5\xd4\x72\x8d\x10\x03\x7a\xcf\x52\x76\x08\x9c\x60\x89\xb4\x1c\x16\xc7\x87\x5e\x3c\xe9\x67\x54\x29\x37\xcb\x85\xce\x53\x55\x7e\x54\x6d\x90\x2c\x56\x44\xa6\x02\x99\xf2\x32\xe3\x6f\xe4\xf2\xd9\x6c\xd4\xfa\xb2\x76\x0b\x14\x2c\x40\x7d\xed\x4d\x15\x76\x3b\xa0\xdb\x7b\x12\xdb\x2c\x14\xeb\xa0\x15\xc5\xda\x16\xa4\x34\xef\x43\xf3\xb5\x7b\x2a\x60\xe0\x66\x81\xf8\x68\xbf\x53\x04\x1f\xfa\xd1\xfc\xb8\x03\x84\x56\x6b\xdc\xac\x41\x5f\xd4\xe3\xa3\x60\x64\x26\xfc\x38\xd3\x1c\x7a\x9c\x49\x83\x30\xad\x0f\x28\xc2\x55\xcd\xdc\xc8\xa6\x8a\x18\x39\x83\xfc\xad\x31\x38\xf5\x69\xa3\x4a\x43\xe4\x01\xdc\x96\x58\x12\x80\x2d\xd5\x2a\x28\x36\xeb\x01\x5b\xad\x27\xd2\xc1\xc7\x5a\x2c\x1b\x75\x6a\x7c\xe0\x9e\xe0\x25\x9a\xdc\x56\xc0\x92\x77\xba\x69\xe0\x88\x28\x0b\x55\x5f\xd0\x5f\x8f\x84\x19\xbe\xb1\x6a\xc4\x0a\x59\xa4\xd0\xfd\xe5\xf9\xdd\xe5\xc3\x77\x03\x34\x59\x34\xd1\x60\x44\x93\xed\xe7\xc5\xe5\x87\xf1\xe3\xd5\xc3\xec\x62\x72\xf7\x1a\x90\x26\xfa\x68\x0f\x4c\xd3\x3d\x11\xfd\x9e\x6b\x95\x8b\x6f\x07\x9d\xc9\x69\xa1\x66\x7c\x00\xb6\xde\x91\x69\x77\xb9\x3b\xd8\x68\x9d\xa8\xd8\xb1\x08\x13\x4d\x1b\x9e\x68\x8e\x97\x38\x10\x78\x5e\xc8\x24\x81\x8a\x37\x17\x10\xa6\x32\x16\x33\xa8\x60\x7f\xac\x52\x25\xd9\xd4\xa9\x9a\x97\x98\x9a\x21\x48\xb5\x32\xd7\x36\xac\x75\xdb\x98\x01\x48\x25\x14\x3c\x75\x71\x19\x2f\xa5\x12\xbe\x1b\xa8\xd0\x56\x28\xd6\x4a\x40\x49\x93\xf8\x9a\x05\x8d\xe4\x78\xf5\xf5\x35\xed\x8a\x2b\xad\x4f\xeb\x7e\xda\x0f\xdd\x1b\xe2\x26\x96\x0a\x1d\xd3\xd2\x6e\xbe\x6f\x5e\xba\x67\x7e\x0b\xc0\xb8\x9b\x99\xe4\x10\x35\x07\x11\x34\x3f\x91\x34\x11\xa8\x22\xe0\xc3\xe9\x4f\x12\x71\x1f\x7a\x51\x19\x67\x63\x0a\xcd\x58\x4b\x88\xad\x73\x2a\xe2\x8f\x92\x22\xcb\x45\x4a\x17\xfd\xf1\xe7\xfb\xa9\x42\xa5\x5c\x3a\x85\x88\x69\x1e\x1f\x81\xa8\x03\x5d\x7a\xbe\xf5\x50\x42\x0b\xf6\x16\xa3\xaa\x6b\xc1\x55\x86\x02\x95\x49\x22\x52\xbf\x32\xb0\x3f\x42\xc4\x24\x52\x02\x2a\xa6\xfe\xf7\xa4\x51\xa8\x61\xd7\x9a\xfe\xd2\xa7\xa4\xd2\x57\x5d\x4f\x6d\x05\x95\x00\x69\x7c\xcd\x95\xd3\x80\xac\xef\xbb\x8a\x08\x0d\xda\xb8\x88\xca\x38\xf7\x5e\x6b\xe9\x01\x9b\xfb\x6d\x29\x1d\x71\x29\xf5\x38\xd7\xc3\x53\x82\xad\xb4\x31\xa0\x8e\x24\xde\x27\x46\x5d\x41\x77\x02\x88\x1d\x33\x8c\x8d\xa7\x8e\xe7\xb0\xda\x2b\x55\x7a\x7d\x73\x7d\x19\x26\x3a\x27\xd7\x0f\x97\x7f\xba\xbc\x2b\x15\xef\x5d\xdd\x8c\x4b\x05\x78\xf7\x0f\x77\x95\xba\xbb\x9f\x6e\x6e\xae\x2e\x6b\x19\xd3\xcb\x87\xc9\xc7\x52\xe3\x17\x8f\x77\xe3\x87\xc9\x4d\xe9\x7b\x3f\x4d\xae\xc7\x77\xff\x16\xfe\xe5\xf2\xee\xee\xe6\xae\xf2\xbc\xc7\xf3\xee\xdc\x6b\xe9\x35\x9a\xaf\xe2\x3e\xb5\x13\xd0\x79\x35\x0e\xe9\xd7\xc3\x48\x30\x73\x9e\x37\x3a\xd4\xbd\x6f\x3a\x24\x92\xf8\xb5\x10\xe9\x96\x38\x04\xd0\x0b\xc5\xbf\x44\x5c\x21\x80\x2b\x27\x91\xf7\x38\x44\x1e\x4d\xd5\x67\x94\x81\x87\xe4\xe6\x9b\x8c\xfd\x09\xc2\xaf\xf6\xcb\x5e\x4c\x14\x36\xeb\x5f\xf1\x19\xee\xb3\xd3\xa9\x2a\x89\x30\x06\xbf\x2a\x29\x48\x9f\x4e\x95\xe5\x69\x8c\x75\x94\x9d\xc2\x5e\x3e\xd5\xe9\xf2\x8c\x24\x55\x8c\xad\xd3\x4f\x73\xad\x9f\xce\x84\x3a\x03\x6f\x23\x3f\xe3\x45\xae\xcf\x20\x75\x83\xd0\x96\xec\xcc\x2a\x2f\x58\xe9\x8a\xec\x6c\x25\x9f\x05\xfc\xdf\xe9\x2a\x5f\x27\xff\x27\xdb\xac\xbe\x9d\x2c\x93\xf4\xc4\xfc\xf6\x24\xfc\xed\x89\xfd\xed\x89\xfd\xed\x89\xf9\x19\xfe\xdf\x66\x8b\x17\x77\x41\x0a\xb8\x53\x25\x55\x26\xd2\x1c\xea\x1c\x5f\x52\x99\x7b\x7d\xee\x2d\x7b\xf3\xdf\xff\xcd\x4e\x53\xfe\x82\x50\xde\x0b\x9e\xf3\x5b\xf4\x1c\xff\xfe\xf7\x37\x2c\xcb\x35\xe9\xc8\x6c\x78\xfa\xb5\x10\xb9\xf1\x61\x13\x11\xe5\xec\xff\x4e\x15\x48\x4f\xad\xb7\xb3\x1c\x3d\x6a\xf4\x2e\xe3\x8c\xfd\x2b\xb6\x39\x41\x3e\x8d\x38\x33\x2d\xb5\xa0\x7c\x24\x4f\x1a\xc4\x7a\x5a\x2e\x5f\x5f\x93\x0b\xfa\xfe\x00\x8b\xf3\x35\x29\xa1\x06\x1c\x23\x6c\xf6\x35\x01\xd2\x96\x44\x73\x9b\x38\x62\x6e\xf1\x82\x05\xa4\xce\x35\xed\x91\x5a\x78\xf2\x80\x1d\xb3\xaf\x7e\xd9\x3d\x72\x7a\xd9\x3b\x59\x4d\x8a\x06\x6e\x81\xfe\x86\x09\x54\x2e\xd2\xec\x90\x7b\xf4\x71\x51\x1f\x16\xde\x1c\x6c\x7f\xae\x53\xbe\xf4\x7a\xbe\x74\x24\x65\x7f\x7c\x7f\x76\x36\x62\xcb\x0c\xfe\x31\xff\x0a\xff\x80\x4c\xc6\xb1\x68\x69\x6a\x83\xe9\x92\x72\x7d\x22\xb5\xad\x3f\x3e\xc8\x86\xbd\x3e\x13\x5a\x65\x99\xfe\x54\xa8\x38\x11\x1e\x99\x5c\xba\xec\x26\xda\x8a\x85\xa1\xcb\x53\xe5\x9c\x85\x39\x9e\x8b\x88\x1b\xc3\x57\x7b\x36\x26\xba\xf5\x22\x17\x0a\xfd\x9c\xd4\x33\x74\x73\xf4\x49\x20\xcb\x04\x69\x59\xd0\xbe\x5d\x6f\x40\x08\x57\x42\x00\xf0\x01\xa9\xc5\x46\xd5\x8f\x40\xca\x12\x59\xb2\x80\xfb\x05\x15\x37\x85\xbd\x89\x63\x45\x57\x91\x1a\x57\x67\xc3\x55\xcc\x33\x58\x81\x8b\x14\xe2\x58\x29\xe3\xf5\x8e\x8e\x10\x1a\x60\x6e\xf6\x5c\x6d\x29\x66\x1c\x8e\x04\xd2\x98\x05\x7d\x1e\x05\x9d\xc0\x33\x01\xc5\x7b\xab\x3f\x3c\x9d\x2a\x27\x03\x8b\x79\x39\x2b\x2b\xbe\xd9\x52\xb1\x64\x75\xd0\xa5\xf5\x89\x68\xb8\x47\x5e\x68\xaf\xfa\x5d\x10\x18\x0f\x83\x26\xc0\x98\x16\xaa\xe0\x58\xa5\x9e\xb7\x20\xcc\x2b\xd2\xec\x9d\xd9\x86\xc0\x23\x9a\x7b\x3e\x32\x99\xf9\xc9\x70\xaa\xb1\xe4\x07\x9a\xe6\x1d\xb5\xb0\x19\x9d\x12\xc7\x56\x93\x0b\xb6\x7b\xab\xfc\xe8\xf9\x8d\xa6\xfe\xd2\xbf\x7e\xd7\x5c\x47\x98\x63\x6e\x14\xb2\x1e\x44\x36\x80\x5b\x36\xb4\xb8\xd8\x28\x89\xcc\xa2\x73\x62\x25\x47\xa4\x39\xb2\x72\x73\x03\xc8\xa7\x8a\x4e\xe0\x11\x5b\x08\x9e\xaf\x20\xc9\x9e\x3d\xa3\x31\xc6\xe3\x3e\x7f\xd1\x3e\xbb\x62\x09\x5a\x21\x31\x5f\x6a\xdc\xbb\xff\xf8\x35\x88\x15\xf3\x28\xc7\xd0\x71\x1b\x75\xa5\x73\x55\x60\xb0\x1a\x0d\xe2\x1e\xe3\x60\xf9\x3e\xab\xdc\xda\x21\xdd\x2c\x8c\xc4\x16\x43\x80\xac\xda\x0f\xfc\xc0\x18\x1e\x7c\x3b\x0c\xf0\x07\xc6\x11\x2a\x9b\x28\xaf\x8f\xfb\xcc\x47\xe7\x42\xd2\x35\x88\xbc\xb4\x6d\xaa\x8e\x81\x80\x0e\xec\x07\x81\x36\x3f\xdd\x49\x4d\x91\x89\xd4\x92\x91\xe2\xbb\x22\x37\xc5\x4a\xa6\xf1\xc9\x86\xa7\xf9\xd6\x2e\xdf\x44\xce\x81\xc3\x30\x91\x4f\x82\x8d\xd3\x54\xbf\x1c\x7b\x14\x5a\x4d\xcb\x03\xcf\x9e\x8e\x4c\x75\x03\xd4\x4e\x43\xa8\x6a\x1a\x99\x69\x4a\x69\xf7\x58\xcc\xf6\x63\xc1\x69\x63\xf2\x69\x7c\x4e\x2a\xf2\x74\x3b\x33\x0b\x71\xbd\x69\xb5\x14\xbd\x00\x5c\xfd\x9d\xdc\x61\x04\x3b\x70\x3e\xf7\x20\xd8\x29\xcd\xea\x8f\x43\xb0\xd3\xc0\x9d\x53\x27\xd8\x99\x5c\x4f\x1e\x26\xe3\xab\xc9\xff\xab\xb4\xf8\x79\x3c\x79\x98\x5c\xff\x69\xf6\xe1\xe6\x6e\x76\x77\x79\x7f\xf3\x78\x77\x7e\xd9\x5d\x31\x5b\xef\xbd\x77\xc1\x4f\x58\xf8\x9c\xf7\xec\x21\x08\xc1\x23\xf0\x89\xfc\x6f\x12\xf1\x80\x55\x65\x36\xb3\x54\xcb\x11\x6c\xd4\xf7\xec\x32\x4d\x27\x6b\xbe\x14\xb7\x45\x92\x40\xa2\x0c\x51\x86\xe7\xa9\x80\x8b\xe7\x88\xdd\xea\x78\x12\xfc\x0e\xa0\xd1\x8d\xaf\x01\xcf\xe7\x71\x9c\x8a\x2c\xc3\xc7\x8f\xe8\xf9\x41\x5a\xc8\xc1\xae\x29\x2d\xca\x9f\xb9\x4c\xcc\xfd\xed\x3d\xe8\x0a\xea\x05\x29\x44\x8f\x1c\x88\x93\x7d\x2d\x74\xce\x99\xf8\x16\x41\x95\x78\xf3\x3a\xb9\xd2\xcb\xd7\xbd\x03\x35\xef\xe9\xdd\xc4\x1a\x2d\x97\x14\x20\x6b\x9f\x35\x1f\xe7\xcd\x86\x80\xde\xf2\x23\xfe\xf4\x03\xfe\xb2\xb1\xf5\x3c\x4f\x8e\x50\xb5\x72\xa5\x97\xcd\xd4\xb9\xe0\x5d\x13\xdf\xaf\x17\xd0\x85\x1a\x38\xbd\x64\x99\x54\x4f\x53\xf5\x79\x25\x14\xd3\x45\x8a\x7f\x82\x6b\xbe\x71\x33\x93\x22\x5b\x89\x98\xe9\x22\x1f\xb1\x17\xc1\xd6\x7c\x8b\x6e\x33\xdc\x09\x1c\xdf\x27\x2c\x19\x38\x45\xcc\xaf\x13\xa9\x8c\xb5\xd8\x48\x8b\x91\xaa\x4e\xfd\x31\x6e\x5c\x96\x23\x81\x1f\x4e\x61\xd4\xaf\x10\xe4\x65\x25\x00\x03\xef\x33\xe2\x36\xf5\x43\x96\x1b\xe4\x44\xb4\x7e\x2a\x36\x9e\x4d\xe5\x8d\xa5\x2c\x84\xe1\x7e\xd6\x32\x66\x71\xb1\x49\x64\xe4\xec\xee\x8b\x4e\x5b\x29\xa3\x10\xcc\x37\x80\x32\xaa\x02\x51\xed\x7a\xb1\x06\xa4\x60\x90\x23\xed\x20\x8f\x7a\x65\xfa\xac\x40\xce\xbd\xc8\x44\x7a\x92\xa7\x72\xb9\x04\x07\xdc\xe2\x8e\x7f\x7c\x7e\x2d\xcf\xdf\x71\x38\xc4\x36\x2c\x80\x49\xf4\x52\x46\x3c\x09\x61\x2b\x3e\xde\xed\x08\x7c\xec\xb6\x27\x19\x19\xd3\x6f\xd7\xa1\xd6\xc2\xe4\x4d\x2a\x80\x43\x6a\x86\x0a\xf9\x87\x2b\xf7\x4f\x16\xcc\x5c\xd0\xad\xc4\xac\xaf\x10\xb3\x2a\xdd\xf6\x84\xf3\xcf\xb6\x5c\xe2\x28\x26\xa8\x00\x8c\xad\x5f\x94\x48\xc1\x83\x85\x80\xbe\x79\x53\xa5\xc1\x37\x71\xfc\xe2\x0e\x79\x62\xf9\xf5\x17\x0e\x62\x83\x28\xfe\xa5\x7c\x16\xea\xfb\xf3\xa1\x05\x0f\x88\x78\xb4\x12\x33\xeb\x97\x1f\xdb\x64\xb9\x03\x60\xa0\xb1\xb2\x44\x9f\xa1\x29\x65\x12\x38\x28\x22\xbc\x3a\x61\x8f\xeb\xb6\x0b\xc9\xab\x7b\x1d\x4a\x40\x81\x5a\x8e\xcf\x55\x8f\x83\x43\x99\xbc\x1d\x48\x6e\x5f\xef\xbf\x3b\x10\xb0\x4c\xf4\x1c\xaa\xb5\xea\x1c\xdf\xe1\x09\xdb\x46\x19\xfc\x2c\xd2\x54\xc6\x43\x2c\x93\x1d\x93\x1b\xf7\xd3\xae\x0e\x3a\xa1\x46\xf7\x24\x30\x0a\x12\x63\x75\x15\xcf\xbd\x5a\x0d\xb0\xeb\x9a\x00\xb9\x8d\xcc\x25\x37\x9c\x23\x61\xb9\xfa\x20\x30\xa1\x3b\x94\x3f\xeb\xef\x72\xd0\x44\xd7\xeb\xcb\x76\x8c\xa5\x2f\x49\xeb\x9e\xe4\x03\x8a\x84\xb0\xa2\xc9\x55\x0a\x0d\x21\x5c\xb2\x53\x87\x89\x67\x50\x55\x75\x93\x58\x42\x04\xf5\x9a\xd1\xea\xb8\x3f\x50\xba\xeb\xa0\x0a\xf8\x57\xd8\x51\x45\xae\x7d\xb4\x12\xde\x67\x02\x34\x24\x21\xd6\x10\xcc\xc6\x24\x6e\x54\xcb\xf7\xc7\x87\xdd\x9a\x6d\xae\xca\x61\x11\xa7\x31\xdb\xa4\xc2\xc6\xbd\xb7\x22\x77\x35\x12\x89\x65\x76\x86\xb0\xae\x7b\xeb\x72\x91\x98\xad\x03\x71\x85\xbd\x10\x84\xd5\x56\x07\x7b\xbd\xd1\x4a\x28\x42\x07\x28\x3d\x55\xd4\xb8\xd5\xe7\x71\x91\xe1\x12\x08\x73\x44\x17\x72\x84\xf4\x88\x4c\x27\xcf\x94\x02\x08\xf8\xfb\x80\xd9\xdb\x74\xf0\xdc\xf8\x36\xc6\x93\x87\xdc\x14\x21\xf2\x00\xa3\x50\x11\xa9\x49\xc5\x52\x66\xb9\x08\x71\xab\xe1\xef\x8f\xa6\x27\x50\x72\xfe\xbb\x86\xbe\x55\x4f\x60\xd7\x29\x6e\x76\xed\x80\xfe\x6c\x37\x22\x9e\xb8\xdf\x75\x2f\x86\x12\xf8\x3c\x0e\x8c\x44\xe9\x14\xc0\x35\x80\xde\x4b\x86\x65\xb3\x99\x63\xde\x73\x93\x44\x05\x8d\xdc\x89\x40\xc0\x14\x2d\x0b\x9e\x72\x95\x0b\x91\x4d\x15\x25\x4e\xb0\xfc\x3b\xac\x70\x5a\x94\xc4\x23\xfc\xd9\x1c\xe9\x2c\xc7\x6a\x4a\xf8\xc9\x82\xcb\xa4\x48\x5b\xdd\x65\x5c\x95\x7b\x95\x6e\x74\x8d\xd2\x39\x34\xcb\x9a\x26\xcd\x41\xab\x83\x5d\xe4\x2a\x90\xaa\x69\x8f\x32\xf2\xb8\xe5\x15\xac\xc9\xed\x3f\xdf\x2e\x56\xd2\x82\xb6\xfe\x97\x6c\xb6\xd1\x03\x2c\x1e\x69\x0e\x37\x36\x96\x7d\xad\xdd\xe9\x3b\xd2\x7f\x5f\xdb\xb8\x08\x79\xf6\x04\x91\xf3\x5d\x57\x89\xdd\xf1\xc1\x3f\xfe\x61\x77\x7c\xbd\xd5\x76\xc1\xaa\x5d\x71\x15\x27\xa0\x4f\x9c\x57\x4e\x20\xb7\x07\x40\x00\x20\xb7\xc6\xb1\x1d\x6e\x08\xe8\x9d\x59\x54\x83\x7e\xee\x1a\xa7\x0a\x66\x74\x07\x84\xb0\xf4\x94\x32\x92\xb3\x09\x41\xe4\x4f\x76\x12\xa2\x70\x1b\xb6\x7d\x09\x2e\xe4\xf2\xf8\x44\x3c\x7d\x95\x39\x9c\x97\xfd\xb1\x6e\x29\x23\xda\x8a\x74\x7e\x39\x31\x8e\x03\x37\x23\x20\xbf\x8c\x31\x0b\xe9\x8e\xa6\x8a\x74\x6a\x30\x69\x04\xd9\x02\x2c\xe9\xcd\xd8\xef\x1d\x1c\xf8\xf7\xff\x6c\x0b\x3a\xb7\x6c\x01\x63\x0d\x55\xd3\x3a\x8a\x8a\x14\x32\x3a\x74\xeb\x64\x02\xcf\xa6\x21\xac\x74\x63\x3c\x91\x5d\x1e\x1e\xdd\xa7\x26\xef\xc1\x85\x19\x4a\x2f\xf5\x00\xb7\x4b\x54\xdc\x71\x67\x21\x31\xd8\xa6\x59\xce\xb2\x5c\x6c\x1a\xad\x52\xc9\xe9\x2a\x8b\x4a\x1d\xe0\x76\x75\x28\xc2\x1f\x6c\xa3\xc7\x81\x7a\xd5\x9f\xef\x6f\xae\xd9\x86\x6f\x01\xd2\x92\x6b\x52\x03\x03\x4e\x8b\xea\xfe\xdd\x35\x03\xe5\x97\x2f\x6f\x36\x1c\xd3\x94\x7b\x7b\x51\x0f\x3b\x71\xa7\xf6\x57\xb1\x43\xb0\x66\x68\x49\x9a\xad\x9c\xea\xe4\x64\x93\x70\x25\x90\x7f\x10\x0b\x7c\x59\xe5\xf1\x61\x9a\xca\x05\xac\x09\x08\x00\x1d\x08\xc5\xb2\xd3\x42\x35\xe1\xda\xca\x3a\x59\x07\x65\xa6\x5a\x6d\x44\x27\x5e\xe7\x23\xb2\x12\xf2\xc8\x6c\x13\x2c\x77\xb1\xd9\x36\x97\xb0\xe5\x19\x60\xa9\x06\x4c\x54\xb7\xa8\xd7\x54\x59\xcd\x16\xfd\x92\xb1\x18\x0b\x82\x0a\x99\xa1\x16\x26\xc6\x32\x01\xd7\x40\xf6\x05\x93\xae\x29\x57\x99\x99\x50\x08\xc7\x88\x67\xa1\x58\xbd\xbc\x64\x72\x71\xe5\x52\x93\x38\x49\xc4\x67\xde\x32\xf4\x81\x63\x76\x10\x85\x57\x93\xca\xd4\x6e\xaa\xc0\x8f\x7c\xd3\x72\xa1\x47\x09\x9a\x43\x5b\xdc\x35\x4b\xae\x1c\xb2\xea\x75\x82\xfe\x0d\x50\x1c\x93\x76\x4f\x7d\xf4\x1e\xd5\x81\xe6\xa7\x91\x3b\x6c\x80\x8a\xee\xfe\xd4\xdd\xa1\x80\xe8\x00\xdb\x13\xd4\xd2\x3b\x58\x80\xf3\x97\xcd\x2e\x07\x02\x59\x54\x6b\x24\x75\xea\x7b\x21\xd8\x17\x27\xf8\xf8\x85\x08\xca\xbd\xd6\x76\xdb\xb8\x4e\xd4\x42\x1f\x66\x0c\xd2\x65\x0d\x49\x73\xd0\xa8\x34\xf7\xf3\x50\xac\x0e\x54\x14\xa9\xd7\x2d\x0a\x69\x7c\xaf\x1d\xc8\x9c\x5b\x7f\x27\x27\x78\xb2\xed\xa9\x39\x9f\x61\x8a\xf7\x13\x26\x2c\x2d\x92\x1c\x34\x30\x81\xfc\xe9\x49\xe9\x17\x85\xbe\x00\x3d\x89\xbd\x35\xfb\x0f\x0e\x30\x60\x71\x22\x70\x4e\x81\xd6\xf0\x1d\xb0\x51\x8d\xdd\x7f\xb3\x7b\x0c\x73\x63\x9f\x81\x6e\x35\x03\xe7\x87\x88\x52\xc1\x9a\xbf\x1d\x8f\xd8\x4f\x23\x76\x3e\x62\xa7\xa7\xa7\xef\x46\x4c\xf0\x68\x65\x7b\x84\x3f\x41\xd0\x4b\xce\x97\xa6\x6d\xa7\x93\xeb\x1f\x00\xec\xc1\xe6\xb0\x32\x47\xa6\x31\xd0\x3c\x50\xd3\xf5\x91\x07\xfb\x0a\x08\xe6\x46\x85\x0a\x9b\x12\x8c\x56\x5a\xfa\x4e\x01\xba\x4c\x44\x3a\xb5\xf8\xb4\x2c\xd7\xa9\xc5\xda\x3c\xf3\x94\x4b\x05\xf5\x06\xbc\x8e\x34\xa4\x27\x07\x1c\x59\xe2\x1b\x5f\xc3\xfb\x4b\xe5\x68\x42\xcc\x30\x3d\xb8\xfe\xe7\xdb\x8d\x8c\x60\x3c\x5f\x52\x99\xe7\xe6\x74\xce\xa6\xea\x9e\xbd\xff\x57\x36\xde\x6c\x12\xc1\xc6\xec\x6f\xec\x27\xae\xb8\xe2\xec\x27\xf6\x37\x76\xce\x55\xce\x13\x5d\x6c\x04\x3b\x67\x7f\x33\xc3\x66\xda\xbb\xd6\xe6\x38\xdc\x8e\x18\x67\xaa\x48\xf0\xd4\x7f\x6b\x71\x2c\xef\xdc\x7b\x71\x3f\x3b\x56\x6c\x32\xd3\x6b\x3a\x0a\x7f\xc1\x6a\x06\x33\x32\x52\x2d\x13\x91\x5b\x89\xd7\x12\xe2\x08\x1f\x70\x02\x6f\xfa\x7e\xaa\x5c\x2c\xef\x17\xd3\xe3\x5f\xd8\xdf\xd8\x75\x91\x24\xa6\x4b\xc6\xd0\x98\x85\xf4\x9e\x59\x04\xb8\x50\xa7\x2f\xf2\x49\x6e\x44\x2c\x39\x60\xc0\xcd\x7f\x9d\x3d\xc0\x6c\xcf\x0a\x4f\x39\x10\xee\x69\x47\x61\xfb\x5d\x78\x67\x86\x68\x39\x3b\x26\x63\x3b\xf9\x1d\x37\xbf\xf2\x4f\x87\x7b\x44\x9e\x70\x85\xf6\x03\x39\xac\x48\x3f\x1c\x32\x26\xef\x65\x02\x2a\x87\xad\x6d\xab\xe1\x28\x08\x0f\xf5\x43\x8d\x2c\x10\x70\x1f\xfd\x0e\xd9\x83\x0d\xb9\xaf\xc9\xad\x71\xb9\x3e\x87\xe4\xd5\xe0\x4b\xfa\xfa\xd3\x5e\x59\x21\xc7\xe1\xfa\xa9\xcc\x40\x5e\x1a\x62\x2d\x7b\x51\xb5\x57\x3a\xfb\x48\xb1\x8b\x58\x28\x9d\x9b\x8b\x8c\x92\xc9\x99\xd9\xaa\x67\xd7\x5a\x99\x6b\x6b\x26\x97\x58\x33\x0b\x08\x88\x0c\x78\x6d\xac\x53\xf0\x50\x76\x59\x83\x2d\x00\xfe\x81\xe9\x12\xa2\x72\x72\x63\x05\xcc\x14\x24\xdb\xa9\x32\xbf\xa0\x13\x09\x10\xba\xd2\x91\x01\xe1\xd3\xac\x28\x1c\x3d\x8b\x0c\x72\xd0\x78\xc3\x02\xeb\xd2\x51\x3b\x88\x84\x07\xaa\x4d\x0e\x88\x8a\x5f\x07\xb4\x02\xd4\x9a\xad\x39\x43\xf0\xcf\x5c\x24\x5a\x2d\xcd\xaa\x68\x33\x02\x7a\xcd\xe5\x21\x39\xf1\xb0\x0b\xd8\x58\x6b\x0f\xcc\x61\x49\x5f\xa1\x29\x09\xc4\xac\x49\xcc\x06\x04\x31\x5d\x44\xd6\x9d\x86\xf4\x72\x2d\x2f\x31\x54\xa1\xa7\xbe\x4a\x41\xfb\x9a\x92\xb3\x2e\xda\x8f\x07\xa7\x8d\xa6\xd9\x37\xea\xb7\xa9\x3a\x31\x7d\xcd\xa1\x10\xca\x26\xd8\x60\xb2\x0b\xea\xf5\x58\x8f\xbf\x26\xbc\xef\x35\x55\xf5\x1a\x25\xf4\xe0\x7b\xa6\x35\xfa\xd3\x50\x99\x3c\x3b\x7a\xc7\x40\x3e\x7d\x45\xd6\xdc\x99\x5e\xd8\x22\xb0\xfe\x67\x7a\x8d\xb7\xb8\x1f\xf4\x24\xe4\x2a\x0b\xf9\x7d\xeb\x0b\xa7\x2d\xdf\xa0\xd5\x8c\x32\x12\xfd\x3a\x5b\x1d\xb0\x1b\xf5\x01\x7f\x7e\xab\x13\x19\x75\xe3\x75\xec\x71\x05\x22\xce\x35\x00\x04\xe8\xa9\xbb\xf8\x0f\x75\x0a\x3d\xf4\x5c\x44\xb9\xcf\xb8\xd5\x5f\x6e\x50\x38\x8c\x02\xac\xae\x15\x90\x92\x70\x29\x2d\x38\x6a\x80\x04\x05\xd8\xea\x30\xf4\x08\x55\x31\x90\xea\x8d\x38\x45\x64\x4b\x1d\x01\x7b\xf5\xb2\xd2\x89\xb9\x9a\xa8\x98\x08\x65\xa6\x6a\x23\xd2\x48\x27\x3c\x37\xd6\xf0\x85\x48\x03\x64\x12\x7b\x4a\xd8\xb7\x80\xcd\x03\x04\xcd\x3b\xe2\xbd\x17\x2e\xe5\xea\x74\xc8\x77\x2f\x5b\xab\x7d\x75\x58\x40\xe6\x78\x60\x9b\xae\x55\xf0\x99\x20\x30\x38\x14\x24\x1f\x5c\x49\x9e\x99\x41\x2f\xf5\x67\xd8\x0c\x0b\xc7\xf6\x19\xf9\x7b\x44\x5e\x99\x57\xba\x4a\x54\x87\x12\x88\x81\xb0\xae\x03\xf1\x14\x99\x80\xee\xac\x05\x47\xd7\xc4\xd3\x74\xd0\xa4\x4e\x95\x4f\x17\xbe\xc9\x42\x37\xa5\x71\x9e\x91\xf7\xc6\xc2\x79\x46\xec\x4d\xe9\x45\xdf\x00\x71\x8c\xd2\xf0\x3c\x4a\xe9\x94\x86\x06\x96\xeb\x88\xc9\x7c\xaa\x64\x86\x2b\x33\x15\x89\x78\x36\xbd\x0b\x63\xa7\x04\xfd\xb0\x57\x49\xfb\xda\x80\x08\xe5\xb6\x90\xd0\x49\xa6\x41\x89\x76\x1a\x12\x90\x70\x88\xd3\x82\xa6\x74\xa1\x80\xec\x53\x7c\x43\xe1\xee\x64\x6b\xd1\x10\xb1\x50\xb6\x7f\x00\x92\x40\x55\x96\xa9\x9a\x2c\xa0\x9a\x0b\x6a\xc8\xe2\x18\x2f\x65\x96\xfe\xd1\x55\x83\x4b\x8a\x95\x6a\xba\xa2\x3a\x45\x5e\x94\x6d\xc0\x9d\x24\x9e\x45\xba\xcd\x21\xc6\x09\xe3\xaa\x04\xcf\x57\x4c\xe6\x23\x28\xe3\xb7\x86\x63\xaa\x78\x4c\xaa\x57\xd4\x9c\x19\x1a\x58\xf7\x1d\xf3\x4c\x9f\xcf\xf5\x73\x97\x9f\x77\x28\x08\x0a\x77\xf5\x26\xe1\x6a\x86\x06\xf5\x57\x80\x41\x05\x8a\x1a\x6d\x99\xbf\x62\x3e\x73\x0a\xd7\x47\xe9\xa7\xf3\x7e\xee\x4a\x3a\x37\xc6\xad\xb3\x0f\x1a\xe1\x62\xf0\xd4\x63\xd6\x5b\x77\x61\x0b\x4a\xb6\xa7\xcc\x26\x24\xfb\x5b\x01\x8f\x90\xe2\x95\xc4\xbc\x5d\xad\xbb\x20\x52\x76\x05\xfc\xa8\x70\x9d\x3e\x33\x5f\x39\x43\xaa\xd3\x3e\x1c\x29\x52\x73\x98\xf6\x42\x8b\xec\xe8\xd6\xeb\x22\x46\x5a\xc3\x0a\x75\xe4\x88\x7d\xdb\x20\xfb\x85\x30\x68\x81\x61\x29\x17\xf5\x68\x56\x4c\x09\xaf\x25\xba\x01\x6a\x78\xcc\x90\x6d\x59\x57\xb9\x77\x15\x25\xf4\xeb\x94\x4d\x14\xb3\xd1\x8b\x11\x7b\x83\x0b\x2b\x7b\x43\x11\x39\x92\xdd\xa1\x54\x72\x4c\xbb\x87\xea\xce\xaa\xc8\x04\x44\xff\xfa\xed\x86\x89\x91\x36\xef\xb3\x39\x67\x73\xcc\x71\xf9\x49\x02\xfa\x78\x9f\x02\x53\x4c\xaa\xcd\xb1\x01\x3a\x24\xf1\x16\xba\x45\x1f\x56\xfb\xe0\xae\x7f\x61\x9b\xfe\x61\x3f\xd9\x1f\x9a\x21\xda\x14\x74\x9e\xda\xcf\x99\x4e\xa7\xca\xb6\x46\x11\xba\x0c\x19\x9a\xab\x4d\xd9\xab\xaf\x77\x81\x83\x95\x0a\x39\x7d\x4b\xca\x0d\x5c\xef\x9e\x23\xa7\x6a\x05\x00\x23\x30\x17\x5e\x30\xec\x94\x8d\xfd\xd3\x8c\xe3\x61\x16\xf8\x1a\x8f\x79\xe2\x84\x13\x2a\xda\x02\xcd\x4d\x92\x98\x41\x91\x79\x46\x3e\x5b\x00\x54\xce\x0a\x20\x9f\x59\x14\xc6\x18\x05\x0c\x3d\x53\x65\x06\x8f\x2d\x24\xc0\x60\x69\x5c\xa6\xea\xa3\xce\x6c\x5d\x6c\xe6\xc7\xc3\x42\x2a\x69\xd8\xde\x38\x6e\x72\xfa\xc3\x05\x1c\xda\x14\x02\xaf\x88\xd5\x01\x42\x9d\x8a\xdb\xb7\xba\x48\xfd\x4b\x45\x5c\x4d\xd5\x7f\x9a\xe1\x41\xa9\x28\xa7\xb3\xa6\x17\xb8\x85\xad\xb8\x1f\x7b\xfb\x05\x1b\x7d\xfb\xcf\xef\xbe\xbc\xc3\xfa\xf4\x22\x03\x39\x88\x51\xf9\x00\x71\x64\x6d\x45\x92\x40\x62\xd6\xbe\x81\x2b\x2b\xf7\x8f\xe8\x94\x1e\xa7\x3b\xce\x4c\x95\x5d\x8c\x3e\x1b\xbd\x6b\x05\xfb\x58\xec\x98\x45\x3c\x8f\x56\x27\xd6\x97\x23\x33\x66\x4f\x3f\x9a\x3e\xe4\x85\x37\x9e\x56\x33\x5f\x99\xb9\x7f\xa5\x6b\x27\xb7\x56\x5a\x2f\xe6\x15\x00\x67\xf2\x50\x5a\x95\xa1\xa8\x21\x2e\x4e\xaf\x74\xe6\xfd\x3c\xf7\x75\x4b\xf6\xee\x03\xa8\x14\x34\x56\x7c\x2d\x62\xf6\x06\x6a\x1f\xde\xd8\xc9\x9f\xaa\xcd\xfc\x34\xd9\x2e\x72\x22\x6b\x31\x83\x72\x0a\x74\xc8\x3b\x4e\xb9\x59\x5c\xbf\x26\xed\x18\xec\xd6\x8b\x56\xb3\xaf\xe3\xc6\xc6\x3d\xa9\xbf\xc3\x82\x21\x1f\x37\x3a\xf7\x65\xc4\x4c\x99\xed\x8e\x67\x4f\x23\x36\x4f\xb9\x02\x7e\xd0\x38\x74\xaa\xfc\xee\x44\x35\x73\x60\x42\xa1\x04\x0e\x57\x3c\xd9\x02\x94\x7a\x34\x55\x48\x1b\x03\xcc\x51\xdb\x28\x91\x11\x2a\x2b\x56\xfc\x20\xf1\x2c\x54\x7e\x49\x75\xd2\x16\xb3\x7d\x68\xa6\xd5\xd5\x5d\x1f\x24\x11\x39\x29\x7b\x3b\xdc\x17\x94\xfb\x80\x63\x94\x0a\xc0\x32\xcf\xb7\x01\xc6\xd3\x2d\xf0\x11\x11\xac\x03\xb3\x0e\xfb\x6b\x31\xd7\x89\xa5\x26\x9a\x5c\x30\x9d\x02\xdf\x63\xae\xe9\x4f\x32\x6e\x3b\xc5\xa4\x8a\xc5\xb7\x83\xea\x83\xbb\x0f\x24\xeb\xde\x99\xc7\x04\xb4\x82\xd5\x97\x85\x5d\x94\x0a\x73\x58\xe4\xf6\x06\x57\xfb\x56\x56\x05\x9c\x8d\x93\x7c\x05\x28\x30\xc4\x1f\xfb\x41\x5d\xf3\x2d\x8b\x56\x5c\x2d\x83\x2b\x34\x80\x72\xc4\x46\xa7\xc8\xe4\xff\x0c\x44\x3c\x3a\xb5\xf5\x57\x54\x55\x44\x20\x68\x17\xff\x45\xec\xa1\xb6\xa5\x43\x7c\xb9\x4c\xc5\x12\x4a\x62\x4b\x02\xd0\x68\x3f\x1d\x25\x23\x3e\xa7\xab\xac\xec\x38\xb5\xd9\x6d\xb7\x96\x3c\xdd\xba\xa2\x1c\x92\xc1\x70\x43\x57\x1b\xd6\x11\x93\xe2\x74\xc4\xfe\xe0\xf1\x96\x22\xd2\xca\x55\xf5\x34\xbf\xc3\xa6\x12\xa9\xdd\x61\x8b\x1a\x8a\xb8\x9b\xfb\x0e\x9f\xd5\xc4\x34\x1a\x17\x4d\x67\x59\x54\xce\xf3\x62\x80\xad\x24\xc1\xa4\x73\xf3\xe3\x7b\xfc\x6d\x27\x24\x99\x6f\x8c\x79\xb3\x04\x1a\xe6\xfb\xc6\xc2\x9b\x67\x13\xb7\x57\xcb\x58\x37\xc7\xfd\x82\xee\x27\x7a\xf9\xaa\x2e\xa5\xad\x92\x6e\x75\x29\xdd\x4c\x24\x2d\x95\xbf\x1d\xef\x34\x34\x94\x69\xb1\x99\x84\xba\xce\xaa\xd7\xad\x06\x0b\xe0\x24\x66\x75\x8a\x7e\x3b\x02\x19\x5c\x01\x72\xc9\x48\x36\x1d\x08\x25\x16\x05\x90\xcd\xfa\x5e\x77\xe3\x36\xfe\x86\xe6\xe1\x7f\x6c\xb9\x17\x5b\xcf\xa4\x69\xd0\xc3\xfd\x89\xe3\x94\x0e\x3c\xa7\xbc\xd8\x3c\x90\xd2\xda\xe0\xa6\x4e\xe5\x52\x2a\x9e\xeb\x94\xbd\xbd\xb5\x4c\x8e\xef\x1c\xfb\x30\x8c\xe2\x31\xcc\x44\x69\x88\xd0\x4c\x34\xdf\xbd\x00\xde\x2b\xe2\xd9\x30\x16\x9c\x26\xd9\xc7\x9d\xf0\x75\xf3\xad\x2c\xe7\xeb\x4d\x48\xe0\xe6\xd4\x88\x68\x64\x12\x1c\x04\x66\x3b\x06\x31\x3e\x99\xf9\x92\xa4\xa9\xa2\xc8\x38\xce\x9b\x4e\x1b\xf4\x8c\xab\x6f\x09\x7e\xe4\x6c\x4f\x52\x02\xf4\xe3\x7b\xfc\xba\x33\xa3\x78\x77\x65\x13\x06\xfe\x5e\x50\x72\xb4\xe1\x45\x91\x4f\x2a\x83\x53\x1b\xaf\x78\xce\x6c\x98\x53\xd2\xd6\x5e\x9f\x27\xba\x88\x19\x19\x0d\xca\x4e\xa6\xa7\x78\xfa\x00\xc1\xdb\xe9\x69\x1b\xdb\xcd\x40\x7d\x11\xb7\xbf\xe1\x77\xcd\x2b\x1c\x3e\x6b\xb1\x70\x9d\x5b\x8b\x46\x76\x58\xec\x89\x12\xf3\x1f\xf9\xa6\xbb\x82\x9e\xdb\x9b\x33\xd6\xbb\x84\x8a\xda\x0d\x7b\xbf\x65\xb8\x5c\x34\x14\xd8\x66\x86\x05\xca\xac\x7e\x0c\xac\xe7\x30\x90\xdc\xc0\x87\x17\x22\x32\x79\xf6\x74\xf0\xe3\x6c\x61\x67\xf7\xa3\x36\x3c\x15\x2a\x9f\xc1\x13\x87\x3d\x0c\x1e\x72\x0b\x3f\x2f\x39\x24\xbd\x02\x82\xff\xfe\xa0\x31\xce\x6b\x4b\xcb\xff\x83\xdd\x53\x6c\x23\xb3\x5a\x74\xe6\xf4\x79\x2b\x01\x8a\x11\xe4\xc4\xdc\xc4\xb5\x4c\x17\xbd\xd0\x1e\xa3\x17\xbc\x50\xc9\x74\xf6\x7a\x21\xdf\x7b\x64\x66\x37\xad\x50\x98\x87\x0a\x0a\x8d\x29\xb3\x7f\xf3\x6b\x0e\x8b\x74\x7d\x76\x96\xf1\x9c\x99\xf9\x4b\xd8\x7f\x89\x54\x7b\x94\x3c\xe9\x5b\x07\x0d\x77\xfa\xc3\xfb\x6b\xa0\xa0\xbf\x8b\xea\x1b\x21\xfd\x3c\xfc\x85\xaa\xf7\xf1\x66\x39\xdf\x5a\x77\xbf\x25\x95\xb0\x11\x11\xce\xc3\x9e\xc7\x66\x70\xb1\x0b\xec\xbb\x0d\x7d\xb9\xc3\xc2\x6e\xd0\x33\xb8\xb7\x12\x3f\xd6\x9a\x6f\x08\xf6\x44\x08\xcb\x6a\x10\xff\x14\x5e\xe2\xdf\x7f\xf9\x8f\xd3\x36\x1d\x26\xe8\xfa\x50\x14\x89\xeb\xfc\x87\x54\x0a\x15\x43\x52\x8e\xc7\x0e\x8a\xe5\xcc\xa2\x2a\x45\x69\x4b\xe6\xd9\x2c\xc3\xa3\x14\x93\x35\x9f\x83\xd9\x0c\x17\xd1\x77\xc8\xec\x7a\x23\xeb\xb6\x6f\x29\xef\xd3\x76\x54\x67\xb3\x78\xab\xf8\xba\xae\x5c\xf5\xaa\x7d\xdc\x4a\x91\xc4\xd0\x45\x7a\xfa\xae\xec\x44\x2c\xa2\xa7\xa1\x3e\xc1\xde\x54\xaf\x22\x7a\x62\x3f\x3f\x7c\xbc\x42\xcd\x06\x99\x4d\xd5\x35\xcf\xe5\xb3\x78\x4c\x13\x17\x16\x46\xe3\x53\xa4\x89\xdd\x23\x65\xea\x41\x2c\x86\x2b\x40\x18\x95\x78\x0a\xad\xe3\x10\x32\xc3\xae\xb7\x27\xf3\x22\x7a\x12\xf9\x59\xca\x55\xac\xd7\xf8\x1a\x67\x59\xb1\x58\xc8\x6f\xa7\x39\x4f\xdf\xed\x82\xb8\xef\xb4\xa4\x07\x5c\x12\x0e\x31\x28\xf5\x6b\x80\x53\xd2\xf0\xb6\x59\xc6\xa1\xfa\xab\xb3\xcc\x9e\x77\xcf\x99\x14\x88\x37\xb6\x5c\x44\x4e\xa9\x9f\x0d\x4f\x18\x30\x7a\xcd\x07\xeb\x77\xba\x62\xb5\x31\x00\xf6\xe9\xbe\x8d\x10\xde\x6a\x9d\x1c\x1a\x25\xe4\x89\xdd\x24\x33\x90\x04\x38\xc4\x05\xc7\x05\xe0\x2e\xdb\x93\x0b\x97\xaf\x72\x94\x7a\x14\x6b\x70\x82\x3c\x00\xa5\xa0\x2e\x00\x80\x01\x3a\xd1\x01\x3a\xcc\x36\x0d\x09\xcb\x81\xe0\x49\x68\x03\x91\x0e\x4e\x9a\xb7\x16\xb6\x0c\xca\x61\xb9\xef\x23\xd0\x0e\x55\x7a\x38\x28\x80\x80\x04\xfe\x95\x47\xb9\x60\x42\x48\x4f\xe6\xc6\x31\x78\xb6\x1d\x4f\x94\x0d\x32\x36\x87\x3c\x9f\xa9\x0a\xbc\x1c\x24\xe6\xb0\xe8\x54\x37\x6a\x4d\x31\x86\xd2\x32\x3c\x38\xc6\x70\x08\x07\x65\x67\x10\xfa\x22\x94\x87\x80\x3c\x6a\xa4\xd7\x73\x73\xcf\xc7\x6a\x47\x0a\xbc\x81\x7b\x36\xb6\x14\x3f\x2e\x48\x6a\xdd\x2c\xe4\x18\xae\x8c\xbd\x3b\x1a\x42\xb6\xa4\xd0\x64\xed\xba\xc2\x84\x3e\xf1\x71\xe9\x32\x9b\xed\xec\xb8\xfa\x06\x20\xd3\xfe\xc2\xb7\x19\x68\x69\x08\x63\x15\x17\x18\x6c\x2a\xf7\x7f\xe4\x43\x20\x8e\x3e\x8a\x84\xa9\x0a\x92\xd8\xa1\x77\x91\x58\x02\x2e\x12\xab\x1a\xe2\xa9\x35\xde\x64\xcd\x83\xf3\xeb\xc4\x8f\xd3\xce\xf8\x31\x26\x70\xfe\x67\x84\x8c\x3b\x02\x53\x07\xc6\xc7\x82\x63\x32\xd5\x11\xe9\x49\xe7\x0c\x24\xb6\xd0\x1c\x9b\x67\x8f\xd8\x9a\x4b\x45\xdb\x20\x4f\x8d\x81\x8c\xc5\xbc\x58\x2e\x5b\xc3\x36\x3f\x7e\xfc\xb7\xbc\x4f\xfe\xe1\xe3\x73\x9d\xe4\x30\xc7\x88\xb0\x4d\xec\x93\x30\x6d\x6c\x7c\xe5\xef\x13\x54\x3b\x52\x84\x70\xd2\x27\x42\x68\x71\x07\x50\x0d\x41\x2e\xbe\xcd\x0d\xff\x16\x3a\xfc\x3e\xa1\xc3\xc6\xdc\x48\xb5\x87\x58\x81\x3f\x93\x65\x07\xb8\xa3\x87\x7b\x12\xf9\x38\xc6\x37\xe8\x15\xa9\x48\x65\x42\xc5\x19\x28\xba\x1f\x9f\xd9\x07\x4e\x9f\xc3\x63\x14\x3b\x12\xde\xf7\x7a\x2d\x18\x3c\x2a\x43\x66\x65\x46\x05\x27\x23\x40\x52\x99\x17\xf4\x59\x62\xca\x41\xc3\x71\x85\xd9\xea\xd8\x3b\xad\x6f\x95\x78\x61\xe6\x34\x18\x85\xd0\x92\x60\x7a\x80\x72\xff\x1d\xc9\xc0\x7a\x1c\xaa\xab\xae\x4d\xc5\x92\xa7\x31\xa0\x9f\x69\x4b\x26\x3c\x7a\x32\xff\x0e\xfd\xa3\x27\x12\xfc\xc5\xb2\x7f\x22\x24\xcb\xb7\x26\x55\x84\x92\x9c\x84\xb4\xf1\xfd\xc3\x9f\x67\x8c\x47\xa9\xce\xf0\x16\x1f\x17\xa9\xaf\x8f\x57\xe0\x20\x3e\xcb\xb8\xe0\x09\x3e\xb1\x35\xfa\xc7\xb3\x83\xd8\x4c\xc7\x01\xa9\xbc\xf8\xb6\x49\xb8\x2a\xef\x49\x7c\x5d\xa0\x93\x90\x1d\x2b\xdf\xb1\x22\x7d\x57\x76\xb7\x50\xda\xd1\x6f\x2b\xf4\x3e\x53\xc1\xe3\x6d\xc8\x1d\x23\x15\xe9\xb5\xf1\x78\x2d\x95\x99\x7a\xab\x19\xe2\xec\x2b\x34\x1d\xf1\x04\x41\x60\x40\xad\x9d\x24\x95\xad\x9f\x31\x25\x8c\xcb\xc2\x53\x99\x6c\xc1\x4b\xdd\xa4\xe2\x24\x78\x4e\xb0\xbf\x09\x83\x2e\xb3\xa9\xb2\x75\xce\x45\x26\x16\x45\x82\xbe\x2c\xdc\xf6\xdc\x0b\xd0\x3e\x7c\x9c\x8c\xcc\x31\x96\x13\xa1\x6d\xf0\x60\x94\x89\x38\x06\x9e\xb7\x7e\xcf\xea\x15\xf3\xf6\x9c\x46\x29\xc0\x0d\x57\xfa\xc5\x16\x1d\xbc\x70\x8f\x2a\x6b\x3b\x4b\x8e\x16\xe7\xec\xf6\x6a\xec\x7d\xc2\xee\x4a\x1c\xf4\xb2\xb6\x2a\x7d\x26\x62\xb7\x13\xa5\x82\xd7\x21\x85\x25\xc2\xa0\x88\x98\x15\x19\xd6\x2e\x98\x39\x04\x6b\x6d\xaf\xcd\x58\xcd\x61\xd5\xb9\x98\x7b\x3b\x99\x69\xc5\xa6\xc5\xef\x7e\xf7\x47\xc1\x7e\x47\xfa\x7d\x60\x65\x30\x42\x0d\xac\x46\xd8\x3a\x18\x28\xf7\x00\x81\x94\x47\xb5\x19\x61\x4d\x20\x2c\x5b\x48\x08\x30\x26\x1e\xad\x58\x56\xcc\x11\xa3\xc3\x29\xc8\xc9\x95\x23\x0d\xbc\xd2\x00\xb7\xc1\x73\xcc\xf6\x7e\x40\xb0\xe0\x96\xce\x17\x1b\x08\x08\x70\x82\x30\xd0\xa1\x48\x0f\x0c\x0a\xbe\x24\x18\xf0\x5b\x50\xea\x19\xb1\x9f\xe5\xb3\x18\xb1\xfb\x0d\x4f\x9f\x46\xec\x02\xc3\xad\x7f\xd6\xf3\x9d\xf7\xff\x63\xc4\xc0\x9c\x9b\x3a\x38\xb8\xdf\x18\x4d\x1a\x05\x54\x99\x41\x88\xbf\x1e\xad\xb1\x08\x0b\xd0\x3e\x41\x15\xd9\x5d\x7a\x24\xad\x7c\xaa\xc7\xba\xc5\xb4\xc3\xfa\x5a\xef\x34\x55\x2b\xed\xcf\x53\xaa\x9a\x6a\x42\x9a\x98\x73\x0c\x56\xa2\x79\xf1\x13\xf0\x4c\x74\xca\x36\x09\xcf\xcd\x5a\xc9\x28\xfc\x8c\xab\x02\xf1\x77\x78\x22\x57\x6a\xe1\xfa\x3a\x5e\xf6\xc1\xb3\x8d\xd6\x49\xa3\xff\x75\xd4\x01\xac\x45\x3b\xfb\x0e\xde\x04\x6b\x08\xb2\xd0\x2b\xb1\xa3\xe8\x23\x67\x3e\xce\x16\x68\x71\xc3\x6a\x8a\x0b\x48\x22\xf8\xe1\x08\xe5\x61\x8c\x59\x41\xd4\x23\x3a\x22\x56\x4d\x8c\x5b\x0f\xd1\x38\x51\x14\x42\x0c\xd1\x76\xb5\x98\x5e\x56\x7f\x4e\x8b\x5b\x08\xed\xce\x64\x53\x21\xfc\xd0\xcd\xf5\xb0\x6a\x0c\xd4\x63\xcf\xad\x01\xb7\xb8\xf3\x5d\x34\x80\xb6\xc8\x6e\x16\x25\x3c\xeb\x89\x64\x6b\xb4\x3b\x13\x6a\xe8\x1c\xda\xe9\x6f\x33\x7f\x86\x98\xea\xba\xe7\x81\x39\x55\x63\x47\x83\xe7\x5d\x2d\xe7\x1e\xa2\x99\x45\xc7\xb8\x36\x35\x08\x66\xf7\x9c\x89\x23\x96\x15\xd1\x0a\xe0\xfa\x65\x3b\x15\xda\xad\xfa\x8e\x1d\x4d\x95\x71\x56\x50\x45\x82\x43\x42\xf8\x05\x08\xc7\xe5\x7f\x09\xe7\x0d\x11\x2a\x34\x74\x80\xe6\xdc\x4c\x0d\xc9\xc7\x57\x9d\x45\x5b\x39\xc1\xd3\x27\x11\x07\xa1\xbe\x62\x13\xf3\xdc\x78\xcf\xee\x90\x83\xf5\xeb\xf8\x43\xad\xf7\x99\x85\x2f\x16\x3a\xcb\x15\x4b\x9b\xc8\x85\x88\xb6\x51\x8d\x17\xa4\x04\xc3\x38\x5e\x4c\x79\xbf\x90\x6a\x17\x7f\x44\xf3\x4d\xf9\x73\xad\xde\x99\xb5\xe5\xae\xff\x67\x22\xd6\x5a\x28\x0c\xfe\xd1\xa3\x62\x3b\xd2\xcc\xbf\x81\xcf\xfe\x21\x23\x48\xfd\xd8\x0b\x4a\xf6\xcb\xe2\xbb\xe0\xc6\x4a\x5e\x73\x23\xaa\xec\xc7\x2a\x50\x95\x71\xb8\x6f\x90\x74\xb2\x25\x11\xbf\x63\x2b\x50\x19\x70\xec\x4a\x94\x07\x80\xd2\xe9\xa7\x76\xbc\xce\x13\x9d\x15\x69\xf7\xe6\xbf\x2b\xf7\xda\x3e\xbd\x81\xc1\x10\x16\xdb\x7a\x2e\xa0\xfa\xbc\x0b\x3e\xb2\xcb\x51\x30\xf7\xa5\xea\xef\x09\x6f\xf5\x22\x58\x84\x50\xf9\x16\x4d\xa0\xda\xef\x82\x18\x08\x9c\xbc\x4b\x11\x7a\x01\x95\xc3\xb1\xb4\xb8\x4a\xf9\xbe\x1f\x0a\xd3\xdd\x78\x07\xab\xb0\xe6\x94\xc2\x65\xbd\x32\xa4\xc7\xc8\x3e\xdc\xf2\x7c\x85\x81\x1c\xd0\xd4\xc7\x6c\x79\x6e\x1c\x28\x84\xf1\x60\x4a\x62\x9e\xe8\x39\xc8\x7c\x81\x0a\x77\xdb\x3a\xa7\xc5\xd9\x6b\xe8\xea\x13\xd6\x67\x6d\x9b\xfd\x00\x35\x7f\xa9\xc8\x80\xfa\xa1\x9e\xf3\xeb\x8b\x90\x1d\x16\x6c\xaa\x77\xd7\x98\xad\x8b\x5a\xb0\xa9\x4e\x9d\x6d\xac\x3a\xc0\x25\x2f\xf7\xa8\x91\xb8\x0c\xeb\xe6\xcc\xf1\x46\x2c\xa2\x94\x54\x47\x22\xc1\xca\xfb\x5a\x1d\xc5\xa9\x1a\xe3\x27\x25\xd5\x71\x27\x11\xe1\x10\x89\x24\x99\xe5\xf6\x1f\x16\xd2\xb1\x71\x88\x81\x23\xbf\x7e\xe4\x6f\x5c\x10\x1e\x19\x41\xdd\x9a\xca\x65\x6a\xfc\xe9\x0c\xdc\x85\xac\x98\x9f\x78\x8a\x04\x9d\x82\x83\x01\x0c\x1a\x1b\x9e\x82\x1e\xe1\x4a\x26\xf1\x49\xc3\x41\x82\x71\x68\x4f\xf5\x6e\x99\xb5\x78\x42\xe6\x0b\xee\x85\x58\xa3\xeb\xde\xdd\xb5\x63\xdc\x7b\x88\x22\xd9\xfa\x50\x34\xd7\x5d\xf6\xa2\x74\x59\xfa\xb5\x01\x4a\x3d\x10\x40\x2d\x12\x41\xff\xf8\x76\xa2\x34\x66\x7d\xec\xc4\x43\xf9\x6a\x65\x77\x8d\xb9\x1c\x92\xe5\x68\x47\x71\x7e\x5f\xa0\x29\x4c\x60\xb6\xe1\x2f\x8a\xa8\x09\xba\xa9\x0e\xf7\xb2\x0f\xcd\x3a\xab\xc6\x3e\xd4\xa0\x59\xde\x52\x28\x22\xf9\xc9\xa5\xd3\xd3\x19\x05\x2a\x7a\x3c\x49\x42\xd6\x68\x1f\x0a\x9a\x2a\x1f\x30\x30\xc7\x7f\x92\x98\x7f\x46\x55\xc3\x4d\x44\x14\xa0\xfe\x9f\x8b\x91\xad\xa3\x27\x06\x2a\x4a\x23\x9d\xe0\xc5\xdc\x5f\x9f\x77\xed\xe6\x63\xf9\x93\x3f\x58\x09\xe1\x8e\x84\x2d\x3e\x76\xf6\x24\xb6\x83\xfb\xda\x9c\x32\xf1\x32\x6b\xa0\x4a\xee\x6a\xb9\x23\x9e\xa6\x16\xb0\x4b\x4f\x65\x3c\xcd\xe5\x82\x47\xa5\x08\x7a\x4b\x3f\x57\x22\x7a\xda\x68\xa9\x06\xdb\xa2\xa0\x3f\xe6\x44\xca\x45\x96\x33\xdf\x9a\x83\x23\xf7\xa2\x33\x2c\x1d\xcc\xf8\x22\x19\xa0\x12\x2c\x62\xd1\xf3\xeb\x70\xe6\x74\xe4\xda\x97\xdd\xb1\xaf\x32\xc2\x9f\x0d\xaf\x10\x96\xe9\x8e\x57\xa2\xd5\xa8\x1f\xcd\xa5\x80\x36\xaf\x15\x72\xf4\x1c\x6c\xce\x4a\xac\x54\x8d\x43\x0a\x6a\x2c\x20\x23\x7e\xc8\x18\xee\x59\x30\x37\x8c\xc8\x18\xbb\x39\x90\x52\xbe\xa6\xf7\x44\x9a\xe9\x70\xd3\x89\x89\xda\x27\xaf\xb2\x51\xc0\x10\x62\xd9\xca\xb3\xe5\xe1\xae\xc8\x20\x58\x6c\xfc\x5a\xc4\xb2\xa8\xaa\x88\x94\x4a\xac\x7e\xbb\x82\xff\xef\xbb\x82\x03\xea\xe4\x35\xef\xdf\xcd\xc5\x7b\xbf\x9d\xc0\x3f\xd6\x09\x8c\x1c\x58\x58\x95\x30\x64\x68\xa9\xab\x77\xfe\xe7\x87\x0d\xae\x60\x41\x4f\xb2\x01\xe3\xfc\x1d\x3d\x88\xe0\xb1\xb4\x45\x06\x1a\x8f\xde\x46\xb7\x3b\xd7\xea\x7d\x14\x7f\x5f\x08\x0a\xd3\x6a\xdb\x37\x0c\xb8\xe5\xe1\xd2\x31\xd7\xb4\xde\xc1\xda\xf6\xda\xdf\x1f\x2a\xe5\xd4\xc7\x07\x31\x96\xd1\x25\xa1\xae\xad\x45\x54\x02\x93\xb1\x1d\x96\x31\xe0\x5c\xe4\xf9\x9b\xcc\x8d\x7a\xd9\x02\x5a\xf4\xe3\x95\xcc\xf2\x4f\x15\x81\x9b\xfd\x14\x72\x5e\x0d\x37\x61\xbb\x8a\xdd\x0c\x7e\xd1\x99\xee\xbf\x2b\x27\xe4\x8d\x3b\x82\x6b\x0e\x48\x99\xac\xa4\x81\xe9\xf7\x90\xf3\xea\x8b\x1b\xaf\x2f\xe8\x6a\xbf\xa4\x7c\xb3\x11\xa9\xcd\x32\xd7\x80\x00\xa0\x0f\x00\x4f\x01\x81\x8f\x95\x40\x95\xb1\xca\x91\x6a\x4c\x49\xa5\x69\xf8\x1a\x0c\xdd\x69\xf3\xcc\x5d\x17\x49\xd2\x3a\x73\xbb\x69\xc7\xaf\x1f\xaf\xae\x66\x9f\xc6\x57\x8f\x97\x9d\x34\xde\xc1\xd7\x5a\xc7\xc4\xf5\x84\xc6\xc4\x0b\x85\x98\xc7\x0a\xab\x74\xa6\xfd\x5b\xe3\x7d\xa5\x48\x92\x32\xc5\xfb\x54\x7d\xa1\x76\x00\xb2\x87\xf2\x35\x66\xdc\x58\xe7\xc0\x95\x9f\x0f\x5f\xfb\x62\x1a\xff\x82\xbf\x3d\x61\xfe\x25\xde\x83\x10\x09\x09\x1c\x34\x8f\x2b\xe1\x81\x0f\xd8\x0e\x08\x10\x6b\xdb\x0e\xc7\x16\xb1\xd8\x6f\x7b\x3c\x2a\xe0\x0b\x14\xb1\xd5\x9e\x38\xca\xee\xc0\xb1\xfb\x52\x8e\xdd\x3a\x5b\x1e\xe3\x8d\x00\xda\x1d\xa1\xf4\x00\x08\xaa\x79\x76\xfe\xa9\xc2\xeb\xac\xe9\x53\xae\xdb\xfb\xc4\x26\x84\xbd\x48\xb8\x5a\x16\x7c\x29\xb2\x11\xb3\x0f\x9f\xaa\xb5\x5c\xae\x80\x99\x91\x94\xef\xdd\x05\x10\x8a\x78\x2b\x4b\xa8\x82\x25\x94\x6a\xaa\xe8\x9d\xd4\xd2\x37\x8f\x88\xba\x3f\xdf\xbb\xd7\x21\xa0\x22\x36\x44\xea\x09\x6a\xaa\x70\x72\x91\xfe\xd9\x06\xb5\xc0\x5f\xe6\x79\x75\xe9\x72\x50\xd7\x42\x85\x41\x63\xd3\x97\x10\x5e\x9b\x2a\x57\x04\x84\x90\xc7\x50\xbd\x1f\xb1\xd0\xd8\xa5\xdd\xf6\xc4\x4e\x86\xdd\x13\xd4\xb7\xe6\x55\x7f\xf0\x19\x60\x36\xdc\x6c\x80\x54\x5a\xdd\x8c\xf5\xbc\x9a\xf0\xc0\x70\xb4\x55\x86\x42\xe5\x57\x73\x6f\xec\x7b\xe1\x77\x5a\x01\x0b\xba\x98\x27\x03\xba\x84\xdf\xef\xec\x14\x9a\xe4\xee\x4e\xf5\x88\x68\xdf\x55\xb6\x96\x59\xa6\x5d\x8f\x9d\x6b\xdd\x32\x2f\x47\x8c\x0d\x97\x3a\x45\x3f\xd8\x35\x18\x45\x94\xef\xb3\x5e\x7a\x94\x6b\x54\x87\xc8\x5a\x9f\xae\x0e\x25\x32\xdb\xab\x3b\xde\x7f\xea\xdd\x23\xe7\x21\xd0\x61\x37\xc8\xc2\xd2\x39\x57\x32\xb0\x2d\x66\x92\x42\x83\x56\x73\x4c\xa2\x79\x31\x9b\x07\x05\xc1\xcc\xfa\x1f\xb9\x45\x34\xf2\x33\x37\x82\x4e\x46\x45\x9a\x19\x73\x49\xf6\x8e\xac\xb6\x4e\x19\x9f\x2a\xcb\xd6\x6b\xcd\xf1\xd8\x42\x2e\x52\xf7\x57\x2c\x81\xd9\x20\xdb\x25\x78\xac\x39\xd3\x4a\x58\x6b\x38\x55\x56\xa8\x6e\xc4\xf8\x3c\xb3\xfa\x6f\x5c\x6d\x9d\x28\x9b\x74\x8a\x1b\x5c\x31\xc0\xb2\xec\xb6\x79\x15\x37\xa0\x74\xce\xff\x93\xf9\xdf\xdf\xff\xe9\xff\x07\x00\x00\xff\xff\xf5\xc4\x11\x16\x94\x4d\x04\x00") +var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x79\x73\x24\xb7\x95\x2f\x0c\xff\x3f\x9f\x02\xb7\x7d\x23\x5a\xb2\xb9\x48\xf2\x8c\x5f\x0f\x27\x6e\xbc\x4f\x89\xac\x6e\xf1\x8a\x4d\xd2\x5c\xa4\xd1\x33\xe5\x28\xa1\x32\x51\x55\x30\x33\x81\x34\x80\x24\xbb\xec\xf0\x77\x7f\x02\x07\x4b\x22\xb7\xaa\xac\x85\x64\xb1\x95\x33\x11\x16\xbb\x32\x13\xeb\xc1\xc1\x59\x7f\xe7\x9f\xff\x86\xd0\x3b\xf9\x84\x67\x33\x22\xde\x9d\xa0\x77\xdf\x1d\x7d\xf3\xee\x40\xff\x46\xd9\x94\xbf\x3b\x41\xfa\x39\x42\xef\x14\x55\x09\xd1\xcf\xa7\xc9\x42\x11\x1a\x27\xc7\x92\x88\x47\x1a\x91\x63\x1c\xa7\x94\x1d\x65\x82\x2b\x0e\x1f\x22\xf4\xee\x91\x08\x49\x39\xd3\xaf\xdb\x3f\x11\xe3\x0a\x49\xa2\xde\xfd\x1b\x42\xff\x82\xe6\x65\x34\x27\x29\x91\xef\x4e\xd0\xff\x98\x8f\xe6\x4a\x65\xae\x01\xfd\xb7\xd4\xef\xfe\x15\xde\x8d\x38\x93\x79\xe9\x65\x9c\x65\x09\x8d\xb0\xa2\x9c\x1d\xff\x4d\x72\x56\xbc\x9b\x09\x1e\xe7\x51\xc7\x77\xb1\x9a\xcb\x62\x8e\xc7\x38\xa3\xc7\x8f\xdf\x1e\xe3\x48\xd1\x47\x32\x4e\x70\xce\xa2\xf9\x38\x4b\x30\x93\xc7\xff\xa4\xb1\x9e\xe3\xdf\x48\xa4\xfe\x05\xff\x88\x79\x8a\x29\x33\x7f\x33\x9c\x92\x7f\xf9\x76\x10\x7a\x37\x23\x2a\xf8\xa7\x9e\x6d\x9e\xa6\x58\x2c\xf4\x8a\x7c\x20\x2a\x9a\x23\x35\x27\xc8\xf4\x83\xdc\x12\xf1\x29\xc2\xe8\x44\x90\xe9\xc9\xaf\x82\x4c\xc7\x6e\xa1\x8f\xcc\x02\x5f\xc0\x68\xae\x13\xcc\x7e\x3d\xb2\xcb\x04\x2d\xc7\x44\x46\x82\x66\xca\xae\xf7\x0d\x51\x82\x92\x47\x12\x76\x60\x26\x82\xf4\x44\x7c\x67\x32\x23\x11\x9d\x52\x12\xa3\xc9\x02\x51\x96\xe5\x0a\x09\xf2\xf7\x9c\x48\x85\xa6\x34\x51\x44\xc8\x52\x2f\x3c\x23\x02\x56\xf0\x3c\xd6\xbd\x7c\x24\x6a\x00\x6d\x17\xa3\x0a\xdf\x16\x44\x66\x9c\x49\x22\x4b\x8b\x80\xd0\xbb\xef\xbe\xf9\xa6\xf2\x53\x7d\x06\x03\x24\xf3\x28\x22\x52\x4e\xf3\x04\xb9\x96\xc2\xc1\x98\x05\xd5\xe4\x83\x6b\x8d\x21\xf4\xee\x7f\x0b\x32\xd5\xed\xfc\xee\x38\x26\x53\xca\xa8\x6e\x57\x1a\x2a\x0d\x46\x5b\xfa\xea\x5f\xff\xd6\xf4\xf7\xbf\x82\x19\x65\x58\xe0\x94\xe8\x65\xf1\x74\x65\xfe\xaf\x32\x17\x4d\x09\xba\xf3\x82\x5a\xaa\x03\xaf\xcc\xf6\x12\xa7\x44\xef\xbc\xde\x2e\xfb\x05\xfc\x2d\x88\xe4\xb9\x88\x08\x9a\x90\x84\xb3\x99\x44\x8a\xd7\xd6\x80\x42\x0b\x9a\x88\xab\x4f\xf4\x56\x52\x41\xf4\x5e\x29\x91\x93\xca\x53\xb5\xc8\x60\x90\x52\x09\xca\x66\xe1\x52\xfc\xeb\xa0\xd3\xd4\x0c\xed\xaf\x31\x33\xf3\x41\xeb\xc4\x46\x6c\xe0\x5e\x89\x30\x43\x13\x82\xf4\x89\xa7\x31\x11\x24\x46\x58\x22\x8c\x64\x3e\x91\x44\xa1\x27\xaa\xe6\x94\xe9\x7f\x1b\xf2\x8d\xdc\x9a\xed\xcf\xda\xc0\x9f\xcb\x57\xe6\x5e\x12\xa1\x07\xfe\x48\x63\x12\xa3\x47\x9c\xe4\x04\x4d\xb9\x28\x2d\xcf\xd1\x88\xdd\xcd\xf5\x3a\xa4\x13\xca\xe0\xe4\xe9\xb5\x74\x14\xf2\x07\xb7\x5c\x7f\x40\xba\x3f\x94\x33\xfa\xf7\x9c\x24\x0b\x44\x63\xc2\x94\x3e\xd7\xb2\xda\xda\x1f\x38\xf4\x8f\x13\x74\x88\xf4\x3a\x13\xa1\x60\xbd\x39\x53\xe4\xb3\x92\xe8\x10\x25\xf4\x81\xa0\xf7\x17\x54\x2a\x34\xb8\x3e\x7f\x7f\x80\xde\x5f\x14\x8c\x43\xbe\x7f\x81\x15\xf6\x7f\xff\x35\x38\x7a\x0a\xcf\xaa\x87\xee\xdd\x40\x9f\xe6\x5b\x73\x01\x15\x2d\xfc\xf5\xdf\xc2\x76\xec\x7e\x2d\xe7\xea\x05\x4b\xb7\xfc\xbc\x2b\x17\x87\x65\x2a\x33\x70\xa9\x77\x68\x5b\xfe\x5d\xbb\x1d\x1a\x98\xb7\xdc\x92\x7b\xeb\xb1\x57\xd9\xb7\x7c\x5b\xfc\x5b\x4f\xe1\xb9\x79\xf8\x36\x0c\x1c\x2b\x38\x59\x98\x32\x73\x10\xfd\xb9\x14\x52\x9f\x45\x77\x42\xf6\x84\x6d\x6d\xc3\xcf\x83\x99\x05\x2c\xdd\x71\xea\x60\x55\xf6\x70\xde\x09\x4d\xe9\xaa\xfd\x3d\x67\xb1\x16\x1e\x2d\x43\x65\x79\x3a\x21\x42\x2f\x83\x63\xad\x30\xdb\x89\x66\xb5\x2a\x17\x8c\xc4\x1d\xa6\xf9\xf7\x9c\x88\xc5\x92\x79\x4e\x71\x22\xdb\x26\x4a\x99\x22\x5a\x52\xaf\x3c\x9e\x72\x91\x62\x65\x5f\xf8\xd3\xbf\xaf\xbb\x10\x8a\x3f\x90\x55\xfb\x7f\x6e\x76\x33\xc2\x12\xc8\x20\xcd\x13\x45\xb3\x84\xa0\x0c\xcf\x88\xb4\x2b\x92\x27\x4a\x1e\xc0\x6b\x5a\x3b\x20\xe2\xd0\xdf\x72\xd0\x83\xbb\xdd\x73\x09\xbf\xa0\xa9\x67\x76\x8c\x7c\x56\xd0\xd2\x88\xc1\xfd\x0e\x4b\x14\xde\x5a\xcf\xb0\x94\x9b\xd1\x8c\xe4\x42\x8d\x27\x8b\xa3\x07\x52\xeb\xb7\x95\x72\x30\x43\x58\x29\x41\x27\xb9\x22\x7a\xde\xba\x0d\x77\x3f\x03\x7b\x34\x42\x40\x17\xd6\xf0\x7a\x13\x8e\xa9\x20\x11\xcc\x6d\x9d\x03\xe3\xbf\xd2\xf3\xd6\x9a\xd8\xc2\xcc\xfe\x81\x2c\x40\xe6\x69\x58\x01\xbf\xe5\x23\x36\x62\xe8\x10\x9d\x0d\x6f\x4f\x87\x97\x67\xe7\x97\x1f\x4f\xd0\xf7\x0b\x14\x93\x29\xce\x13\x75\x80\xa6\x94\x24\xb1\x44\x58\x10\x68\x92\xc4\x5a\xae\xd1\x83\x21\x2c\xa6\x6c\x86\xb8\x88\x89\x78\xbe\x65\xac\x3c\x25\x2c\x4f\x2b\xf7\x0a\xfc\x5e\x8c\xbe\xf2\x85\x16\x63\xfc\xa3\xd2\x93\xbf\xd6\x16\x18\x66\xac\xfb\x0e\x5a\x7b\x31\xc1\x29\x9a\xd3\x24\x16\x84\x1d\x2b\x2c\x1f\xc6\xe4\x33\x89\x72\x73\x27\xff\xb3\xfc\xc3\x58\x4b\xbf\x3c\x26\xe5\x5f\x4a\xff\x28\xc4\xad\xb5\x3f\xf5\xfa\xf6\xda\x5f\x82\x76\xde\xed\x3b\xf8\x85\xc6\x8d\x6f\xc3\x2f\x2b\xe6\xe0\xde\x59\x32\x58\xf7\x4a\xeb\xa8\xdc\x0b\x56\xd8\x6b\x7c\x47\x10\x25\x16\x63\xac\x14\x49\x33\xb5\xa6\xe5\x01\xa3\x44\xcb\xae\xcb\x64\xd5\x4b\x1e\x93\xa1\xeb\xef\x57\x2b\x82\x1a\x61\xd3\x70\xad\x29\x11\x84\x45\xa4\xbd\x85\x3b\x2c\x1f\x8a\x16\x56\x0b\xbc\x40\x63\x48\x2f\x3f\x2a\x08\xac\xd6\x71\x21\xf6\xea\x25\x29\xde\x5c\x25\xec\x96\xe6\x23\x3f\x70\xa1\x87\xf7\x16\x04\xde\xd2\xc0\x5f\x42\xe6\xdd\xf4\x44\x7f\x71\x56\x8e\x0d\xf9\x53\x6f\x13\xd9\x7e\x25\xbb\x5a\x50\xb8\x40\x72\x21\x15\x49\x57\xda\x52\xde\xce\x42\xd8\x0b\x68\x5f\x07\x5c\xb9\x03\x7f\x03\xa7\xbe\x7c\xa3\xf7\xc7\x7b\x8d\x25\xdb\x95\x25\x74\xdf\xe7\xe9\xbc\x5d\xcb\xa7\x7a\xeb\xb6\x2f\x70\xf7\xbc\x89\x69\x96\x64\xcd\x5d\x0f\xf2\x99\xcc\x19\xad\x7b\xe5\x56\x7b\x0c\x03\x58\xa1\xc8\x96\x6d\xe9\xfe\xfc\xe9\x4f\x43\x0b\x90\x31\xf7\xa9\x39\x95\x81\x31\x0c\x45\x5c\x18\x59\x30\xb6\xe7\xdd\xe8\xb2\x83\xbb\xc1\xed\xf0\xee\x04\x0d\x50\x8c\x15\xd6\x07\x5c\x90\x4c\x10\x49\x98\x02\x3b\x81\xfe\x5e\x2d\x50\xca\x63\x92\x18\x8d\xf6\x83\x96\xac\xd1\x19\x56\xf8\x14\x2b\x9c\xf0\xd9\x11\x1a\xc0\x3f\xf5\xc7\x54\x22\x9c\x48\x8e\xb0\x23\x2b\x12\xbb\x26\x30\x8b\x1d\x6b\xc1\x28\xe2\x69\x46\x13\xef\x47\xf0\xc6\x1b\xca\x62\xfa\x48\xe3\x1c\x27\x88\x4f\x34\x57\xd1\x1a\xf8\xf0\x91\x30\x95\xe3\x24\x59\x20\x9c\x24\xc8\x76\xeb\x5e\x40\x72\xce\xf3\x24\xd6\xed\xba\x51\x4a\x9a\xd2\x04\x0b\xad\xe2\x9b\xd1\x5e\xd9\xb6\xd0\xdd\x9c\xf8\xb1\xc2\xb8\xf4\x6a\xa6\xf8\x81\x48\x44\x15\xca\xb8\x94\x74\x92\x14\x67\xfe\xfe\x1c\xc1\xb8\x4f\x2f\xce\xc1\x5e\x10\x29\xc4\x0d\x0f\x75\x9d\x5b\xfb\x90\xeb\x31\xc5\x8c\x11\xe8\x98\xab\x39\x11\xb6\x7b\xfb\xf2\x6b\xab\xfe\xf7\x97\xb7\xd7\xc3\xd3\xf3\x0f\xe7\xc3\xb3\xba\xee\x7f\x37\xb8\xfd\xb1\xfe\xeb\xcf\x57\x37\x3f\x7e\xb8\xb8\xfa\xb9\xfe\xe4\x62\x70\x7f\x79\xfa\xc3\xf8\xfa\x62\x70\x59\x7f\x68\xc9\xaa\xb3\x19\x21\x1c\xd9\x9a\x67\xab\xb7\x99\x3e\x97\xcd\xf4\xe0\xcb\x35\x9a\x5a\xa7\x54\x77\x83\xa9\xb7\x51\xd8\x2f\x51\x86\xa5\x34\x92\x91\x19\xc1\xd1\x88\x7d\xe2\x42\x33\xb0\x29\xd7\x3c\x42\x4b\x4f\x4a\xe4\x91\xa2\x6c\xe6\x3f\x3a\x41\xa3\xfc\x9b\x6f\xfe\x18\x5d\x50\xf6\x00\x7f\x91\x7d\x5c\x9c\xde\xa2\xdc\x5b\x94\x7f\x5b\x16\x65\x2d\xfa\x1c\x87\x86\xe4\xdd\x06\x57\x69\xe1\x02\x7c\xe2\x5a\x94\xe0\xb9\xd2\x7f\xea\x2e\x81\x3c\x96\x84\x58\x75\x33\x58\xfa\x08\xab\x96\x3e\x04\x4f\x41\x90\xfb\x4c\x25\x30\xa3\x27\x2e\x1e\xa6\x09\x7f\xea\x66\xae\xfc\x48\x94\x1f\x86\x16\x9c\xde\x82\x95\xf2\x67\x3b\x43\x3f\xf0\x8f\x44\xe9\xb1\xdf\xd8\x5e\xfa\x60\xab\x3e\xd8\xea\x75\x83\xad\xf6\xca\x54\xf8\xfc\xac\xb5\x6c\x57\x34\xfc\xb5\xc5\x0f\xd7\xea\x66\x6b\xf1\xa2\x05\x4e\xb2\x17\xe1\xc9\x65\x57\xd4\x2e\xf9\x72\xd9\xd9\xb4\x82\x27\x97\x86\xf1\x56\xf8\x72\x69\xd0\x2f\xcf\x93\x7f\x13\x7e\xa2\xde\x0d\xb4\xe1\x42\xbd\x49\xd6\xdd\xf1\x56\x7a\x31\x27\xce\xf3\x5f\x25\xb5\x98\x8f\x75\x82\x3c\xd6\x88\xea\xe8\x1c\xc6\xb1\x22\x6e\xa3\x31\x50\xa3\x29\x32\xa3\x1e\x8a\xd1\x18\x7b\xb1\x5d\xb0\xc5\xa6\xb7\x5e\xf7\xf0\x89\x75\x6f\xbd\xee\x81\x13\x1f\x89\x2a\x0d\xe3\xad\xdc\x7a\xa5\x41\xbf\xfc\xad\xf7\x1b\x8d\x97\xe8\x03\x24\x9e\x71\xe9\xbe\xf4\xbb\x72\x7f\x43\x20\x7e\x03\x31\x0f\x7d\x90\xc3\x5a\x6b\xf4\x65\x45\x35\x7c\xa9\x61\x0c\x6f\x33\x6e\xa1\x0f\x54\xe8\x03\x15\x5e\xc3\xa3\xf4\xf6\x02\x15\x9e\x55\xf1\x25\x9a\xac\x24\x58\x51\x43\xe5\xe6\x5d\xc6\x65\xbb\xbe\x17\x3a\xaf\x1b\xf4\x3a\x68\xb3\x6c\xcd\x04\xea\xfd\x15\xcd\xb1\x44\x3c\x8a\x72\x51\x71\xd1\x56\x4f\xf9\xa9\x20\x58\xe9\x23\x52\x36\x5c\x22\x68\x19\x09\x12\x71\x01\x4e\x4a\x8c\xb2\x39\x96\x04\x29\x81\x99\xa4\xab\xb4\x3c\xd3\x2a\x8c\x4b\xb7\xf3\x16\x14\xbc\xfa\x22\xbe\x94\x7a\x37\xe1\x71\xed\x40\x9a\xb3\xda\xf4\x64\xf9\x4d\xb2\xb3\xa9\x43\xda\x6f\x97\x99\x3f\xe3\x51\xd1\xb7\xd6\x8e\x8f\x4a\x49\x8d\xdf\xf4\xa8\x94\xad\x1d\x3b\x39\x2a\x30\xae\xb7\x72\x54\xea\x8b\xf8\x9b\x39\x2a\x4d\x53\xdf\x87\xa3\xe2\xc2\x01\x76\x7c\x5c\x6a\x3e\xf8\x4d\x8f\x4c\x3d\x5c\x61\x27\xc7\xc6\x8f\xef\xad\x1c\x9d\xe6\x05\xfd\xcd\x1c\x9f\xb6\xe9\xbf\xee\x11\xf2\x7e\x88\xce\x87\xe7\x4e\xd0\xd9\x8c\x08\xa3\x19\x45\x9a\x14\x57\x43\x2d\x15\x96\xf7\xcd\x0e\xcc\xea\xd3\xe0\x7b\x78\x0b\x27\xc1\x0f\xd6\x8c\xfd\x37\x73\x04\x6a\xf3\xde\x13\xda\x3f\xd6\x9c\xf8\x11\xd0\xda\xba\x9d\x81\x1b\x02\x84\x0f\x17\x48\x26\xc8\x23\xe5\xb9\x4c\x16\x87\x22\x67\x4d\xdc\x1e\x8c\x04\x4f\x34\x49\x10\x67\xc9\x02\x49\x85\x85\x72\x8f\xd9\xcc\x78\x94\xf4\x61\x4a\xb0\x54\xe8\x81\xf1\x27\x86\xa6\x98\x26\xb9\x20\x28\xe3\x94\xa9\xa3\x11\x3b\x67\xe8\xc6\x8c\x11\x34\xef\x03\x94\x4b\x7d\x04\x23\xcc\x18\x57\x28\x9a\x63\x36\x23\x08\x33\x07\x5d\x53\x50\x06\xe2\x02\xe5\x59\xac\x0f\x96\xee\xa2\x62\x63\x2a\x0e\xd8\x88\xdd\x81\x15\x43\x22\xf2\x59\x09\x92\x92\x64\xa1\xfb\xd0\xb4\xaf\x38\xb2\xeb\x63\x86\x6a\x0d\xe2\x44\x08\x2e\x24\xe8\xec\x93\xc5\x3f\x30\x53\x94\x11\x04\x6a\xa6\x34\xc0\x47\x87\xe8\x82\x4b\x88\xc9\xfe\xf1\xcf\x12\x45\x49\x2e\x15\x11\x07\x68\x92\xcf\x24\xa2\x0c\x65\x09\x56\x53\x2e\x52\x3d\x42\xca\xa4\xc2\x13\x9a\x50\xb5\x38\x40\x29\x8e\xe6\xa6\x2d\x58\x03\x79\x30\x62\x31\x7f\x62\x52\x09\x82\x7d\xef\xee\x21\xfa\x2a\x7c\x66\x08\x40\x7e\x7d\x00\x86\x7b\x9a\x66\xc9\x22\x1c\x7e\x90\x08\x0d\x7b\xa2\x1b\x21\x31\x9a\x90\x08\xe7\xd2\x1a\x76\x94\x58\x20\xf2\x79\x8e\x73\x09\x7b\xa7\xa7\x67\xad\x1e\x11\x4f\xb3\x84\x28\x82\xe8\x14\x29\x41\x49\x8c\xf0\x0c\x53\xbd\x74\xb7\x64\x49\xe2\xb6\x27\x7a\xbb\x81\x96\xea\x7f\x05\xcb\x47\xca\x05\x41\x31\x51\x98\x26\x72\xb9\x53\xf2\x45\x09\x0e\x3d\x3b\xbd\xa1\xfd\x25\x37\xb4\xd7\xd4\xb6\xe4\x26\xb4\x3b\xd6\x5f\x85\x6f\xe9\x2a\x2c\x73\x85\xbd\xb8\x0b\x0d\x48\xc4\x0e\x04\x42\x66\xad\xe2\x11\x4e\xb6\x94\x0d\x6f\xec\xa0\xd6\x96\x0e\xdd\x87\xfd\xa1\x78\x5b\x87\xc2\xec\xda\xfe\x9c\x8a\xb6\x84\x8a\x9d\x23\xc5\xac\x83\xf1\xb2\x24\x23\x42\xa2\x14\x2b\x7d\xb1\xcd\xec\x15\xdd\x11\xc5\xb0\x00\x75\x79\x53\x07\xe5\x25\x90\x5c\xbe\xec\x88\x85\x3e\x52\xe1\x37\x88\x40\xbb\x37\x09\x8c\x7d\x0e\xf4\x33\xe5\x40\x53\xd9\xe7\x40\xf7\x39\xd0\x5d\x17\xa8\xcf\x81\xee\x73\xa0\xdf\x6c\x0e\xf4\xb3\xa6\x3f\xef\x2e\xc9\x79\x37\x99\xcc\x6f\x4a\x3a\xef\x25\xf3\x5e\x32\xef\xd3\x95\xfd\xd4\x76\xc5\x05\xdd\xd7\xef\x62\x92\x10\x45\xda\x0d\x74\x44\xa4\x5a\xe1\x30\x37\x3c\x65\x5a\x14\x9c\x09\x22\xe5\xb6\x3c\xcd\x37\x1c\x96\x57\x68\xf0\x47\x14\x28\xb3\x9e\x2c\xc1\xae\xb3\x8c\xd9\xf9\xb6\xdf\x26\xcb\xf3\xc3\xef\x21\x1b\x7a\x1e\xd8\xf3\xc0\x4d\xa6\xb6\x3f\xe6\xe8\xe0\x30\xbf\x94\x3d\xda\xf3\xf6\x2c\x6f\x17\x4e\xef\x8d\xa3\xb5\x60\xb4\x86\xc2\x21\x2b\x95\xfb\xc3\x6d\xe9\x7c\x4b\x5e\xbf\x4e\x5f\xcb\xf8\xba\x69\xe7\x6d\x32\x75\x33\xf6\x9e\xa3\xf7\x1c\xbd\xe7\xe8\x6f\x9b\xa3\xbb\x93\xfc\xaa\xee\xc5\xa0\x70\xda\x98\xc6\xdb\xd4\x4e\xeb\x5e\x87\x02\xa7\x24\x1e\x42\x96\x98\xcf\x71\x13\xbf\xea\x4f\xc2\xaa\x68\x2e\x1f\xac\xbb\x03\x32\xfc\xba\x58\xf5\x52\x29\xab\xcd\xfc\x91\x45\x81\xb2\xf3\xf8\x4d\xb8\x24\x1b\x57\xf8\x0b\x29\xae\xb6\x1f\x5c\xe4\xc5\x6b\xab\xed\xc7\xb4\x7b\x17\x59\x5f\x5a\xad\x77\x02\x75\x9c\x70\xef\x04\xda\x5f\x27\x50\x87\x6d\x7c\x16\xcf\xee\x0b\x1f\xcf\x97\x12\x1d\xbb\x67\xee\xb8\x04\x1b\x16\xa3\x3c\x4b\x38\x8e\x3b\x56\x47\x0f\x24\xba\x0e\xe9\x3b\x2c\x46\x82\xcc\xa8\x54\x44\xe8\x7d\x69\x14\x0c\x57\xe7\xf3\xbc\xd5\x32\xe8\x9d\x23\x36\xc3\x6e\xdf\xfd\x7b\x87\xe1\xdf\xd8\x3b\x1b\x38\xd1\x04\xc7\xbe\x3e\x31\x88\x6f\x29\x5e\xa0\x39\x7e\x24\x2e\xca\xfc\x11\x27\x34\xc6\xd5\xb5\xae\xcc\x70\xd9\x80\xfe\x73\xbd\x01\xe1\xf2\x70\x7c\x41\x3b\x59\x8e\x02\xb6\x00\x15\xf0\xce\x5c\x6b\xe5\x89\x20\x38\x5e\xa0\x09\x21\xcc\x93\x4d\xc3\x7d\xd2\x32\xe6\x9d\x08\xce\xaf\xae\x95\xd6\xa9\x67\x5f\xd4\xd2\x17\x8c\x7b\x6d\xe6\x37\xdb\xeb\xa0\xdb\x2b\x9e\xf2\xbb\xb7\xc5\x82\xfa\x58\xd8\xde\x36\xf9\xfa\xb6\xc9\x3e\x16\xb6\x57\xf4\xf7\x4c\xd1\xef\x63\x61\xfb\x58\xd8\xde\x0c\xb2\x7c\xda\xbd\x19\xe4\x8b\x88\x85\xed\x24\xc3\x6f\x18\x0d\xfb\xc6\xa5\xf9\x5e\x98\x77\xef\xf5\xc2\x7c\x2f\xcc\x7f\xa1\xc2\xfc\x7e\xac\x70\x2f\xc9\xf7\x92\x7c\x2f\xc9\xf7\x92\x7c\x2f\xc9\xef\x7c\x19\x7b\x49\xbe\x59\x92\x87\xbf\x5c\xb1\x9d\x75\xc5\xfa\x35\xc5\xf9\xb5\xd3\xdd\xd6\x77\x06\x7e\x24\xea\xad\x7a\x02\x7b\xa9\xbd\x97\xda\xf7\x5b\x6a\xdf\x9b\x09\x7d\x79\x85\x32\xfa\x52\x13\x7d\xa9\x89\xbe\xd4\xc4\x33\x97\x9a\x70\x5f\x77\xc8\x91\xb2\x87\x4b\x61\x95\x4b\x83\x55\x5c\x04\x9b\x74\x12\x7b\x3a\xa4\x46\x55\x7a\x58\x2d\xf7\xa0\x81\x42\x29\xd7\xba\x1b\x23\xa5\x77\x1c\x83\x33\x81\x35\x33\xfa\x48\x18\x72\xc9\x01\x07\xf6\x1a\x3b\x00\x63\xca\xbf\xfc\xe1\x33\xc9\xb7\x58\x21\x8c\x14\x4d\xc9\x11\x3a\x9f\x1a\x6e\x11\xe9\xd3\x25\x89\x92\x95\x68\x2c\x43\xf9\xf0\x11\x8b\x8b\xb1\xba\xbe\x69\x11\x9c\x63\x5e\x3b\x70\xcc\x36\x4f\x94\x61\xbd\xae\x71\x40\x1a\x9d\x78\x0e\x05\x07\x2d\x25\x22\x71\x5f\x96\xba\x75\x2f\xa7\x38\xd6\x8c\x21\x18\x42\x91\x25\x1c\xbe\x0f\x77\x3a\x95\x3e\xbc\xa8\xf4\xbd\xf9\x1a\xe0\x4a\x01\x5e\x14\x60\xd5\x3b\x0d\x63\x0e\xd1\x6f\x5a\xc4\x8b\xf3\x84\x20\x2c\x25\x8f\x28\x06\x35\xc6\xc8\x00\x88\x2a\x67\x69\x70\x2f\xb9\xae\x63\x2a\xf1\x24\x21\xb1\x5d\x63\x52\x44\x3b\x2d\x1d\x39\x95\x68\x42\xf4\x12\x6b\x36\x55\x5e\xfd\xb9\x91\x40\x1a\x46\x13\x0c\x85\xd4\x47\x42\x98\x19\xc8\x12\x09\xda\x10\xe7\x5b\x15\xa2\xfb\x8c\x3b\xff\xb4\x17\xa9\x7b\x91\xfa\x37\x2a\x52\xef\x51\x84\xe6\x5e\x24\x0e\x82\x0f\x54\x73\xfe\xb1\x37\x6c\xca\xae\xb6\x9e\x0b\x2a\x95\x44\x51\x2e\x15\x4f\xdb\x25\x9f\x4f\xae\x87\x81\xef\xe0\x94\xb3\x29\x9d\xe5\xe6\x6e\xf9\xd5\xca\x26\xfe\x44\x17\x6a\xca\x22\x23\xdd\x0c\x43\xde\x6e\xbd\xaa\xb3\xc6\x7c\xc4\x06\x27\x6f\x43\x3b\x6f\xe2\xb6\x6b\x1e\xfa\x4b\x5d\x7a\xeb\x28\xab\x85\x7d\xdc\x6a\x9a\x5a\xbf\x18\xdf\x0c\x6f\xaf\xee\x6f\x4e\x87\x27\x68\x90\x65\x09\x35\x2e\x2b\x43\x61\xf4\x1f\x7a\x52\xa6\x6a\x94\x27\x11\x2b\x10\x19\x30\x77\xf0\x91\x69\x7d\x10\x1d\xa2\xd3\x8b\xfb\xdb\xbb\xe1\x4d\x4b\x83\x96\x24\x00\x71\x80\xa4\x59\x02\xf2\xd1\x43\x3e\x21\x82\x11\x2d\xe1\x5b\xc8\xf7\xc2\x73\x66\x1a\x1d\xfe\xf7\xf0\xf4\xfe\xee\xfc\xea\x72\xfc\x97\xfb\xe1\xfd\xf0\x04\x39\xda\xd2\xcd\xea\x71\xe9\x51\xc4\x0b\x86\x53\xad\x75\x97\xcb\x5b\xfd\x3d\x27\x39\x88\x63\x74\xc6\x52\x02\x95\x18\x4a\x2d\xba\x01\x5f\x0c\xbe\x1f\x5e\x94\x5b\x9e\x93\x10\x87\x1e\x25\x78\x42\x12\xeb\xca\x03\xef\x94\x3e\x3f\x01\x62\xbf\xf1\xf1\xe5\x66\x55\xff\x72\x3f\xb8\x38\xbf\xfb\x65\x7c\xf5\x61\x7c\x3b\xbc\xf9\xe9\xfc\x74\x38\xb6\x9a\xd4\xe9\x40\xf7\x5b\xea\xc9\x2a\x5c\xe8\xef\x39\x4e\xb4\x46\xce\xa7\x0e\x99\x1e\x3d\xcd\x09\x43\x39\x03\x8a\x33\x6a\x3e\x68\x25\x21\x2c\x8f\x99\xd1\xf5\xc5\xfd\xc7\xf3\xcb\xf1\xd5\x4f\xc3\x9b\x9b\xf3\xb3\xe1\x09\xba\x25\x09\x28\xc2\x6e\xd1\x61\x17\xb3\x24\x9f\x51\x86\x68\x9a\x25\x44\xaf\x06\xb6\x38\x10\x73\xfc\x48\xb9\x28\x69\x2b\xb0\x8e\xc0\x0a\xa0\x7d\xa7\x70\x8e\x83\xa5\xbb\xba\xfc\x70\xfe\xf1\x04\x0d\xe2\xd8\xcf\x41\x42\x1b\x25\xca\x71\x68\x42\x87\x35\x34\xa1\x08\x9b\x80\x10\x28\xd0\xfe\x48\x84\xa0\x31\xa9\xd0\xd1\xe0\xf6\xf6\xfc\xe3\xe5\xa7\xe1\xe5\x1d\xac\x98\x12\x3c\x91\x68\xce\x9f\xc0\x0b\x04\x33\x04\xe7\xd0\x23\xa6\x09\x74\xe6\x36\x8b\x33\xf4\x34\xa7\xe0\x39\x84\x0a\x05\xbe\x67\x63\x93\x10\x79\x3d\xa9\xe2\xa5\xb5\xfe\xd2\xc1\xab\xab\xea\xd5\x93\x54\x7f\xa3\x72\x2c\x96\xbd\x50\xa2\xf2\xfa\x8b\xab\xa8\xb5\xfe\x45\x85\xdc\xda\x0d\x14\x35\x7a\x69\x9f\x69\xb1\xd7\x9d\xed\x13\xe5\x35\x7c\xb1\xdb\x5b\x33\xde\x78\xec\xec\x54\xc7\xff\x2c\x31\xe0\x7f\xed\x30\x5a\xcb\x24\xe8\x2c\xc5\x2e\x0c\xb2\xd5\x7f\xb5\xd7\x6c\xc7\xcb\x3b\xf8\xb2\xe9\xc3\xba\x1f\x27\xf8\xe0\x2d\xdc\xca\xe1\x70\xf7\xe8\x06\xbe\x09\xe5\x2c\x27\xae\xa7\x44\xe1\x18\x2b\xac\xf9\xda\x8c\xa8\x23\x74\xc5\xe0\xd9\x1d\x96\x0f\x07\xc8\x15\x1e\x43\x5c\xa0\x42\x90\x7d\x81\x04\xf7\x37\x62\xc0\x5c\x5f\xb9\xea\x8d\x04\xbd\x91\xa0\x79\x65\xfa\x68\xb9\x96\x15\xde\xd5\x8d\xba\x96\xcd\x7f\x77\x17\x5f\x60\xe2\x77\x81\x2f\x15\x1b\x6d\xe9\x46\x5c\x69\x8f\x7d\xbb\x97\xe1\xcb\x5a\x64\x77\x7a\x35\x9a\xba\x64\xfd\xbd\x67\xfe\xaf\xbf\xf7\xfa\x7b\xaf\xbf\xf7\xf6\x60\x85\x5f\xdd\xba\xdd\xc0\xdd\x5f\xd5\xbc\xbd\x4a\x41\xde\x18\x26\xaf\x50\x88\xd7\x01\xca\xfb\xb5\x0b\x1e\x5e\x83\x59\xbb\xae\x21\x4b\x24\xe7\x58\x98\x82\xdf\x11\x4f\x53\xce\xca\x76\xf3\x03\xe4\x9d\xfc\x60\x94\x5c\x09\xa6\xaa\x29\xbb\xe8\x86\xbe\x0d\x7b\x77\xb0\x2e\x2f\x91\xdd\xb4\x53\x11\xc2\xa4\x0d\xf4\xfa\xf5\x33\xca\x19\x3d\x8e\xe1\x4e\x71\x0c\xf7\x63\xae\xcf\x92\x09\xb5\x7b\x1b\xfc\xdb\xc8\x7e\xea\x01\x0b\xfb\xfc\x9e\x3e\xbf\x07\x7e\xef\x01\x0b\x77\x47\xad\xcf\x2b\xd3\xf3\x98\x8c\x2b\x15\xba\xfc\x3f\xc7\x55\x97\x57\xe9\x49\xe8\xff\x2a\x3d\x28\x12\x9e\xa0\x75\x1a\xef\xb2\xaa\xd7\x25\x8f\xc9\x16\x95\xbd\xf4\x88\x3a\x57\xf5\x2a\xf5\xb5\xe7\x22\xbc\x5b\x26\x23\xca\x97\x06\xfe\xcc\x82\x7c\x0b\xc5\x7c\x89\xd6\xa8\x06\xfa\xef\x4d\x53\x2b\x17\xea\x4b\x2d\x9b\x50\x30\xb8\x37\xe4\xa8\xe9\x76\x0b\xb8\xf0\x9e\x71\xcb\x5d\xd0\xfc\xdc\xdf\x08\xcd\x8f\x9f\x07\xd2\xa6\xfb\x85\x50\x41\xb2\x29\x5f\x05\x9b\x22\xd8\x94\xba\x7f\x1b\x76\x9e\x70\xc4\x2f\x61\xe9\x59\x4a\x4c\x5f\xdc\x35\xb1\xec\x68\xf4\x97\x45\xc7\xe5\xfa\x52\xaf\x8c\x1e\x79\x66\x99\xed\xa5\x87\x76\xe9\x4d\x3f\xfb\x33\xe1\xde\xf4\xf3\xa6\x4d\x3f\xc6\x51\x3d\xce\xb0\x20\x4c\x35\xc8\xe8\xd5\xeb\x04\x5e\x0f\x73\xf8\x9d\xd4\x01\x0d\x18\x69\xd1\x5e\xc8\xfe\xaa\xfa\xb2\x6c\x41\x56\x30\x08\x92\x97\x8e\xff\x59\xfc\xed\xa5\xff\x52\x5d\x8b\x25\xd1\x5e\x06\x34\x5f\xea\x3b\x3a\xb7\x81\x5f\xdb\xa7\x37\xd9\x14\x62\x27\x0a\x26\xe4\x91\x24\xdd\xe2\xc3\x5c\xfa\x02\x89\x0b\x81\xaa\x98\x5d\x43\xdc\x58\x5d\x40\x6d\x8e\x19\xbb\x36\xef\xbd\xad\xe4\xa6\xda\xa0\x5f\x36\x7e\xac\x4e\x56\xdd\x8e\xa7\xdb\x77\x6a\x12\x75\x82\x6c\x10\x2d\xeb\xf2\x69\xb8\xa3\x2e\x19\x1b\x43\xae\x52\xdb\xfd\xf2\x9b\x8b\x2a\x69\xdd\xf9\x57\x8d\x2d\x69\xe2\x3d\x4d\x0c\xa7\x8b\xf5\x78\x57\x49\x94\x8e\xd8\x5a\x62\x3e\xda\xcc\xcd\xcf\xc4\x6c\x3e\x12\xf5\x65\x70\x9a\x8f\x44\xbd\x14\x9b\xd9\x94\xb7\x2c\xe5\x2b\x45\x0d\x9d\xfd\x8b\x5d\x58\x27\xa8\xe6\x67\x33\x49\x1b\x51\xe3\x73\x97\xc3\xa9\x2a\x6e\xb5\xcc\x92\xa0\xde\xe7\x98\xf6\x39\xa6\x7d\x8e\x69\xf5\xa8\xf7\x39\xa6\x7d\x8e\x69\x63\x46\x4c\x4c\x12\xa2\x48\xab\xd4\x72\x06\x8f\x5f\x4b\x6a\x31\xbd\x3f\x97\xcc\x62\x5a\xff\x32\xc4\x16\x33\x97\x5e\x72\xf9\xcd\xe8\x45\x6e\xc3\xf7\x42\x2f\x32\x27\x79\x95\x69\xa6\xf4\x63\x43\x10\xfe\x8b\x9b\x6b\x36\x61\x49\x3b\xb0\xd9\x1c\x3a\xd7\x58\x91\xd3\xd2\xd5\x8c\x73\x06\x5f\xbe\x49\x5e\x55\x1d\x7a\x6f\xd2\x41\xc1\xd6\x3d\x1f\xeb\xaa\x9d\xb9\x6e\x13\xb7\x34\xfa\x76\xe7\xbd\x2f\x2c\xbb\x8d\xee\xf7\x95\x71\x6f\x9c\x27\xf5\x05\x18\xb8\xd6\xe3\xcc\x85\xcd\xeb\x0b\x62\xcb\xbd\xfd\xeb\x95\x73\x77\x6a\xfc\xf7\xcd\x4e\xb7\x37\xf7\xf5\xe6\xbe\xde\xdc\xd7\x9b\xfb\x7a\x73\x1f\xea\xcd\x7d\x2f\x64\xee\x5b\x4f\x82\x2b\x59\x00\xbf\x20\x21\xae\xb7\x06\xf6\x72\xdc\xee\xa6\xbb\xaf\x9a\xf4\x3e\x99\x40\x3b\x23\x69\x17\x49\x84\x2b\x73\x47\xec\xb4\x7f\x5d\x99\x34\x12\x54\x25\x71\xc3\x59\x95\x18\x72\xed\x86\xfd\x76\x98\x9c\x7c\x6e\x3e\xb6\x4d\xf8\xbb\x5b\xf7\x2f\x36\xfa\xbd\xaf\xbb\xda\xb8\x56\x7d\x70\xfe\x92\xc5\xe9\x83\xf3\xfb\xe0\xfc\xbd\x0b\xce\xdf\xb9\x4a\x95\x71\xb9\x0c\x3c\xcc\x5c\xcd\x4b\x51\x03\xdc\x45\x6f\x74\x19\x4d\x0a\xa6\x56\x5c\x4c\xb2\x84\x2f\xc0\xde\xb3\xd4\xf2\x6d\xba\x28\x94\xa0\x65\x97\xbf\x7b\xfb\xba\x1e\x1e\xb1\xe7\xf7\xbf\x1b\xf9\x4b\xa9\x35\xfb\x22\xf6\x16\xf3\xde\x0b\x41\xf7\xf8\x9f\x15\xc8\x8c\x4e\x98\xba\x01\xc8\xc5\xea\x63\x30\x62\xcd\x4f\x82\xf2\x8e\xf6\xd6\x9c\xe4\x2a\xc8\x47\x95\xfa\x00\x64\x44\xa8\x45\xf0\x26\x49\x33\xb5\xf8\xaf\x11\xa3\x45\x15\x38\x3a\x63\x5c\x18\x1e\xa8\x3f\x9e\x63\x16\x27\xfa\xfc\x48\xdf\x4e\x84\x19\xe3\x0a\x84\x13\x98\x41\x8c\x1e\x29\x36\xa2\xcc\xe0\xfa\xbc\x43\x7c\x40\xa7\xb3\x58\x72\xed\xbf\xa1\x93\xf8\xd2\xf5\xd5\x56\xdc\xa2\x1f\x13\x3e\x81\x8a\xa0\x79\xd9\xc4\xa0\x1b\xe8\x9d\xd1\xa5\x9d\x7b\x2d\xe6\xa1\xb0\x7c\xa8\x02\xf9\x94\x61\x1d\xc6\x4b\xa1\x7d\x56\xbc\x5b\x2a\x76\xb1\xfc\xd5\x0a\xfc\x4f\xf9\x99\x05\x04\x82\xc7\x30\xe4\xea\x38\xdc\x8f\x61\x87\xee\xb7\xa2\x65\xf7\x8b\xab\xa8\x0e\x3f\x0a\xa2\xc4\x62\x8c\x95\xd2\x0c\x69\x97\x98\x43\x77\x58\x3e\x6c\x81\x39\x54\xf6\x34\xad\xc0\x1c\x2a\xf5\xb5\xe7\x1c\xab\x84\x39\x54\x1e\xf8\xb3\x73\xac\x8e\xc4\xbd\x82\xb1\xbd\x3d\x78\x89\xae\x47\x75\x8d\x89\xff\x56\xa0\x26\xba\xb1\xae\x55\x46\xe7\xb7\x08\x3b\xb1\x8c\x17\xef\xcd\x08\x2b\xd7\xc1\x97\x78\x72\xcb\x97\x5b\x7f\x44\x97\xad\xd1\x17\x57\xfa\xb5\x22\xb3\xac\x98\xdb\x1b\x29\x01\x5b\x15\xbb\x76\x3d\xaa\xe7\xb1\xbf\x07\xbb\xb1\x4e\x08\xd5\x79\xb9\xe4\x81\x3f\x43\x2e\xa8\xaa\x00\x8d\x37\xa5\xce\xa9\x0c\xf1\x24\x22\x2e\x8c\xe4\x15\xdb\x33\x6b\xec\x89\x06\x9b\xfb\x04\x0d\x50\x8c\x15\xd6\x87\x54\x90\x4c\x10\x49\x98\x32\x5a\xbd\x41\xaa\x4f\x79\x4c\x12\xa3\x51\x1b\xd3\xd5\x19\x56\xf8\x14\x2b\x9c\xf0\xd9\x11\x1a\xc0\x3f\xf5\xc7\x50\x1f\x5e\x72\x84\x1d\xe1\x90\xd8\x35\x81\x59\xec\xcb\xd2\xa3\x88\xa7\x19\x4d\x7c\xb9\x07\xef\x5e\xa0\x2c\xa6\x8f\x34\xce\x71\xe2\xe1\xf5\x47\x6c\xf8\x48\x98\xca\x41\x03\xc4\x49\x82\x6c\xb7\x01\x7a\xbe\x33\x05\xb8\x51\x4a\x9a\xd2\x04\x0b\xa4\xb8\x1d\xed\x95\x6d\x0b\xdd\xcd\x89\x1f\xab\x2b\x25\x80\x52\xfc\x40\x24\xa2\x0a\x65\x5c\x4a\x3a\x49\x8a\x63\x7c\x7f\x8e\x60\xdc\xa7\x17\xe7\xb6\x36\x3b\xe2\x86\x0f\xba\xce\xad\x03\xc3\xf5\x98\x62\xc6\x08\x74\xcc\xd5\x9c\x08\xdb\xbd\x7d\xf9\xb5\xcd\xaf\xaf\x0d\xf9\xde\x6e\xca\x0d\x47\xf6\x7a\x3a\x6b\x67\x85\xb5\xab\xb6\xda\x4d\x55\x6d\xd7\x53\x9f\xc1\xe7\xdc\x5d\x99\xac\xe0\x15\x96\xd5\xc8\x4d\xf1\x0a\x4b\xdd\xbf\x09\xe7\x74\x69\xc4\x2f\x81\x57\xf8\x1b\xd5\x2c\x7b\xb5\xf2\x59\xd6\xed\x4b\xd5\x29\xf7\x5c\xa1\xec\x91\x16\xfb\x2a\x17\x7d\xa8\xc9\x0e\x17\xa7\x0f\x35\xe9\x43\x4d\xbe\xd8\x50\x93\x76\xf5\x84\xc6\x5b\x67\x6c\xae\x59\xd7\xce\x5b\x19\xc4\xaf\x20\x4a\x69\xb1\xbf\x43\xa5\xbb\x26\x6d\xa1\x90\xa5\x4b\x95\xa9\x36\xd7\x1c\xce\xe3\x37\xa1\x32\x34\xae\xe6\x4b\xa8\x0e\x7d\x91\xb4\x9d\x16\x49\xdb\xbb\x69\xf7\x52\x65\x2f\x55\xf6\x82\x53\xc7\x09\xf7\x82\xd3\xfe\x0a\x4e\xaf\xa5\x0d\x7d\x49\x78\xd9\x5a\xc4\x2a\x65\x25\x2d\x8d\x53\x36\xf8\x4a\xe0\xcc\xc8\xb3\x84\xe3\x78\x55\xc4\xd1\xaf\x81\xf8\xb6\x44\xee\x0b\xda\x15\x45\x9c\x72\x45\xfc\x5b\x26\xdb\x99\x06\x74\x8f\x6f\x41\xb4\xd3\xe3\x34\x23\xee\x10\x1d\x19\x76\xf8\xee\xdf\x3b\x0c\xfc\xc6\xde\xc9\xc0\x69\x26\x38\x76\x00\x06\x46\x3c\x4b\xf1\x02\xcd\xf1\x23\x41\x53\x4c\x13\x63\x9f\xa3\x31\xae\xae\x6f\x65\x6e\xcb\x06\xf4\x9f\xeb\x0d\x08\x97\x87\x53\x64\x34\xea\xfb\xc2\x48\x55\x11\x4e\x9c\xbb\x0f\xde\x99\x63\x89\x70\x22\x08\x8e\x17\x68\x42\x08\x0b\x32\xd9\xba\x8e\x79\x27\x82\xf1\xab\x87\x67\x86\x74\xf3\xaa\x51\xde\xc0\x35\x20\x5e\xb1\x14\xf7\xf8\x5c\x8a\x65\x95\x93\x6c\xa1\x43\x6e\xa3\x38\xca\xef\xde\x0a\x73\x79\x09\x35\xf1\x0b\xf6\x22\xf5\x9e\xa2\xe5\x61\x78\x3b\x8a\x6a\x1a\xb1\x3b\xad\x5a\x15\x18\x0c\x41\x8a\x2c\xfa\x83\x5b\xae\x3f\x40\x84\xbe\x8d\xda\x4f\x16\x85\xe6\x2d\xab\xad\x79\xb9\x0c\x1d\x6a\xa1\x38\x22\x42\x19\x90\x07\xa6\xc8\x67\x25\xd1\x21\x4a\xe8\x03\x41\xef\xf5\xe9\x40\x83\xeb\xf3\xf7\x07\xe8\xbd\x29\xaa\x8f\xb2\x04\x33\xf9\x7e\x6f\xb4\x8f\x5e\x45\xef\x93\x8c\x7b\xcf\x4f\x6f\xc0\xe8\x0d\x18\x3b\x5f\xc6\x7d\x32\x60\xbc\xa2\x8c\x6e\x72\x9b\x9e\xa5\x98\xed\xbe\x48\xeb\xbd\xb0\xde\x0b\xeb\xbd\xb0\xfe\xc5\x0a\xeb\xfb\xb1\xc2\xbd\xa4\xde\x4b\xea\xbd\xa4\xde\x4b\xea\xbd\xa4\xbe\xf3\x65\xec\x25\xf5\x8a\xa4\x0e\x7f\x39\xb4\x80\x75\xc5\xf6\xce\xe2\xfa\x66\xd0\x00\xdd\xdc\x74\x16\x1b\xe0\xad\x48\xe6\xbd\x54\xde\x4b\xe5\xfb\x2d\x95\xef\xcd\x84\xbe\xbc\x84\xe0\x3e\xa5\xb6\x4f\xa9\xed\x53\x6a\x5f\x23\xa5\xd6\xf1\x92\x65\x12\xce\xb2\xba\x3e\x3f\x59\xe6\xf2\x15\x65\x51\x92\x83\xa8\xaa\x7f\xfe\x3e\xa7\x49\x8c\x40\x45\xd2\x9a\x2e\xe5\xec\x6b\xa0\x27\x20\x05\x18\xa7\xab\x44\xb1\x5c\x82\xf9\xa9\xc6\xea\xf6\x56\x88\x29\x46\xbb\x29\x0c\xdb\xae\xf6\xd4\x15\xc6\xd8\xa4\xfa\x5f\xe9\x37\xd7\xd0\x1e\xd5\x04\x3c\x70\x62\x89\xe6\x48\x6e\x7c\xcf\x5c\x1d\xb0\xb1\xcf\xb5\x6a\x05\xfe\x6c\x3f\x7a\x5b\xa5\x0c\xea\xa3\xee\x2b\x04\xa2\x60\xd7\xfa\x0a\x81\xcf\x38\x6f\x77\xce\x56\xcc\xdc\xd1\xa8\xb1\x85\xbf\xd1\x69\xbf\x7a\xb0\x63\xfb\x49\x7f\xd5\xd0\xc7\xc6\x8b\xac\x96\x5b\x77\xfc\xcf\xc6\x7b\xea\x15\x0a\x23\xae\x7d\x39\xed\xa4\x44\xe2\x36\xd7\xd3\x47\xa2\xbe\x94\xbb\xa9\x2f\x93\xd8\x97\xd7\xd9\xd1\x74\x37\xba\x7b\xde\xec\x6c\xfb\xa2\x90\x7d\x51\xc8\xbe\x28\x64\x5f\x14\xb2\x2f\x0a\x89\x7e\xe3\x45\x21\xd7\x96\x5f\x77\x50\x1e\x72\x1b\xe9\xd5\x74\xff\xa5\x08\xb0\x7d\x89\xc8\x5e\x86\xdd\xdd\x74\x7f\x5b\x32\xec\x1e\x5a\x50\xf6\xa2\x16\xa6\xb7\xa0\xbc\x3a\x2c\x91\x67\xed\x9d\xa1\x89\xc2\xb8\x17\xff\xf5\x4e\x11\x8a\xdc\xa6\xf5\x28\x45\xf6\xff\x7a\x94\xa2\x1e\xa5\xa8\x65\xd6\x7d\x60\x75\x8f\x52\x84\xfa\xd0\xe1\x3e\x74\x78\x9f\x43\x87\x3b\x6c\x63\x8f\x52\xd4\x51\x64\x7c\x26\xa4\x22\x27\x73\x6d\x85\x56\xd4\x20\x0e\xae\x46\x2c\xfa\xb9\xae\x11\xed\xad\xa8\xe7\xc6\xda\x23\x17\xf5\xc8\x45\xdb\xd2\xce\x5e\x28\xa0\x2f\x88\x60\xd4\xc4\x61\xd6\xc9\x8b\x6e\x60\x2e\xdb\x2a\x98\x6f\x03\xcd\xc8\x8d\xb6\x4f\x92\xee\xd3\x31\xf6\x3f\x1d\x63\xef\x92\xa4\xf7\x46\x53\xe9\xd5\xf9\x3e\x4f\xba\xcf\x93\xee\x8d\x1d\xbd\xb1\x63\xe7\xcb\xb8\x4f\xc6\x8e\x57\x96\xdb\x9f\x11\xd5\x68\x1f\x25\xf8\x5e\x80\x37\xef\xf5\x02\x7c\x2f\xc0\x7f\xa1\x02\xfc\x7e\xac\x70\x2f\xbd\xf7\xd2\x7b\x2f\xbd\xf7\xd2\x7b\x2f\xbd\xef\x7c\x19\x7b\xe9\xfd\xc5\x90\x8e\x9a\x44\xf8\xb5\xd1\x8e\xd6\x74\xf3\x05\xc9\x6c\x6f\x49\x5a\xef\x25\xf5\x5e\x52\xdf\x6f\x49\x7d\x6f\x26\xd4\x23\x1f\xf5\xc8\x47\x3d\xf2\x51\x8f\x7c\xb4\x91\x8c\xf4\x6f\xf6\x58\xbe\x0b\x6e\x62\x7f\x65\xbf\xfb\x3e\xe1\x93\xbb\x45\x46\xf4\x7f\xcf\x68\x4a\x98\x04\x89\x96\xaa\x45\x28\x13\xb5\xac\x7c\x7d\xcd\xdf\xdd\x9e\x5f\x7e\xbc\x08\x53\xd5\xde\x7d\xba\xbf\xb8\x3b\xbf\x1e\xdc\xf8\x75\xf1\xb3\x0a\xd7\xc2\x7e\x57\x12\xeb\x2c\xc9\xdf\x10\xad\xbf\xc2\xa9\xb9\x55\x58\xe5\x72\xb3\x91\xdd\x0c\x6f\x87\x37\x3f\x41\xaa\xdd\xf8\xec\xfc\x76\xf0\xfd\x45\x89\x20\x4a\xcf\x07\xa7\x7f\xb9\x3f\xbf\x69\x7f\x3e\xfc\xef\xf3\xdb\xbb\xdb\xb6\xa7\x37\xc3\x8b\xe1\xe0\xb6\xfd\xeb\x0f\x83\xf3\x8b\xfb\x9b\xe1\xd2\xf5\x58\x3a\xda\xe5\x8a\x8c\x84\x45\x82\x2c\x16\x14\x59\xae\x21\x8a\x35\x44\x5e\x7c\x74\xec\xb0\xa9\xaf\x13\x74\x6f\xed\x02\xd4\x36\xee\x42\x92\x7c\x43\x46\xa1\x89\xa9\xc4\x93\x84\xc4\xb5\x96\xdc\x1a\xb6\xb5\x84\x4b\x83\x7a\xd2\x1a\xb8\x17\x39\x35\xcf\x8b\x0c\x2f\x40\x90\x00\xac\x08\x8b\x1b\xfa\x30\xfb\xd0\xda\x03\xd3\xbc\x8b\x3e\x92\x52\x4f\x51\x2e\x04\x61\x2a\x59\x18\x81\x5b\xd6\x1a\x75\xdb\xd7\xd6\xac\xbd\x53\x7d\x83\x73\x2c\x4d\xe4\x55\x69\xfc\x82\x24\x04\xcb\x86\x31\xdb\xdd\xef\xb6\x2c\x7e\xaf\xac\x45\xc7\x5c\x46\x53\x4c\x93\x5c\x90\xca\x69\xe1\x69\x86\x05\x95\x9c\x0d\x3f\xeb\xbb\x4c\x1f\xe4\x2b\xf8\x9c\x8b\xcd\x4e\xcc\xf0\x2f\x21\x05\x5f\x96\xff\xf9\xf1\xae\xfc\xaf\xd2\x99\xbf\xb8\x2b\xff\x6b\x39\xad\x07\x0d\x57\x29\xfb\x10\x7d\xbc\x3b\x41\x1f\x21\xa4\x4b\xa0\xbb\x39\x36\x14\x7b\x71\x77\x82\x2e\x88\x94\xf0\x4b\xf1\xb1\xa2\x2a\x81\xb9\x7d\x4f\x19\x16\x0b\xe4\xa6\x6f\xb2\xc8\x31\xf8\x4a\xdc\xd2\x54\x17\x8f\xfd\x2d\x67\xa0\xfe\x17\xab\x77\xc1\x67\x34\xc2\xc9\x76\x8b\x38\xb8\x2c\xf1\x81\xab\x9b\xa5\x4b\x11\xbe\x5d\x5f\x8b\xc1\xe5\x19\x64\x68\xbb\xa1\x36\xcc\xfc\x92\x48\x4d\x24\x11\x67\xb1\xf5\x1f\xe9\xdb\x7f\x11\x08\xf5\x7f\xe3\x90\xe5\x9e\x4b\xad\x6a\x0e\x2e\xcf\xd0\x31\xba\xba\x19\xb1\x2b\x11\x1b\x63\x2a\xd1\xd2\xb0\xa1\x39\x2a\x11\xe3\x0a\xd1\x34\xe3\x42\x61\xa6\xb4\x22\x00\x62\x80\x5d\x11\xc3\x01\x4e\x79\x9a\xe6\x0a\xeb\x83\x56\x5b\x54\x66\x4c\x2a\xb7\x44\x9d\xc7\xe0\x9e\x69\x58\x43\x23\x27\x14\x73\xc9\x84\x6e\x5f\xcb\x28\x65\x3d\x9c\xc6\x35\x55\xd6\x35\x81\x85\xc0\x65\x69\xe2\x1d\x55\x24\xad\xbe\xdf\x31\xbc\xf8\x5f\x8d\x46\x86\x53\x93\xce\x43\xc4\x40\x44\x73\xaa\x48\xa4\xf4\x11\xdc\x88\x26\xee\x2f\x7f\xbc\xbc\xfa\x39\x94\x20\xde\x0d\x3e\x9d\xfd\xe9\xdf\x4b\x3f\xdc\x7c\xaa\xfd\x30\xfe\xe9\x4f\xb5\x5f\xfe\x7f\x4b\xe9\xa9\xda\x53\x4d\xcf\x0f\xe6\x72\x08\x22\x35\xd8\x95\xdd\x54\x11\x4d\xf1\x8c\x20\x99\x67\x9a\x02\xe4\x51\x79\x7f\xb5\x48\x79\xc1\x71\x4c\xd9\xcc\xa4\x57\x5f\x50\x45\x04\x4e\x3e\xe1\xec\x83\xb3\x81\x6f\xb0\x3a\xff\xf7\xb6\x94\x0c\xff\xee\x97\xc1\xa7\x30\x9d\xfe\xdd\xf5\xcd\xd5\xdd\xd5\xd2\x59\x97\x5a\xa8\x1f\x23\xfd\xf8\x04\xfe\x17\x1d\x23\xdd\xba\x97\x7c\x53\xa2\xb0\xd6\x08\xd0\x57\x26\x25\xd4\xa7\x70\x51\x96\xc0\xa9\xc9\x04\x4d\x29\x5c\x29\xc6\x0a\xf8\xb5\x11\xae\xbd\xf6\xe0\xcf\x8d\xf9\xc0\x24\x7d\xdb\x4b\x99\xc5\x58\xc4\xe8\x6f\xb2\x8a\xcd\x00\xc6\x67\xf3\x03\x89\xd1\x21\x9a\x2b\x95\xc9\x93\xe3\xe3\xa7\xa7\xa7\x23\xfd\xf6\x11\x17\xb3\x63\xfd\xc7\x21\x61\x47\x73\x95\x26\x06\x8b\x42\xaf\xc2\x09\xba\x16\x5c\x5f\x21\xa0\xa0\x13\x41\x71\x02\xa9\xe8\x13\xc3\xff\xf8\x14\xfd\x1a\x71\x41\x8e\x8a\x8d\xb1\x86\x29\x7b\x8f\x58\xe3\xd5\xb1\x7e\xa9\x81\x99\x54\xf7\x13\xc5\x24\xa2\xb1\x15\x33\x08\x8b\x38\x58\x2f\x8d\xbf\x43\xb7\xe7\xf2\x68\x89\x75\x36\xfb\xe5\x0c\x94\x15\x1c\x93\x00\x4a\x42\xf1\x32\xc1\x69\xc5\xe7\xdc\xa8\xad\xb9\x56\xd1\x21\xba\x19\x6e\x55\xf7\x6a\xa6\x27\x1c\xf1\x04\x4d\xf2\xe9\x94\x88\xd0\xd7\x7d\xa0\xb5\x19\x2a\x91\x20\x11\x4f\x53\x90\x18\xf4\x57\xb9\x34\x54\x0d\x2b\x66\x47\x7b\x34\x62\xb0\xff\x5a\xcd\x01\x0a\x88\x39\xb0\x3a\x46\x48\x8c\x30\x5b\x98\x6e\x26\xf9\xb4\xe4\x4b\x07\x8c\x17\x1c\x23\xaa\x46\x6c\x90\x24\x48\x90\x94\x2b\x12\x86\x69\x83\xe3\xad\xb4\xe0\xc0\x22\x05\xc9\x12\x1c\x39\x10\x80\x84\x47\x38\x41\x53\x9a\x10\xb9\x90\x8a\xa4\x61\x03\x5f\x81\xad\x46\xaf\x19\x95\x28\xe6\x4f\x2c\xe1\xd8\xce\xa3\xfa\xd9\xd7\xe5\xd3\x38\x74\xf8\x1b\x43\x21\xb8\x80\xff\xf9\x91\xb2\x78\x67\x1c\xea\xfe\x76\x78\x13\xfe\xfb\xf6\x97\xdb\xbb\xe1\xa7\xf5\xb8\x8f\xa7\x2c\x18\x1e\xe8\xf0\x27\xe8\xd6\x2c\x02\x17\x5a\x22\x12\x2d\x93\xfa\x64\x49\xa9\xf8\x81\xc7\x1b\x72\xdf\x4f\x83\xcb\xfb\x41\x89\xa3\xdc\x9e\xfe\x30\x3c\xbb\xaf\xe8\x03\x76\x7e\x25\x19\xde\xa8\x7f\xe1\x6f\xa7\x3f\x9c\x5f\x9c\x8d\x1b\x14\xc6\x77\x37\xc3\xd3\xab\x9f\x86\x37\x85\x6e\xd7\xb8\x44\x95\xc1\x54\x99\xd5\x9d\x61\x4a\x73\x1e\xa3\xc9\xa2\x19\x6d\x45\x4b\xce\x09\xf8\x73\x0b\xbc\x21\xd3\xea\x09\xf0\x26\x07\x7c\x53\x7c\x91\xf2\x98\x1c\xd8\x77\x00\xa6\xc6\x18\x57\x8c\xc4\xdc\xdc\xb0\xee\x1d\xb3\xc0\x50\x61\x10\x64\xfc\xc2\x9d\xa0\x01\x92\xfa\xc5\x5c\x1f\x6a\x41\x67\x33\x30\x1c\x56\x86\x6a\x5a\xb3\x9f\xc2\xf2\xc2\x77\x66\xff\x33\xc1\xe1\x9c\xeb\x6e\xad\xc5\xd9\x5b\x25\xcc\x87\x06\x65\xb7\xd4\xa2\xc0\x60\x70\x68\x18\x9a\xdb\x2c\xbd\x08\xad\xeb\x65\xce\x63\x91\x58\x01\x6c\x4b\x1a\x7b\x67\x26\xc8\x23\xe5\x79\xf0\xa9\x45\xcd\x29\xed\x78\x63\xf3\xc5\x02\xc0\xb2\x19\xa3\x48\xa5\x19\x4f\x1e\x8d\x2d\x68\x16\xf6\x08\x2d\x4c\x05\x4f\x1b\xda\x28\x1f\x93\xf3\xab\x5b\x25\xb0\x22\xb3\xc5\x99\x65\x19\x9b\x1f\x8f\xb3\xab\x9f\x2f\x2f\xae\x06\x67\xe3\xe1\xe0\x63\xf9\xc4\xfb\x27\xb7\x77\x37\xc3\xc1\xa7\xf2\xa3\xf1\xe5\xd5\xdd\xd8\xbd\xb1\x94\xe4\x5b\x3a\xa8\xdf\xd3\xe5\x17\x4f\x90\x66\xb9\xc0\x1a\x1d\x9c\x65\xc0\x1f\x27\x64\xca\x85\xe1\xf3\xa9\x0b\x7f\xb0\x22\x8c\x5b\x5b\xab\x8b\x55\x66\x71\x02\x96\xb1\xa6\x26\x8d\xd5\x5b\x09\x82\x53\xb8\x27\x30\x43\x43\x16\x1f\x5e\x4d\x0f\x6f\xcd\x8f\x29\x16\x0f\x44\xf8\x4f\x9f\x04\x55\x8a\xb0\x92\x4a\x87\xdd\x90\xbd\x92\x58\x74\x70\x84\x6e\x34\xdf\xd7\xef\xfb\x4b\x4d\x13\x7b\x4c\x14\xa6\x89\xb4\x83\x2d\xad\xeb\x09\xba\xc0\x62\x56\xd8\xe1\xbe\xe2\xd3\xa9\x69\xec\x6b\x33\x0c\x7d\x87\x95\x66\xd1\xc0\x7b\x35\x69\xb8\x7b\x11\xfa\xb3\x2f\x7b\x79\xb8\x4e\x55\xf7\xd9\x76\x34\x75\x7f\x0d\x2b\x6e\x34\xf6\x92\x6e\x68\x9f\x34\xd0\x1a\x4c\xdc\x3c\x5e\x7e\xc9\x34\xb7\x5d\x27\xa7\xf2\x8b\x0d\xe4\x64\xb2\xf8\xf4\xce\x4f\xb5\xb6\xd9\x40\x4b\xe4\x33\xb5\x06\x83\x70\xdc\x15\x12\x2a\x9a\x01\xf3\x2a\xce\x32\x82\x85\x6c\xda\xed\xb2\x18\xd8\xb2\xf7\xa6\xa7\xb0\x0f\xbb\xc9\xae\x9f\x03\xc4\x19\x18\x1c\xbc\x10\x51\xa1\xc8\x0e\x34\x60\xda\xaa\x51\xc0\x35\x40\x99\x5d\x59\xd8\xb0\x4f\x54\x6a\xa5\xd1\xfc\xf8\xbd\xc5\x33\xdb\x8c\x20\x3e\x0c\xce\x2f\x2a\xc2\xc5\xf8\x6c\xf8\x61\x70\x7f\xb1\xdc\x4c\x58\xfa\xae\xba\xc5\xe8\x10\xe9\xe7\x65\xdf\x3b\x9d\x9a\x3b\xc3\xa1\xb2\x19\x95\x96\x30\x30\x5a\xd9\xa4\x3b\x63\xaf\x8e\x49\x96\xf0\x45\x4a\x18\x98\x78\x4a\x37\xa1\x5e\xcf\x29\xa6\xf6\x6a\x09\x06\x0b\x56\x1c\x6b\x76\x83\x6b\xec\xd0\x41\xc1\x91\xd8\xdf\xbc\x65\x24\xb8\x0a\xeb\xbe\x36\xde\x33\xfb\x9f\x5b\x85\xd5\x86\x67\x6c\x70\x7a\x77\xfe\xd3\xb0\xac\x1f\x9e\xfe\x70\xfe\x53\x93\x54\x33\xfe\x38\xbc\x1c\xde\x0c\xee\x56\x08\x27\x95\x26\x9b\x84\x13\xa9\x07\x5c\xf5\x9e\x52\xe9\xa3\x8a\x22\x83\x27\x87\xa8\x92\xe8\x91\x4a\x3a\xa1\x80\xbe\x67\x3d\x91\xf7\xe7\xc0\x59\x21\xcd\x92\xaa\x85\x13\x5f\x4c\xbf\xe5\x7d\xd4\x9c\xd4\xb6\x6f\xcc\x0e\xa1\x7f\x12\xac\x7c\x66\x73\xdc\xa4\x4f\x10\xe8\xb6\x8f\xa0\xb4\x05\x9f\x31\x2d\x48\xb3\x19\x11\x66\x38\xe0\x7d\x09\xc7\x12\x3c\xd7\xa3\x0a\x85\x95\x62\xd5\xbc\xd0\x3a\x23\x8c\x08\x80\xf7\xf2\x9d\x18\x41\x4a\x10\xf6\x5e\xcb\x5c\x59\x42\x23\xaa\x92\x05\x8a\xc0\x86\x05\xe6\xcc\x14\x33\x3c\xb3\xc2\x01\xa8\x39\x15\x92\xf8\x8b\x81\x28\xbc\x9a\x5a\xd3\xfe\x1d\x25\x1b\x1e\xb3\xfb\xcb\xb3\xe1\x87\xf3\xcb\x32\x09\xfc\x70\xfe\xb1\x24\xc2\x7e\x1a\x9e\x9d\xdf\x97\x6e\x73\x2d\xc9\x2e\x97\xeb\xab\xcd\x36\x1c\x45\xff\xd2\x09\x3a\x33\x9f\x9e\xe8\xc5\x6d\xc0\x5f\xf4\xca\x6f\x65\x1d\x6e\x5c\x58\x9f\xfb\x63\xc8\x94\x68\xf4\x4b\x74\x35\x21\x59\x1f\x64\xc9\x86\xd4\x1c\xaa\x50\xeb\xfb\xb2\xea\x54\xae\x87\x72\x58\x47\xa4\xee\xe4\xa8\xb0\x2c\x85\x31\x0c\x60\x34\x68\x33\x62\x35\xb8\xb5\x0a\x86\xfd\x13\xb8\xa8\xd3\x5c\x2a\xe3\x4a\x04\xe2\x44\x0f\x7f\x96\x7a\x41\xc1\xd5\x78\x84\x6e\x09\x19\x31\x67\x3d\x98\x51\x35\xcf\x27\x47\x11\x4f\x8f\x0b\xf0\xcf\x63\x9c\xd1\x14\x6b\x49\x9a\x88\xc5\xf1\x24\xe1\x93\xe3\x14\x4b\x45\xc4\x71\xf6\x30\x83\x28\x1a\xe7\x4e\x3d\xf6\xcd\xce\xf8\xef\x2e\xfe\xf8\xcd\xe1\xc5\x9f\xbf\x79\x57\xb7\x90\xb5\xed\xff\x90\x45\x38\x93\x79\x62\xa3\xee\x44\xb8\x36\xee\xc8\xe7\x64\xd5\x7e\x5f\x96\xb7\x6b\x3b\xfd\xf5\xf4\xfa\xbe\x64\xb1\x2e\xff\xf3\xd3\xf0\xd3\xd5\xcd\x2f\x25\x4e\x79\x77\x75\x33\xf8\x58\x62\xa8\xc3\xeb\x1f\x86\x9f\x86\x37\x83\x8b\xb1\x7b\xb8\x8d\xed\xed\x47\xc6\x9f\x58\x79\x69\xa4\xe3\x80\xb5\x9e\x4e\xd0\x07\x2e\xd0\x8f\x7e\x27\x0f\x27\x58\xc2\x15\xe3\xee\x2c\x79\x80\x32\x1e\x03\xe3\x45\x24\x9b\x93\x94\x08\x9c\x58\x9b\x81\x54\x5c\xe0\x99\xb9\xe9\x65\x24\xb0\x8a\xe6\x48\x66\x38\x22\x07\x28\x02\x6a\x98\x1d\xc0\xa6\x80\xaa\xc5\x67\x55\x3b\xdf\x4d\xce\x14\x4d\x89\x53\xc1\xed\x3f\xef\xcc\x66\x6c\xb0\x39\x57\x77\x3f\x94\x85\xbd\x0f\x17\xbf\xdc\x0d\xc7\xb7\x67\x3f\x2e\x5d\x4f\xf3\x59\x69\x64\xb7\x10\x80\x74\xca\x93\x3c\x65\xe1\xdf\x9b\x8f\xed\xfc\xf2\x6e\xf8\xb1\x3a\xba\xab\xc1\x5d\x99\x32\x6e\xca\x41\x72\xef\xbe\xbf\xba\xba\x18\x96\x5c\xc2\xef\xce\x06\x77\xc3\xbb\xf3\x4f\x25\xfa\x39\xbb\xbf\x31\x50\x9f\xcb\xa6\xe9\x46\xd0\x30\x51\x3d\xad\x70\x9a\xbb\x66\x85\x9d\x38\xd1\xc0\x06\xa5\x9b\xb3\x7c\x18\x00\x3d\x99\x70\x30\xb0\xea\x1c\x7a\x93\x6a\x64\x46\xda\xc8\x0e\x55\x79\x9b\x50\x3b\x3b\x5e\xba\xd1\xcb\xb8\xf2\x9d\x1f\x82\xc1\xd9\x35\xca\x36\x4e\x12\xfe\x64\xc2\x81\x53\xaa\x6f\x65\x0b\xfb\xa7\x5f\x91\x85\x87\xf0\xa8\x81\xe3\x95\xb7\x85\x44\x82\xa8\x4f\x3c\x67\x6a\x73\x92\x1b\x5c\x96\xf8\xce\xf0\xf2\xa7\xf1\x4f\x83\x32\x05\x9e\x5f\x2c\x67\x35\x61\x13\x0d\x57\xf1\xe0\xf2\x17\x7f\x09\x43\xd0\xf8\x81\xd7\x50\x8d\xec\x1a\x25\x54\x8b\xbd\x11\xd6\xda\x6b\x02\x12\x0d\x22\x14\x4c\x0e\xa9\x9e\x1c\x04\xa9\x66\xc6\x9f\x64\xf8\x93\x19\xe4\x89\xfb\xa3\xd2\x9e\x84\x75\x01\x6b\xaa\x8b\xc9\x87\x76\xac\x56\xcd\x10\x61\x8f\x54\x70\x00\x8b\x46\x8f\x58\x50\x2d\x8d\x9b\x96\xf5\x5c\x4f\xe0\x7f\xd7\x6b\x13\x0c\xa3\x15\xc6\x75\xcb\x85\x3a\xf3\xc1\xc0\x9b\x59\x43\x9a\x82\x62\xeb\xe1\xb0\xcd\x86\x8e\xfa\xb7\x0d\x9b\xb3\x65\xd0\x70\x79\xc2\x7f\x4f\xce\x28\x4e\x34\x03\xd8\x9d\xbc\x38\xb8\xbc\x3d\x2f\xcb\x8f\x65\x35\x23\xe0\xcb\x1b\xcb\x8b\x60\xa8\x34\x23\x77\xca\xc4\xed\x5f\x2e\x8c\x76\x01\x88\xe2\xe6\xdc\x06\x8a\x85\x85\x66\x31\xd2\x44\x86\x85\xac\x7c\x21\x11\x40\xf0\x15\x01\x57\xfa\xce\x82\x70\xa6\x47\x4e\xe3\x11\x23\x9f\x33\xc2\x24\x04\x07\x98\xfb\xac\xf0\xb5\xcb\x23\x74\x3e\x05\x96\xa0\x5f\x67\x28\x67\xd6\x01\xa6\x2f\x5c\x33\xc8\x03\x2d\xca\x16\xe8\x30\x81\xf9\x88\x11\x17\x2c\x55\x0c\x7e\xc4\x7e\xf6\x4e\x34\x78\x34\xe5\x9a\x01\xe9\x5d\xb4\xed\x9d\x20\xcc\x24\x3d\x40\x5a\x61\xa9\xee\x29\xa4\x1f\x68\x85\xd2\x86\x70\x69\x4e\x63\xff\x7c\xf9\x6b\xa0\x16\x27\x1c\x5e\x06\xcd\x77\x41\xe5\x2a\x68\x11\x8d\x13\xe3\x31\x19\x77\xbf\x13\x22\x2e\x88\xf5\xb3\xac\x7d\x0d\xac\x62\xec\x77\x58\x3e\xd4\x7c\x0f\xe7\x4c\x2a\xcc\x22\x72\x9a\x60\xb9\x61\x10\x92\xb3\x71\x1c\x94\x25\x8e\x9b\x9b\xfb\xeb\xbb\xf3\xef\x57\x70\xf9\xea\xc7\xf5\x30\xa0\x28\xc9\x9d\x7b\x6e\x22\x38\x8e\x91\x66\x9f\x33\x6e\x5c\x81\x56\xf0\x2f\x70\xf5\x4d\x6e\x90\x0f\xa8\x2c\x61\xfa\x17\x29\x0d\xd6\xce\x11\xba\x12\xa8\x5d\x08\x14\xe9\x95\x40\x81\xc9\xc3\x6d\x35\x78\x16\x4d\xb9\x21\x6b\xdd\xca\x12\xac\xa6\x5c\xa4\x86\xcb\x97\x26\x6d\x1a\x5f\xde\x28\x65\x8a\x08\x91\x67\x8a\xba\x42\x09\x55\x29\x55\x6f\xd9\x05\x9f\x7d\x22\x52\xe2\x19\xd9\xc6\x01\xdd\xa4\x3c\xdc\xfe\x14\xfe\x13\x1c\xcc\x5d\x64\xff\xd2\x08\x5d\xe4\xbb\xa3\xa7\x2b\xf6\xc1\x04\xf2\x5c\xf3\x84\x46\x1b\x06\xdc\x7d\x18\x9c\x5f\x8c\xcf\x3f\x69\x25\x7e\x70\x37\xbc\x28\x89\x12\xf0\x6c\xf0\xe1\x6e\x78\x63\x11\xe2\x07\xdf\x5f\x0c\xc7\x97\x57\x67\xc3\xdb\xf1\xe9\xd5\xa7\xeb\x8b\xe1\x8a\xc8\x9c\xd6\xc6\xeb\xd6\xd5\xea\xab\x27\xb5\x5f\x60\x87\x35\x2f\x0b\xed\x65\x90\x79\x86\x69\x02\x4e\x70\x6e\x9c\xe1\x18\x31\x1e\x1b\x0c\x2e\xe9\xac\x33\x1e\x96\x1d\x9d\xab\xf7\x49\x82\x70\xae\x78\x8a\xc1\x6b\x93\x2c\x46\x0c\x4f\x34\x6b\xc5\x49\x12\x84\x77\x89\x9c\x31\xcd\x62\x75\x63\xa6\xfe\x41\x94\x10\xcd\xce\xb3\x20\x61\xd0\xfa\x0d\xa6\x94\x41\xa4\x6d\x8a\xc5\x83\x2b\xe6\xe8\xd3\x30\xfc\xa1\x90\x08\xcb\x11\x33\xd8\x60\x56\x5a\xe9\xb0\xc2\x27\x9d\xde\x6a\x5d\x9d\x14\x3f\x10\xbd\x2a\x69\x1e\xcd\x51\x26\xf8\x4c\x10\x29\xad\x6d\x39\xc2\xcc\x04\x20\xd8\xd7\xf5\x35\x34\x62\x8c\xeb\xa5\x70\x26\xec\x98\x64\x84\xc5\x84\x45\xd4\xa4\x06\x82\xef\xde\x9b\x36\x67\x02\x67\x73\x24\x39\x38\xbd\x61\xd9\xc1\x7e\x65\x3e\x72\x37\x99\x45\x43\x83\xc7\xa1\x05\x5a\xe4\x9a\x4f\x5c\x81\x9c\x68\x56\x19\x3e\x76\x97\xa1\x73\xbb\x18\x3b\x60\x9a\x25\x44\x99\x4a\x18\xb0\xe4\xb0\x19\x7a\xad\x4b\xfb\xa1\xb7\xa9\x69\x13\xf4\x85\xed\xc6\x8c\xa5\x1d\xd1\x51\x83\x65\xdb\x1e\x29\xf4\x03\x66\x71\xa2\x5b\x71\x3e\x8c\xf2\x59\x84\x54\x94\x81\xa6\x1a\x77\x1a\xb7\xb9\x45\x23\x9c\xcb\x6d\xae\xd1\x4a\x3e\xa7\xb1\x0a\x1e\x16\x41\x21\x40\xde\x36\x99\x13\x56\x37\xd3\x2c\x12\x27\xdc\xae\x92\x79\x3d\x37\xd5\xdd\x10\x8c\xa6\xe5\x9a\xcd\x04\x65\x11\xcd\x70\xb2\x91\xee\x57\x09\xc6\xb7\x31\xee\x5f\xd1\xa9\x26\x9f\xaf\x6b\x6e\x5b\x45\x44\x0a\x49\xce\x76\x98\x7e\x0b\xd7\xb0\x24\xd9\xac\x06\x22\x8b\x68\x12\x2c\x78\x6e\xfc\x71\xb0\x2e\x24\x6e\x38\xaa\x47\x4d\xdb\xad\x4f\x06\x2e\x07\x40\x6f\xb0\xd9\x26\xf2\xa7\x6d\xfd\x2a\xad\xd8\xde\x4d\x30\x1e\x4e\xae\x9b\xdb\x6c\xda\x81\xe0\xe1\xbf\x96\xd1\xce\x27\x9c\x69\x9a\xb1\x35\x31\x70\x31\x47\xab\x24\xd9\x9a\x7f\x2e\x7e\x26\xf0\x9d\xfb\xbc\x90\xee\xbb\x51\x2c\xa1\x0d\x80\xaa\x77\x52\x8a\x21\x08\xf2\xd4\x2d\x8d\x4f\x73\x2d\xcb\x22\x0c\x51\x08\xe8\x2b\x72\x34\x3b\x42\xae\xc2\xc9\x01\x1a\x5c\x5f\x0f\x2f\xcf\x0e\x10\x51\xd1\xd7\x2e\x66\xd1\x06\x2c\x8d\x98\xe2\x56\x5a\x59\xb8\xea\x34\x29\x11\x33\x52\x9a\xb3\x8b\x6e\x82\x50\xe5\x19\x95\xca\x86\xcf\x6a\xbe\x12\xd4\x11\xa2\x69\x55\xcc\x36\x14\x92\xab\xf9\x36\xa4\x81\xa5\xcc\x53\xad\xcb\x8e\x29\x4e\xc7\x82\x27\xdb\x30\x85\x33\x98\x0a\xa8\xcb\x3e\xc5\x9f\xe2\x14\xe9\x66\x6d\x28\x88\x77\x39\x7a\x91\x4e\x0b\x46\x9a\x2f\xeb\x7b\x33\xb8\xb7\x9c\xf7\xc1\xc6\xa3\x51\x17\x02\x01\x10\x00\x2d\xac\xa2\x30\x1b\x8f\xad\xa5\x7e\x8c\xa3\x48\xab\xdc\x3b\x9e\x54\x50\x9c\xca\xb9\x04\x6c\x47\xcf\x36\xcd\x55\x74\xee\x86\x99\x69\x0e\x06\xc1\xc0\xf5\x5a\x2e\x0d\xfd\x4e\x16\xb5\x5e\x5d\xf9\xa8\x7b\xe9\x4d\x2a\xe6\x12\x96\x04\x76\x52\x9a\xf2\x53\x6a\x4e\x2c\xf4\x68\xd8\xa5\x4b\x88\xd1\x0d\x2f\x78\x2e\x9a\x18\xdd\x88\x9d\x91\x4c\x10\x2d\xe9\x57\x1d\x28\x9e\xa6\x6f\xca\x94\xd8\xd3\x75\x4f\xd7\x6f\x9e\xae\x4f\x4d\x15\xb2\x81\xaf\x3a\xb7\x95\x00\x67\x1a\x1b\x67\x9c\x27\xe3\x0e\x36\x91\xee\x2b\x5e\xf2\x84\x55\x6a\xb2\x01\xac\x00\xcf\x41\x3e\x2a\x5d\x9b\x5c\xdf\x75\x41\x8a\xad\x1d\xde\x92\x65\x70\x2e\xb3\xa0\x1a\xd4\x36\xe7\xbd\xa9\x95\x65\x2d\xa1\x67\x17\x73\x4e\x8d\x7c\xd3\x54\x64\xab\x7c\x98\x9c\x28\x42\x59\xad\xd4\xa1\xa1\x67\xa8\xdb\x0f\x72\xc7\xdf\x73\xae\xb0\xfc\xfa\x68\xc4\xb4\x10\xf5\x40\x16\xc6\xdc\xaa\xc5\x94\xdf\x6b\x59\xfc\x50\x12\x26\x21\xdc\xfb\xf7\xc6\x3d\xa7\x49\xdc\x99\xab\x8d\x6a\x6a\x2a\x2c\x96\xeb\x7f\x41\x88\xae\x6d\xd4\x4a\x49\x45\x00\x74\x51\x34\xcc\x3d\x33\xc3\x9f\x11\x05\x29\xd6\x8a\x2a\xd0\x99\x62\x53\xc2\xb1\x36\xf4\x95\xa6\x2b\x43\x15\x82\x83\x9f\x24\xce\xb7\x63\xfc\xb2\xde\xc6\x4a\xce\xe8\xb5\x85\x5b\x1b\xf3\x7e\xec\xec\x46\x91\xe0\xb5\xba\x88\x58\x22\xb3\xd3\x13\xc3\x0e\x9c\xff\x9a\xb0\xa3\x27\xfa\x40\x33\x12\x53\x0c\x11\xf0\xfa\x5f\xc7\x7a\x5e\xbf\x3b\xbd\xb9\xba\x1c\x17\x99\x3c\xff\x35\x62\x83\x44\x72\x9f\xa5\x80\x18\x67\x3e\xdc\x3e\x13\xc4\x89\x84\x76\x2e\x60\x75\x2d\xcc\x88\x23\xd6\x36\x82\x98\x47\xf2\x08\x3f\xc9\x23\x9c\xe2\x7f\x70\x06\xae\xf4\x01\xfc\x79\x9a\xf0\x3c\xfe\x19\xab\x68\x7e\x0c\xe7\x5a\x1d\x93\x47\xc2\x94\x71\x53\xe9\xe5\x8a\x21\x79\x57\x42\xb4\xfe\xef\xf4\x98\x8b\xa4\x22\xa9\x35\xd9\x88\x64\x0a\xfd\x3f\x82\x4c\x38\x57\xcd\x97\x14\x9f\x4e\x25\x59\xeb\x42\x2a\x94\xb4\xdb\x2b\xf4\xe7\x3f\x7d\xf3\xad\x26\xa1\x4d\xd6\xf8\xfc\xf6\x6a\xac\xbf\xff\xdd\x99\xfd\x5e\xae\xc1\xee\xae\xb2\x82\xb5\x39\xe2\x31\x81\xf3\x39\x83\xdb\x4f\x80\xf3\x02\xd8\x1b\x90\x43\xb1\x8f\x4d\xdc\xed\xcc\xc0\x1c\x6c\x95\x35\xb4\xc5\xad\xfe\x31\xe1\x13\xb0\x0b\xe5\xa5\x02\x69\x4b\x22\x3c\xb6\xb4\xa7\x9f\x51\x99\x25\x78\x51\xeb\x61\xd5\xb2\x5f\x6a\xee\x94\xe1\x88\x14\xf8\x0c\x2e\x18\x2b\xe2\x69\x0a\x01\x82\xce\x73\x12\xd3\x29\x44\x0a\x2a\x7d\xe7\xa3\x09\x51\x4f\x10\x97\xea\x7e\xf5\xb2\x8a\x33\xc8\x6a\x56\x06\xec\x72\xa4\x17\x39\xce\xc1\x9b\x36\x7a\x77\x80\x46\xef\x62\xf2\x48\x12\x9e\xe9\xd3\xac\x7f\x20\x2a\x6a\xda\xc4\x61\x8a\x69\x72\xc9\x95\xbf\xf9\xb6\xd9\x4f\x41\x22\x9a\x51\x7d\xba\xc6\x44\xb7\xfb\xac\x29\x61\xcd\x07\xec\x6e\x4e\x3c\x8e\x14\x8c\x01\xe1\x38\xd6\x44\x0c\xd5\xe2\xdc\xf0\x0a\x13\x3b\x0b\xa6\x5e\xaa\x82\xb4\xbe\xdc\xa6\xa5\x04\xe8\x31\x6c\xb3\x2c\x56\x34\xee\x80\x37\xbc\xec\xf4\x24\xb5\xfb\x65\x9c\xa9\xdb\x77\x5c\x54\xee\x5a\x4a\xff\xb6\x10\x61\x80\xe0\x60\x2d\x96\xad\x16\x9e\xea\x01\xd4\x6b\xd1\x6d\x9c\xe5\x95\xb9\xd5\xdf\x2d\x1d\x9a\x0c\x21\xd4\xa2\xb0\x9e\x28\x58\x17\x6c\xee\x40\x35\x5d\x81\xac\x1c\x71\x94\x70\x59\x4e\x25\xec\x3c\xe8\x53\xfb\xe9\xb2\x71\x0f\x43\x63\x4c\x9e\xf8\x2c\xbe\x4e\x74\x37\x68\x58\xf8\x0a\x56\x86\x61\x13\xca\x2a\x10\xf6\xed\x03\x44\xc1\x19\x05\x92\x6d\x52\x24\x56\xb0\x18\x15\x52\xe2\x88\x15\x26\x3d\x89\x9e\x48\x02\x5e\x80\x88\xa7\x19\x48\x40\x76\xb8\xb6\x25\x7d\x81\x2b\xac\xc8\x01\xe2\xb9\xd2\x8d\x99\x90\x25\x77\xc7\xd9\x78\xa8\x42\x2a\x34\xaa\x89\x8d\x0d\xf0\xd8\x5d\x86\xd6\x0d\x2b\xa4\x0c\x7d\x24\x0a\x5a\x01\x6c\xc4\x70\x82\xa6\xf2\xf6\xd2\xa3\x74\x5a\xdb\xb6\xb5\x4f\x94\x9d\xc9\x1a\x3b\x5f\xe4\x95\x7d\x9f\xf0\xc9\xd2\x7d\xbf\x82\xc6\xd1\xfd\xcd\xb9\xf3\xa1\x14\xe6\xe5\x00\xdc\xa9\xa4\x70\x0d\xaf\x6f\x86\xa7\x83\xbb\xe1\xd9\x11\xd2\x7a\xdd\x47\xa2\xfc\x74\x21\xfc\xdc\xc3\x04\x9a\x91\xdb\x44\x35\x26\x15\xc1\x71\x0b\x75\x13\x21\x4a\x41\xe2\x2b\x18\x47\x39\x8b\x6d\x39\x61\x43\x0e\x19\x65\x26\xa3\x0f\xf2\x2e\xab\xf3\xb4\x8e\x8b\x55\x27\x10\xcc\xc8\xe3\xb7\x63\xc4\x37\xe3\x4d\xeb\x8e\x8b\x55\xe4\x53\x76\x78\x3c\xf7\x64\xe0\x68\xa9\x39\xa1\x02\x75\x9a\x96\x21\xaa\x71\xf7\x39\x05\x11\x00\x9f\x70\xb6\x3c\x3a\x17\x3f\x95\x88\xd6\x48\x32\x81\x69\xe3\xb9\xcf\x81\x63\x6b\x63\xc3\x0a\xb7\x9f\x60\x21\xef\x1b\xde\xea\xf9\xa6\x09\x88\x91\xb5\xea\xf9\x47\x23\x56\x19\x84\x75\xf3\x49\x04\x67\x07\x7e\xa1\x0c\x95\xae\xc4\x03\x34\xa5\x9f\x6d\xa3\x85\xfb\xdf\xbd\x1a\xd8\x83\x5a\xdc\x4d\x73\x5c\x3f\x53\x6b\x88\x0d\xd7\xf0\xfd\x52\xf7\x07\x97\x4a\x4b\x5d\x5a\x72\x15\x44\xeb\x17\x24\x46\xd0\xad\x0f\x46\x58\x29\x32\x28\x2c\xf4\xa2\xe0\xb5\xf4\xad\x02\xe6\x35\xc6\x8a\x1c\x2a\xba\x32\x3e\xdc\x86\x10\x41\xb0\x11\x56\x41\xb6\x74\x71\xf3\x4c\xc8\x0c\x33\xe7\xb9\x6e\x19\xae\xbb\xf2\xb6\x60\x55\x5a\x82\xc5\x10\x3d\x07\xf2\x15\x44\x46\x95\xc6\x21\x33\x58\xcf\xa5\xe3\xb0\xc6\xc1\x7d\x58\xb6\x27\xec\x6d\x95\x2d\x83\xcd\xb3\x78\x9f\x06\x9b\x60\xa9\x90\x1d\x53\x9b\x26\x19\x48\xf8\x3b\x00\xbe\x58\x56\x60\x37\x54\xcd\xba\xda\xe3\x34\x09\x95\x95\x10\xa2\x14\xb5\xd5\x5f\x73\x49\x6c\x12\x5d\x4a\xc4\xcc\x09\xc2\xa6\x32\x97\x3f\xdb\xb6\x44\x97\xbb\x25\x42\x66\x02\x31\x0c\xf5\xa6\x8f\xd0\x80\xd5\xd2\x89\x9d\xd9\xba\xb4\x5e\xe6\x4e\xc2\xc9\x13\x5e\x48\x94\x09\x93\x79\x67\x02\x1b\xdc\xe4\xc1\x9f\x58\xfe\xc8\x5b\x8a\x94\x8b\x2c\x41\xa0\x4a\xaf\xf6\x29\x04\x05\xa7\xbb\x73\xbb\x8e\x3a\x51\xc5\xe9\xde\x54\x13\xda\xab\x9a\x1d\x58\x9d\x22\xe3\x68\x8e\xd9\x8c\x8c\x6d\xb2\xe1\x46\xda\x92\x6e\xe7\x14\x9a\x39\xb3\xad\x34\x5f\x4e\xd7\x46\x61\xb2\x10\xbb\xe6\x55\xa7\xd3\xc1\x21\x90\x0a\xcf\x08\x32\x23\x5a\xa6\x98\x14\xd0\x01\xa1\x41\xdd\x62\x31\x81\x9e\x60\x5b\x1d\x96\x83\x0c\xda\x84\x77\xb0\x0c\x5f\xe0\x09\x49\xb6\x8e\x05\xd8\xc8\x4a\x07\x5d\x5b\xe4\x49\xc5\xf5\xd2\x40\xb0\x04\x41\x4f\x73\x22\xaa\xec\xd8\xd9\xb6\x45\xde\x14\x3a\xb1\x6c\x9e\xa5\x62\x78\x5b\x4c\xd4\x41\xa9\x6e\x32\xd5\x36\x80\xd5\xf0\xda\x0b\x80\x48\x9b\xec\x23\xe1\xf5\x57\x35\x09\x6e\x36\x90\x00\x0f\xb5\x65\x1c\x5b\x03\xa2\xae\x9c\xca\xc6\x39\x18\x1d\x0b\x0d\x9c\x4f\x11\xe3\x8c\x20\x2a\x8b\x97\x55\x39\x5a\xcc\x67\x30\x6a\x11\xdf\x18\x5f\xea\xe5\x5d\x9f\xdb\xd2\x52\xe4\x96\x78\xdb\x80\x0b\x7f\x67\x44\x2b\xaa\x58\x2c\x00\x01\xc5\xf0\xe1\xb2\x4c\xb7\x72\x9c\x3b\x17\xb8\xef\x1c\xc0\x4d\xe0\xc8\x54\x1c\x81\x18\x59\x19\x1c\x32\x30\x31\xf6\x25\xfb\x91\xcd\xe2\x1b\x31\x6f\xd9\x00\x42\xa4\x12\xa5\x38\x83\xd8\x73\xc6\x55\xf1\x95\xc9\x4a\x55\x7e\x0b\x0f\x9c\x20\x2e\x0d\x4c\x79\xcb\x0a\xac\x32\xed\xb8\xeb\xb7\x58\xd7\x32\xfa\x87\x43\x2e\x9a\xd1\x47\xc2\x1c\x4d\x1f\xb8\x33\xa1\x07\xe5\x3a\x4d\x16\x87\x18\xbc\xb0\x24\x0e\x0d\xd7\xcb\x39\x92\x2d\xed\xba\x07\xf6\xc8\xee\x4b\xa6\x37\x3e\xaf\x59\x28\x4d\x0e\x79\x09\xfc\xcf\xf9\xcd\x43\x2a\xb5\xb0\x46\x26\x50\x1e\x4b\xf4\x7b\xc6\xd5\xef\x03\xe0\x27\x67\xbc\x30\x95\x7f\xad\x09\xea\xa0\x86\x68\x0b\x87\xd6\x12\x0e\xc2\x41\x02\xf2\xca\x95\xdf\x16\x7f\xad\x88\x0b\x78\x56\x69\x74\x58\x0f\x12\x6c\x83\x04\x37\xa5\x32\x76\x66\xb1\x79\x89\x9a\xf6\xc8\x90\x81\x20\x2e\x19\x3d\xe5\x82\x54\xca\x75\x18\x7e\xee\xa3\x68\xd3\x4c\x35\x66\xa2\xd5\x45\xa3\x06\x83\xa7\xa9\x5c\x50\x9c\xf4\x92\xa1\x53\x1e\x8d\xd8\x2d\x21\xed\x70\xf6\x7e\x2f\x7e\x85\x86\x60\xac\x4e\x6a\x5c\x42\x69\xbb\x08\xa9\x4d\xcb\x60\x23\x4b\xa8\x66\x05\x46\x54\xb3\x5d\x62\x93\x30\xd8\x36\xb9\xdc\x3b\x29\xc2\xba\xcc\x6d\x20\x48\x47\x23\xf6\x81\x0b\x7b\x05\x4b\x0b\xc3\x38\xc1\xd1\xc3\x21\x61\x31\xc2\xb9\x9a\x1b\x30\x22\xeb\x57\x58\x58\x6a\xd0\x92\x06\x90\x8d\xcf\x34\xa2\x32\xc2\x22\x76\x80\xa0\x8f\xdc\x8d\x62\xc4\x82\x46\x00\xe8\x11\x70\xb0\xa1\x1a\x50\x9b\xaa\x49\xa0\xf0\x40\xdb\x5a\x34\xd5\xb9\xa9\x55\xb9\x59\x7e\xce\x4a\x75\x7b\x00\xa2\x92\x11\x69\x45\xf6\xca\xea\x9c\x3b\x6b\xa3\xd3\xef\x64\x58\xf9\xdc\xbf\x79\x60\x35\x0a\x63\x92\xb2\x33\xd0\x92\xce\x37\x8e\xd7\x96\x40\x95\xa6\xb9\x80\x18\xa5\xa6\x36\xbf\x8a\xe6\x34\x29\x7c\x17\x5f\x1f\xf8\x61\xea\x26\x13\xf2\x48\x12\x03\xe9\x17\x09\x08\x5c\x30\x56\xc3\x6f\xd0\xff\x31\xb5\x5f\xd0\xb7\x23\xf6\x11\xd8\x70\x92\x2c\x00\x70\xc4\xb7\x8c\x55\xa5\x99\x87\xc6\x01\x28\x1b\x29\x85\xca\x03\x31\x7b\x3d\xc7\x8f\x64\xc4\x5c\x33\xff\x07\x3d\xa0\x3f\xa0\x6f\xdb\xd4\x3b\x17\x7f\xf0\xcc\x76\x8e\x0f\x81\x77\x3f\xb8\xe5\x2c\xa3\xb4\xfc\xc6\x99\x41\x4a\x46\xc8\x86\xc4\x23\x8f\x1b\x46\xd9\x23\x8f\x6a\x41\x2e\xe1\xa9\xc5\x82\x30\x35\x66\x3c\x26\x63\xd2\xe0\xd2\x5c\xc2\x24\xb4\x10\x70\xc9\x63\xb2\xd2\x21\xe9\x99\xe9\xcf\x60\xba\x91\xf9\xc4\x6f\x07\xe4\x3f\xf8\x60\x77\x6f\x7d\x28\x53\x5a\xf3\xc8\x3d\x38\xcf\x26\xe3\xde\xd4\x99\x7a\x65\xe5\xb3\x03\xb8\x10\xec\x00\x9a\x1d\x7a\x09\x56\x2e\x44\xbc\x7a\x1c\xab\x8e\x00\xfd\xb2\x9e\xb9\xbd\xac\x02\xd8\x21\x80\x86\x15\x74\x46\xb5\xfc\xde\xdd\x61\x0b\x9c\x70\x13\x6f\x86\xc1\x60\xe9\xe4\xce\x28\x96\xc2\xe5\xa1\x1d\x7a\xfa\x2b\x9c\x90\x13\x9e\x57\x05\x78\xbb\x00\x54\x86\xc1\xeb\x56\x56\x5f\x68\x3e\x3c\x33\x01\x92\x64\x4e\x4d\x4a\xc2\xe0\xf4\x02\xe9\xd3\xc1\x53\x93\xb7\x0b\x8b\x96\xab\x39\x17\xf4\x1f\xad\x01\x5c\xed\x32\x7a\xe1\x69\x2d\xe2\xdd\xcc\x38\xcb\xd2\x3a\x10\xab\x11\x29\x54\x49\x2b\x69\xd2\x99\xd0\x24\x07\x88\x1a\xcd\x66\xa7\x79\x62\x70\x2d\x23\x2e\x62\x53\x9c\x4e\x96\xa2\xeb\xf4\x7b\x5e\xbc\xc7\xca\x37\x48\x2d\x92\x87\x45\xce\x34\x16\x9c\xa5\x02\xe8\x5f\x72\x92\xef\x28\x40\xd1\xa2\xe1\xbf\x50\xe4\x47\x55\x0d\xc0\x33\x59\xc4\xec\x9a\xb5\xd1\xbc\xb9\x58\xdf\xbf\xeb\x99\xca\x20\xa4\xd7\x59\x16\x7d\x86\xac\x51\xc9\x4d\xdd\x94\xb5\x2c\x3a\x37\x06\x19\x70\x07\x26\x9d\x97\x88\xe7\xa8\xcb\x48\x0d\xec\xc7\x92\xdf\xa3\x0f\x70\xad\xb2\x88\x67\xb2\x93\x38\x88\xc5\x8a\xf4\xf1\x8c\x26\x93\x0d\x98\x5c\x5d\xa8\x5e\xb6\xde\x81\x01\xc5\xb3\xb5\x86\x58\x73\xc5\x91\x9e\xfb\x93\xa0\x90\x40\xbf\x28\x5e\xf6\x25\x82\xdc\x75\x11\xf2\x18\x2d\xa5\x18\xb1\x16\xe2\x3a\xdc\x12\x2e\x9a\x79\xfc\x1a\x06\x08\xdb\x50\xb9\xeb\xba\xdf\xbe\xed\x44\x18\x96\xb4\xaf\x47\xa2\x9e\x3d\xb7\xf2\x30\x78\xa0\xd4\xd7\x31\x20\x7a\xd1\xe6\x99\x4f\xc6\x5a\x14\x12\x5c\x64\x6b\x93\xc8\x6d\xd9\x54\xb9\x36\x5d\x98\xbe\xc7\xe0\xe7\xde\xda\xbd\x13\xb8\x00\x8a\x6c\x0a\x93\x46\xe7\x32\x66\x5f\xc8\x90\x09\x91\x03\xe5\x44\xbe\x20\x70\xa0\x2d\x63\xf3\x59\xf9\x59\x81\x50\xe9\x38\x52\xc7\xa1\x2c\x75\x97\x76\x74\x7e\x82\x85\x6c\x19\x7b\xbd\xb0\x51\x9f\x65\xb7\xa1\x09\x3d\xe3\x41\xe4\x84\xab\xc1\xa2\x04\x86\x04\x02\x08\xfb\xfe\xd9\x68\x79\x54\x1a\x2b\x8c\x43\xa2\x4c\x33\xb5\xb0\xc0\xe5\xc0\x9b\x2d\xa4\xb1\x9a\x63\x66\x93\xb2\x9b\x5c\x94\x55\x3e\x1d\x97\x9c\x94\x4d\x9d\x41\x47\x56\xb5\x6d\x6c\xd2\x2d\x74\x98\xe4\x53\x49\xaa\x68\x8b\x48\x30\x35\x60\xc6\x38\x69\xb5\xa7\x4c\x38\x4f\x08\x66\x6d\x6a\x67\xe3\xe3\x9a\xf5\x95\x86\x89\x14\x16\x9f\x45\x89\x9c\x68\x9d\x1b\x27\x49\x65\x5e\x18\xca\xb8\x2a\x8f\x03\x3f\x29\x8a\xd5\x74\x77\x98\x26\x78\x42\xd6\x72\x91\x5e\x98\x0f\x96\x52\x11\xbc\x52\x94\x19\xed\x94\x99\x1b\x86\x7f\x35\xe6\x31\xaf\x1a\x58\x98\xfd\xbc\x54\x84\x28\x67\x10\x6f\x36\x44\x49\xa2\x5c\x50\xb5\x18\x5b\xc3\x53\x77\xa6\x75\x6b\xbf\x3c\xb5\x1f\x76\xd1\xea\x4e\x90\xeb\xcf\x19\xba\x40\xbc\x11\xd4\x80\xdc\xda\x29\x74\xd9\x6e\xad\xa9\x35\xe6\x37\x2e\x5b\x58\x97\x60\xd9\x6d\xa8\xba\x8b\x4d\x87\x67\xc1\x33\xc7\x7c\xea\x52\x17\xbb\x2f\x6c\x15\x55\x74\x0d\x8b\x9d\x43\x48\xca\x04\xe5\xc2\x82\x77\x76\x09\xac\x4a\xf1\xe7\x71\x86\x05\x4e\x12\x92\x50\x99\x6e\x6e\x5f\xfc\xe3\x77\x4b\x47\x7b\x6a\x40\x66\xa5\x85\x6c\xfe\x4c\xd3\x3c\x0d\xca\x83\x03\xb2\x4d\x80\x4f\x61\x4d\xf6\x36\xcd\xd2\x0d\xb0\xb8\x68\x98\xa2\x22\x40\x1c\xd1\x3a\xb1\xc7\x9e\xb2\xea\x32\x8e\xe6\x50\xb6\x75\x8a\xa9\x60\x44\xca\x23\x74\xc9\x15\x39\x41\x9f\x70\x76\x07\x0a\x9f\xa9\xfa\x30\x33\x16\x5a\x2c\x91\x96\x9c\x72\x46\xd5\xc1\x88\x59\xc0\x2a\xb7\x2a\xc7\x11\x67\x06\xb4\x24\x82\x85\xf5\x4d\x80\xc9\xd1\xa1\x77\x28\x03\x04\xaf\xa9\xa4\x65\xb1\x05\x7e\x1a\x07\x11\x94\x63\x13\xa1\xbe\x06\x1d\xdf\xe0\x27\x13\x33\x0c\x55\x0e\xcd\xd7\x4b\xa4\x47\x1b\x94\x63\x41\x7e\x0d\x56\x8f\x0b\x5e\xe0\x00\x39\x49\x90\x87\x27\x37\x11\x92\x5f\xd1\x23\x72\x84\xbe\x4f\xf8\x44\x1e\x20\xe9\x71\xad\x5c\x11\x46\x79\x60\x9c\x24\xf0\x6f\x93\x4d\xf2\xb5\x5b\xfd\x82\xef\x03\x32\xff\x94\x7e\x36\x65\xed\xe5\x1f\x4f\x8e\x8f\xd3\xc5\xe1\x24\x8f\x1e\x88\xd2\x7f\x81\x4c\xd1\xb8\x42\x2e\xc9\x13\x37\xa5\x8c\xae\x5a\x9d\x7a\xba\x69\x27\x8a\xb4\x40\x05\x92\x00\xb4\x99\xbe\xd2\x7d\xed\x13\x97\x9d\xc8\x59\x73\x61\x07\x3b\x65\x91\xb7\x1d\xaf\x12\x26\xd2\x33\x5e\xbc\x03\x83\x96\xe8\xce\x47\x19\x8a\x69\x9a\xe0\x99\x31\x0c\x16\xe6\x6c\xb8\x6b\x9d\x82\xa9\x08\x73\x2e\x52\xca\x66\x49\xd9\xb8\x76\x95\x52\x4b\x45\x7a\xee\xe0\xf3\xd7\xa7\xac\x1c\xe9\xf4\xde\xb9\xc4\xc0\xb5\x65\x4d\xfe\x47\x23\x36\x90\xe8\x89\x98\x92\x2d\x90\xd6\x04\x16\xf2\x9c\xca\xb9\x4f\x6a\x02\x9b\x1d\x34\x6a\x10\x6b\x74\x4f\x5e\x79\x81\xa4\x0d\x08\x82\x35\x3e\x04\xab\x05\x41\xe1\x49\xdd\x30\x64\x2d\xbb\x60\x36\xf4\x24\x70\x96\x11\x31\x62\x16\x7d\x04\x30\xb6\x38\xb7\x81\x0a\xeb\x61\x68\x94\x43\x6c\xa1\x92\x4e\x0a\x82\xb7\x2c\x0a\x06\x38\x3d\xdd\xab\x3d\xa5\xeb\x01\x40\x7f\xe0\xe3\x98\x13\x19\x18\xe0\x90\xd7\xa3\x13\x3a\x25\x9a\x6b\x8f\x98\xde\x9d\xd0\x58\x68\xb0\x83\x1c\x94\x90\xee\x34\x12\x5c\x4a\x1b\x35\x6b\xda\x59\x9e\xfb\xb0\x05\x4c\xb9\x01\x40\x32\x05\x02\xab\x80\xe5\xc1\x33\x07\x5d\x6e\x1f\x36\xd7\x8d\x6b\x6b\x6a\x25\x50\x79\xb1\x16\x6b\x40\x95\x1f\x9f\x5e\x9c\x7b\x7c\xde\x4a\xd7\x75\xac\xf2\x10\x34\xaa\x1d\xad\xbc\x3e\xe3\x00\xb7\xbc\xd2\xc4\x12\xe4\xf2\xd5\x9b\x55\x8e\xd5\xdb\x26\x23\xb8\xb2\xf5\xab\xf8\x66\x85\x66\x56\x85\x94\xee\x68\x9b\x5a\x12\x0c\x22\xb8\x68\x9f\xdb\x3b\x06\x17\x96\x7e\x4b\x2a\x9c\x66\x61\xba\x94\x83\x44\xb0\xd3\x34\x47\xad\x4d\xab\x7a\x51\xa8\xa6\x08\x1b\x4f\x74\x75\x70\xb5\xad\x58\xcf\x5a\x7d\x67\x11\xa0\x76\x11\x82\xf8\x72\xf9\x87\xc9\xa2\x88\xb8\x91\xf6\xce\xf3\x15\x9a\x9b\x6d\x76\x13\xe2\xd1\xae\x5a\x37\x74\xdb\x04\x23\xa7\x43\x20\x41\xb0\xb4\xae\x54\xc8\xc3\xa9\xc4\xe8\xaf\x61\x56\xf3\x63\x36\x99\x7c\x87\x1e\x5f\x2e\xb8\x6a\x2c\x64\x72\xe4\x0e\x22\x15\x82\x40\x9d\x6b\x83\xd9\x7b\x5e\xb9\x5d\x00\x5e\x59\x10\x1c\x2f\x82\x15\xf1\xce\x42\xd3\x33\x98\x15\x24\x4d\xb5\xe2\x03\x22\x1d\xe3\x87\x3c\x73\xb2\x5e\xe9\x2d\x00\x07\xa4\x53\x7d\x63\x05\xae\x46\xfd\x05\x3b\x84\x02\xae\x5a\x36\x6e\x88\xb3\x72\x8d\x40\x5c\x16\x40\x06\xcf\x89\xbd\xe1\x46\xef\x06\xdf\x5f\xdd\xdc\x0d\xcf\x46\xef\x8a\xc8\x5a\x97\x3a\xe2\xa4\x1c\x8f\x5d\xc6\xd9\x88\xf9\x60\x38\x8f\xed\x02\x7b\x89\x70\x1c\x17\xc8\x5a\x56\xf8\x36\xb1\x3c\x4b\x39\x72\x70\x2a\x56\x86\xc1\x2d\x69\xe6\x1e\xf2\x07\xf6\xf5\x64\x2d\x31\x7b\x97\x4e\x8e\xc9\x82\x58\x12\xae\xbe\xa3\xcb\x26\x84\xa5\x50\x46\x47\x21\xbe\xa2\x29\x23\x4f\x4e\xc6\x84\xdb\xf9\x18\x9b\x4b\x78\x3d\x6e\xe7\x36\x64\x83\x4d\xfd\x40\x3f\x93\xf8\xa6\x45\xaa\xda\x49\x34\x7a\xa7\x28\x9e\xc6\x5d\xd0\x7a\xeb\x1a\x9b\xe0\xa7\x72\xaf\xbf\xeb\xce\x96\x0c\x7b\xab\x20\x47\x00\x6c\x84\x42\x18\x45\x44\x28\x4c\x19\x9a\xc2\xc1\xd6\xba\x32\x60\x12\x10\xf0\x3f\x7d\x87\x52\xca\x20\xeb\x77\xd9\xd2\xde\x97\xe7\xb1\x4e\xc9\xc0\xf3\xcb\xfb\x72\x85\xe3\x1f\xae\xee\xcb\xf5\xaa\x06\xbf\x2c\x95\x55\x2b\x2d\x2c\x73\xf4\x07\x53\x2c\x32\x88\x2c\x80\x86\x5f\x99\xa6\x89\x7e\x24\xea\x27\xcd\x97\x39\xdb\x45\x78\xad\x95\xb3\xc0\xe9\x41\xc6\x8f\xa6\xe1\x35\xc8\xc0\x0e\x65\x49\x0c\xb5\x93\xe4\xa0\x07\x64\x7b\x08\x13\x7a\x8f\x4c\x65\x26\x28\x73\x0f\xea\x9a\x0b\x54\xd1\xfa\x12\x67\x7a\xb9\x46\xf0\x36\x52\xb5\xe6\xf8\xd4\x7c\xdc\x29\x70\xf2\x26\x0c\x97\xd4\x6d\x15\x4b\x89\x06\xd7\xe7\x0d\x6b\x7d\x51\xb5\x0b\x7f\x59\x30\x92\x89\x37\x51\xef\x1a\x41\x32\xc8\x7b\xd9\x0b\xf0\x48\x3b\xd3\xed\x70\x23\x8d\x27\xef\xba\xec\x1e\x7c\xd6\x6b\x78\x0b\x79\xb6\x94\xcf\x66\x15\x83\xdd\x80\x69\x14\xcb\xb0\x26\x9a\x46\x38\x20\x1b\x5f\x1c\x22\x48\xd4\x83\xd7\x0e\x42\x44\x09\x53\x1b\xd3\xf9\x22\x77\x86\xb2\x51\xcc\xa6\x0b\xcc\xc6\x4f\x86\xa2\x7d\x16\x36\xe4\x95\x3b\x20\x74\x17\x74\x66\x93\x22\xc3\xe9\x86\xd4\xb6\x1e\x32\x47\x31\x3e\x67\xd3\xb2\xc5\x3c\x70\x86\xad\x52\x0c\x12\xbe\x43\x28\x6b\x02\xb4\x3e\x1a\xb1\xc0\x0b\x2d\x8d\x4c\xae\xcf\x88\x03\x05\x84\x4a\x13\x9a\x9d\xda\xe8\x6f\x7f\x33\x97\x76\xa0\x9a\x7b\xa9\xe6\x65\x58\xbf\x5a\x3f\xf6\x74\xca\x39\x76\x19\x2e\x4e\xbd\xb7\x01\x26\xa1\xf1\x03\xda\x0b\x80\xbc\x6c\xc7\xe4\x91\xd8\xa0\x14\x1c\xc0\x44\x07\x59\x91\x31\x27\x92\xbd\x57\x3e\x87\x88\x26\x16\x8a\x10\x57\x6d\x7e\x5a\xe4\xc0\xd4\xb6\xbc\xfc\x80\xef\x00\xf6\x63\x5d\xa9\x36\x38\x56\x2b\x6d\x28\xce\x71\x03\x94\x10\x06\x18\x40\xa7\x6d\x18\x1d\x9f\x33\x12\x6d\x82\x4d\x70\x8d\x05\x4e\x89\x22\x62\x59\x8c\x41\xb9\x88\x0b\xf8\xcf\xdd\x0e\xda\x7e\xcd\x2e\x1a\x84\xbb\x2a\x14\xa2\x57\xbd\x2e\x56\x61\x0d\xf8\x59\xac\x05\xab\xa2\xa7\xf1\x93\x85\xf4\x5b\x73\x16\xb6\x9f\x62\x1a\x36\x84\x22\x80\x96\xd8\x76\x4e\x2f\x93\x63\x7f\x57\xcb\x56\x2f\xc5\x00\xec\x49\x72\xfd\xea\x51\xb6\x65\xd5\xaf\xe2\xa5\x3b\xe1\xdd\x2e\x74\xd6\xe5\x66\x55\x0e\x55\x29\x28\x17\xa8\x04\xe4\x7d\x93\x60\xde\x9c\x19\x0f\x42\x4b\x53\xd8\x53\x90\x60\x60\x71\x93\x0a\x6b\xa3\x95\xac\xaa\xa0\xae\x95\xe5\x5a\xc1\xe3\x76\x95\x35\xdc\x4b\x34\xbb\x96\x68\xd6\xb0\xed\x19\xea\x24\xa2\x02\x60\x60\x8b\xad\xd8\xcc\xd3\xf2\x04\x21\xa8\xdd\x5e\x91\xb6\x62\x03\x5c\xfd\x94\xf9\x7f\x95\x39\xb8\x23\xea\x90\x54\x9b\xb2\x75\x8e\x02\xff\x08\xb8\x47\x92\x50\x1a\xb0\xce\x72\x18\xad\x89\x6d\x32\x26\xe8\xf3\x4b\xe3\x5d\x81\xac\xb9\x05\xcf\xd1\x13\x95\x5a\x17\x1e\x31\x08\xfe\xf1\xa6\x6a\xc5\x6d\xc9\xd8\x03\x78\x0b\xf2\x6b\x65\x3e\x49\xa9\x42\x38\x98\x61\xc9\x5e\x76\x60\xcf\xb3\xfe\x00\x66\xdc\x98\xc0\xd9\x84\xfd\xb0\xe2\xd0\x6c\x60\xfc\x29\x1a\xd9\x36\x47\x33\x08\x54\x7c\xde\x2c\xcd\x40\xe3\x09\x35\xcc\xc6\x33\xd7\xa7\x69\xa2\x66\x6b\x83\x45\xa3\x03\xc8\x40\x2a\x55\xe5\x6e\xb1\x18\x74\x2b\x52\x34\x8b\x8d\xe8\x94\xa3\x59\xbc\xbe\x8b\x24\xcd\x36\x78\xe0\x65\x49\x3b\xee\x93\x16\xe3\xac\x4b\x06\x53\xdc\x45\xc3\x86\x92\xd2\x75\xab\xa4\xb4\x6f\x70\x39\x45\x94\xef\xe6\x31\xa3\xeb\xa8\x83\x45\xe0\x7f\x48\x45\x41\x1e\x4f\x19\x6c\x80\x54\x39\x3f\xe3\x0a\x82\xb5\x23\x28\x9d\x54\x4b\x20\x1a\xb1\x66\x09\x64\x39\x4f\xdc\x36\xee\x7a\xa7\xb0\x3a\xc1\xf9\x73\xb3\xb0\x16\xad\x9f\x7d\xe4\x8a\x51\x96\x6d\x11\xa4\xaa\x88\x59\xf8\x9f\x5a\x14\x10\x10\x3c\x36\xc9\x64\x6b\x38\x95\x1d\xa3\xa2\x57\x9e\x0b\x7b\xe9\xee\x50\xb5\xab\x71\xe7\xce\x41\xe4\x5e\x46\xb6\xdc\xd8\x45\x41\x3a\x35\xbe\xe2\x46\xdc\xa4\xb8\x03\xa0\xd5\xed\x0c\x63\xaf\x9a\xf6\xaa\x1b\x3f\x00\xd7\xa3\x1d\x3a\x36\x61\x18\x1e\xf9\xb5\xb2\x25\xa5\x09\xdb\xa2\x59\xcf\x30\xe9\x75\x0b\x72\x04\xae\x30\x61\x43\xf8\x68\x68\x37\x80\x4a\x1c\x36\xf2\xa9\xc2\x87\xbd\x68\x97\xb3\x98\x08\x46\xb0\x9a\xbf\x5c\xe0\xf4\xe9\xb6\xc6\xe9\x17\x0b\xa2\x3e\xdd\x49\x35\xa6\x4a\x60\xf2\x9a\x31\xc9\x6b\x04\xf8\x16\xb5\x39\x6a\x8a\x63\x53\x15\xbc\x02\xdb\x60\x1d\x2a\xdd\x2a\xb6\xba\x59\x99\x7b\x9e\x28\xf3\x06\xab\x4f\x2d\xbe\x5c\x1f\xf6\xb0\xa2\xc9\x8a\x25\xf9\x22\xc2\xb9\x9f\x3f\xc2\x78\x59\xed\x94\x3c\x08\x3a\x86\x02\x36\x0a\x53\x66\xb9\xd7\xb2\x38\x63\x53\x2e\xbc\x29\xb4\x78\xef\x83\xd6\xbf\xf8\x98\xf5\x3e\x82\xf9\x4d\x46\x30\x2f\x33\x75\x79\xef\x0b\x14\x5c\x2d\xa1\xe4\x1b\x19\x71\x85\xc6\xb0\x79\x64\xb1\xb3\x16\x85\x61\x19\xf6\x17\xfb\x43\x63\x64\x46\xed\xb3\xea\x6c\x43\xcb\x15\x5b\x54\x0d\xc0\x58\xc4\x89\x85\xb2\xb1\x71\x93\x65\x4b\xc3\x32\xa3\xd8\x88\xfd\xc0\x9f\xc8\x23\x11\x07\x08\x2b\x94\x72\xad\x28\x06\x91\x10\x40\x93\x25\x54\x54\xe3\xf1\xc6\xe8\x12\xa7\x24\x1e\x82\xba\x11\x44\x57\x59\xd3\x9c\x75\xaa\x35\x21\xb6\x01\xf8\x98\xd9\x06\xe7\x21\x1f\x31\x13\xf1\x64\xa2\x6c\xe0\x5e\xa0\x6e\x62\x20\xb4\xfc\xde\xbb\xfc\x7e\x7f\x84\xee\x34\x2f\xa2\xb2\x3c\xde\x00\xc0\xa5\x6d\x6c\x23\x36\x13\x3c\xcf\xbc\xb5\x84\x4f\xc0\x4c\x63\x48\xb8\xc1\xe5\x07\x83\x71\xfe\xbe\x08\xc7\x5a\xeb\x5a\x4e\x38\xaf\x12\x0c\xb7\x11\x0a\x42\x48\x40\x9a\xad\xf8\x08\x1f\x1b\x71\x6b\x3c\x75\x41\xee\xf7\x32\x2c\xd7\x67\x72\x23\x9e\x11\x09\xfa\xbf\xb7\xaf\x96\xd2\x00\xcb\xa9\xa6\x8d\xe3\x5c\x66\xfd\xf2\x16\x6a\x67\xc5\x6d\xce\x62\x2d\x3a\xb7\xd1\x3d\xae\x1e\x38\x10\xf0\xb3\xd9\xc5\x3a\x07\xf1\xb5\xf1\x8b\xeb\x5c\x64\x1c\x6e\xdd\x64\xe1\xb2\x6e\x2d\x58\x4c\xc6\xb3\xdc\x44\x30\xd1\x30\xa0\xa5\x91\xb2\xa9\x54\x9f\xb0\x8a\xe6\x5a\xc5\x2c\x40\x53\x76\x14\xd9\x55\x70\xe5\xe7\xb5\x95\x35\xcc\xe0\x34\xec\xbd\xc5\x78\xdc\xc1\x76\x6a\x2e\x64\x17\xe5\x0b\xff\x4a\x12\x94\xea\xfe\x4a\x75\xd3\x02\x0b\x98\xfb\xc4\x3e\xd1\x13\x5d\x45\x45\xab\xc6\xdf\x8d\xb6\xca\x45\x3b\x76\x1e\x33\xb6\x05\x02\xc0\x99\xc5\xfc\x28\x5e\x44\x56\xb2\x6a\x64\x39\xb9\xa0\x9b\x25\x23\x58\xa0\xdd\x47\x2d\x14\x7a\xdb\x5a\x8a\x33\x2d\x30\x2a\xae\x6f\x49\x31\x33\x32\x8b\x20\x2a\x17\xfa\x1e\xc9\x05\x75\x67\xbf\x92\xd2\xd7\x4e\x1d\x60\x8b\x3a\x0e\x8b\x32\x44\x38\xa8\x57\x63\x5c\xbb\x38\x52\x39\xf6\x21\x68\x40\x13\x09\x65\x0f\xba\x33\x93\xbe\xe8\x5c\xa8\x82\x98\x34\xc6\xb8\x61\x4f\x57\x12\xf6\x16\xbb\xdc\x5e\x7d\x71\xd5\x49\xa3\x6c\x16\xe0\x2b\x35\xdb\x03\xbb\xc0\x27\x37\x7e\xd9\x0d\x02\xba\xf1\x53\x27\xfb\x6c\xf2\xed\x12\xec\x8d\x8d\x8b\x72\x96\xc2\x6d\x6d\xc8\xa3\x95\x9e\x42\xe4\x2b\x6b\xab\x01\x00\x3b\x53\xe2\x14\x5b\x69\xea\xbf\xfc\x5f\xa6\xdc\x86\x59\x9a\xff\x42\x5c\x8c\x98\xf9\xfd\xc0\x43\x5d\xeb\x17\x0a\x0c\x39\x9c\x92\x02\x65\x4b\x94\xf1\x78\x20\x23\xdc\xe2\xa9\x18\xbc\x40\x8f\xf4\xab\xc7\x10\xd4\x93\xad\x55\xb6\x4c\x31\xc3\x33\x40\x27\x3c\x80\x18\x28\x10\x57\x0b\xeb\x92\x21\x69\x53\x32\x09\xb8\x95\x66\x96\x36\xed\xaf\xa8\xfc\x06\x7d\x1a\x51\xd6\x82\xa3\x15\x8e\xf4\x66\xea\x77\x65\x47\x37\x93\xd8\xef\x06\xb7\x3f\x8e\x6f\x86\xb7\x57\xf7\x37\xa7\x25\xb1\xfd\xf4\xe2\xfe\xf6\x6e\x78\xd3\xf8\xac\x48\x99\xfb\xcb\xfd\xf0\xbe\xe5\x91\x6b\xe0\x62\xf0\xfd\xf0\x22\x7c\xe5\x2f\xf7\x83\x8b\xf3\xbb\x5f\xc6\x57\x1f\xc6\xb7\xc3\x9b\x9f\xce\x4f\x87\xe3\xdb\xeb\xe1\xe9\xf9\x87\xf3\xd3\x81\xfe\x32\x7c\xf7\xfa\xe2\xfe\xe3\xf9\xe5\xd8\x05\x98\x86\x8f\x7e\xbe\xba\xf9\xf1\xc3\xc5\xd5\xcf\xe3\xa0\xcb\xab\xcb\x0f\xe7\x1f\x9b\x66\x31\xb8\xbd\x3d\xff\x78\xf9\x69\x78\x79\xb7\x54\x11\x69\x5e\x8d\xd6\x4a\x70\xc1\x45\x16\x18\x08\x02\x31\x69\xb2\xb0\xa4\x4d\xff\x01\x66\xea\x6b\x43\x8f\x87\x07\xee\x2f\x53\x5c\xf1\x50\xb3\x40\xe7\x01\x29\xb8\xc7\x88\x79\x17\x95\xbf\x54\x15\x9e\x49\x97\x01\x59\x1a\xed\x09\x1a\xc0\x59\x01\x85\xa1\xd4\x29\xe4\xde\xfb\x91\x3a\xa7\x26\xd0\x61\x42\x53\x0a\xfe\x4d\x74\x88\xaa\x1b\x5e\x6e\xd0\xce\x09\x86\x60\x3d\x34\xf1\xb2\xd3\x20\xab\xc9\x95\x40\x29\x27\xc8\x71\x68\xdd\xac\x1e\x17\xc0\xd7\x2d\x18\x4e\x69\x64\x7e\xa8\x20\xb8\xa1\x22\x53\xbc\xda\x62\x89\xc0\xca\x2d\xcf\x09\xfa\xf1\xcf\xc5\xa0\xc0\x5a\x6d\x2d\x0a\x79\xad\x28\x8f\x7d\x20\x72\xb3\xaa\xab\xc8\xb3\xd4\x93\x3b\xe6\xd6\x8c\x08\xe7\xd6\xd6\x6e\x04\xd7\x42\xce\x02\xb4\x98\x92\x9f\xc1\xd6\x6e\x46\x87\xa8\x42\xe3\x27\xe8\x16\x32\xd5\x65\xa1\xba\xeb\x5d\xcc\x92\x7c\x46\x6b\xa5\x5b\x27\x64\x8e\x1f\x29\x77\x08\xd8\x06\x28\x1c\xd6\xd1\x8a\x56\xe8\x10\xb5\x1e\x94\x13\x34\x88\x63\x59\x66\x70\x25\xca\x71\x2c\xf3\xb0\x3c\xec\x10\xe0\x85\xc5\x9e\x6d\x56\xe8\xa8\x38\x72\xb0\x62\xbb\xcf\xc5\xaf\xb3\xc3\xf2\xdd\xbb\x15\xb6\xa1\x7c\x18\x3b\x52\x1e\x6f\x24\x0c\xdc\x61\xf9\xd0\x50\x11\xba\xf1\x7e\x75\xa8\x08\xdb\xf5\xd8\x5e\x86\xba\xb1\x53\xbf\xb2\x63\x38\x68\x9b\xf5\xd9\x0a\x2c\xb9\xa2\x4b\x37\xe3\xa4\x52\xfd\xa3\x73\x7f\xa5\xea\x21\xcf\x6f\xd9\x6f\x96\xc6\xe0\x48\x8e\x3d\xfd\xaf\x31\x8f\x6b\xf8\xf4\xca\x7f\xb9\x54\x64\x1b\x07\xeb\xb6\xae\xbd\xbf\x96\x2b\x68\x6d\xfe\x4b\xe9\x70\x47\xe8\x1c\xdd\x85\x41\xc0\x6e\xa6\x11\xb8\x76\x30\x65\x16\xd1\x9f\x78\xdf\x83\xab\x61\xa9\xcf\xb1\xaf\x32\x83\x27\xfc\xb1\xa4\x5c\xa6\x44\x4a\xdc\x82\x9b\x10\x98\xc4\xb6\x61\x0c\xfe\x84\xda\x0f\x3b\xd2\x93\x3b\x93\x77\xfa\xab\x65\x46\x9f\x9b\x50\x33\x76\x13\xd5\x02\x6b\xec\x62\x2a\xd1\x95\xc9\xac\xd2\xfc\xe5\xa0\x08\x9b\xe0\x22\x88\x26\x69\x33\xf5\x77\x34\xab\x55\x17\xac\xb1\x50\x43\xe8\xae\x59\x3f\xda\x22\x68\x7d\x63\x50\x4d\x6b\x43\xc7\xe5\xf5\x59\x83\xea\x4a\xbe\xad\xb0\x88\xa5\xa9\xd7\x6c\x2a\x64\x07\x23\x3d\x40\xd8\x24\xb4\x15\xd2\x94\xcc\xa3\xb9\xf1\x28\xe8\x2b\xe3\x60\xc4\x9e\x82\x0d\x29\x85\x7c\x0e\xc2\x96\x00\x0c\xee\xb3\x3e\x6e\xf4\xb1\x14\x48\x0b\x22\x23\x85\xa8\xce\x80\x10\x8c\xf3\xa7\xa8\x40\xb1\x82\xc0\x83\xfd\xda\x82\xd4\x37\x28\x37\xd4\x50\x11\xbb\xa9\xe8\x90\x9f\x5b\x50\xeb\x67\x0b\x4d\xb9\xeb\x10\x82\x72\x43\x4d\x23\xd8\x41\xb5\xa1\x17\x45\x08\xf5\x89\x79\x26\x8f\x33\x9d\xd8\x54\x79\x3d\x5d\xb7\xda\x7f\x70\x33\xfa\x83\xf1\x3b\xe4\x2d\xd8\x0a\x41\x6b\x1e\x24\x14\x1d\x6a\x99\xd5\xe5\xfc\x5a\xa7\xbb\x44\x87\x06\xf4\xe9\x3d\xc4\xd4\x0d\xae\xcf\xdf\x1f\xa0\xf7\x61\x5e\xd1\xfb\x8d\x0e\xa0\x1d\xb7\xad\x38\x04\xda\x54\x29\xb8\xbc\x7c\xec\x60\xaf\x2a\x27\xd1\xee\x99\x3d\x88\xa8\xed\x1c\xea\x2f\x4b\xdf\x80\x23\x12\x2a\xe8\x18\x5f\x9d\x0f\x6d\xb5\x2e\x20\x23\xe3\x52\xd9\xb0\x76\xf1\x88\x4d\x16\x55\x27\xcf\x81\xf7\xf2\x74\x3e\xa5\x5b\x57\x85\xd1\xed\xd5\x13\x51\x77\x1c\x72\xb9\xfc\x3e\x58\x91\xda\x3a\xf0\xd5\xda\x0b\x2e\xd6\xe6\x91\xee\x63\x95\x9b\x66\x55\xb2\x97\xb9\xc5\x6c\xdc\x94\x55\xf2\xcf\x5b\x23\xb7\x0e\x01\xbe\x83\xa6\x15\xb1\xb1\xdd\x2d\xc2\x75\x4f\x65\xcf\x4b\x65\xbb\x88\x6d\x2f\x0f\x6e\xfd\x0b\xf4\xd4\xc8\x71\x41\x33\xce\xe0\xaa\x95\x09\xcf\xe0\x4b\xa5\x83\x56\xd7\xdc\x5b\xd3\xe7\x1b\xac\xc9\x6a\xa7\xef\xad\x09\x1c\x30\x6e\xd7\xfa\x58\xab\x43\x1d\x28\x5b\xc7\x80\x53\x93\xc7\xa6\x68\x4a\x0e\x10\x67\xc9\x22\x08\x76\xb0\xe7\x15\xc8\xcd\xc4\xa3\x98\x82\xe0\xa6\x13\x0b\x75\xb6\x56\xe2\xf3\x9a\xd2\x78\x1b\x8d\x6c\x11\x69\x72\x39\xf8\x34\x3c\x1b\x0f\x2f\xef\xce\xef\x7e\x69\x80\xb1\x2b\x3f\x76\x48\x76\xc1\x0b\xb7\xbf\xdc\xde\x0d\x3f\x8d\x3f\x0e\x2f\x87\x37\x83\xbb\x15\x28\x77\xcb\x3a\x6b\x43\x50\xcb\x65\x93\xfa\xb6\x0e\x8a\x9a\x33\xf3\x36\xf4\x5e\xc7\xba\x0b\x3a\xa1\xa4\x05\xef\xce\x24\x79\xb3\x98\x08\x14\x93\x47\x92\xf0\xac\x30\xab\x36\x2e\x58\x00\x84\xd7\xd0\xfe\x32\x30\x3c\x68\xb3\xba\xc6\x27\xc8\x94\x8b\x09\x2a\xe6\xf9\x06\x41\xe4\xc3\x82\xb0\xf7\x0a\x91\xcf\x59\x42\x23\xaa\x82\x24\x30\x2e\xac\x7b\xc5\xb8\x0f\x21\x12\x71\x05\x71\xed\x2c\x1a\x65\xe7\x3a\x7f\xe8\x49\xaf\x6b\xfb\xfe\x44\x79\x60\xa6\x95\x35\x08\x76\xa0\xd8\xb7\x38\x8d\x6b\xb8\x51\x1b\x8c\xee\x39\xcc\x03\xf5\x6c\x0c\x9b\xc8\xd5\x82\x29\xd5\x3c\xc8\xd5\xb7\xe1\xb2\x38\x99\xd2\xb9\x5e\x1e\x28\xd3\x8d\x52\x5f\x39\xdc\xa5\x54\x9b\x6b\x07\x18\x0b\x36\x4e\x79\xcd\x80\x85\x1a\xdc\x3f\x7b\x30\x20\xe8\x48\x90\x94\x2b\xad\x80\x99\x88\x80\x03\x2d\x54\x51\x9c\xd0\x7f\x00\x1a\x91\x20\x47\x41\x04\x05\x24\x7b\xc5\x61\x70\xbf\x45\x0a\x38\x1a\xb1\xb3\xe1\xf5\xcd\xf0\x54\x33\xa4\x23\x74\x2f\x01\x68\xa8\x34\xf5\x33\x4b\xde\x46\x1c\x0b\x23\x19\x28\x93\x8a\xe0\xb6\x60\x30\x22\x04\x17\xdd\xf9\x83\xef\x6f\x08\xdf\x35\x93\x37\x3c\x2b\xd9\xa6\x9c\x01\xe0\xb2\xb5\xb0\x62\x10\x1f\xbe\xf3\xf4\x9b\x1b\xfc\x54\x5a\x91\x10\x68\x01\x24\x91\xf2\xaa\x3f\xe3\x6a\x03\x8e\x60\xf7\xf9\x95\xfa\xbc\x86\x6f\x97\xcd\xf3\xce\xd5\x46\xf7\xa0\x84\x06\xb7\xd0\x17\x2d\xa8\xcc\xb3\x55\x54\x14\xaf\x01\xca\x50\x21\xfd\x09\x99\x61\x86\x44\xce\x58\x05\xa5\x32\xb4\xb4\xd5\x83\x66\xd6\x3d\xaa\x7a\xcd\x70\xca\x73\x06\x4a\x03\x84\xb1\x36\x0c\x46\x66\x84\xa9\x15\x83\x79\x2d\xc8\x8d\xca\x50\xf7\x17\x75\xa3\x61\xa0\x6d\xc0\x1b\x4d\xfe\x24\xa8\xde\xb8\xde\xb5\xec\x82\xf2\x4a\x4e\x25\x7d\xa8\xfc\xfd\xdc\xac\x65\x63\xf9\xb0\x75\x77\x77\x58\x3e\xac\xee\x2a\x26\xd1\xc3\xba\x97\x4d\x35\x0b\x2f\xb1\xc5\x2f\x6b\xc6\xbe\x85\x7e\x6a\x91\xf5\xa1\xe6\x69\xf4\x80\x7e\xb8\xfb\x74\x81\xa6\x54\xcb\xbd\xfa\x5a\xb9\xc4\x5a\xc6\xbe\x17\x89\x2f\x28\x6d\x64\x90\x5c\x24\xfe\xee\x85\x8d\x77\xa2\x54\x20\x25\xe8\x1b\x0d\xcf\x88\x33\xf6\x0a\x8b\xab\x56\x41\xd6\x17\x98\xc5\x3c\x35\xf3\x38\x96\xf9\x74\x4a\x3f\x1f\x29\x2c\xbe\x5e\x43\xa2\x39\x2d\x39\xd8\x2a\x64\x64\xc3\x27\x2d\xcc\x1f\x58\x15\x56\xca\x09\xc3\x47\xc2\xd4\x4e\x84\x6c\x68\xa2\x21\xcb\xb8\x9b\xa9\xdc\x94\xba\x3a\x3f\x2b\x38\xb4\x2f\xb9\x1c\x84\xe6\x28\x81\xe1\xb2\xb2\x99\x1d\xd6\x2f\xdc\xe6\xad\x7e\xec\xec\x00\x85\x57\xeb\xeb\xb2\x22\xbe\xdb\xae\x76\x51\xf2\xb2\x88\xcd\x74\x30\xd9\x1b\xe2\x8e\x48\x62\x54\xf1\x20\xdf\xdd\x6a\x58\xd5\x3d\x37\x7d\xce\xb1\xac\x76\xb9\x72\xcb\x37\x00\xd9\x28\x35\xf3\x91\x40\x0e\xda\x4e\xca\xd0\xaf\x91\x6b\x0c\x03\xb9\x17\x09\xc4\x01\x2f\x35\xc5\x98\x72\x9b\xfa\xf8\x7a\xf1\x04\x77\x10\x34\xcd\x60\xb4\xe4\x43\x32\x41\xa0\x00\xf4\x09\xba\x4e\x88\x16\x1f\x72\x2d\x42\xe4\x49\xe2\x00\x89\x96\x8b\x38\x6b\x81\x68\x3d\xfb\xbc\x02\x01\x7a\xc9\xc4\x1c\x20\xd7\xf2\x99\x05\x6b\xb0\xfb\x0c\xf1\x60\x7d\xc1\x0e\x0a\xd6\xb0\xb2\x2a\x04\x0c\x78\x61\x82\x3f\xc1\x1e\x82\x4b\xdc\x98\xfe\x43\xb3\x79\x41\xe4\x9c\x27\x4b\xa7\xb0\x36\xcc\xd9\x3a\x73\x70\x4b\xf9\x8c\x93\xb0\x91\x77\xe3\xb6\xe0\xe0\x0e\x97\xf3\x99\x69\xa2\x51\x24\x58\x36\x45\x8f\xa4\xee\x43\x18\x2c\x3c\xa4\x0d\x65\xb3\x43\x03\xc7\x5c\x61\x2f\x0a\xa1\x9a\x0a\xfb\x7b\x21\x91\x2f\x8c\x03\xd1\x7f\x1e\x14\xf2\xf6\x71\xed\x54\xc9\xa2\xf2\x0d\x54\x74\x5f\x8f\xcb\xda\xec\x87\xa2\x09\x3d\xe0\x66\xd6\x66\x41\xd4\x41\x6e\xb3\xb1\x2d\xb2\x04\x32\x65\xb7\xd8\x4c\xb9\x51\xa7\x68\x67\xa0\xdb\xfa\x71\xca\x35\xbc\x9f\xcd\x9d\x53\xa2\x96\xd2\x04\x7a\xd8\xa2\xf5\x61\x8b\x2c\xa2\xbe\xa7\x3d\x00\x19\x53\x02\xb2\x8a\x0b\x8f\x4d\xf5\x92\xb7\x56\xd6\x55\xa9\x36\xa5\xdd\xe9\x94\x57\x53\xfa\x42\x9f\xfb\xb3\x2d\x5d\x3e\x7a\x32\x8b\x31\x64\x2a\x6e\x13\xf6\x51\x9a\xbf\x31\x57\x43\x9b\x24\x46\x26\x35\xda\x80\xaa\xda\xb5\xf3\xa6\x7a\x53\xdd\x7e\xc4\x6e\xf4\x28\xcc\x17\x85\xeb\xbf\xa8\x1c\x4d\x8a\x1a\x77\x53\x84\xed\x57\xb0\xe8\x6d\x91\x57\x72\x1c\x14\xce\x7f\xc6\x2c\xeb\xef\xcd\x3b\x26\xa1\xda\x02\x8a\xe8\xa9\xd2\x69\xa1\x37\x6a\x61\x2f\x9a\x53\xc8\x67\x8e\x89\xb4\x97\x07\x55\x36\x61\xdd\x8b\xca\x39\x71\xd0\xae\xf0\x99\xe7\x5f\x4d\xcc\xd5\x69\xa6\xcc\x59\x84\xe4\x88\x05\x7d\x2c\x41\x02\x34\xda\xe1\x86\x62\x3f\xec\x33\x8d\xbd\xa7\x05\xfe\x69\x76\xa8\x56\x05\xdf\x4e\x2f\xc5\x19\xd8\x13\xcd\x19\xe4\x53\x7f\xff\xdc\xd9\xb0\xf6\x23\x18\xf1\xff\xfc\xf7\x5f\x8f\x68\x9b\xb9\x5d\x8e\xed\x0a\xec\xc3\x4e\xae\xb7\x2d\xe1\xce\x07\x10\x05\x2d\xa9\xef\x32\x9f\x78\xfc\xe0\x52\xa8\x7e\xf1\xab\xbd\xdc\x34\xd1\x70\x35\x37\xfe\xc5\x32\xb9\x83\x31\x5e\xe4\xcb\x6f\xd9\x80\xc5\x15\x1e\xe8\xc2\xcd\x18\x44\x79\x3a\x00\x7a\x13\x9d\xa7\xdb\xaf\x5c\x28\x15\x06\x15\x20\x85\x6d\x13\x0d\x37\xc7\xf2\xf9\x42\x1e\x1a\xab\x7a\x18\x2b\x65\x78\x47\xae\x0a\x7e\x30\x83\x34\x59\x74\x7a\x57\x72\x49\x84\x39\xd0\x1e\x52\x06\xd5\x8b\xcf\x42\xec\xdb\x0a\x1f\x0e\x49\x31\x5d\x2b\x4e\x5b\xbf\xdf\x8c\xd2\x56\x32\xe2\xe2\x19\x11\xe3\x38\x2f\x05\xe5\xae\x6a\xfb\x5a\x7f\x74\x96\xab\xc5\xea\xf6\x65\x82\xa3\x87\x75\x90\xf1\xf4\xfb\x2d\xcd\xae\x16\x0c\x83\xd0\x89\xb2\x70\xd8\x82\x3b\x47\x2a\xb8\x73\x36\x96\xaf\xa4\xb5\xc3\x45\xc3\xa0\x7a\x70\x20\xdc\xdb\x9b\xc8\xa0\xe3\xc2\xc8\xd1\x24\x2f\xac\x1c\x1e\x6f\x3c\x3e\x1a\xb1\x0f\x06\xb0\x1f\x14\x0f\x33\x80\x08\x12\x29\xc8\xe7\x8c\x4b\x52\xca\xec\x69\xc0\x10\xb7\x99\x79\x76\x18\xcd\x32\x69\xa5\x7a\xf3\x56\x22\xe9\xab\x23\x08\xd6\x37\xbc\x3e\xe5\x66\x0a\xdc\x4a\xea\x89\x68\x46\x35\xed\x8c\x1b\x4f\xda\xfa\x53\xef\x5a\x82\xa2\x88\x95\x01\x2c\x19\x95\x2c\x0e\x90\x9f\x5e\x85\x20\x12\xf2\x48\xc0\x4c\x09\x63\x0c\x91\xe2\xcb\xa6\xa6\x16\x76\xb2\xea\x00\x15\x69\x75\xc0\x16\x50\x5c\x1d\x41\x39\xf9\xa8\x89\x16\xcb\x69\x15\x5b\x67\x00\x35\x39\xfc\xd7\x90\x42\x07\x21\x62\xfe\x82\x28\x44\x3e\x2b\x62\x0b\xbe\xdd\xb9\x1c\xad\x7a\x58\x37\x6a\x4e\x33\x69\x17\x91\x76\x4f\x15\xb5\x89\xd8\xcc\x5c\x97\x84\x16\xbb\x7b\xdf\x26\x65\xcd\x31\x8b\x6d\xa6\xa1\x95\xa5\xb5\x4c\x01\xb3\x33\x76\x20\x1f\x83\x6d\xf3\xe5\x02\xa8\x61\xd3\xa6\xc1\x44\x86\x8b\xcc\xe9\x45\x5a\x32\x07\xb7\x35\x17\x5a\x40\xcd\x99\xa2\x89\x26\x0e\x3b\x06\xad\x35\xe7\xcc\x83\x7d\x41\xc4\x70\x1b\x9e\x14\x95\x92\xb2\xd9\xd8\xae\xa4\x4b\x9a\xeb\x76\x31\x94\x69\xea\x93\x69\xca\xfc\xf8\xbd\x6b\x68\xb9\x9d\xd7\x90\x35\x60\xfd\xb8\x74\x3d\x10\xac\x19\x77\x93\xb1\x20\x4d\x2e\xcb\x6f\x4c\xe3\x52\x81\x7a\x98\xe8\x3a\x46\x0a\x10\xeb\xea\xf9\xf1\xc5\x15\x22\x6d\x0a\x9e\x49\xac\x81\x08\x68\xd5\x92\x63\x28\x5b\x73\x0b\xcf\x99\x17\xd1\x6c\xe1\x18\x9f\x41\x5d\x49\x53\xc4\xae\x3b\x1b\xe6\x8d\x93\x64\x82\xa3\x07\xaf\x6c\x78\x95\x9b\x0b\x07\xbc\xad\x05\x54\xa8\x2c\x64\x88\x4b\x0f\x34\x02\xe9\x26\xf4\xc2\x18\x84\x14\x3b\xec\xa2\x73\x5b\xd6\x9f\x99\x42\xf3\xa0\x9c\x9b\xd1\x9b\x98\xf1\x98\x64\x09\x5f\xa4\x2d\xf7\x59\x35\x35\x6b\x9b\x08\x88\xb6\xcc\xb0\x9d\x5e\x65\x15\xa6\xb7\xf6\x65\x56\xcb\xf3\xd8\x01\x5e\xcf\x1a\x5c\xf2\x63\xc2\x27\x60\xe5\xb3\x5a\xb6\xcb\x5d\x08\x42\xe8\xab\xe7\x79\xdd\x8c\x8a\xea\x89\xa4\x32\x4b\xf0\x62\x59\x0f\x26\x96\xff\x79\xf7\xcd\xe4\x7e\xaf\x36\x82\x75\x8f\x82\x6d\xfc\xfc\x39\x50\x40\x2f\x9c\x24\x60\xde\x35\xfc\xab\x62\x4c\x32\x49\x54\x47\x99\xe0\x5a\x50\xe0\x23\xa6\xf0\xcc\x6d\xae\x15\x2e\xf9\x13\x23\x42\xce\x69\x56\xaa\x38\xb6\x75\xd8\xad\xa5\x68\xfb\x1f\x13\x64\xba\x06\xef\xe4\xd9\xa1\x41\x7e\xd0\xf4\x21\x33\x1c\x15\xc6\xbf\x28\xc1\x52\xd2\xe9\x22\x00\x6c\xf0\x11\x8c\x90\x16\x53\xd6\x96\x83\x22\x3f\x4d\x8c\xc6\x8c\x6f\x37\x19\xcb\xdb\x67\x6b\xdd\x97\x8f\x1f\x8d\x43\x64\x2c\xa8\xff\x5e\x43\xe7\x70\x37\xb5\x45\xe9\x68\x45\x73\x34\xa9\xd9\x9b\x65\x18\x2f\x05\x55\x69\x37\x23\x14\xc2\xa4\x1d\xb6\x55\x64\x3c\x90\x42\x08\x32\xa2\x4a\x29\x6a\xb0\xf9\x5a\x71\x72\xe6\x4f\x4d\x9c\x1e\x84\x01\x72\xd5\x8b\x8f\x0f\x90\xdc\x0a\xbc\xa8\x0b\x5d\x9c\x91\x84\xec\x24\x92\x75\x03\x22\xa9\x7a\xd8\x03\xf2\x58\x4a\x1a\x05\x50\xf7\x6a\xe3\xc2\x06\x01\xb6\x2d\x10\x28\xcd\x43\xff\xd9\x0c\xd4\xc6\xd8\x36\xed\x22\xd8\xbf\x60\x95\xbb\xea\x2e\x4d\x58\x6a\xa6\x05\x4b\x72\x45\x37\x25\xba\x2a\x3a\xf5\xf2\xca\x3e\x92\xda\x2b\x87\xa2\xd6\xc6\xf5\x91\x74\x89\x38\x58\x79\x00\x36\xe2\x40\x75\x3e\xdd\x8d\x2e\xac\x9f\x50\x71\x34\x23\xca\x14\x77\xf6\x15\xac\xdf\x12\x4d\xec\x2c\x90\x7e\x47\xab\xdf\x7c\xc8\xd7\x3b\xb5\xb7\x44\x49\x77\x25\xd4\xe0\xe9\xec\xe6\xec\xe1\x16\xec\xc7\xb1\x34\x82\xeb\x17\x2f\xb7\x6c\x9d\x7c\x6e\x47\x66\x53\xb0\x7f\x43\x02\x95\x99\x63\x6c\xbf\xf0\xe9\xd6\x25\xa0\x21\x5c\x02\x67\x33\x6b\xf4\xfa\x5c\xaf\x4a\xda\x5f\xba\xe8\xb5\x3e\x8d\x57\x47\x55\x50\x77\x2f\x0f\xae\x27\x0f\x3a\xf0\xc2\x3d\xbc\xfc\xdb\x8e\xc1\x7e\xde\x3f\x7b\x20\x1c\xd6\xae\xc4\xdd\x89\x88\x6f\x88\x4c\xf6\x42\x52\xac\x6d\xc5\x4b\xc9\x8b\x87\x0e\x3d\xa6\xc0\x62\xd9\xdf\x2d\xda\x8f\x93\x7c\x63\xdd\x40\xcf\x77\xc1\xae\xa6\x97\x9d\xd0\x07\x00\x29\x62\xc8\x37\xcd\x6d\x65\x06\x38\xbc\x41\xc8\x58\xcd\xf7\xb0\x22\x18\xcf\x0e\xaf\x53\x18\x5e\x6d\x39\x9f\x63\x7b\x6d\x72\x51\xe7\xcd\x7d\x4e\x52\x5b\x77\x2c\xbb\xd0\x51\x9e\xd9\x8b\x63\xa9\x31\xf8\xa0\x8f\x89\xed\x76\x8b\x36\x40\x96\xb8\x2d\xdb\xe5\x21\x6b\x2a\x9d\xb4\x7d\x7a\xb4\x4b\x39\x1b\x67\x82\x4c\xe9\xe7\x8d\x44\xf1\x6b\xf8\xd4\xaa\x97\x7a\x99\x2b\xc5\x98\xc0\x3d\x03\xc5\x9b\x82\xb8\x3d\xbb\xd2\xb6\xba\xce\x88\x15\x19\x67\x36\xdd\xec\x81\x2c\x10\x17\xa5\x9f\x36\x05\xd7\xdb\x7d\xe1\x28\xb3\xaf\x73\xa5\x32\x79\x72\x7c\x3c\xa3\x6a\x9e\x4f\x8e\x22\x9e\x9a\x70\x73\x2e\x66\xe6\x8f\x63\x2a\x65\x4e\xe4\xf1\x77\xdf\x7e\x5b\x6c\xf1\x04\x47\x0f\x33\x03\x57\x52\xf7\x3b\x95\xb6\xfc\xb6\x5e\x5c\x75\xfd\x52\x0f\x82\xb3\x31\xf9\xac\x89\x54\x6e\x0a\x64\x73\x2f\x89\x44\x83\x9f\x6f\x91\x5c\x30\x85\x3f\x9f\xa0\x4f\x94\x81\x00\xf2\x03\xcf\x85\x44\x67\x78\x71\xc8\xa7\x87\x29\x67\x6a\x8e\x3e\xc1\xff\xda\x9f\x9e\x08\x79\x40\xbf\x10\x2c\xec\xfe\xda\x1a\x4a\xbe\xc2\xeb\x1c\x43\x2e\xae\x44\xe4\x51\xaf\xf0\xb7\xff\x81\x52\xd3\xf2\x09\xfa\xe6\xf8\xdb\xff\x40\xbf\x87\xff\xff\xff\xa3\xdf\xb7\x68\x6a\xeb\x41\xe1\x40\xf1\xc6\x9b\xb2\x3b\xee\xa0\xb2\x52\x1b\xd4\xb3\x3d\x15\xbc\xd8\xa9\xc6\x96\x1f\x68\xf4\xc0\xa7\xd3\xb1\xa2\x29\x31\xb9\x41\x63\x2c\x6a\x30\xaa\x1b\xe2\x0a\x52\x5b\x7d\x53\x50\x03\xb7\xed\x6a\x2b\xd8\x4e\x4d\x26\xb4\x3b\x6e\x32\x2f\xaa\x0f\x42\x10\x48\xa9\xa2\x23\x95\xf0\x15\x89\xf5\xa9\x58\x27\xe0\xc3\x59\x67\xea\x35\xc2\x0b\xe4\x80\xb0\xa2\xac\x0f\xdc\x0a\xa3\x10\x4d\xa0\x86\x5d\xc8\xc6\xe3\x50\x0b\x8f\xfc\x62\x62\xde\x60\x6a\xaf\x15\xef\x26\x6b\x9d\xaf\x0e\x75\xbb\xe5\x62\x2b\x79\xf9\x81\xd4\x62\x6e\x3b\xd6\x11\x71\x75\x0c\xc3\xda\xc6\x90\x74\xca\x85\xc7\xf7\x34\x7a\xad\xad\x36\xb6\xda\x0a\x45\x85\x09\x0e\xea\x76\xe8\xf5\xd4\xcf\xfc\x27\xab\x86\x09\x91\x42\xee\xed\xa2\x8e\x12\x8c\x56\x5f\x71\x9a\x25\x36\x8c\xb8\x01\x04\x6c\xd5\x86\xde\xfa\xbc\x6f\x68\x1c\xc2\xd6\x20\x64\x9f\x39\xc9\xc4\xe6\x24\x37\xee\x27\x40\x23\xed\x02\x35\xad\x86\xb2\xbd\x05\x9f\x33\xa6\xb2\x82\x45\x38\x90\xf6\x0a\x36\xbb\xc0\x9a\x7b\x6c\x08\x34\x67\xaa\x6d\x1c\x20\x81\x21\xf2\x4b\xcd\x31\x33\x4a\xd4\x14\x47\x94\xcd\x0e\x02\x8c\x31\x48\x95\x0e\x79\x56\xd3\x4a\xde\x61\xf9\xb0\xdb\x68\xa6\xad\xab\x8f\xd1\xb8\xa8\x80\x63\x51\x01\x8c\xf5\x94\xd6\x00\x96\x14\x96\x0f\x6d\xb0\x18\x35\x4c\x9e\x25\xa3\xf3\x4b\xe1\x90\x7c\x96\x8d\xcf\xa5\x5e\x92\x50\x68\x03\xc0\x6d\x57\xfb\xd0\x22\x74\xb9\xec\x19\x0c\x37\x0d\x4d\x48\x5c\x85\xa6\xab\x8e\x7f\x15\x21\x18\xb5\x38\x88\x9b\x01\xe4\xb2\x54\x2b\x7e\xb1\x31\xcf\xb2\x85\x39\x4a\xfa\xe6\xc2\xf2\x41\xfa\x12\x78\x48\xa6\x38\x49\x0e\x90\x20\xb9\xd4\x57\xef\x01\x92\x24\x99\x1e\x3a\x10\xf1\x18\x25\x7c\x46\x23\x9c\xa0\x49\xc2\xa3\x07\x39\x62\xfa\x2a\x61\x33\x73\x03\x66\x82\x47\x44\xca\xe0\xee\x2d\xd2\x32\x6d\xb2\x0c\xd4\xbf\x53\x44\xa4\x94\x51\xa9\x68\xe4\x2e\xd5\x22\x13\xda\x54\xdc\xd4\xda\x50\xc4\x4d\xd5\x3e\x18\xae\x96\x05\x88\x81\x35\xcb\x99\x2d\x37\x01\x0c\xdd\xa2\x15\xb9\x30\xd0\x36\xea\xdd\x01\xf8\x92\xdb\x9e\xb1\x2a\x9f\x86\x15\xf4\x7c\x6a\x3f\x83\x33\xb4\x8c\x62\x6e\xca\xe4\xec\xa9\xc1\x93\xb9\xc7\xf4\x75\x44\x51\x04\xb9\x96\xee\x36\x1f\xfb\xb9\x67\x58\x30\x30\xe4\x16\x04\x98\x55\x34\xad\x57\x11\x2e\x45\xa8\x70\x52\xf5\x8b\x51\x16\x25\x79\xec\x6b\x5c\xe9\x4b\xe2\x51\x13\x89\x5b\x1e\xbd\xf6\xfa\x2a\x39\x40\x58\xa2\x27\x92\x24\xfa\xbf\x26\xc6\xf5\xd0\x43\x4e\x6b\x7e\x68\x60\xc1\xa1\x13\xc7\x22\x5b\x29\x0a\x26\xb1\x27\xa5\x19\xfd\x25\xbd\x2e\x5b\x5c\x29\x48\xe8\xe5\x59\x93\x3d\xea\x95\x6e\x85\xe7\x2b\x8d\xad\x4c\xb6\x80\x33\xd2\x3e\xa8\x8e\xf6\x0a\xd1\x94\xd0\x6b\x28\x0e\x9e\x3e\xd2\xa2\x0c\xa9\xed\x6d\xa9\x3d\x43\xcf\xa8\x93\x31\x23\x24\x8a\x8d\x0d\x74\x95\xa9\xd4\x12\xe3\xa9\xa9\xa1\x6c\x26\x04\x52\x6d\x1e\x45\x84\xc4\x8d\xe1\x90\x7a\x44\x7b\x07\x3f\x77\x8d\xd5\xdc\xe4\x58\xa7\x5c\x99\x2a\x78\x06\x7e\xce\x19\x5a\x0c\x5e\xd9\x24\xe1\x13\xb8\x90\x00\x99\xce\xe5\x68\x06\xf9\x5d\x66\xde\x24\x46\x5f\x05\xf7\x8b\xcf\xff\xff\xba\x19\x27\xad\xb4\x22\x7b\x80\x4a\x57\xb5\xf0\xb4\x62\xd3\x95\x0b\x39\x1d\xa1\xeb\x0a\x68\x45\xb0\x32\x53\xac\xaf\x8d\xa5\x00\x28\xaf\x84\x64\x57\x99\xc4\xf3\xed\xd0\x9a\x48\x76\xa5\x3e\x77\x80\x64\x57\x99\x67\x4b\x10\x39\x9f\x3d\x6b\xf2\xab\x9e\xd4\x05\xef\x9e\x91\x64\xc0\x93\x8c\x88\x57\x22\x41\x77\x20\x17\x4d\x84\xb8\x5f\x28\x7d\x95\x72\x67\xaf\x8b\xd2\x57\x19\xcc\x3e\xa3\xf4\x55\x86\xba\xbf\x28\x7d\x0d\x03\xed\x80\xd2\x67\xbc\xcc\x63\x4d\xd4\xdd\x98\x02\x64\x58\x4c\xf2\xe9\x2d\xdc\xbb\x4b\xc7\x78\x6a\x3c\xd8\xe6\x1a\x73\xa2\xa4\x05\xad\x85\xd1\xda\x64\xbc\xb6\xb8\x1c\x2c\xb7\xa2\x3d\xef\x06\xa2\xd2\x68\xf1\x59\x82\x59\xf9\xea\x80\x8a\xe6\x82\x44\x9a\xfc\x0c\xa3\x52\x02\x33\x09\x53\x3d\xb0\xd6\x25\x3d\x0a\x63\x50\x8d\x70\x66\x93\x9b\xdb\x6a\x49\xec\x4f\x1a\xe7\x7a\x00\x88\x80\xcb\x56\x62\xf5\x9d\x50\x95\x3e\x55\xe0\xd8\xe7\xfc\xc9\x4a\x8e\x40\x7e\x86\x18\x5b\x49\x0f\x3a\x1d\x5b\x85\xbe\x6d\xc5\x28\x53\x64\x56\x15\xe9\x8b\xc3\x42\x99\xfa\xe3\x77\x2b\x39\x90\x81\x9d\x73\xa6\x83\x00\x14\xdd\x22\x5d\xf8\xf2\x2b\x24\xb6\x35\xd9\xa5\xd6\xae\xf5\x74\xcc\x8d\x2a\x51\x8a\xa9\xd3\xf3\x73\x09\xbe\xa4\x39\x95\x23\x66\xf2\x8d\x6c\x29\xb0\x23\xf4\x01\x2a\x3d\xe2\x34\x4b\xc8\x01\xf2\xf3\xa3\x9a\x82\x46\xf9\x37\xdf\xfc\x91\xa0\x6f\x50\x4a\x30\x2b\xd9\x37\x40\xab\xd7\x57\x1e\xe0\x9a\xa9\x39\x19\xb1\xc6\xad\x40\xc3\xcf\xa6\x78\x8c\x0b\x38\x3b\x67\x53\xee\xec\x25\x50\xc1\x0c\x47\x73\x24\xf3\x89\x29\xc1\x19\xd8\xb7\x9c\x9e\x77\xc1\x67\xe0\x29\x85\x9b\xd8\x0d\x7a\x63\x3c\xc7\x0a\xc3\xe9\x88\xe7\x58\x9a\x5a\x8f\xe7\xd8\x7c\xfa\xf6\x16\xcf\xb1\xb2\xe7\xdd\xf0\x1c\x9b\xb6\x7c\x03\x3c\xc7\x52\x33\x5f\x0c\x9e\x63\x65\x45\xbf\x18\x3c\xc7\xca\xbc\x7a\x3c\xc7\x2f\x04\xcf\x71\x35\x1f\x69\x44\x2c\x6c\x3e\xbc\xeb\x21\x16\x36\xea\x57\xed\x2c\x62\x5b\x78\x18\x90\xe6\x5e\x18\xb1\xb0\x34\x81\x3e\x3a\x6b\xfd\xe8\xac\x46\xe2\xb3\x7d\xeb\xe1\xb9\x90\xad\xea\x45\xd6\x11\xb3\xb0\xb4\x3f\x9d\x4d\x9f\xbb\xa0\xc4\xe7\x8d\x07\x04\x0f\x4c\x57\x73\xc8\xa0\xb4\x8a\xd2\x22\x9d\x6a\xc9\xc8\x61\x4d\x19\xcd\x29\xf4\x3e\xf7\x94\xbb\x41\x5c\x61\x65\x79\xbd\xcf\xc6\xd0\xe2\x2e\x8d\xf3\x0d\x65\xbc\xb7\xa0\x57\x97\x7a\xb5\xa6\x73\xc4\x0d\x02\x9c\x24\xcd\x86\x41\x9a\xd2\x5d\x35\xbb\xea\x22\xf3\x48\x3a\xa0\x4d\xd5\xb2\xca\xf4\xf5\x64\x86\x63\x64\xe3\x4a\x32\x1d\xa4\xf9\x9b\x2f\x67\x54\x2a\xd1\x1a\x59\x53\x1b\xe1\x36\x6e\xd8\x2c\xdf\x04\xb3\x63\xb6\xd9\x67\x29\x49\xb9\x58\x15\xd6\xd3\xf8\xa5\x2d\x40\xb0\xc9\xa7\x24\x9b\x93\x54\x0b\x41\xe3\x75\x1b\xe9\xba\xdf\x3e\xe5\xd0\x66\xbe\x98\x30\xbb\x12\x11\x04\x4e\x56\xfd\x6e\x6c\xf0\xec\x3a\x6f\xf7\xb6\xdb\x6c\x11\xf7\xd6\xb4\xe2\x3b\xc4\xd1\xe5\xd6\x12\xfb\x52\xc9\x95\x0e\xf4\xdd\x18\xac\xe1\x63\x65\x36\x0c\xc7\x68\x41\x31\xac\x77\x08\xde\x5a\x49\xc4\x61\x28\xa3\x96\x3c\xa4\xf5\x11\x94\xd6\xdd\xe9\x36\x5b\x2c\x7b\x2e\x5a\xa3\x06\xbb\xd8\xf5\x22\x95\xe3\x04\x14\xa7\xb0\x4a\x57\x95\xbe\x27\x8b\x86\x34\xa4\x6e\x86\x63\xca\xd4\x9f\xfe\x7d\x9d\x30\x0a\x10\xf2\xed\xba\x41\x65\x11\x1c\x45\x44\x1a\x53\xa3\x8d\x2a\x35\x55\xef\x73\x91\x6c\xb3\xab\xfa\x70\xe8\x79\x6b\x96\xe9\xa1\x41\xe3\x82\x78\xcc\x05\x3c\x17\x3c\x9f\xcd\x9d\x35\x43\x53\xa1\x9e\x5a\xd3\x5e\xfe\x54\x33\x19\xae\xbd\x97\xdf\xe7\x34\xd9\xcc\x56\x74\x5b\x2a\xb7\xf2\xf1\xfc\x0e\xc9\xb9\xa7\xff\x09\x34\xdb\xb8\xb1\xf5\x41\x77\xef\xd3\x7e\xeb\xcd\xd6\xd0\xcd\x81\x83\xc3\x9b\xf2\x24\x01\xc3\xab\x24\xe9\x63\x5b\xd5\x7c\x98\xf0\x1d\xdd\xb0\x36\x38\x7c\x0d\xee\x1b\xa9\x70\x9a\x75\x92\x68\xae\x8d\xb0\x25\x91\x1b\x7d\xd5\x77\x6b\xa2\xba\x38\x23\xac\xc9\xda\xf3\x73\xbd\x48\xc0\x1b\x8b\xad\x73\xb1\x5e\x3b\x8b\xaf\x73\x4b\xf2\xc2\x31\x76\x4d\xf3\x58\x83\x05\x94\x42\xce\x0b\x1e\xef\x82\x17\x8c\x1c\x3f\xd0\xf3\x1b\xb1\x41\x29\x38\xdd\x95\xe3\x9c\x2c\x8a\xe8\x56\x23\x12\x87\x9c\x04\xb0\xd5\xad\x9d\x00\x4c\xfa\xfa\x2f\x10\xdc\x0d\x92\xa3\x89\xbe\x73\x11\x76\x10\x9a\x4b\xe2\x43\x1c\x2d\xa2\x84\x46\x81\x0a\x38\x13\x38\x9b\x37\xb1\x1b\xb7\xec\x3d\x04\xc5\x6b\x41\x50\xb4\x15\x0c\x59\x27\xb4\xd8\xd1\x15\xc3\x29\xe9\xa1\x31\x9a\xa0\x31\x0e\x7c\xf2\x37\x2b\x4a\x9f\xbc\x62\x4e\x71\xfd\xdc\xf5\xf8\x18\xaf\x80\x8f\xb1\xc9\xe1\x2b\xc0\x2f\x4a\xc7\xae\xc7\xec\x78\xd7\x09\xb3\xc3\x5f\x82\x7b\x05\xc3\xd0\x7e\x1e\x5f\x39\xbd\xbf\x3e\xb0\xd7\xc4\xe8\x68\x10\x17\xd6\x91\x9b\x96\x81\x74\x2c\xa3\x8b\x4e\xeb\xf2\xba\x90\x19\xeb\xad\xcc\x5a\x68\x18\x8d\x77\xd7\x9e\x60\x63\xb4\x6f\xc3\x9e\x9c\x9b\x5d\x26\x80\xac\x57\xdb\x2d\x4c\x02\x59\x47\xbb\x59\x2f\x1f\xc4\xd3\xc3\xdb\xca\x09\x29\x0a\xeb\x6c\x96\x17\x32\x70\x2e\x55\x22\xd0\x9c\x27\xb1\x89\x5a\x0a\x56\xcb\x77\xe0\xa3\x91\xfd\x02\xb9\xcd\xb8\xcd\x48\x64\xb4\xad\xa2\x3a\xce\xb2\xec\x0f\xbf\x89\x6f\x3d\x03\x24\x90\x7f\x77\x9b\x05\x12\xae\xec\xa6\x99\x20\x2b\x06\xb7\x4c\xf4\xd8\x30\x1b\x24\xe8\x71\xa9\xd3\xc9\xcd\xae\x93\xe3\xa9\x4a\x2c\x1b\xc4\x04\xd5\xca\x18\x6d\x8f\x94\x91\xe2\xcf\xe3\x0c\x0b\x9c\x24\x24\xa1\x32\x7d\xb6\xc0\xc4\xd3\xb2\xf7\x51\x9f\x55\xc1\x8d\x7d\x86\xe5\xe9\xc4\x90\xa2\x1b\x88\x2d\x9e\xa6\x38\x12\x39\x0b\x71\x7e\xfc\xc6\x20\x57\x5c\x2b\x87\x7b\x01\x4c\x3a\xd1\x1c\x2a\xf5\x4d\x31\x15\x8c\xc8\xd6\xba\x68\x24\xca\x05\x55\x8b\xb1\x2d\x33\xd7\xfd\xc0\xdd\xda\x2f\x4f\xed\x87\xcb\x1d\xb6\x2e\x45\xda\xf5\xe7\xcb\xda\x65\x44\x40\xcd\x0c\x57\xfd\x21\x28\xa5\x67\x53\xe0\x89\x2f\xbc\x01\xa1\x98\xb5\x6b\xbb\x2d\x84\x18\x3f\x8d\x83\xac\x8e\x71\x54\x25\x8e\x55\x87\xb5\x09\x84\x65\xd9\x24\x9f\x19\x86\xa4\xc5\x29\xfa\x0c\x90\xfb\x36\x74\xdb\x34\xad\x07\x1c\x78\x36\xc1\x58\x58\x6c\x4c\x90\x97\x6d\x95\xaa\x96\x71\x62\xc6\xb8\x6a\x2e\xb6\xb4\x64\xb0\x83\xe0\xab\x0e\x23\x0e\x3a\xd9\xd1\xb0\xf5\x41\x17\x22\xcf\x14\x9d\xd4\x71\x42\x76\x58\x82\x6f\x90\x40\x46\xb2\xb3\xf1\x97\xba\x35\x75\xf9\x4a\x9c\xd8\xce\x4e\xcb\xff\x16\x54\xc7\xc1\xad\x50\x36\x4b\x48\x29\x97\xe8\x2a\xa5\x40\x85\xe6\xfc\x80\xf5\x57\x53\x67\xd9\x36\xfb\xde\x45\x2f\x60\xa8\xee\x67\x4c\x44\x47\x23\x36\x90\xe8\x89\x20\x46\xcc\x12\x36\xd5\xed\xf3\x26\x65\x28\x84\x32\x21\xba\x27\x1f\x6a\xa1\x85\x07\xaa\xa4\xaf\xc5\x63\xfa\x98\xe2\x44\x92\x03\xdd\x30\x94\xf0\x53\x1c\x62\x00\x31\x7a\x12\x38\xcb\x88\x18\x31\x1b\x51\x0e\xde\x0e\xce\x13\xd3\xfe\x5a\xd2\x4f\x1c\xcb\xb2\xa1\xcb\xa8\x10\xf4\x1f\x25\x15\xfb\xb0\x94\x85\x12\x05\x78\x1c\x10\x7f\xe6\x4a\xaa\x2c\x93\x75\xfa\x68\xe6\x7a\x34\x73\xf3\xda\xec\x63\x44\xb3\x3f\x4f\xeb\x46\x35\xb7\x6d\xff\x2e\xa4\x98\x1d\x46\x37\xbf\x72\x18\xf0\xf3\x44\x00\xbf\x6e\xc8\xf6\x73\x44\x6b\xf7\x31\xcd\x6f\x2f\xa6\xb9\xfd\xd8\xae\x15\xd7\xbc\x02\x60\xc6\xf5\xb2\x6d\x10\xa9\x07\x3d\x79\xd6\x40\x52\xef\xb6\x0f\xbe\xe8\x18\x4c\x5a\xa0\xb2\xf4\x01\xa5\xcf\x14\x50\xda\xb0\xc4\xeb\x05\x95\x6e\xa4\xdf\xbf\x7c\xbc\x5b\xb5\xca\xf6\x73\xc6\xbc\xad\x08\xf3\x90\xf9\x64\xfc\xec\x47\xaf\x71\xce\x5d\x4f\xe0\xcf\x9e\x28\x8c\x48\x24\x34\x9d\x4d\x48\x1c\x83\x0d\x59\x2b\xab\x90\x49\x58\xd0\x8e\xd3\x05\x34\xf3\xc5\x52\x13\x3b\x4e\x38\x9b\x49\x1a\x93\xa0\xae\x7d\x49\x53\x81\xac\x46\xd8\xdf\x24\x21\xc2\x99\x20\x05\xfa\x4a\x52\x16\x91\xd0\x2c\x29\x50\xcc\x89\x64\xef\x95\xd1\x0c\x30\x5b\xa0\x07\xc6\x9f\x12\x12\xcf\x60\x87\xaa\x83\x39\x44\x94\x1c\x20\xaa\xfc\x67\x02\xd2\x20\x79\xae\x46\x7a\xec\x10\x58\x62\x44\x40\x62\xbf\x0d\xaa\x81\xfa\x66\xbe\x3e\x42\xe8\x9c\xa1\x29\x8e\xd4\x41\xb9\x0e\x79\xcc\x4d\x79\xc7\x47\xc2\xc2\x89\x17\x8d\x3c\x5b\xbc\x63\x63\x7c\x63\x85\xda\xdc\x79\xd3\x04\x30\x48\x28\xde\x2a\x34\xe5\x11\x6f\x03\xde\xf6\x29\x97\xd6\x87\x89\x38\xf3\x87\xc9\x22\x24\x78\xbc\x4a\xa8\x72\x67\xb0\x1f\x19\x8f\x5b\x4d\x05\x95\xa9\xac\x3b\x96\x22\x8e\xc8\x16\xd7\xb3\x76\x5e\x68\xd7\x2c\x77\xcc\x9f\x98\x54\x82\xe0\xd4\xda\xd6\x34\xf3\x06\x1f\xb4\x89\x22\xd2\xa3\xa7\xc2\x5c\xda\xeb\x6c\xf1\x05\x65\x0f\x7a\x77\x0b\x84\x4e\xa8\x55\x0a\x3d\x37\x6d\x5a\xa6\xef\x10\x72\xca\x99\xb1\xaf\x6f\xb3\x7f\x92\xce\x18\x4e\xd6\x54\x1b\x6b\x2b\x57\x37\x89\x3b\x93\x84\xbd\x80\xf5\xbd\x6c\xec\x19\xc8\xf4\xb8\x96\x5a\x5e\x99\x6f\x68\x90\xc7\x28\x26\x19\x61\x31\x61\xd1\x02\x48\x84\x41\xf2\xbb\x80\x92\xfc\xf0\x1d\x4e\x8e\xd0\x99\x89\xb6\xf6\x32\x93\xbd\x28\xe1\x8a\x4c\x31\xa3\x53\x2d\x7a\x81\x0d\xc3\x8e\x72\xc4\xcc\x30\x9d\x09\x31\x28\x00\xeb\x57\xac\x61\x67\xbe\xa7\x0c\x97\xc2\xdb\x37\x38\x4f\x49\xbe\x56\xbc\x65\x60\x30\x5a\xb4\xc1\xd6\x2a\xbc\x0a\x49\x76\x8d\xcd\x40\x12\x4a\xe7\xa2\x09\x54\x76\xd7\x97\x90\x59\x24\x8c\x14\x06\x3b\xe5\x9c\x24\x59\x50\x7e\x32\xc3\x42\x49\x77\xb4\x0d\x92\xa2\xe6\xdb\x69\xce\x4c\x1a\xbd\xd1\xdd\x9f\x2c\x60\x9e\x35\x51\x17\x8d\x1f\x8d\xd8\xb9\x7a\x2f\x35\xe7\xe3\x6c\x96\x2c\x10\x8e\x1f\xa9\x2c\x70\x6c\x23\xce\x64\x9e\x12\x51\xa9\xea\x6c\xe2\x97\x10\x76\xa4\xa9\xc7\xa6\xa5\xe8\x47\x9c\xd0\x58\x77\x6b\x6e\xed\x19\x9a\x90\xa9\x96\x48\x32\x2c\xa4\x73\x76\x35\x38\xaa\xec\xe6\xc6\x7a\xad\x5e\x8d\x5b\xfe\x14\x32\x44\x94\x16\xbc\x13\x5b\xad\xf2\xb8\xca\x39\xed\xaa\x2f\xe1\x9a\x93\xda\xa4\xd0\x72\x91\xc1\xae\xc2\xd9\x2a\x9c\x07\x87\x35\x94\x9b\xc0\x04\xdd\x8f\x93\x4e\xcd\xe0\xd6\xe2\x00\x95\x09\xda\x51\x1b\xeb\x66\xc8\x35\x09\x85\xeb\x5a\x2a\xac\x68\x64\x05\x61\x2e\xec\xc5\x61\x2f\x96\xf6\xad\x3d\xdb\x12\xd7\x54\x46\x38\xa9\xef\xf0\x12\x5f\x88\x79\x7f\x39\x6f\xb5\xc7\xcd\xb4\xbd\x34\x0f\x20\xe2\x49\xb2\x0e\x4a\x6d\x65\xe6\xa7\xc5\xe7\xcb\x47\x54\xf4\xa3\x37\xc0\xed\x05\x9c\x1a\xe3\x51\xc2\x89\x95\xf9\xa4\xb2\xbb\x14\xbe\x64\x6e\xb7\x85\xf5\x58\x8d\x18\x9f\x9a\x22\x83\x6d\xbe\xa6\x4c\xf0\x94\xae\x83\x3f\x65\xdc\x2f\x37\x2e\x36\x6c\x45\x54\x80\x8b\x20\x83\xea\xe0\x86\xbc\x6c\x8f\x10\x45\x8c\x99\x91\x00\x97\x9c\xa1\x14\x67\x1b\x2d\xf8\x2a\xfb\xc5\x00\xa5\xc6\x78\x64\x57\x4f\x9a\x12\xf4\x0f\x64\x01\xf0\x34\xc9\x13\x5e\x14\xd9\x12\x6d\xc8\x42\x6c\x2d\x72\xb8\xd7\xaf\x9f\xb3\x29\x5f\xe3\x70\x16\xd9\x0d\xf6\xf4\x61\x47\xb3\xc1\xf9\xf3\x91\x7a\x66\xf7\xcd\x9a\x76\x39\x8f\xa7\x4d\x44\xbd\xf6\xc9\x74\x2b\xf8\x9c\xca\x54\xc8\x44\x42\x3d\x6a\x9d\xbb\xb5\x7c\xb4\x82\x16\x11\x0c\x67\xf9\x52\x7d\x2a\xd1\xe1\xce\xd7\xa8\xd2\x0e\x32\x3a\xbb\x0b\xf1\xb8\x6e\x6e\xf5\x05\xd6\xcc\x1e\x92\x4e\x8b\xb5\x65\x3a\xd7\x7a\x08\x49\xae\x47\x8f\x8b\xd4\x7c\x42\x57\xc2\x3f\xae\xa3\x2b\x4e\xb5\x24\x64\xd4\x87\xc2\x5f\x6c\x03\x67\xa7\x34\x21\xf2\x08\x9d\x37\xe8\x8d\x2e\x6c\x15\x64\x34\x40\x8f\x84\x00\x1e\x27\x3d\xe5\x82\x06\xb5\x3b\x9c\x8c\x84\x28\x20\x0c\x87\xd6\x28\x41\xf4\x98\x23\xe3\x0d\xe3\x06\x0e\x09\x62\x66\x04\xd5\x3c\xcb\x08\xab\x0a\xa4\x68\xcd\x0b\xa8\xcd\x81\x35\x32\xbc\xff\x80\x1b\x4f\x26\xb6\xe5\x89\x8a\x51\xb5\x6c\xe9\x2e\x30\xc9\xbb\x47\x05\xbb\x5e\xef\xf4\x17\xf5\xbd\x69\x1c\xe1\x5d\xb9\xf5\xb5\x47\xe7\xa5\xfc\xf5\x5d\x7b\x1f\xe0\x53\x67\x67\xc4\x68\x2a\x08\x98\xa2\x53\x9f\x66\xc7\x62\x22\xa4\xe2\x1c\xee\xbb\xdb\xb3\x1f\x8f\xef\xcf\x11\x51\x11\xd4\x8b\x1f\xb1\x48\x3e\x1e\x68\xf1\xf8\xef\x39\x51\xfa\xe7\x96\x30\x74\x9a\x12\x26\x81\x13\x50\x55\x4b\xf0\x6d\x5e\x48\xb7\x30\xfa\xbf\x67\xe5\xef\x97\x90\x7c\x2d\xa9\x01\x68\xd7\x01\x56\x03\x99\x02\xd8\xa9\x59\x5a\xd9\x40\x31\x46\xc5\x1b\x36\x15\x3c\xd9\x20\x88\x91\xfd\x2d\x67\x6b\x0a\x5d\xa7\xc5\x47\xc1\x28\x5a\x64\xba\x34\xc3\x80\x06\xb6\x5e\x74\xa4\xf9\xa6\xb1\xf5\x55\x4c\xa4\x48\x16\x71\x2a\x7b\x51\x1b\x06\x29\x41\x08\xb0\x10\x4f\x4f\xf6\xae\xb7\xc9\x79\x7e\x62\xc1\x47\x47\x23\xf6\xc9\x99\xc6\x8b\x5f\xa5\x6b\xc2\x44\xdc\x7a\x90\xb4\x72\x2b\xd0\x6c\x4c\xa5\xff\x01\xa0\x6e\x65\x9e\x28\x53\xb4\x60\x4a\xb5\x96\xee\x06\x6a\x9e\x34\x71\x09\x81\x59\x34\xbf\xe4\xf1\x76\xa8\x4f\xd3\x31\x49\xd6\x91\x44\xcf\xa7\xc3\x44\x6a\xfa\x8e\x1e\x5a\x4e\xe7\x26\x65\x39\x8a\xc9\x80\x1c\xe8\x80\xdb\x8d\x8e\x63\xec\xb1\x89\x29\x81\x40\x10\x18\x53\xab\x31\xad\x26\x6d\x4d\xef\xa2\x95\xd4\x8d\x2d\xd5\x04\x93\xf9\x40\x11\xe8\x05\x61\x35\x62\x22\x67\x00\xc3\xe9\x5d\x2b\x18\x49\x22\xa8\xf1\x71\x44\xce\x2c\x63\x8d\x64\x33\xcd\x26\xb4\xe4\x07\xfe\x35\xce\x40\x3f\xe3\xb9\x84\xb8\xb4\x94\x28\x7d\x41\x7d\x05\xa5\x7e\x8c\x73\xeb\x00\x65\x82\xa6\x54\xd1\x47\x22\xbf\x6e\xd8\xba\x53\xac\x70\xc2\x67\x03\xa1\xe8\x14\x47\xea\x0e\x6f\xa5\x81\x63\xdb\xcc\xa6\x81\x12\x6e\x18\xe8\xfc\x4c\x2f\xfe\x8c\x30\x22\x60\xa2\x5a\x27\x6f\x3e\xc2\xf0\x64\x23\xce\x0d\x85\x07\x22\x03\xd5\x2e\xbd\xc5\x02\xe7\x8a\xa7\x5a\xbf\xc5\x49\xb2\x00\x08\x76\xfd\x64\x8e\xe5\xdc\x6d\xb4\xc1\x6d\xef\x72\x37\xd9\xc5\x3d\xc5\xd1\x9c\xdc\x2a\xac\xf2\x46\x63\x70\x65\x94\xef\x08\xcb\xd3\x77\x27\xe8\x7f\x8a\x39\x9e\x0e\x4e\x7f\x18\x8e\xcf\xce\x6f\x07\xdf\x5f\x0c\xcf\x82\xf9\xd8\x27\x9f\xce\x6f\x6f\xeb\xbf\xfe\x70\x7e\x57\xff\xf1\xfa\xea\xfa\xfe\x62\x70\xd7\xd4\xca\xc5\xd5\xd5\x8f\xf7\xd7\xe3\x0f\x83\xf3\x8b\xfb\x9b\x61\xc3\xa7\xf7\x77\xfe\xa1\x7d\xf6\xd7\xe0\x10\x41\x5c\x0f\xc4\x7d\x35\x8f\xb6\x7a\xce\x0e\x51\xf9\xc5\x13\x74\x5f\xc5\x80\xb4\xc1\x31\x26\x89\xee\x09\x4b\xcd\xaa\xf0\x24\x21\xf1\x88\x21\xf7\xb9\x9e\x7b\xdb\xa7\xc6\x7d\x18\xcd\x09\x4a\x38\x7f\xc8\x33\xcb\xc1\x4c\x24\x3e\xe3\xc6\xbe\x43\x64\xd0\xda\x0f\xe7\x77\x27\x75\x2c\x4a\xdf\x58\x90\x2b\xef\x48\x1d\xc6\x85\x1d\xd7\x04\x93\x49\x26\xc8\x23\x9c\x49\x6f\x11\x0d\x7a\xf0\x1b\xb0\xac\x1f\xd3\x1a\x66\xaa\xd2\x4d\x1c\xdb\xf2\x4d\x6e\x62\x41\xc3\xe5\xed\x5b\xb6\x9a\x7e\x39\x0c\xf8\x36\x9a\x90\x08\xe7\xc6\xc9\xaa\xaf\x23\x21\xb8\x08\x07\x5c\x6c\xfb\x96\x8d\xbe\xab\x4b\x19\xe5\x32\x3d\x12\xce\x88\xfe\x24\x38\x39\x5a\xfb\x06\xcd\xdc\x01\xbf\xce\x2d\x40\x37\x95\xc6\x0f\x54\x78\xc6\x00\xd3\x4c\x73\x6e\x0f\xd0\x49\xc1\x6b\x8b\x15\x7a\x22\x90\x8e\x91\x5b\xe4\x6b\xa3\x21\xeb\x13\x08\xdd\x19\x7f\x83\x2b\xb7\x50\x4a\xd3\x68\x65\x99\xbb\x10\x8b\xf5\xf7\x92\x34\xb1\xcb\x2d\x62\xea\xcf\x4c\xa3\xc0\x43\x9d\x0b\x1d\x46\xdc\xe2\xd9\x71\x3c\xbb\xc1\x8e\xbd\x44\x0a\xaa\xdf\x1b\x2b\x58\xba\x66\xae\x5d\xc6\xe3\xf2\x08\x4b\x58\x6f\xdd\x07\x56\xc2\x03\x5b\xb9\x56\x77\x3c\xc6\x0b\x4d\x1c\x10\xbb\x22\xf3\x2c\xe3\x42\xa1\x96\x36\x8c\x0f\xc3\x8c\x0f\x6e\x06\x3b\x0f\xcf\xa2\xa0\x11\x2d\x07\xc8\x06\x38\xd6\x6e\xa9\x55\x76\x5d\x8b\x73\x1f\x62\x34\x80\xba\xe6\x71\x9b\xd3\x92\xe2\x5b\xa2\xd0\x26\x11\x75\x9b\x88\xb5\x4c\x5f\xc3\x5d\xcb\x08\x34\xf5\x7e\xe5\x5a\x68\xdc\xf2\x84\x4c\xd5\xb8\xd1\x37\xb3\xc4\x0c\xa9\x5b\x64\x6d\xd9\xa8\x74\x36\xdf\x41\x8b\xdd\x65\xf9\xef\xac\x57\x53\x0b\xf0\x81\x1e\x2f\x38\x57\x46\x8a\x2c\x34\x0d\xe4\x56\x13\x8c\x00\xb6\x53\x53\xf7\xa8\x10\xd5\xb4\x64\xfe\xc0\xf8\x13\xf3\xf6\x77\x79\x34\x62\x43\x0c\xc5\xb8\xbc\xba\x60\x03\x53\x8c\xac\xbe\x52\x4a\x2f\xd5\xf6\x79\xd1\xe0\x8f\x76\xb0\xa3\x82\xee\x6d\xe1\xc2\x64\x81\x8a\xfa\x4d\xa5\xef\xba\x9c\x1e\x63\x9b\x76\x82\x9a\x99\xb0\xad\x3c\xa2\x48\x66\xed\xe7\x66\x9e\x85\x9b\x13\x9c\xe3\xba\xab\x23\xf4\xb3\xb3\xcf\x40\x1c\x4d\x51\x77\x4c\x99\x1b\x27\xc1\x0b\x87\xe6\xd2\xb4\xb0\xbb\x00\x48\xd9\x75\x64\xcd\xf2\x05\xf6\xc9\xe0\x0d\xab\x5c\x52\x93\x19\x33\x76\xd3\x35\xc2\x08\x4f\xfd\x47\xb7\x64\x79\x9c\xf1\x07\x28\x23\x62\xdd\xca\x20\x33\xb0\x64\xf1\xbf\xcc\x66\x99\x28\x76\x07\x10\x6e\xcb\x3a\x58\x3f\xa7\x3e\x3f\xe0\xa7\x33\x41\xee\x68\x4a\x93\x04\xe4\x80\x23\x34\x80\x2a\x5c\x50\x5f\x49\x5f\x85\x2e\x5a\x8b\xce\x18\x5f\x15\x20\xd2\x42\x4c\x51\x40\x4c\xb7\xed\xc4\x24\x81\x9a\x8a\x1c\xa0\xdd\x50\xd4\x0e\xf2\x41\x35\x6f\xc1\x75\x70\xb8\xee\x59\xa0\x6b\xa8\xd8\xaf\x11\x6c\x55\x1b\x6e\xf0\xe1\xbf\x9a\x87\xfe\x31\xc7\x02\x33\x05\x21\x44\x56\xf2\x16\x24\x08\x65\x25\x9f\x21\x48\x8f\x19\x73\x2d\xfc\x14\x6e\xae\x73\xcc\xcf\xe8\x23\x61\x88\xc6\x07\x88\x1e\x91\xa3\x03\x5b\x4a\x57\xe6\x93\xe2\xcd\xb9\x96\x1c\x46\xac\x16\xc8\x71\x84\x06\x89\xe4\xf6\x0b\xc2\xa2\x04\xaa\xde\x05\xd1\x4e\x9e\xf2\xad\xf3\x67\xb2\x00\xfd\x02\xb6\xb2\x68\x9e\xdb\x07\xc1\x87\x23\x86\xa5\xf1\x5c\x27\x70\xd2\x8b\xdf\x9b\x2a\x5b\x96\xa2\x19\x9e\x11\xd9\xb4\x76\x0d\x3d\xdb\x26\x99\x92\x07\xcb\x36\x08\xde\x80\x8d\x29\x02\x6c\x82\xec\x4d\xf4\x15\x56\x28\x21\x58\x2a\xf4\xed\xd7\x6b\x45\x70\xb8\x09\x16\xdc\xd5\x1e\xdf\x22\xf0\xd8\x45\x2e\xb6\x95\xe7\x85\x92\x34\x08\x23\x46\x9e\xc2\xb0\x1a\x0e\x91\x50\x8f\x54\xe6\x50\x48\x30\xc8\x95\x30\xa5\xe0\x4c\x56\x0f\x04\x7f\x1a\x95\xa9\x85\x8f\x38\x9c\x32\xeb\xe4\xb4\xc3\x6a\xa0\x2c\xab\x3c\x51\xa3\x9e\x41\x3a\x7f\x11\x43\x38\xc7\x6a\xc4\x2c\x67\x75\xc1\x1d\x41\xd1\xa7\x41\x92\x94\xe3\xf6\x30\x84\xa6\x32\x3d\x61\x28\x83\x78\xe4\x17\xe8\x12\xd4\x2f\x1f\xea\x55\x2e\x89\xec\x0f\x8b\xd6\xd4\x46\xcc\xe7\x4a\x87\x6d\x37\x4a\x3b\x4d\x56\xe0\x17\x14\x82\x1b\xba\xbf\x30\xf5\x28\x3b\x08\xc3\xed\xf5\xc2\x97\x78\x4d\x6a\x96\xf7\x25\xb2\xf1\xae\x3b\xe8\x2e\x2a\x37\x5b\xb1\xe1\x9a\x7d\xe2\x0d\x46\xf1\x96\xcd\x0d\x64\x8b\x6d\x14\x70\x1f\x73\xf8\x52\x7e\xd9\xd2\xd0\xcf\x63\xc8\x21\x58\xcd\x05\x8b\x98\x7c\xc7\x3a\xc0\x1c\x4d\xe3\x20\x44\x38\x88\x9f\x84\x10\x72\xc7\xf8\xec\x9b\x2d\xfe\xd1\xec\x6d\x4f\xff\xa0\x98\xbf\x9b\x8a\x0f\x55\xab\x4f\xbc\x5d\xd8\x1b\xc4\x7f\xc3\x11\x84\x39\x42\x4f\x2e\xc0\xb2\x9e\xcc\xed\x20\xf0\x30\x98\xdc\x1b\xc5\x43\x5b\x5a\xf6\x08\x0d\xe1\xa2\x71\x95\x66\xf1\xd4\xb9\x0d\x82\x97\x47\x4c\x6b\x26\x2e\xf7\x33\x68\xbf\x4c\xe2\x4d\x27\xc0\x00\x49\x6c\xe5\x71\x49\x57\xc3\xf5\xb6\x69\x13\x0e\xc7\x02\xda\x00\x3c\x52\x34\x9c\x9d\xa0\x98\x47\x0f\x44\x1c\x0b\x12\x53\x79\x02\x1e\x70\xd5\xea\x7a\x4b\xb5\xb6\xbd\xb5\xa4\xd1\xb5\xea\x7b\xbd\x46\x6b\x0a\xe5\x53\x21\x78\xdc\x15\x46\x3a\x40\x74\x0a\xea\x84\x0b\x48\x35\xc9\x25\x2e\x55\x96\x30\x25\x16\x19\xa7\x4c\x79\x53\x56\x65\x21\x9c\xa6\xa1\x85\xb6\xb6\x50\x6a\xb1\x8b\x48\x99\x0d\xa7\x7d\x37\x27\x92\xb8\xb0\x00\x33\x29\xc5\x91\xf1\x85\x18\x76\x91\x61\x35\x97\x90\x09\x53\x5e\x03\xab\x74\xc1\xa7\x7a\x85\x70\x06\x51\x05\xc6\x4a\x51\x7c\xe4\xf3\x35\xa4\xa2\x49\x32\x62\x8c\x90\x58\x22\x48\x5a\x79\xdf\x98\x71\xa5\x3f\x3d\x40\x38\x8e\xd1\xff\xfe\xea\xc3\xc5\x2f\x77\xc3\xf1\xf9\x25\xd8\x9c\xcf\x2f\x86\x5f\x1f\xf8\x1f\xaf\xee\xef\xfc\xaf\xc6\xc2\xf2\x48\x04\x4a\xf1\x03\xa8\x78\x4c\x1a\xf9\x0f\xb2\x1a\xc2\x91\xba\x5c\x34\xfd\x44\x12\x17\x8f\x6a\xc5\x14\x0f\xbf\x62\xf7\xb0\xb5\xee\x99\xb1\xf9\xad\xa1\xfc\xde\xf8\x4f\x96\xd3\xa0\x23\x1e\xdf\x85\x13\x03\x53\xc2\x20\x66\xda\x5a\xfb\x0a\xdd\xb7\x20\x38\xc2\x66\x94\xb5\x45\xcd\x11\xf6\xf8\x9c\x42\xfc\x8f\x64\xf1\x93\x56\xaf\xaf\x31\x15\x9d\x69\x6f\xc8\x1e\xa9\xe0\x0c\xa6\xe6\xcd\x5a\xfe\xc4\x68\x3d\x1d\xcb\xea\xa1\x92\x46\x16\x86\x48\x8a\xac\x35\x32\xb3\x09\x44\xe2\xd5\xa7\x6b\xe1\x03\xc8\x67\x25\x5c\xd6\xa3\x47\x40\x78\xc4\x34\x81\xa8\x5a\x77\xd1\x14\x34\x38\x62\x77\x57\x67\x57\x27\x88\x24\x78\xc2\x05\x64\x41\x99\xc0\x1d\xd7\x84\x5d\x30\xa8\x38\xee\x1b\x2a\x65\xbc\x1e\xa0\xac\xc8\x78\x0d\x8d\x68\x47\xa6\x8d\x55\x05\x49\xb9\xa8\xe7\x8b\xee\x56\x05\xb4\x93\xbd\xe6\xa2\xcb\xf5\xaf\x5f\x83\xa5\xe3\x99\x56\xe4\x2a\x9c\xd7\xde\xcd\x53\x82\x4d\x2d\x40\xe3\x16\xb2\xb6\x7c\x1b\x66\x9a\x24\xa5\xd2\x22\xfa\xe0\xc8\x23\xeb\x28\x2f\xde\xe4\x0c\xfd\xf8\x67\x89\x26\xb9\x1a\xb1\x72\x1b\x9c\xa1\xc1\xcf\xb7\xe8\x7b\xac\xa2\xf9\xd7\x23\x76\xa5\xd5\xcc\x1f\xff\xdc\x92\x9a\xbf\x36\xb2\x89\x5e\x93\x33\xac\xf0\x05\xc7\x31\x65\xb3\x26\x58\x93\x02\xf8\x79\x78\x37\x38\x41\x57\x56\x87\xf7\xd9\xb4\x05\x14\x51\xd0\x10\x30\x64\x98\x88\xe3\x22\xc0\xca\x59\x19\xfa\xc1\x68\x66\x70\x61\x8d\xd8\x9d\xc1\x73\xd1\x5c\x95\x2a\x94\x71\x0b\x3e\xae\xb5\x32\x83\x74\x63\x4c\xd9\xd6\x92\xa8\x57\x07\xc8\xd8\x6f\x86\x95\xc7\x40\x9e\xa9\x33\xfb\x11\x03\x05\xdd\x67\x38\x26\x3c\xc2\x09\x44\xce\x1d\x06\x36\x3d\xad\xb6\xf3\x1c\xd2\xcd\x20\x64\x85\x2d\xca\x01\xae\x3e\x03\xd2\x0b\x65\xe1\x46\x81\x01\x00\xf6\xd1\x3a\x53\x53\xae\x39\xce\xd1\x88\x9d\x4f\x4d\x60\x5d\x62\x56\x47\x7f\x48\x18\xf8\x93\xdd\xb2\xe8\xa7\x8e\x1f\x41\x8d\x54\xe3\x56\xc4\x11\x98\xef\xd9\x02\x82\xac\x01\xb0\x98\x43\x80\x46\xc1\x9d\x2d\x51\xd6\x76\xd1\xdf\x89\xc1\x67\x23\x66\xe2\xf9\x4a\xfb\x12\x66\x83\x07\xbd\x73\x06\xe1\x86\xc5\x75\xe9\x05\x8c\xcc\x86\x1f\x5a\x59\x3f\x13\xe4\x30\x26\x8a\x88\x14\xec\x3d\xe1\x9a\xea\x1b\xf6\x08\xdd\x84\xea\x75\xcc\xa3\x3c\x75\xa8\x6c\x90\x96\x67\xe3\xd4\xec\x25\xea\x29\xc4\x5c\xec\xab\x28\x1e\x8b\x68\x4e\x15\x81\xdc\xb9\xce\xfa\xb1\x21\x98\x41\xf8\x69\x5d\x52\x6f\x17\x7c\x81\x77\x6c\x17\x5b\x66\x1a\x1a\x67\xe5\x96\x4a\xad\xad\x06\x95\x5a\x81\xf0\x7f\x59\x20\x47\x71\x01\xc2\x16\xf9\x9c\x71\x30\x72\x9b\xcc\x27\x1e\xbf\x97\xe8\xfc\x5a\x4b\x40\x5a\xe3\xf5\x67\x30\x97\xca\x84\x80\x41\x52\x8d\xf9\xda\x04\xf5\x1f\xa0\x6f\x4c\xf1\xca\x08\x7d\x76\x7f\xfc\xe9\x3f\xfe\xe3\x8f\x7f\x5a\x27\xe9\xc3\x29\xe4\xd0\x6e\xb1\x46\x1e\x07\xbe\x2c\x12\x85\x3b\x50\xe7\x54\x5b\xec\x82\x3d\x80\x6d\xcb\xbf\x09\x8a\x4f\x10\xe1\x83\x67\xf6\x84\xcb\xf0\x64\xa2\xd2\xd1\x2c\x22\x09\x24\x51\x07\x65\x0e\xe1\x85\x5d\x2b\xd1\xff\xaf\x25\xe0\x17\x63\x7d\x54\x36\x8b\x44\xa2\x89\x17\xaf\x75\x23\xe8\x2b\x6b\xff\x53\xe0\x40\xfc\xda\x5d\x70\x3c\x89\x89\xb0\x85\x6f\x9d\xc9\xce\x1b\x12\x81\x39\x90\xcf\x59\xc2\x63\x07\xad\x24\x49\x86\x41\x80\xd0\xcc\xe0\x68\xc4\x86\xae\x0e\xaa\xad\xc2\x0e\x1f\x19\xcf\xcb\x14\x47\x06\x51\x48\xa2\xaf\x3e\x9f\xe8\xdf\x0e\xd0\xe2\x04\x42\x3d\x0f\xd0\x3f\x4e\x6c\xf2\x3d\x16\x6a\xac\x7f\xfa\xda\xc9\xda\xb6\x09\x18\x34\x95\xe8\xfd\xf1\x23\x16\xa6\x7c\xda\xb1\x19\xd1\x7b\xcb\x59\x7d\x41\x8b\x50\x36\x4f\x38\x7f\xb0\x61\xb0\xb5\x0f\x8f\x1d\x90\x07\x90\xb7\xf7\x9b\x98\xad\xf7\x59\x89\x0a\x1d\xda\x2a\xae\x47\xd9\x04\x1d\xfd\x4d\x72\x86\x8e\x16\x38\x4d\xec\xaf\xee\xa9\x8d\xd2\xc5\x12\xb9\x3a\xbe\x2e\x46\x27\x59\x18\x4b\xe9\xf7\x09\x9f\xc0\xac\x3e\xb9\x99\x9a\x38\x57\x18\x68\x71\xfb\x14\x17\x96\x9d\x88\x95\xa4\x0c\x1c\x41\xca\x95\x79\x05\x78\x5c\xd3\xac\x3e\xfb\x21\xfd\xb7\xf1\x0b\xc3\xa2\xb8\x54\x3b\x63\x1c\xf6\x31\x66\xba\xd1\xcf\xe8\x2b\xcb\x82\xbe\xd6\x77\x8c\x0d\x2a\x36\xcb\xd0\xd4\xc1\xc2\x77\xf0\x4b\xd0\x01\x65\xc8\x24\x4f\x2e\xf9\xf2\x1f\xc7\x47\x47\x47\xfe\xeb\x4b\x3d\x95\xff\x17\x51\x25\x49\x32\x35\x2d\xb9\x1b\x6c\x31\x62\x9f\x1c\x68\xab\x33\x5e\x17\x10\x41\x50\x7f\x37\xe2\x09\x3a\x2c\x0c\xba\x31\x8f\x24\xfa\x9d\x16\x6b\x83\xa5\x84\x1f\xb5\x1e\xd7\x7c\xa6\x2c\x4a\xdc\x0b\x1d\x2a\x6b\x10\xaf\x1e\xab\x10\x15\xc4\x2b\xb6\x58\x86\x08\xc0\x40\x0b\x9a\x72\x8e\x2d\x72\x88\x10\xfa\x65\xf2\x59\xc1\xa3\x16\x60\x96\xc6\x80\xf3\xe6\x9b\xb2\xc6\x6e\x0b\x7c\x16\x43\xd6\x2d\x0b\x60\xe1\x33\x2c\x67\x30\xf3\x3c\x08\xdd\x27\xfa\x72\x61\x21\x8c\xa8\xcc\xd3\x14\x8b\xc5\x71\x71\xda\xea\xc4\x59\x60\x82\x03\x8f\x49\xdc\x02\x80\x0b\x37\xb1\x47\xcb\x46\x31\x58\xf1\xd2\xdd\x68\xfe\xec\x46\x50\x84\x04\xe2\xe9\x4c\x09\x1e\xc2\x22\x1e\x5b\xba\x2e\x72\x44\xcb\x12\x8b\x7f\xa7\x2e\xab\xb8\x88\x18\x59\x18\xe3\x98\x32\xf9\xcb\xf6\x0d\xf7\x71\x0b\xfb\xe6\x63\x28\x10\x45\x66\x6b\xb8\x47\xcf\xaf\x6e\xdd\x37\xdd\x2f\x5d\x58\x87\xb2\xc8\x8e\x9d\x96\xe8\x2c\x12\x02\x3f\x15\xd7\x2f\xc4\x76\x18\xeb\x4c\xee\x33\x68\xcd\xbf\x4f\xf9\x35\x4d\xf4\xad\x05\x34\x7e\x34\x62\xa5\x9f\x0f\x10\x49\x68\x4a\x99\x8f\xad\x33\xcc\x9d\x4f\x8d\xf4\xfc\x40\x95\xde\x32\x19\x3f\x68\x0e\xe6\x60\x22\x02\x95\x6a\xc0\x16\x8e\x74\xbc\x63\xca\x5a\x20\x72\xa9\xc7\x55\xe8\xe8\x5a\x98\xd5\x4d\x1c\x5a\x81\x94\x06\x84\x07\xe7\x77\xc4\x74\x6b\xee\x2c\x15\x41\xbd\x41\x7b\x41\x73\x87\x0e\x4c\x33\xe0\x00\xd0\x47\x29\x32\xd7\xcb\xbf\x0d\x02\xca\x90\xe5\xe9\xb6\x29\x21\x36\xc8\xf7\xb5\xcc\x74\xd7\x45\xc5\x79\x9b\x5e\x44\x58\x9e\xba\x03\xb5\x06\xc5\x0d\xad\xf8\x13\x93\x28\xc1\x26\x4d\x5f\x37\x04\x91\x8f\x07\xc6\x41\x1a\x54\xb7\xb7\xd7\x8b\xe9\xc6\xe0\x73\x27\x84\x7d\x65\xfe\xfd\xb5\xaf\x98\x7e\x60\xef\x73\x21\x1d\x7a\xa0\xdd\x73\xa8\xef\x42\x62\x63\x43\x07\x94\xbb\x19\x16\xb1\xb1\x96\x87\x5a\x85\xc9\xb3\xd5\xf2\xd7\x82\xe7\xe8\x89\xca\xf9\x88\xdd\x71\x67\x70\x44\x8c\x7b\x9c\xc0\x03\x50\x46\x6b\xfd\x61\x09\x4c\x00\x46\xdd\x44\x01\x10\x6e\xba\x4d\x46\x10\x04\xb1\x8e\x19\x8f\xc9\x76\xe8\x0d\x77\x85\xaf\xc2\xf9\xaf\x05\x31\x59\x5b\x70\x53\xb4\x25\xbd\x9a\x52\xf0\x5b\x74\x0c\x4b\xe0\x4a\xca\x43\x2d\xaf\x27\xb6\x29\x30\x8a\xbf\xd5\xa0\x15\xa7\x71\x06\x39\xbb\xa5\xb5\xf7\xe8\x7b\xdb\x6e\x42\x54\x4e\x28\x59\xb9\x02\xfe\xea\x33\x73\x8f\x60\xd9\x7d\x80\x31\x46\x33\xc1\xf3\xcc\x27\xb6\xbb\xa4\x3c\xb3\x0d\x56\xa6\x39\x67\x53\x7e\x62\x75\xaa\x0b\xca\x1e\x0c\xc5\x3f\xd7\x1e\x19\x80\x45\x12\xa3\xe0\x77\x77\x87\x99\x15\x3f\x44\x94\x45\x49\x0e\x17\x9f\x54\x38\x7a\x30\x20\x91\x6d\x46\x5f\xfd\xcd\x78\x75\xca\x63\x8b\xc4\x94\x27\x89\xed\xb6\xb8\x40\x8b\xfa\x73\x8f\x14\x23\x8c\xee\x6f\xce\x9b\xfb\x7e\xa0\x75\x67\x4e\xf3\xed\x59\x26\x10\xf8\x9f\x1f\xe9\x5a\x71\x97\x15\x38\x6e\x52\x22\x75\x6f\x5c\x6a\xc3\x70\xd3\x44\xfa\x11\x2b\xb2\x6d\xbe\x92\x01\x40\x59\x23\x52\xaf\x86\x2c\xb3\xd4\x7a\xbc\x25\x2c\x4b\x01\xa9\x02\xa1\x41\xed\xf8\x30\x61\xb0\x16\x3c\x5c\x03\x61\x01\xde\xef\x36\x9f\xca\xbb\x2b\xa6\xb3\x7c\x98\x09\x21\x6b\x60\x02\xdc\xea\xd7\x3b\x0e\xb2\xf4\xea\xb2\x31\x3e\x61\xaa\x42\x89\xb5\xb0\x04\xc6\x79\xa9\xd6\x68\x27\x82\x76\xe4\x68\xc4\x6b\xe9\x53\x3c\xfc\x48\x5c\x18\x8e\x97\xc5\x5c\xbf\x33\xf0\x6d\x71\x24\x73\x38\xa9\xa6\xfe\x84\xb3\xd0\x36\x10\x7e\x20\xb6\x6e\x19\x36\xa1\xc5\xaf\x71\xda\xc0\xa2\x9b\x77\xa2\xe8\xf8\xcc\x7e\xfc\x49\x7f\xdb\xcc\x8a\x3e\x41\xae\x9d\x87\x37\x49\x31\xd3\x27\xdb\xf5\xda\x62\x84\x34\x12\xe1\x46\x43\xba\xcf\x36\x1a\x90\xe9\xb1\x63\xcd\x14\xdb\x95\x6b\xe5\xc9\xd8\xe1\x71\x62\xec\x4c\x6a\x0e\x26\x88\x02\x6b\x5c\x73\xb4\xb2\x29\xc2\xe0\x92\x27\x58\xcc\x8c\x82\x24\x89\x92\x5f\x37\xec\x70\x91\xf3\xb0\xc5\x0e\x6f\x50\xcf\x29\xf4\x7b\x82\xf8\xbd\xec\xa4\xf9\x51\x96\x91\xd5\xfc\xad\xec\x2b\xa3\x59\xa1\x89\xca\x10\xff\x2a\xe2\x42\x00\x02\x68\xac\xcf\x4a\x3b\xb2\xc9\x96\x75\xfd\x2e\x71\xea\xf3\xf6\x5d\x75\x31\x9b\x9e\x65\x06\x37\x21\x00\xb3\xd7\x3e\x86\xad\x0b\xf8\x85\x43\xb0\x05\x75\xda\x46\x30\x62\x03\xf7\x8a\xcf\xfd\x05\xdd\x4e\x18\x01\x1c\xe2\x43\x4d\x34\x34\xe8\x57\xb8\x58\x75\x3b\xb9\x96\x49\xac\x9b\x62\x59\xad\x41\xa8\xf5\x3b\x7f\x1b\x59\xb4\x71\x0f\x60\xb6\x14\xe9\xfd\x71\xfd\x12\xad\xcd\xf0\x29\x51\xb5\x84\x66\x53\xc7\xab\x75\x29\x87\xeb\x60\x1b\x0a\xab\x76\x9a\x18\xd2\x64\x51\x90\xa9\x5e\x71\xa3\x93\x57\x3a\xab\x9f\x56\xb5\x15\x37\xa6\x38\x1d\x0b\xde\x0e\x85\xdf\x61\x99\x5c\x13\x25\xfb\xce\xdc\xc0\x25\x2f\xd0\xdf\x73\x9c\x98\xcb\x8d\x59\x72\x74\xc3\x06\x51\xf9\xbb\x3f\xa1\x01\xdc\x3e\xe8\x13\xf0\x45\x70\xf0\x43\x6b\x8a\x23\x9a\x66\x44\x48\xce\x70\x6b\x4d\x88\x87\x3f\xcb\xb1\xc5\x3a\x1f\xe3\x28\xe2\x79\x1d\xd7\x7c\x8d\x99\x34\xb4\x16\x4e\x0a\xa3\x87\x7c\x42\x04\x23\xa6\xee\x05\xbc\x87\xdc\x7b\x9d\x86\xcb\x71\xae\xe6\xdf\x8d\xa3\x84\x76\x06\x60\x87\xec\xa2\x81\xfe\xec\xd4\x7c\xb5\x6c\x02\xa5\xf6\x4b\x43\x67\xc8\x3c\x43\xe6\xd9\x11\xfa\x1e\x47\x0f\x84\xc5\x28\x4b\xf2\x19\xb5\x29\xff\x70\x43\x01\xbb\x0c\xcc\xb3\xe5\x89\x19\xd9\xc2\xb4\xaf\xaf\xa1\x11\x4b\xf1\x83\x41\xf0\xb3\x42\x64\x84\x93\x64\x2d\x33\x83\xa7\x87\x1a\xf6\x89\xcb\x4f\xf7\x35\x46\xcc\xf9\x50\xe6\x7c\x80\x41\x15\x70\x1e\x73\x86\x30\xc0\xa7\xbc\x97\x28\xcf\x9c\x04\x04\x96\xbe\x04\xfc\xae\x66\x92\x50\x3c\x96\x6a\x3d\x68\x4e\x46\x0c\x62\x59\x5d\x8b\x0b\xcf\x55\x42\x57\xbf\x0f\x39\x69\x3a\x7c\x53\x03\x1e\xb0\x9d\x17\xb1\x06\x13\xb9\x82\x12\x3a\xc6\xe9\xaa\x39\x61\x60\x80\xe8\xde\x32\x68\x34\xdd\x37\xad\x14\x93\x6b\x05\x4d\x6f\x31\xf5\x4b\x98\x33\x6a\x21\xff\xad\x91\x3c\x08\x97\x73\x9e\xa4\xe2\x7b\x2a\x91\xc4\x8a\xca\x29\x6d\x34\xcc\x84\x90\x0d\xdb\xac\x3a\x5e\x0f\x27\xa2\x01\x23\xa2\xb2\x16\x3e\xee\xff\x08\x7d\x00\x3b\x53\x20\x7b\x73\x8f\xb8\xd0\xc6\x12\xd4\x9c\xb4\x42\x0f\xee\x22\x60\xc6\xcd\x20\x78\x7f\xa9\xf9\xd0\xe7\x78\x1c\xa1\x41\x61\xdf\x37\x98\x13\xc6\x72\xbf\x62\x46\x24\x91\x64\x13\xe2\xeb\x64\x0a\x03\x1f\x38\x10\x10\x02\x59\x45\xea\xdf\x0b\x80\x5a\x3f\xcc\x27\x48\xa3\xc4\x0f\x84\x2d\xb3\x77\x74\x1f\xe1\xb0\x94\x84\xde\x34\xc4\x81\xb7\x74\x71\x63\xec\xda\x64\x80\xdd\x8f\x5d\x01\xf3\x41\xa7\xc7\x7a\xc9\xb5\xa0\x1f\x3d\xd8\xe4\x0d\x63\xef\xb4\x40\x21\x4f\x73\x2e\xc3\x73\xe6\xf6\xcf\xe8\x8a\x22\x27\x2e\x49\x03\x92\x5f\xfc\x02\x9b\xa8\x17\xc6\x43\x1c\x11\x18\xb5\x3f\xa4\xc6\x96\xeb\xf7\x1b\x39\x16\x0a\xcb\x00\x7e\x22\xd7\x54\xfd\x34\xff\xf8\x67\x79\x05\x27\x76\x17\xb9\xf0\xcd\x45\x93\xb6\x8f\x43\xdf\xd0\x02\xef\x23\xac\x8a\x8a\x4b\x38\xf6\xe0\x0b\x19\x8f\x51\x41\x5e\xeb\x97\x57\x7a\xfd\x69\x55\xca\x32\x75\x9a\xdb\x2a\xca\xfe\x14\xb8\xe9\xd1\x24\xa7\xa6\xc2\x61\x49\xe4\xb2\xf9\x92\xa0\xfd\xda\xeb\x9f\x4a\x7f\x9f\x34\xd3\xd8\x35\x8f\xb7\x21\xac\xf5\x61\xe5\xea\x74\xdd\x21\x8a\x57\x36\x55\x64\x5c\xb2\x12\x19\x6f\x8f\xbf\x8c\xc7\xdd\x6b\x18\x82\xc3\x7d\x92\x4f\x6f\x01\xbc\xbc\x0d\x13\xc2\xa1\x79\xcd\x89\x4f\xf2\xd2\xfb\xac\xbb\xf1\x29\x07\x6d\x9b\x62\xfd\xb7\xc5\xf5\x8f\xd1\xff\xbd\xbd\xba\x3c\x4c\xb1\x90\x73\x0c\x39\xb7\xae\xad\x03\x57\x62\xc3\x28\xa0\xce\xaf\x44\x19\x1a\xb1\x43\x34\xe3\x07\xc6\x8d\x79\x82\xe6\x4a\x65\xf2\xe4\xf8\x78\x46\xd5\x3c\x9f\x1c\x45\x3c\x3d\x2e\xd6\xe6\x18\x67\xf4\x78\x92\xf0\xc9\xb1\x20\x10\xc8\x7a\xf8\xed\xd1\x77\xdf\xc2\xd6\x1c\x3f\x7e\x7b\x0c\xce\xab\xa3\x19\xff\xdd\xc5\x77\xff\xf9\xc7\x3f\xe9\x86\xb3\x85\x9a\x73\x76\x62\x7d\xa4\x4b\xdb\x3e\x34\x82\xef\xb1\xf9\xa4\xd2\xcb\x7f\x1e\x7d\x13\x0e\xc3\xbe\x9a\xf2\x98\x24\xf2\xf8\xf1\xdb\xb1\xdb\x99\xa3\x6c\x1d\xaf\x6f\xc1\xf0\xfd\x92\x57\x0a\x78\xea\xdf\x3d\xc9\x38\x5b\xdf\xaa\x6d\x69\x38\x2b\x61\x98\xf2\x16\x27\xe6\x81\xd4\x1c\xe1\x6b\x68\x60\x5e\x92\x6a\xd1\xe9\xd7\xc5\xe0\x6e\x95\x6d\xd6\xca\xca\x04\xb7\x33\x8d\x00\xdf\xd5\xd8\x20\x32\x4c\x9b\xc2\xdb\x6c\x78\xc5\x36\xeb\xf7\x9c\x48\xc5\xbb\x86\x28\xb6\xd3\xdd\x10\x9e\x38\x31\x5f\xbb\x60\x10\xfe\xe4\x60\x89\x77\x01\xe6\xdb\xb1\x10\x91\xc7\x28\x35\xc4\x03\x63\x71\xe3\x6a\x19\xc6\x1c\xcb\xcd\xa2\x8a\x06\x06\x09\xcc\x3b\x06\x7c\x09\x3f\xdb\xa1\xe3\x95\x2e\x6d\x1b\xaa\xdc\x59\x74\x98\xcc\x94\x88\x96\x47\xe8\x43\xa5\x52\x4b\x11\x29\x75\xf3\xe1\x14\x7d\xfb\xe7\xff\xfc\xe3\x88\x7d\xd5\xc0\xc5\x20\x74\x83\x8b\x99\x0d\xdc\x02\xde\x95\x62\xa9\x88\x38\x16\xd3\xe8\xd8\x44\x82\x1c\xeb\xef\x0f\x6d\xa7\x87\x7c\x7a\xe8\x91\x4a\x0f\x2d\x68\xe3\x51\x1a\xaf\x97\xd1\x5c\x22\x3d\x13\x37\x65\x23\xae\x25\x44\x67\x1b\xec\x13\x3e\xf5\x98\xd4\x26\xb0\xde\xc0\xd7\xf3\x69\xc3\x1f\x50\x58\xf3\x6b\x8f\xb8\x84\xa5\xeb\xa3\x80\x40\x69\x3f\x9a\xbb\x01\x2d\x76\x24\xf2\x9c\x7a\x9b\xe3\x25\xa1\x74\xb6\xce\xc2\x37\x1f\xb6\x22\xee\xdd\x24\x80\xdb\xca\x8c\x06\xf4\x95\x33\xc2\xa7\x10\x36\x04\x82\x81\x73\x8b\x82\x71\x88\x71\x15\x24\x7b\x0b\x92\x99\x0b\x26\xac\xe4\xd8\xb0\xdc\x5b\x02\x1f\xaf\x5a\xe7\xe7\x00\x3e\xde\x76\xdd\x2d\x43\x79\xa5\x05\xdf\x36\x76\xc9\x1c\xa5\x75\xdc\xb8\xfa\xfd\x95\x2e\x1b\xcf\x07\xc0\x47\x13\x16\xae\x34\xe0\x46\x90\xad\x40\x0e\x15\x3f\x04\x94\x0c\xc0\x5e\x30\x50\xe4\x6d\x7e\x5c\x70\x75\xad\x73\x4d\xea\xf7\x3b\x8c\xd3\xf8\x3f\x3f\x07\x03\xb5\x32\x89\x2d\x55\x6c\x63\x40\x28\x63\x44\x58\x23\xfe\xca\x1b\x75\x4d\x47\x58\xb8\x95\xcb\x43\x40\x0a\xc1\x3c\x84\x89\xf6\x01\xc0\x38\x60\x02\x47\x08\xd2\x30\xe6\x3c\xe5\x5a\x9c\xe1\xb9\x0c\x1e\x9a\x34\x1e\xb8\x84\x5b\x65\xaf\x14\x67\x06\x15\xeb\xf5\x66\xa3\x8f\x96\x7e\x64\x6c\x1c\xe1\x4b\x6b\x21\xef\x4f\xca\x58\xe3\x2b\xc6\xef\x41\xa2\x97\xd3\x0d\xb8\x59\x53\xb0\x29\x43\xa9\x2b\x0b\xfd\x4a\xff\xa1\x55\x18\x4d\x52\x3e\x65\xc6\xdf\xdc\x26\x2a\xc0\x80\xbf\x85\xf0\x90\x95\x92\xfc\xd5\xe1\x13\x96\xa7\x6b\xee\x81\x8f\x6a\xec\xb2\x01\x98\x99\x38\x3f\x17\xe0\x77\xd8\x18\xe1\xd7\x76\x2e\x5d\x19\xac\x78\xec\x00\x0a\xd7\x1b\xea\xad\x6f\xc0\x62\x11\xd6\xc7\x5d\xe0\xbb\x40\x38\xa8\x59\x63\xc3\x10\x9c\x6c\xd1\xe2\xe5\x67\xeb\x1f\x46\xa8\xbb\xb0\xce\xda\x41\x27\x86\x38\x6b\x2b\x18\x9c\x85\xb6\x05\x5c\xcf\xe2\xb0\x4c\x81\x6f\x8a\x1f\x36\x90\x58\x45\xba\x80\x1e\x65\x4d\x79\xf4\x1f\x3e\x16\x55\xf4\x16\x19\x39\x40\x93\x1c\x9e\x5f\x5e\xdd\x85\xee\x61\x6a\x66\x7b\x18\xcd\x49\xf4\x00\x99\x83\xe6\xca\x33\x87\xc1\x55\x50\x9c\x2c\x46\xac\xa8\x08\xa4\xb8\xf3\x75\x2e\x3c\x48\xb2\x07\x0a\xe7\x02\xc5\x54\x66\x09\x5e\x80\x57\x89\x99\xc0\xe0\xc2\x23\xf5\xff\xb1\xf7\x65\xcd\x6d\x2c\xc9\xb9\xef\xfe\x15\x15\x71\x1f\x24\xdd\x00\xc9\x59\xc2\x11\x0e\x45\xf8\x01\x87\xa4\xe6\x60\x86\x22\x39\x5c\xa4\xe3\x6b\x38\xa0\x42\x77\x01\x28\xb3\x51\x05\xf5\x42\x0a\xf6\xcc\x7f\xbf\x51\x99\x59\x4b\xaf\xe8\x06\x40\x1d\x79\x7c\x1e\xec\x39\x22\x80\xea\xea\x5a\xb2\xb2\x32\xbf\xfc\x3e\x87\xa8\x37\xa6\x60\x57\xf8\xac\xff\x4c\x9b\x59\xf1\xfa\xe4\x83\xc7\x92\xa7\x73\x99\xa7\x9c\x44\xde\x71\x30\xeb\xf6\x80\x65\x62\xcd\x55\x2e\xa3\xa9\x5a\x0b\xae\x42\x18\x10\x65\xd5\xcc\x20\xc7\x5a\x10\x41\xe9\x62\x21\xa2\xdc\x33\x9c\x81\xf3\xee\x46\x6a\xd7\x1e\x1c\xf6\xee\x6e\xe7\x75\xbe\xfa\xcf\x52\x61\x3d\xad\x5c\x03\xc8\x8c\xd6\x10\x1d\x8d\x7b\xc6\xb2\x41\x41\x8a\x8e\x5c\x7b\x19\x84\x7f\xd9\x35\xe5\x84\xad\x5d\xc5\x51\x93\x8f\x7f\x30\x8b\xf8\x61\x5a\x6b\xcd\x2a\x75\x01\xf4\x04\x37\x58\x88\x5e\x71\x4c\x23\xaa\x42\x19\xf2\x86\x6a\xa0\x20\xda\xf3\x86\xf0\xef\x6f\xe0\x98\x36\xb7\xc7\xf4\x59\xc4\x53\x55\xe6\x71\x21\x9f\xd1\x6f\x38\xe6\xf5\x71\x8e\x63\x6d\xec\x18\xf7\x0a\x6d\x5e\x42\xed\xba\x67\xad\x73\x55\x3e\x1d\x7a\x3d\xcd\x92\xc9\xaf\x20\x05\xd3\x3b\xe6\xed\x25\x74\x48\xff\x82\xe4\xb2\x4a\xe9\x65\xb7\x28\x1d\x4b\x05\x52\x58\x39\xc4\x1d\x55\x43\xd4\x4a\x7e\x9b\xda\x98\x2a\x5b\xbe\xb9\x28\x12\xa4\x25\x6c\x53\x10\x22\xd2\x1a\x0b\x35\xff\xf5\x4a\x0e\x5c\x5c\x8d\x05\x92\x43\x2e\x0b\x1c\xa0\x1f\x9d\x86\x3d\x2c\x5d\xa1\x32\x94\xff\xb3\x6a\x23\x50\x81\xbd\x14\x39\x9c\xe6\x71\x91\x60\x35\x22\xe4\xf7\x81\x00\x87\x27\x09\x93\x79\x36\x55\x8e\xaf\x07\xd9\x97\xc1\xc2\x5a\xe4\x62\x4c\x57\x2e\x78\x04\x34\x4b\xda\xa3\xe0\x87\xc9\x48\xe6\x35\xcc\xe8\x36\x64\xe8\xdf\x6c\x04\xc7\xe2\x19\x9c\xb6\xa9\x0a\xef\x5c\xd5\x49\xa0\x4a\x13\x50\x84\x3c\x46\xd1\x47\x07\x04\x18\x64\x34\x07\x4f\xc9\x29\x1b\xe3\xdb\x99\x0b\x97\x15\xdf\xc3\xde\x52\xc1\x2e\x41\xbb\xcc\xad\x26\xcf\x9c\xb2\xbb\xbb\xb7\x6e\x78\x9a\xcb\xa8\x48\x78\x9a\x00\x09\xf6\xa2\x48\x98\x5c\x04\x3a\x82\x30\x07\xc8\xd6\x62\xa6\x2b\xd2\x70\x56\xdb\x94\x50\xc6\xd7\x22\x28\x14\xa5\xf0\x4e\x12\xa4\x94\x91\x82\x16\x73\x95\xa6\xad\x77\xa7\xec\xa2\xaa\xe7\x09\x7b\x22\x60\x79\x93\x19\x9a\x3f\xd7\xdf\xa0\xc6\x09\x75\x41\xe5\xc2\x5c\x29\xdf\x04\xbb\xae\x4d\x6b\x9a\x67\x4f\x03\xf3\xd5\x96\x2b\xbc\x1b\xa6\xd8\x58\xe3\xf8\x00\x7a\xc4\xa5\x2c\xb6\xdb\x10\x2d\x1d\xb4\xa7\xc2\xc0\x4e\x86\x0c\x79\x7b\x74\xf4\x73\x20\xf8\x5b\xed\xec\xba\x43\xb6\x10\xe6\x71\x60\x57\x03\x11\x90\xe1\x1d\x0d\x56\x4e\x88\x4e\xe8\x33\xb2\x4b\x9e\x0f\x85\x2a\x38\xf4\xff\xf0\x8e\x36\xc2\x42\x5a\xbb\xb9\x3b\xd2\xf4\xb9\xa4\x1a\xc2\x4c\xaf\xcc\x2d\x5f\x20\xec\x46\x2f\x02\x13\x4c\xe7\x0d\xc9\x8b\x00\x17\xb4\xb3\x09\x73\xc1\x12\xa9\x9e\x6c\xe5\xb7\x59\xa0\x23\xc6\x7d\xeb\x60\x23\x70\x90\x71\xcf\xb5\x78\x5e\x4d\xcc\xe9\x07\x38\x63\xfd\xea\xa7\x9a\x6f\xc8\xb6\x27\x83\xc8\xf1\xed\x0b\x37\xbd\x47\xff\x69\xe9\x04\x7a\xba\x3b\x8f\x45\x77\xe2\x31\x18\x40\xce\x72\xe9\x24\xe1\x5b\xc7\xf7\x76\x55\x86\x30\x0d\x50\x03\x79\xbc\xbe\xb8\xfc\x30\xb9\x2e\x4b\x78\xfc\xf5\xf1\xf2\xb1\xfc\x97\xbb\xc7\xeb\xeb\xc9\xf5\x9f\xc2\x3f\xdd\x3f\x9e\x9f\x5f\x5e\x5e\x94\xbf\xf7\x61\x3c\xb9\xaa\x7c\xcf\xfc\xa9\xfc\xa5\xf1\x4f\x37\x77\x15\xd1\x90\xfb\xbf\x4c\x6e\x6f\xcb\x7f\x7a\x98\x7c\xbc\xbc\x98\xdd\x3c\x96\x74\x47\x2e\xfe\xed\x7a\xfc\x71\x72\x3e\x6b\xe8\xcf\xdd\xe5\xf9\xcd\xa7\xcb\xbb\xcb\x0b\x3b\x37\x8d\x7a\x22\xfe\x7d\x1b\x87\xf4\x18\xd8\x93\xbd\x45\x64\xc6\x6c\x91\x4a\xa1\xe2\x64\x8b\xd0\x58\x7b\x0f\xac\x20\xf1\xc2\x93\x4a\xae\x85\x2e\x0e\x41\xb8\x3e\xac\x04\xd3\xcf\x22\x85\x22\x75\x6c\x8d\x2a\xda\x78\xf6\xd4\x4a\x61\x96\xa7\xf5\x18\x7a\x27\x90\x3f\x4f\xb7\xae\x54\xa4\xab\x3b\x9e\xe0\x84\x1e\xc2\x36\x22\xed\xea\x0b\xf8\x11\x69\xb1\xc9\xe5\xbc\x1d\xb3\xdc\x93\xf8\x63\xf8\x4d\x15\xe9\xb8\x9a\xb9\x0b\xae\x9b\x0d\x63\x09\xba\x7b\x08\x6a\x11\x5a\xd8\x57\x1b\xc9\xfd\xda\x22\xbd\x36\xc5\x3c\x91\x11\x93\x71\x35\xfa\x80\x15\x26\x18\x60\xad\xb2\xf6\x6d\x44\x0a\x8e\x9d\xf1\x97\x37\xa9\x38\xe1\x45\xbe\xb2\xb2\xcd\xae\xd0\x08\x59\xf4\x44\x94\x8a\x3c\x90\x18\x27\xb5\x9c\xe0\x49\xd0\x19\x2a\xb0\x8c\x81\xcb\xe1\x34\x60\x50\x6e\x89\xa8\xe3\x2f\xb1\xf5\x01\x21\x45\xfc\x7e\xe7\xd0\x50\x8f\x65\x56\x55\x44\x05\x17\x16\x3f\xb4\x9a\x3b\xe6\xbd\x8d\xa5\x8e\x2c\x1e\x1a\x27\xd9\x42\xab\x9b\x5f\x63\xd7\x1a\x0b\x17\x4a\x19\x09\x4d\xad\xd3\x47\xe7\xa9\x80\x43\x84\x12\xe7\xf6\xb6\x0f\x40\x0f\x82\x62\x03\x02\xdb\x5c\x6c\xe6\x62\xc5\x93\x05\xc6\xf0\xcc\xd4\xf8\x7d\x55\x5f\xa2\x0f\xfa\x49\xa8\x3b\x9c\xb0\x5f\xc5\x1c\x2a\xbc\x27\xf8\x92\x5b\x17\x3f\xf1\x01\x3f\xd3\x47\xbb\xaa\x6c\x29\x0a\x2a\x8b\xa3\x57\x1d\x7c\x8c\x78\x70\x4f\xa8\x69\xab\x58\x16\x0b\xf9\xcd\x34\x38\x55\xa2\x91\x52\x10\xd0\x35\x96\xfc\xc4\xd9\x65\xa0\xd4\x42\x06\x89\x27\xa1\x40\xee\x07\x35\x3b\x77\xae\xd9\x61\xd1\xe6\xfa\x5c\x74\x84\xbf\x21\x42\x26\x4b\x2a\x48\x61\x4e\xc4\x8e\x13\xd4\x9c\x3d\x89\x53\x76\x41\x75\xf1\xe6\x2f\xe7\x57\x93\xcb\xeb\x87\xd9\xf9\xdd\xe5\xc5\xe5\xf5\xc3\x64\x7c\x75\xdf\x77\xfb\x1d\xa3\x6c\xa1\xb2\xfb\xaa\x95\x23\xce\x42\x9c\xd1\xce\xf3\xd5\x73\xee\xa5\xfc\xb6\x83\x29\xd9\xdd\x7b\x19\x6f\x66\xb1\xcc\x22\x73\xfc\x6d\x67\x42\xc5\xc0\xc5\xba\xd7\x52\x6d\x6e\xaa\xfa\x16\xee\x1b\xcc\x7d\xc3\x5a\x10\x3c\xed\x9e\xed\x8a\x76\x9f\x03\x59\x1b\x04\xed\x52\x61\x36\x7f\x3c\x55\xc1\x69\x73\xba\x9b\x80\xdf\x34\x77\xd8\xbb\x95\x9b\xa8\xbe\x13\xf6\x57\x66\x59\xc1\x8d\x7d\xb4\x5f\x03\x3a\x86\x96\x51\x21\x82\xac\x90\x10\x56\x06\x92\x83\xcc\xdc\xe4\xd7\x5c\xc5\x3c\xd7\xe9\xb6\xe5\x15\xfb\x19\xcf\x70\xdb\x94\x4d\x68\x78\x64\x2b\x21\x62\x3b\x0b\xf8\x55\xae\xaa\x4b\x09\x69\x63\x1f\x6e\xfe\x72\x79\x7d\x3f\xbb\xbc\xfe\x34\xbb\xbd\xbb\xfc\x30\xf9\xc5\x71\xdf\x6c\x78\x56\x17\x33\x13\xe6\x50\x34\xd6\xc5\x56\xe1\x37\xda\x17\x54\x14\xb3\xed\x90\x8a\x8c\x5c\x4c\x95\xb5\x2c\xa9\x6f\x7e\x95\xea\x62\xb9\x6a\x6e\xa8\xda\xcb\xdb\xf1\xc3\xcf\x7b\x75\x13\x38\x52\x50\x76\x08\x77\x5b\x9d\x48\x50\x2e\xc8\xee\x21\xfb\x60\xa5\x7b\xc0\xf4\x03\x5f\x6d\x8a\xc9\xb7\x58\xb4\xbd\x6e\x2f\x75\xa3\xd5\xe9\xfc\x37\x7c\xbd\x6d\x01\x3d\x04\x76\xb3\x74\x8c\x00\x84\x15\x15\xed\x6a\xad\xbd\x6f\xf8\x5b\xe9\x04\xfb\xc3\x49\x22\x96\x4b\x11\xe3\xf2\xaa\x36\x4c\x11\x2b\x32\x81\x91\x3f\xd7\x9b\x46\x91\xf4\xa5\x0e\x38\x98\x1d\x3a\xaa\xbf\x01\xbf\x75\x3f\x69\xb6\x15\xe7\x56\x69\x36\xd2\x2a\xcb\xb9\x6a\x49\xbb\x3e\xd7\xf1\x8c\xbd\x4c\xd1\x4d\xca\x5c\xe5\x04\x05\x48\x6c\x80\xdd\xef\x83\x7d\x12\x4e\xa4\xa3\xa5\x28\xe2\x11\xe8\x6b\x05\xd2\xb8\x0d\x93\x00\x91\xc6\x3b\x6b\x11\x5f\x3f\xb8\xd1\x79\x75\x22\x62\x18\x08\x8c\xa2\x90\x09\x71\x96\x62\x34\x08\xd4\x81\x5a\x61\xb4\x83\x26\xa4\xf2\xe4\x4f\x34\xf4\x78\x6b\x2d\x07\x66\xb9\xa5\x5e\x72\x13\xe4\x9c\xb7\xe1\xf1\xad\x92\x1f\xee\x5b\xde\xa4\x3a\x2e\x22\x4b\x4e\x01\xcd\x7a\x3c\x08\x05\xb4\xec\x01\x1b\xb3\x13\x33\xcd\x74\x49\x11\xf1\x09\x50\x7c\x4c\x55\x5b\xf2\xc5\xda\x80\x96\x30\xd7\xad\x3d\xb5\x0e\x99\xfb\x86\xd1\x6f\xdf\x82\x76\xb0\xfb\x15\xa0\x31\xfb\x75\x70\xf6\x5a\xe0\x34\x34\x2f\x73\x8e\x99\xd5\xf2\x71\xdc\x56\x8b\xee\xac\xea\x30\xd4\x4f\x3f\xd0\x44\x99\xdb\x09\x8f\xc8\x15\xcf\xd0\x73\xcd\xa3\x55\xb9\xe3\xf0\x36\x65\xfe\xa6\x6a\x77\x9d\x27\x78\x58\x84\xa0\x57\x7e\x65\x84\x77\x6a\x99\x51\xef\x43\x2d\x1e\x27\x2c\x36\x6c\xe1\x87\xce\x91\xbb\xbc\xa0\xdd\x03\x83\x95\xf0\x42\x45\x2b\xb6\x49\x38\x16\x5d\xae\x78\x86\x4b\xda\x82\x0c\xf8\x5c\x26\x32\x07\xbe\x08\xcc\x7d\x55\x46\xd8\xdc\x68\x78\xfa\x64\x29\x1a\xb9\x27\x07\xe9\x5a\xf4\x07\x82\x39\xbd\xca\xf4\xf7\x84\x73\xfa\x2d\x1b\xfc\xa2\x33\x73\xe6\x97\x25\x41\x39\xfd\x74\x18\x8b\x07\xcb\xd2\xbf\xcb\xb0\x99\xa5\x16\x6f\xab\x3f\x2f\x8d\x77\xc3\x41\x3d\x1c\xca\x40\xdc\xc3\x03\xcc\x7c\x95\x99\xb8\x71\x67\x2d\x12\xcd\x5b\xd4\x31\x6d\xdb\x48\x34\xdc\xd6\x76\xac\x8b\x79\x1b\xb5\x25\xf6\xaa\xbb\xf5\xae\xb8\xbf\xdd\xb7\xc7\x8a\x0b\x86\x06\x90\xe7\x22\x97\xc3\x42\x1b\xc1\x4b\xf3\x5c\x9c\xc0\xcf\x9b\x1b\x27\xda\x9f\xde\xef\x5c\x5b\x68\x9e\xee\xde\x11\x68\x02\xc8\xac\xbe\xba\xfe\x5a\x70\x63\x1a\x6e\x16\xf7\x48\x60\x70\xc8\x22\xcb\x65\x7d\x85\x35\xef\xc4\xea\x53\x1f\xca\x49\x95\x70\x0d\xf4\x2e\x5e\x6b\x7a\x9b\x7b\xf3\xeb\xfe\x1b\xb2\x2c\x21\xbd\x49\xa5\x06\x9a\x01\xd2\x9d\xee\xe0\x00\x6b\x7c\xee\x01\x23\xf9\xb5\x10\x85\x30\x6b\x7f\x5e\xc4\xcb\x7a\x6c\x73\x80\x77\xe6\x5f\x69\xa5\x5f\xd8\xba\x88\x56\xcc\x36\xce\x62\x91\xf0\x6d\xe9\xd5\xc0\x5f\xca\x75\x02\xac\x9a\x7b\x52\xfc\x45\x45\x96\xeb\x35\x80\x30\x7d\xbb\x69\xa1\x60\xc1\x33\x9e\xe7\xa9\x9c\x17\x79\x23\x60\xab\x44\xf9\xb3\x67\x42\xeb\xfe\xf6\xf2\x7c\xf2\x61\x52\xc9\x26\x8d\xef\xff\x12\xfe\xfb\xf3\xcd\xdd\x5f\x3e\x5c\xdd\x7c\x0e\xff\x76\x35\x7e\xbc\x3e\xff\x79\x76\x7b\x35\xbe\x2e\xe5\x9c\xc6\x0f\xe3\xfb\xcb\x87\x1d\x69\xa5\xfa\x53\xdb\x27\x82\x07\x8c\x44\x16\x16\x6a\xa9\x59\xed\xed\x92\x9e\xfa\x9e\x8d\x2d\x3f\x53\x89\x41\xcc\xa6\x06\x21\xf3\x8e\x42\xa5\x94\x41\xbc\xe0\x39\x27\xe1\xe7\x53\x36\x66\x56\xc0\x1b\xc0\xd0\x99\x71\x16\x88\xbc\xc6\xcc\x0e\x36\x61\x3c\x86\xc8\xdf\xdc\xbc\xf6\x94\x5e\x10\x6d\x54\x22\x42\x96\x62\x5b\xf9\x33\x55\x97\xcf\x42\xe5\x05\x50\xa8\xf2\x24\xb1\x42\xeb\xf6\x0b\x41\x91\xa7\xed\x65\x26\xd7\x32\xe1\xa9\x97\x09\xba\xa1\xb6\xc0\x61\xb7\x7d\x75\x9c\x1e\x75\xed\x08\x7b\x79\x78\x9c\x30\xe8\xf7\xf9\xd5\x04\x5c\xa0\x28\xb7\x1c\xf8\xf6\xe1\x53\x85\xb4\x44\xf4\xc4\x35\x07\x80\x7e\xae\x29\x9e\x86\x8f\xa7\x2f\xb7\x2f\xc4\xec\x90\x4d\x6c\x23\xcf\xaf\x05\x02\x72\x9d\xb4\xff\x71\xa9\xf2\x74\xdb\xdb\xaf\x79\x00\x12\xd5\x0c\x7c\x53\xc2\xfb\x94\xa5\x83\x30\xdc\xc1\x6c\xeb\xd7\xe0\xec\x58\x30\x1a\x45\xe3\x5d\xd0\x5d\x00\x51\x6b\x8b\xff\x9d\x98\x43\xe8\x47\x1d\x87\x90\x43\x01\x46\x61\xae\x0b\x15\x67\x84\x4c\x5a\x4b\x75\xb6\xe6\xdf\xde\xd9\x37\xc5\x9a\x64\x47\xe0\x0d\x7c\x33\x22\x31\x37\x91\xad\x31\x72\xdd\xc3\x35\x55\x1d\xe3\xb5\xdb\x5b\xb4\x96\x15\xae\x3d\xfe\x8e\x8a\x18\xab\x67\xb1\x6d\x9a\xbf\x9a\x08\x03\xe2\xb8\x68\xc3\x43\x23\x9b\x54\x98\x2f\x3a\x00\x57\x82\xb8\x3c\xf7\x6f\x00\x6a\x97\x84\xa2\x9a\x6d\x77\x98\xe5\x3d\x68\xdb\x34\xe6\x97\x5f\x41\x45\x83\x9e\x64\xe6\x0c\xb3\xcd\x36\xd0\x49\xc0\x74\x4a\xa3\x99\xc9\xfa\x4f\x3d\x67\x0b\xa8\xd2\x20\x21\xd8\x54\x40\x60\x1b\xa6\xc2\xd2\xbe\x02\x2b\x49\x2d\x85\x6d\x97\x40\x22\x32\x08\xf7\x2a\x73\xdd\x12\x5f\x0b\xca\xd8\xfd\xfe\x77\xc3\xce\xd9\x3c\xdd\x32\x4b\x31\x1e\x56\x89\x50\x91\x14\x9d\xb9\xd0\xaf\x42\xc9\x26\xaa\xa2\xbb\x42\x99\xa3\xf8\x18\x60\x87\xfe\xd9\xac\xca\x43\xe9\x9f\x3b\x0b\x29\x6c\x20\x36\xc5\xef\xbf\x1a\xb7\xdb\xa7\x0a\xa5\x1b\x3d\x0e\x60\xbb\xd4\x7a\x78\xa0\xcd\x79\xf4\xf4\xc2\xd3\x18\x63\x85\x80\x3e\x38\x65\x3f\xeb\x17\xf1\x2c\xd2\x11\x8b\x44\x9a\x73\x62\x7b\xc9\x20\xfd\x0a\x1b\x8a\xda\x99\x2a\x40\xb1\x23\x75\x8e\x02\x0d\xdd\x5c\x2e\x57\xe6\x3e\x19\x24\xcf\x75\x6a\xcc\x51\x8e\x54\x5a\x1b\x11\x11\xbf\x46\xcb\x00\x2c\x12\xfe\x5c\xa7\xaf\xd9\xa7\x12\x9e\x4d\x5c\x29\x9e\xcd\x4e\x59\x2a\xed\x2e\xb8\x03\x0d\x18\x19\x4d\x24\x44\x18\xb1\xa5\x4e\xb8\x5a\x9e\x9e\x9e\x32\x91\x47\xa7\xef\x06\x2d\x74\x6a\x30\xcc\x77\x39\x08\x6a\xa2\x75\x26\x92\xad\xe3\x84\x70\x45\x02\x66\x98\xa1\x46\x24\x93\x18\xf2\x68\x58\xfe\xf7\xd5\x8a\xfa\xef\x1b\x3a\x6f\xbe\xa9\x0e\x2e\x41\x6b\x69\x07\x94\x39\x06\xb4\x84\xdf\x6f\xbe\x79\x0d\x28\xa9\xb4\x32\x5a\xbe\xb4\xb2\x85\xfe\x51\xab\xa1\xf5\x82\x9f\x74\x9b\xde\xec\x5e\x94\x4d\x8d\x2d\x11\xa1\xc3\x5e\x35\x56\x6d\x91\x8b\x4a\xd9\xdb\x01\x15\x6f\x1d\xc5\x6b\x03\xeb\xd6\x1a\xf6\x5f\xc3\xf6\x70\x95\xb1\x87\xe0\x93\x74\x52\xac\xdb\xb9\x8a\x0e\x75\xf9\x7c\x27\xf1\xbf\xce\xe1\x71\xbd\x5d\x3e\xaf\x01\x6c\x55\x06\xa8\xbf\x18\xb8\xa5\xda\x41\x63\xdb\x53\x99\x01\xab\xd6\x3e\x85\x4c\xae\x19\x6c\x1a\xf2\x4b\xdb\x0d\x06\x0c\xb1\xc4\x29\xd9\x62\xa9\x9c\xcd\x47\xd0\x4f\x32\xf4\xcb\x20\x29\xd5\x6e\xc6\xaa\xa8\xa7\xc1\x73\x04\x1c\xf6\x7b\x65\xe2\xc0\xd1\x09\xd8\x64\x09\x96\x01\x0d\x52\xee\x38\xd7\x6c\x61\x4b\x63\x9e\x44\xa0\xba\x17\x03\xcf\xec\x0b\x32\x57\xfc\xe5\x5f\x32\x9b\x65\x26\x20\x80\x3f\x63\x73\xff\x10\x8c\x66\x3f\xff\xde\xe2\x3f\xf0\x0d\xb1\x09\x10\xb2\x89\xb9\xca\x1b\x1b\xf0\xf0\x28\x68\x0b\x7f\xf2\xc9\xdc\xdb\x1b\xbf\x4e\xed\xc3\x57\x51\xb3\x62\xfc\xf9\x9e\xe1\x50\x13\x23\x69\xda\xd5\xd1\xa0\x91\xdd\x08\x14\x18\xae\xd9\x1e\xbe\x4b\x69\x1e\x70\xd0\x2d\x25\xad\x19\x76\x91\x47\x2b\x7f\x56\x96\xc5\x27\x49\x90\x88\xde\x73\xed\x39\x56\x11\xdc\x17\xa2\xa4\xe4\x52\xe9\x90\x1e\x5c\x2b\x01\x69\x05\x9e\xb3\x58\x87\xcd\x32\x99\xef\x86\xa2\x0c\xe4\x01\xda\xb5\xd4\x72\x8d\x10\x03\x7a\xcf\x52\x76\x08\x9c\x60\x89\xec\x21\x16\xc7\x87\x5e\x3c\xe9\xdb\x54\x99\x41\xcb\xf5\xd8\x53\x55\x7e\x54\x6d\x90\x2c\x56\x44\xa6\x02\x09\xfd\x32\xe3\x6f\xe4\xf2\xd9\x6c\xd4\xfa\xb2\x76\x0b\x14\x2c\x40\x7d\xed\x4d\x15\x76\x3b\x60\x05\x7c\x12\xdb\x2c\x14\xd3\xa1\x15\xc5\xda\x16\xa4\x34\xef\x43\xf3\xb5\x7b\x2a\x60\xe0\x66\x81\x38\x70\xbf\x53\x04\x1f\xfa\xd1\xfc\xb8\x03\x84\x56\x6b\xdc\xac\x41\x5f\x7b\xe4\xa3\x60\x64\x26\xfc\x38\xd3\x1c\x7a\x9c\x49\x83\x70\xb4\x0f\x28\xc2\x55\xcd\xdc\xc8\xa6\x8a\x88\x43\x83\xfc\xad\x31\x38\xf5\x69\xa3\x82\x48\xa4\x2b\xdc\x96\xc8\x1c\x80\xd4\xd5\x2a\x9c\x36\xeb\x75\x5b\x2d\x36\x73\x87\x07\xc5\x6b\x90\xac\xa6\xa8\x53\xe3\x03\xf7\x04\x2f\xd1\xe4\xb6\x02\x96\xbc\xd3\x4d\x03\x47\x7c\x5e\xa8\xca\x84\xfe\x7a\x24\xcc\xf0\x8d\x55\x23\x56\xc8\x22\x85\xee\x2f\xcf\xef\x2e\x1f\xbe\x1b\xa0\xc9\xa2\x89\x06\x23\x9a\x6c\x3f\x2f\x2e\x3f\x8c\x1f\xaf\x1e\x66\x17\x93\xbb\xd7\x80\x34\xd1\x47\x7b\x60\x9a\xee\x89\x8f\xf8\x5c\xab\x5c\x7c\x3b\xe8\x4c\x4e\x0b\x35\xe3\x03\xb0\xf5\x8e\xf3\xbb\xcb\xdd\xc1\x46\xeb\x7c\xca\x8e\xec\x98\xd8\xe4\xf0\x44\x73\xf4\xc9\x81\x00\xfb\x42\x26\x09\x14\xe6\xb9\x80\x30\x95\xb1\x98\x41\x05\xfb\x63\x95\x64\xc9\xa6\x4e\xd5\xbc\x44\x28\x0d\x41\xaa\x95\xb9\xb6\x61\x49\xde\xc6\x0c\x40\x2a\xa1\xe0\xa9\x8b\x72\x79\x29\x95\xf0\xdd\x40\x05\xc5\x42\xb1\x56\x9e\x4c\x9a\xc4\xd7\xac\xbb\x24\xc7\xab\xaf\xaf\x69\x57\x5c\x69\x7d\x5a\xf7\xd3\x7e\xe8\xde\x10\x37\xb1\x54\xe8\x98\x96\x76\xf3\x7d\xf3\xd2\x3d\xf3\x5b\x00\xc6\xdd\xcc\x24\x87\xa8\x39\x88\x14\xfa\x89\xa4\x89\x40\xb1\x03\x1f\x4e\x7f\x92\x88\xfb\xd0\x8b\xca\x38\x1b\x53\x68\xc6\x5a\x42\x6c\x9d\x13\xd7\x40\x94\x14\x59\x2e\x52\xba\xe8\x8f\x3f\xdf\x4f\x15\x2a\x59\xd3\x29\x44\x84\xf8\xf8\x08\x44\x1d\xe8\xd2\xf3\xad\x87\x12\x5a\xb0\xb7\x18\x55\x5d\x0b\xae\x32\x14\x90\x4d\x12\x91\xfa\x95\x81\xfd\x11\x22\x26\x11\x21\x50\x19\xf6\xbf\x27\x0d\x51\x0d\xbb\xd6\xf4\x97\x3e\x25\x15\xcd\xea\x7a\x6a\xab\xfb\x04\x48\xe3\x6b\xae\x9c\x06\x64\x7d\xdf\x55\x44\x68\xd0\xc6\x45\x54\xc6\xb9\xf7\x5a\x4b\x0f\xd8\xdc\x6f\x4b\xe9\x88\x4b\xa9\xc7\xb9\x1e\x9e\x12\x6c\xa5\x8d\x01\x75\x5c\xf6\x3e\x31\xea\xea\xce\x13\x40\xec\x98\x61\x6c\x3c\x75\x2a\x8a\x49\x07\xb1\x7c\x99\xa6\x0e\x03\x20\x8e\x1b\x08\x2e\xbc\x34\x87\xcd\x46\x74\x8a\x31\xbd\x0e\x91\xd4\xd8\x22\xc4\x94\xce\x6d\x49\xb8\x03\x65\x11\xc2\xcc\x7c\xc1\x71\x11\x74\xf6\x91\xea\xfb\xad\x97\x32\x3b\x50\xd0\xe4\x21\x44\xb2\x95\xca\xfe\xb0\x17\xa1\x26\x22\x61\x5e\x7d\x49\xfe\x90\xc5\xb7\xbf\x64\x56\x79\xcd\x39\x7a\xb7\xbd\xd2\xf3\xd7\x37\xd7\x97\x61\x72\x7d\x72\xfd\x70\xf9\xa7\xcb\xbb\x52\xc1\xe8\xd5\xcd\xb8\x54\xf4\x79\xff\x70\x57\xa9\xf5\xfc\xe9\xe6\xe6\xea\xb2\x96\xa5\xbf\x7c\x98\x7c\x2c\x35\x7e\xf1\x78\x37\x7e\x98\xdc\x94\xbe\xf7\xd3\xe4\x7a\x7c\xf7\x6f\xe1\x5f\x2e\xef\xee\x6e\xee\x2a\xcf\x7b\x3c\xef\xce\xf7\x97\x5e\xa3\x39\xfc\xe3\xd3\x89\x01\xd3\x5d\xe3\x36\x2e\x4b\x8a\x1d\xb0\x8b\x7b\xc2\x86\x76\x2d\x47\x5b\x0f\x6a\x9b\x0b\x36\x86\xe9\xea\xa0\x55\x77\x7c\x0d\xb4\xd2\xd0\x7d\x3d\x8c\x5a\x37\xe7\x79\xe3\xfd\xb7\x77\x60\x82\x34\x87\xbf\x16\x22\xdd\x12\x33\x09\x5e\x1a\xf1\x2f\x11\x57\x88\xb7\xcc\xc5\x7a\x03\xf5\x3b\x21\x50\x70\xaa\x3e\x43\x8e\x05\xb1\x08\x6f\x32\xf6\x27\xc8\x96\xd8\x2f\x7b\x6d\x6e\x18\x94\xbf\xe2\x33\xdc\x67\xa7\x53\x55\xd2\x34\x0e\x7e\x15\xeb\xa8\x70\xd1\x8c\xd3\xa9\xb2\xec\xaf\xb1\x8e\xb2\x53\x38\x7a\x4f\x75\xba\x3c\x23\xa1\x26\x63\x4c\xf5\xd3\x5c\xeb\xa7\x33\xa1\xce\xe0\x72\x90\x9f\xf1\x22\xd7\x67\x90\x69\xc5\xc1\xcf\xce\xac\x9e\x8b\x15\xc4\xc9\xce\x56\xf2\x59\xc0\xff\x3b\x5d\xe5\xeb\xe4\xff\x64\x9b\xd5\xb7\x93\x65\x92\x9e\x98\xdf\x9e\x84\xbf\x3d\xb1\xbf\x3d\xb1\xbf\x3d\x31\x3f\xc3\xff\xb7\xd9\x62\x9c\x4d\x90\xa0\xfc\x54\x49\x95\x89\x34\x87\x65\xf8\x92\xca\x5c\x78\xb1\x70\xf6\xe6\xbf\xff\x9b\x9d\xa6\xfc\x05\x91\xf7\x17\x3c\xe7\xb7\x78\xd1\xfb\xfb\xdf\xdf\xb0\x2c\xd7\xa4\x4e\xb5\xe1\xe9\xd7\x42\xe4\xe6\xca\x99\x88\x28\x67\xff\x77\xaa\x40\xc9\x71\xbd\x9d\xe5\x78\x01\xc6\xcb\x60\x9c\xb1\x7f\xc5\x36\x27\xc8\xd2\x13\x67\xa6\xa5\x16\x50\x9e\xe4\x49\x83\x04\x58\x4b\xac\xe4\x6b\x72\x41\xdf\x1f\xb0\x5b\xbe\x26\xe5\x2d\x62\x79\xa6\xb3\xaf\x09\x50\x41\x25\x9a\xdb\x3c\x2f\x73\x8b\x17\x1c\x16\xea\x5c\xd3\x1e\xa9\x65\x13\x0e\xd8\x31\xfb\xca\x81\xde\x23\x53\xa0\x0d\xa1\xd4\x04\xae\x20\x68\xe3\x03\x42\x40\x10\x25\xcd\x0e\xb9\xc7\x2b\x29\xca\xad\xc3\x9b\x83\x71\xc8\x75\xca\x97\x5e\x1e\x9f\x3c\xc8\xec\x8f\xef\xcf\xce\x46\x6c\x99\xc1\xff\xcc\xbf\xc2\xff\x40\xe2\xf1\x58\x64\x57\xb5\xc1\x74\x39\xf4\xfa\x2c\xef\x9e\x89\x63\x24\xe0\xbf\x07\xbf\x62\x65\x99\xfe\x54\xa8\x38\x11\xbe\x90\xa0\x14\x9b\x4a\xb4\x95\x20\xc4\x1b\x4a\x95\xc9\x1a\xe6\x78\x2e\x22\x6e\x0c\x5f\xed\xd9\x88\x4b\xd1\x8b\x5c\x28\xbc\x96\xa4\x9e\xf7\x9f\xe3\x15\x02\x92\xc2\x80\xa2\x00\x29\xf9\xf5\x06\x74\xe5\x25\xc4\xeb\x1f\x90\xb0\x70\x54\xfd\x08\x94\xa1\x91\x7b\x0f\x18\xa5\x50\xc0\x5a\xd8\xc0\x19\x16\x60\x16\xa9\xb9\x99\x6c\xb8\x8a\x79\x06\x2b\x70\x91\x42\xd8\x39\x65\xbc\xde\xd1\x11\x22\x79\x74\x91\x43\xf5\x3b\xa6\x78\xc2\x91\x40\x72\xc4\xa0\xcf\xa3\xa0\x13\x78\x26\xa0\x16\x7e\xf5\x87\xa7\x53\xe5\x54\xd5\x31\x8d\x8e\x57\x96\x48\x6f\xb6\x54\xdb\x5c\x1d\x74\x69\xaf\x30\x34\xdc\x23\xaf\x5b\x5b\xfd\xee\x88\xc9\x72\x8c\x13\x78\x18\x43\x6d\x2d\xab\xff\xf5\x16\x74\xee\x45\x9a\xbd\x33\xdb\x10\xd8\x89\x73\xcf\x72\x28\x33\x3f\x19\x4e\x84\x9d\xae\x6d\xa6\x79\x47\x58\x6e\x46\xa7\xc4\xdc\xd7\xe4\x3e\xec\xde\x2a\x3f\x7a\x3a\xb2\xa9\xbf\xf4\x9f\xdf\x35\x35\x19\x42\x42\x2c\x24\x6a\x7f\x5f\x10\xb7\x6c\x68\x71\xb1\x51\xd2\x6c\x47\xe7\xc4\x0a\x19\x49\x73\x64\xe5\xe6\xc2\x9e\x4f\x15\x9d\xc0\x23\xb6\x10\x3c\x5f\x01\x26\x26\x7b\x46\x63\x8c\xc7\x7d\xfe\xa2\x7d\x32\xd4\xd2\x3e\x03\x8e\xa6\xd4\xb8\xbf\xad\xe3\xd7\x20\xb5\xc3\xa3\x1c\x33\x3d\x6d\x84\xb8\xce\x55\x81\xc1\x6a\x34\x88\x7b\x8c\x83\x65\x11\xae\x32\xf6\x87\x24\xd6\x30\x12\x5b\x8c\xd8\xb3\x6a\x3f\xf0\x03\x63\x78\xf0\xed\x30\x1f\x17\x18\x47\x28\x44\x24\x18\x0e\xee\x33\x1f\x4c\x0f\xa9\x1c\xc1\x49\x6e\xdb\x54\x1d\x03\x01\x1d\xd8\xaf\x62\xc1\xfc\x74\xe7\xcd\x21\x13\xa9\xa5\x38\xc6\x77\x45\x2a\x99\x95\x4c\xe3\x93\x0d\x4f\xf3\xad\x5d\xbe\x89\x9c\x03\x33\x6a\x22\x9f\x04\x1b\xa7\xa9\x7e\x39\xf6\x28\xb4\x9a\x96\x07\x9e\x3d\x1d\x99\x99\x0a\x08\xe3\x86\x30\x4b\x35\x12\x49\x95\x50\x32\xb1\x98\xed\x47\x5a\xd5\x46\xbc\xd5\xf8\x9c\x54\xe4\xe9\x76\x66\x16\xe2\x7a\xd3\x6a\x29\x7a\xe1\x2d\xfb\x3b\xb9\xc3\xf8\xb0\xe0\x7c\xee\xc1\x87\x55\x9a\xd5\x1f\x87\x0f\xab\x81\xea\xaa\xce\x87\x35\xb9\x9e\x3c\x4c\xc6\x57\x93\xff\x57\x69\xf1\xf3\x78\xf2\x30\xb9\xfe\xd3\xec\xc3\xcd\xdd\xec\xee\xf2\xfe\xe6\xf1\xee\xfc\xb2\xbb\xc0\xbd\xde\x7b\xef\x82\x9f\xb0\xf0\x39\xef\xd9\x43\x90\x31\x43\x9c\x22\xf9\xdf\x24\x0d\x04\xab\xca\x6c\x66\xa9\x96\x23\xd8\xa8\xef\xd9\x65\x9a\x4e\xd6\x7c\x29\x6e\x8b\x24\x81\xbc\x36\x82\x82\xcf\x53\x01\x17\xcf\x11\xbb\xd5\xf1\x24\xf8\x1d\x54\x32\x34\xbe\x06\x3c\x9f\xc7\x71\x2a\xb2\x0c\x1f\x3f\xa2\xe7\x07\x59\x5c\x57\x25\x41\x28\x06\xfe\xcc\x65\x62\xee\x6f\xef\x41\xad\x54\x2f\x16\x88\xbc\x1d\x39\xcc\x35\xfb\x5a\xe8\x9c\x33\xf1\x2d\x02\x52\x87\xe6\x75\x72\xa5\x97\xaf\x7b\x07\x6a\xde\xd3\xbb\xe3\x84\x2d\x97\x14\x90\x80\x98\x35\x1f\xe7\xcd\x86\x80\xde\xf2\x23\xfe\xf4\x03\xfe\xb2\xb1\xf5\x3c\xaf\x49\xf4\xef\x51\x64\x76\xa5\x97\xcd\x84\xdc\xe0\x5d\x13\x8b\xb8\x97\xe5\x86\x92\x55\xbd\x64\x99\x54\x4f\x53\xf5\x79\x25\x14\xd3\x45\x8a\x7f\x82\x6b\xbe\x71\x33\x93\x22\x5b\x89\x98\xe9\x22\x1f\xb1\x17\xc1\xd6\x7c\x8b\x6e\x33\xdc\x09\x1c\x8b\x30\x2c\x19\x38\x45\xcc\xaf\x13\xa9\x8c\xb5\xd8\x48\x0b\x69\xac\x4e\xfd\x31\x6e\x5c\x96\xd2\x84\x1f\xce\x38\xd6\x75\x9e\x96\x80\x12\x50\xb2\xe2\x01\x2c\x36\x53\x4b\x96\x1b\x44\x8a\xb4\x7e\x2a\x36\x9e\xfc\xe8\x8d\x8d\x12\xc3\x70\x3f\x6b\x19\xb3\xb8\xd8\x24\x32\x72\x76\xf7\x45\xa7\xad\x0c\x6f\x88\xbd\xed\x7f\xea\x54\x11\xe5\x5d\x2f\xd6\x00\xec\x0d\x20\x0d\x1d\x5c\x6f\xaf\xcc\x76\xc7\xa4\x8a\x92\x02\xe4\x17\x8a\x4c\xa4\x27\x79\x2a\x97\x4b\x70\xc0\x6d\x99\xc0\x8f\x4f\x87\xe7\xe9\x76\x0e\x47\xc4\x87\xf5\x6a\x89\x5e\xca\x88\x27\x21\xca\xcc\xa7\xa7\x1c\xdf\x96\xdd\xf6\x24\x4e\x65\xfa\xed\x3a\xd4\xca\x23\xb0\x49\x05\x50\xbe\xcd\xc0\x94\xcf\xc8\xdc\x1d\xd2\xef\x05\x33\x17\x74\x2b\x5c\xed\x0b\x3a\xad\xf6\xbf\x3d\xe1\xfc\xb3\xad\x42\x01\x4a\x94\x2a\xc8\xc5\xe8\x17\x25\x52\xf0\x60\x21\xff\x66\xde\x54\x69\xf0\x4d\x9c\x6a\x81\x03\x8a\x59\xd5\x8e\x85\x43\xc4\x61\xd1\xcd\x52\x3e\x0b\xf5\xfd\xe9\x0b\x83\x07\x44\x3c\x5a\x89\x99\xf5\xcb\x8f\x6d\xb2\xdc\x01\x30\xd0\x58\x59\xfa\xe0\xd0\x94\x32\x09\x94\x31\x11\x5e\x9d\xb0\xc7\x75\xdb\x85\x94\xf8\xbd\x0e\x25\x20\x56\x2e\xc7\xe7\xaa\xc7\xc1\xa1\xfa\x00\x0e\xd3\xba\xaf\xf7\xdf\x1d\x08\x58\x26\x7a\x0e\xc5\x95\xed\x89\xd5\x8e\xb5\x65\x06\x36\x95\xf1\x10\xcb\x64\xc7\xe4\xc6\xfd\xb4\xab\x83\x4e\xfe\xd5\x3d\x09\x8c\x82\xc4\x58\x5d\xc5\x73\xaf\x16\xef\xec\xba\x26\x40\x6e\x23\x73\xc9\x0d\xe7\x48\x58\x6a\x4d\x08\x4c\xe8\x0e\x3d\xe1\xfa\xbb\x1c\x34\xd1\xf5\x72\xd0\x1d\x63\xe9\x2b\x48\xbb\x27\xf9\x80\x9a\x3e\x2c\x40\x74\x85\x7d\x43\xf8\xd1\xec\xd4\x21\x4e\x04\xb4\x9a\xdd\x24\x96\x00\x7c\xbd\x66\xb4\x3a\xee\x0f\x94\xee\x3a\x88\xb0\xe2\x15\x76\x54\x91\x6b\x1f\xad\x84\xf7\x99\x00\x6b\x50\x08\x0d\x06\xb3\x31\x89\x6b\x29\x0a\xa7\xcf\x01\xc3\x60\xb7\xe6\x00\x20\xc3\x20\x28\xc5\x26\x15\x36\xee\xbd\x15\xb9\x2b\x69\x4a\x2c\x5f\x3c\x84\x75\xdd\x5b\x97\x6b\x3a\x6d\xd9\x96\xab\xc3\x87\x20\xac\xb6\xea\xfa\xeb\x8d\x56\x42\x11\x98\x47\xe9\xa9\xa2\xc6\xad\xea\x97\x8b\x0c\x97\x30\xd3\x23\xba\x90\x23\x02\x4f\x64\x3a\x79\xa6\x14\x40\x40\xb7\x09\x7a\x01\xa6\x83\xe7\xc6\xb7\x31\x9e\x3c\xe4\xa6\x08\x40\x0b\x90\xa2\x8a\xf4\x55\x2a\x96\x32\xcb\x45\x08\x33\x0f\x7f\x7f\x34\x95\x92\x92\xf3\xdf\x35\xf4\xad\x2a\x25\xbb\x4e\x71\xb3\x6b\x07\xf4\x67\xbb\x11\xf1\xc4\xfd\xae\x7b\x31\x94\x6a\x45\xe2\xc0\x48\x94\x4e\x01\x5c\x03\xe8\xbd\x64\x58\xe5\x9e\x39\xa2\x4c\x37\x49\x54\x7f\xcc\x9d\xb4\x0c\x4c\xd1\xb2\xe0\x29\x57\xb9\x10\xd9\x54\x51\xe2\x04\xd9\x1a\xc2\x82\x44\x5c\x40\x2f\x81\x0c\x00\x9e\xcd\x91\xce\x72\x2c\x7e\x86\x9f\x2c\xb8\x4c\x8a\xb4\xd5\x5d\xc6\x55\xb9\x57\xa5\x55\xd7\x28\x9d\x43\xb3\xac\x69\xd2\x5c\x25\x44\xb0\x8b\x5c\xc1\x60\x35\xed\x51\x2e\x14\x68\x79\x05\x6b\x72\xfb\xcf\xb7\x8b\x95\xb4\x14\x47\xfc\x4b\x36\xdb\xe8\x01\x16\x8f\x94\xcc\x1b\x1b\xcb\xbe\xd6\xee\xf4\x1d\xe9\xbf\xaf\x6d\xd4\xa1\x3c\x7b\x82\xc8\xf9\xae\xab\xc4\xee\xf8\xe0\x1f\xff\xb0\x3b\xbe\xde\x6a\xbb\x60\xd5\xae\xb8\x8a\x13\x50\x3d\xcf\x2b\x27\x90\x07\x8c\xf0\xb5\xf5\x13\xda\x65\xc0\x2c\xd8\x6e\x16\xd5\x90\xda\xbb\xc6\xa9\x02\xf1\xde\x81\xf8\x2d\x3d\xa5\x0c\xbc\x6e\x02\xfc\xf9\x93\x9d\xe4\x6d\xdc\x86\x6d\x5f\x82\x0b\xb9\x3c\x3e\x6f\x56\x5f\xbd\x1f\xe7\x65\x7f\xac\x5b\xca\x88\xb6\x22\x9d\x5f\x0e\x3d\x74\xe0\x66\x04\xa0\xa6\x31\x66\x21\x3b\xd9\x54\x91\xfa\x15\x26\x8d\x20\x5b\x80\x15\xf8\x19\xfb\xbd\x43\xef\xff\xfe\x9f\x6d\xfd\xf5\x96\x2d\x60\xac\x81\xe4\x40\x47\x51\x91\x42\x46\x87\x6e\x9d\x4c\xe0\xd9\x34\x84\x44\x72\x8c\x27\xb2\xcb\xc3\xa3\xfb\xd4\xe4\x3d\xb8\x30\x43\xe9\xa5\x1e\xe0\x76\x89\x3a\x5e\xee\x2c\x24\xc2\xe9\x34\xcb\x59\x96\x8b\x4d\xa3\x55\x2a\x39\x5d\x65\xa9\xba\x03\xdc\x2e\x2f\x94\xd7\xd3\xd7\x1d\x60\xa3\xc7\x81\x26\xde\x9f\xef\x6f\xae\xd9\x86\x6f\x01\xd2\x92\x6b\xd2\x18\x04\x0a\x9a\xea\xfe\xdd\x35\x03\xe5\x97\x2f\x6f\x36\x1c\x53\xc2\xb1\xb5\x84\x9d\xb8\xd3\x10\xad\xd8\x21\x58\x33\xb4\x24\xcd\x56\x4e\x75\x72\xb2\x49\xb8\x12\x48\x17\x0a\xef\x7f\xca\x2a\x8f\x0f\xd3\x54\x2e\x60\x4d\x40\x00\xe8\x40\x28\xc1\x9f\x16\xaa\x09\x12\x58\x56\xdf\x3b\x28\x33\xd5\x6a\x23\x3a\xf1\x3a\x1f\x91\x44\x94\x47\x66\x9b\x60\x75\x9a\xcd\xb6\xb9\x84\x2d\xcf\x00\x4b\x35\x60\xa2\xba\xa5\x02\xa7\xca\x2a\x41\xe9\x97\x8c\xc5\x58\xbf\x57\xc8\x0c\x15\x76\x31\x96\x09\xb8\x06\xb2\x2f\x98\x74\x4d\xb9\xca\xcc\x84\x42\x38\x46\x3c\x0b\xc5\xea\xd5\x60\x93\x8b\x2b\x97\x9a\xc4\x49\x22\xf9\x81\x96\xa1\x0f\x1c\xb3\x43\x2e\x30\x8d\xda\x75\xbb\x99\x3d\x3f\xf2\x4d\x17\xf2\xf8\xe0\x16\x77\xcd\x92\xab\x5e\xae\x7a\x9d\xa0\xaa\x05\x8c\xe4\x25\xf8\x71\x38\x7a\x8f\xea\x40\xf3\xd3\x48\xf5\x37\x40\x9b\xfb\x38\x68\xf2\x01\xb6\x27\xa0\xbe\x70\xb0\x00\xe7\x2f\x9b\x5d\x0e\x7c\xcf\xa8\x01\x4b\x9a\xf7\xf7\x42\xb0\x2f\x4e\x46\xf6\x0b\xe9\x09\x78\x05\xff\xb6\x71\x9d\xa8\x85\x3e\xcc\x18\xa4\xcb\x1a\x92\xe6\xa0\x51\x69\xee\xe7\xa1\x58\x1d\x80\xc3\xab\xd7\xad\xe1\x6a\x7c\xaf\x1d\xc8\x9c\x5b\x7f\x27\x27\x64\xb7\xed\xa9\x39\x9f\x61\x8a\xf7\x93\x3b\x2d\x2d\x92\x1c\x94\x75\x81\xab\xed\x49\xe9\x17\x85\xbe\x00\x3d\x89\xbd\x35\xfb\x0f\x0e\x30\x20\x5d\x23\x70\x4e\x81\xd6\xf0\x1d\x90\xc7\x8d\xdd\xbf\xd9\x3d\x86\xb9\xb1\xcf\xc0\x8e\x9c\x81\xf3\x43\xbc\xc6\x60\xcd\xdf\x8e\x47\xec\xa7\x11\x3b\x1f\xb1\xd3\xd3\xd3\x77\x23\x26\x78\xb4\xb2\x3d\xc2\x9f\x20\xe8\x25\xe7\x4b\xd3\xb6\x53\xdf\xf6\x0f\x00\xb2\x6f\x73\x58\x99\x23\xd3\x18\x68\x1e\x68\x74\xfb\xc8\x83\x7d\x05\xc4\xc1\xa3\xa0\x8c\x4d\x09\x46\x2b\x2d\x7d\xa7\x00\x5d\x26\x22\x9d\x5a\x7c\x5a\x96\xeb\xd4\x62\x6d\x9e\x79\xca\xa5\x82\xf2\x20\x5e\x47\x1a\xd2\x93\x03\x4a\x3b\xf1\x8d\xaf\xe1\xfd\xa5\x72\xac\x3e\x66\x98\x1e\x5c\xff\xf3\xed\x46\x46\x30\x9e\x2f\xa9\xcc\x73\x73\x3a\x67\x53\x75\xcf\xde\xff\x2b\x1b\x6f\x36\x89\x60\x63\xf6\x37\xf6\x13\x57\x5c\x71\xf6\x13\xfb\x1b\x3b\xe7\x2a\xe7\x89\x2e\x36\x82\x9d\xb3\xbf\x99\x61\x33\xed\x5d\x6b\x73\x1c\x6e\x47\x8c\x33\x55\x24\x78\xea\xbf\xb5\x38\x96\x77\xee\xbd\xb8\x9f\x1d\x2b\x61\x9b\xe9\x35\x1d\x85\xbf\x60\xf1\x11\x14\x7f\xa8\x65\x22\x72\x2b\x1c\x5d\x42\x1c\xe1\x03\x4e\xe0\x4d\xdf\x4f\x95\x8b\xe5\xfd\x62\x7a\xfc\x0b\xfb\x1b\xbb\x2e\x92\xc4\x74\xc9\x18\x1a\xb3\x90\xde\x33\x8b\x00\x17\xea\xf4\x45\x3e\xc9\x8d\x88\x25\x07\x0c\xb8\xf9\xd7\xd9\x03\xcc\xf6\xac\xf0\x0c\x21\xe1\x9e\x76\x8c\xd3\xdf\x85\x26\x6a\x48\x61\x8f\x23\x1e\xb7\x93\xdf\x71\xf3\x2b\xff\x74\xb8\x47\xe4\xf9\x91\x68\x3f\x90\xc3\x8a\x6c\xe1\x21\xc1\xf9\x5e\x26\xa0\x72\xd8\xda\xb6\x1a\x8e\x82\xf0\x50\x3f\xd4\xc8\x02\x5f\xfe\xd1\xef\x90\x3d\xc8\xcb\xfb\x9a\xdc\x1a\xf5\x72\xa9\x54\x0a\x7c\x49\x5f\x2e\xde\x2b\x2b\xe4\x28\x97\x3f\x95\x05\x03\x4a\x43\xac\x65\x2f\x65\x85\x4a\x67\x1f\x29\x76\x01\x85\x66\xe6\x22\xa3\x64\x72\x66\xb6\xea\xd9\xb5\x56\xe6\xda\x9a\xc9\x25\x96\xb8\x03\x02\x22\x03\x1a\x2a\xeb\x14\x3c\x94\x5d\xd6\x60\x0b\x80\x7f\x60\xba\x84\xa8\x9c\xdc\x58\x01\x33\x05\xc9\x76\xaa\xcc\x2f\xe8\x44\x02\x84\xae\x74\xdc\x5d\xf8\x34\xab\xe1\x48\xcf\x22\x83\x1c\x34\xde\xb0\xc0\xba\x64\x0f\x0f\xe2\xcc\x82\x6a\x93\x03\xa2\xe2\xd7\x01\x0b\x08\xb5\x66\x4b\x44\x11\xfc\x33\x17\x89\x56\x4b\xb3\x2a\xda\x8c\x80\x5e\x73\x79\x48\x4e\x3c\xec\x02\x36\xd6\xda\x03\x73\x58\xd2\x57\x68\x4a\x02\x89\x7c\xd2\x9e\x02\x99\x5d\x17\x91\x75\xa7\x21\xbd\x5c\xcb\x4b\x1c\x58\x70\xf8\x98\x09\x50\xd4\xa7\xe4\xac\x8b\xf6\xe3\xc1\xe9\x0b\x36\xf1\x8d\xfa\x6d\xaa\x4e\x4c\x5f\x73\x28\x84\xb2\x09\x36\x98\xec\x82\x7a\x3d\xd6\xe3\xaf\x09\xef\x7b\x4d\x11\xcc\x46\xc5\x4b\xf8\x9e\x69\x8d\xfe\x34\x54\xd5\xd2\x8e\xde\x31\x90\x4f\x5f\x91\xe4\x7a\xa6\x17\xb6\x08\xac\xff\x99\x5e\xa3\x19\xef\x07\x3d\x09\xa9\x05\x43\x3a\xee\xfa\xc2\x69\xcb\x37\x68\x35\xa3\x8c\x44\xbf\xce\x56\x07\xec\x46\x7d\xc0\x9f\xdf\xea\x44\x46\xdd\x78\x1d\x7b\x5c\x81\x34\x7c\x0d\x00\x31\x17\x00\x60\xa3\xf8\x0f\x75\x0a\x3d\xf4\x5c\x44\xb9\xcf\xb8\xd5\x5f\x6e\x50\x38\x8c\x02\xac\xae\x15\x50\x7e\x71\x29\x2d\x38\x6a\x80\xb3\x08\xc8\x25\x31\xf4\x08\x55\x31\x90\xea\x8d\x38\x45\x64\x4b\x1d\x01\x7b\xf5\xb2\xd2\x89\xb9\x9a\xa8\x98\xf8\x9f\xa6\x6a\x23\xd2\x48\x27\x3c\x37\xd6\xf0\x85\x38\x3e\x64\x12\x7b\x06\xe7\xb7\x80\xcd\x03\x04\xcd\x3b\x92\xa9\x10\x2e\xe5\x6a\x9b\xef\x38\x84\xec\x2c\x58\xa9\xba\xc3\x02\x32\xc7\x03\xdb\x74\xad\x82\xcf\x04\x81\xc1\xa1\xa0\x8a\xed\x4a\xf2\xcc\x0c\x7a\xa9\x3f\xc3\x66\x58\x38\x72\xde\xc8\xdf\x23\xf2\xca\xbc\xd2\x55\xa2\x3a\x94\xc0\xe3\x85\x75\x1d\x88\xa7\xc8\x04\x74\x67\x2d\x38\xba\x26\x9e\x55\x87\x26\x75\xaa\x7c\xba\xf0\x4d\x16\xba\x29\x8d\xf3\x8c\x34\x55\x16\xce\x33\x62\x6f\x4a\x2f\xfa\x06\x78\x9e\x94\x86\xe7\x51\x4a\xa7\x34\x34\xb0\x5c\x47\x4c\xe6\x53\x25\x33\x5c\x99\xa9\x48\xc4\xb3\xe9\x5d\x18\x3b\x25\xe8\x87\xbd\x4a\xda\xd7\x06\x44\x28\xb7\x85\x84\x4e\xe1\x10\x18\x15\xd2\x90\x2f\x88\x43\x9c\x16\x94\xea\x0b\x05\xdc\xbc\xe2\x9b\xd9\x00\x12\x52\x03\x88\x86\x88\x85\xb2\xfd\x03\x90\x04\x8a\x28\x4d\xd5\x64\x01\xd5\x5c\x50\x43\x16\xc7\x78\x29\xb3\x6c\xad\x8e\xbc\x41\x52\xac\x54\xd3\x15\xd5\x09\x68\xa3\xca\x0a\xee\x24\xf1\x2c\xd2\x6d\x0e\x31\x4e\x18\x57\x25\x78\xbe\x62\x32\x1f\x01\xeb\x86\x35\x1c\x53\xc5\x63\x12\xa9\xa3\xe6\xcc\xd0\xc0\xba\xef\x98\x67\xfa\x7c\xae\x9f\xbb\xfc\xbc\x43\x41\x50\xb8\xab\x37\x09\x57\x33\x34\xa8\xbf\x02\x0c\x2a\x10\xc0\x69\xcb\xfc\x15\xf3\x99\xd3\xcd\x3f\x4a\x3f\x9d\xf7\x73\x57\x92\xa5\x32\x6e\x9d\x7d\xd0\x08\x17\x83\x67\x0a\xb4\xde\xba\x0b\x5b\x50\xb2\x3d\x65\x36\x21\xd9\xdf\x0a\x78\x84\x14\xaf\x24\xe6\xed\x6a\xdd\x05\x91\xb2\x2b\xe0\x47\x85\xeb\xf4\x99\xf9\xca\x19\x52\x9d\xf6\xe1\x48\x91\x9a\xc3\xb4\x17\x5a\x64\x47\xb7\x5e\x17\x31\xd2\x1a\x56\xa8\x23\x47\xec\xdb\x06\xd9\x2f\x84\x41\x0b\x0c\x4b\xb9\xa8\x47\xb3\xc0\x51\x78\x2d\xd1\x0d\x50\xc3\x63\x86\x6c\xcb\x32\xe8\xbd\xab\x28\xa1\x5f\xa7\x6c\xa2\x98\x8d\x5e\x8c\xd8\x1b\x5c\x58\xd9\x1b\x8a\xc8\x91\x4a\x16\xa5\x92\x63\xda\x3d\x54\x77\x56\x45\x26\x20\xfa\xd7\x6f\x37\x4c\x8c\x74\xb2\xc5\xbc\xea\xb8\xfc\x24\x01\x7d\xbc\x4f\x81\x29\x26\xd5\xe6\xd8\x00\x1d\x92\x78\x0b\xdd\xa2\x0f\xab\x7d\x70\xd7\xbf\xb0\x4d\xff\xb0\x9f\xec\x0f\xcd\x10\x6d\x0a\x3a\x4f\xed\xe7\x4c\xa7\x53\x65\x5b\xa3\x08\x5d\x86\x84\xea\xd5\xa6\x02\xb6\x0f\x72\x81\x83\x95\x0a\x39\x7d\xcb\xa1\x0f\xd2\x0c\x9e\xd2\xaa\x6a\x05\x00\x23\x30\x17\x5e\xdf\xef\x94\x8d\xfd\xd3\x8c\xe3\x61\x16\xf8\x1a\x8f\xf9\x2a\xed\x4d\x92\x98\x41\x91\xb9\x65\xd9\x09\x80\xca\x59\x01\x5c\x51\x8b\xc2\x18\xa3\x80\x50\x6b\xaa\xcc\xe0\xb1\x85\x04\x18\x2c\x8d\xcb\x54\x7d\xd4\x99\xad\x8b\xcd\xfc\x78\x58\x48\x25\x0d\xdb\x1b\x27\x25\x40\x7f\xb8\x80\x43\x9b\x42\xe0\x15\x6d\x49\x40\xa8\x53\x71\xfb\x56\x17\xa9\x7f\xa9\x88\xab\xa9\xfa\x4f\x33\x3c\xa8\xec\xe6\x64\x11\xf5\x02\xb7\xb0\xd5\xe2\x64\x6f\xbf\x60\xa3\x6f\xff\xf9\xdd\x97\x77\x58\x9f\x5e\x64\xa0\xde\x32\x2a\x1f\x20\x8e\x5b\xb1\x48\x12\x48\xcc\xda\x37\x70\x65\xe5\xfe\x11\xbc\x0b\xa5\x42\x77\x9c\x99\x2a\xbb\x18\x7d\x36\x7a\xd7\x0a\xf6\xb1\xd8\x31\x8b\x78\x1e\xad\x4e\xac\x2f\x47\x66\xcc\x9e\x7e\x34\x7d\x28\xe3\x60\x3c\xad\x66\x7a\x41\x73\xff\x4a\xd7\x4e\x1d\xb1\xb4\x5e\xcc\x2b\x00\xce\xe4\xa1\xb4\x2a\x43\x0d\x52\x5c\x9c\x5e\x98\xd0\xfb\x79\xee\xeb\x56\x9b\xc1\x07\x50\x29\x68\xac\xf8\x5a\xc4\xec\x0d\xd4\x3e\xbc\xb1\x93\x3f\x55\x9b\xf9\x69\xb2\x5d\xe4\x44\xd6\x62\x06\xe5\x14\xd8\xcb\x77\x9c\x72\xb3\xb8\x7e\x4d\xda\x31\xd8\xad\x17\xad\x66\x5f\xc7\x8d\x8d\x7b\x52\x7f\x87\x05\x43\x3e\x6e\x74\xee\xcb\x88\x99\x32\x39\x25\xcf\x9e\x46\x6c\x9e\x72\x05\x74\xbe\x71\xe8\x54\xf9\xdd\x69\xae\x65\xc4\x84\x42\x09\x1c\xae\x78\xb2\x05\x28\xf5\x68\xaa\x90\x36\x06\x88\xde\xb6\x51\x22\x23\x14\x42\xad\xf8\x41\xe2\x59\xa8\xfc\x92\xea\xa4\x2d\x66\xfb\xd0\x4c\xab\xab\xbb\x3e\x88\x50\x6d\x52\xf6\x76\xb8\x2f\x28\xf7\x01\xc7\x28\x15\x80\x65\x9e\x6f\x03\x8c\xa7\x5b\xe0\x23\xd2\x43\x00\x66\x1d\xf6\xd7\x62\xae\x13\x4b\x4d\x34\xb9\x60\x3a\x05\x7a\xd6\x5c\xd3\x9f\x64\xdc\x76\x8a\x49\x15\x8b\x6f\x07\xd5\x07\x77\x1f\x48\xd6\xbd\x33\x8f\x09\x58\x40\xab\x2f\x0b\xbb\x28\x15\xe6\xb0\xc8\xed\x0d\xae\xf6\xad\xac\x0a\x38\x1b\x27\xf9\x0a\x50\x60\x88\x3f\xf6\x83\xba\xe6\x5b\x16\xad\xb8\x5a\x06\x57\x68\x00\xe5\x88\x8d\x4e\x51\x78\xe3\x19\x88\x78\x74\x6a\xeb\xaf\xa8\xaa\x88\x40\xd0\x2e\xfe\x8b\xd8\x43\x6d\x4b\x87\xf8\x72\x99\x8a\x25\x94\xc4\x96\xf4\xda\xd1\x7e\x3a\x06\x55\x7c\x4e\x57\x59\xd9\x71\x6a\xb3\xdb\x6e\x2d\x79\xba\x75\x45\x39\xa4\x5a\xe3\x86\xae\x36\xac\x23\x26\xc5\xe9\x88\xfd\xc1\xe3\x2d\x45\xa4\x95\xab\xea\x69\x7e\x87\x4d\x25\x52\xbb\xc3\x16\x35\x14\x71\x37\xf7\x1d\x3e\xab\x69\xdf\x34\x2e\x9a\xce\xb2\xa8\x9c\xe7\xc5\x00\x5b\x49\xfa\x66\xe7\xe6\xc7\xf7\xf8\xdb\x4e\x48\x32\xdf\x18\xf3\x66\x09\x34\xcc\xf7\x8d\x85\x37\xcf\xf6\x4c\x67\x4d\x63\xdd\x1c\xf7\x0b\xba\x9f\xe8\xe5\xab\xba\x94\xb6\x4a\xba\xd5\xa5\x74\x33\x91\xb4\x54\xfe\x76\xbc\xd3\xd0\x50\xa6\xc5\x66\x12\xea\x3a\xab\x5e\xb7\x1a\x2c\x80\x53\x84\xd6\x29\xfa\xed\x08\x64\x70\x05\xc8\x25\x23\xd9\x74\x20\x94\x58\x14\x40\xe5\xee\x7b\xdd\x8d\xdb\xf8\x1b\x9a\x87\xff\xb1\xe5\x5e\x6c\x3d\x93\xa6\x41\x0f\xf7\x27\x8e\x53\x3a\xf0\x9c\x72\x8f\x47\x0e\x69\x1b\xdc\xd4\xa9\x5c\x4a\xc5\x73\x9d\xb2\xb7\xb7\x96\x78\xf5\x9d\x23\x0b\x87\x51\x3c\x86\x99\x28\x0d\x11\x9a\x89\xe6\xbb\x17\xc0\x7b\x45\x3c\x1b\xc6\x82\xd3\xa4\xd2\xba\x13\xbe\x6e\xbe\x95\xe5\x7c\xbd\x09\x09\xdc\x9c\x78\x18\x8d\x4c\x82\x83\xc0\x6c\xc7\x20\xc6\x27\x33\x5f\x92\x34\x55\x14\x19\xc7\x79\xd3\x69\x83\xfc\x78\xf5\x2d\xc1\x8f\x9c\xed\x49\x4a\x40\x64\xa6\x03\x69\xdd\xaa\x19\xc5\xbb\x2b\x9b\x30\xf0\xf7\x82\x92\xa3\x0d\x2f\x8a\x7c\x52\x19\x9c\xda\x78\xc5\x73\x66\xc3\x9c\x92\xb6\xf6\xfa\x3c\xd1\x45\xcc\xc8\x68\x50\x76\x32\x3d\xc5\xd3\x07\x08\xde\x4e\x4f\xdb\xd8\x6e\x06\xca\x01\xb9\xfd\x0d\xbf\x6b\x5e\xe1\xf0\x59\x8b\x85\xeb\xdc\x5a\x34\xb2\xc3\x62\x4f\x94\x98\xff\xc8\x37\xdd\x15\xf4\xdc\xde\x9c\xb1\xde\x25\x14\xc0\x6f\xd8\xfb\x2d\xc3\xe5\xa2\xa1\xc0\x36\x33\x2c\x50\x66\xe5\x9e\x60\x3d\x87\x81\xe4\x06\x3e\xbc\x10\x91\xc9\xb3\xa7\x83\x1f\x67\x0b\x3b\xbb\x1f\xb5\xe1\xa9\x50\xf9\x0c\x9e\x38\xec\x61\xf0\x90\x5b\xf8\x79\xc9\x21\xe9\x15\x10\xfc\xf7\x07\x8d\x71\x5e\x5b\x5a\xfe\x1f\xec\x9e\x62\x1b\x99\x95\x8e\x34\xa7\xcf\x5b\x09\x50\x8c\x20\x27\xe6\x26\xae\x65\xba\xe8\x85\xf6\x18\xbd\xe0\x85\x4a\xa6\xb3\xd7\x0b\xf9\xde\xa3\x90\x82\x69\x85\xc2\x3c\x54\x50\x68\x4c\x99\xfd\x9b\x5f\x73\x58\xa4\xeb\xb3\xb3\x8c\xe7\xcc\xcc\x5f\xc2\xfe\x4b\xa4\xda\xa3\xe4\x49\x8e\x3e\x68\xb8\xd3\x1f\xde\x5f\xb2\x08\xfd\x5d\x14\xcb\x09\xd5\x22\xe0\x2f\x54\xbd\x8f\x37\xcb\xf9\xd6\xba\xfb\x2d\xa9\x84\x8d\x88\x70\x1e\xf6\x3c\x36\x83\x8b\x5d\x60\xdf\x6d\xe8\xcb\x1d\x16\x76\x83\x9e\xc1\xbd\x95\xf8\xb1\xd6\x7c\x43\xb0\x27\x42\x58\x56\x83\xf8\xa7\xf0\x12\xff\xfe\xcb\x7f\x9c\xb6\xc9\xa6\x41\xd7\x87\xa2\x48\x5c\xe7\x3f\xa4\x52\xa8\x18\x92\x72\x3c\xae\xb3\x56\xab\x52\x94\xb6\x64\x9e\xcd\x32\x3c\x4a\x31\x59\xf3\x39\x98\xcd\x70\x11\x7d\x87\xcc\xae\x37\xb2\x6e\xfb\x96\xf2\x3e\x6d\x47\x75\x36\x8b\xb7\x8a\xaf\xeb\x42\x73\xaf\xda\xc7\xad\x14\x49\x0c\x5d\xa4\xa7\xef\xca\x4e\xc4\x22\x7a\x1a\xea\x13\xec\x4d\xf5\x2a\xa2\x27\xf6\xf3\xc3\xc7\x2b\x94\x58\x91\xd9\x54\x5d\xf3\x5c\x3e\x8b\xc7\x34\x71\x61\x61\x34\x3e\x45\x9a\xd8\x3d\x52\xa6\x1e\xc4\x62\xb8\x02\x74\x8c\x89\xa7\xd0\x3a\x0e\x21\x33\xec\x7a\x7b\x32\x2f\xa2\x27\x91\x9f\xa5\x5c\xc5\x7a\x8d\xaf\x71\x96\x15\x8b\x85\xfc\x76\x9a\xf3\xf4\xdd\x2e\x88\xfb\x4e\x4b\x7a\xc0\x25\xe1\x10\x83\x52\xbf\x06\x38\xe1\x1b\x6f\x9b\x65\x1c\x8a\x35\x3b\xcb\xec\x79\xf7\x9c\x49\x81\x78\x63\xcb\x45\xe4\x94\xfa\xd9\xf0\x84\x01\xa3\xd7\x7c\xb0\x7e\xa7\x2b\x56\x1b\x03\x60\x9f\xee\xdb\x08\xe1\xad\xd6\xc9\xa1\x51\x42\x9e\xd8\x4d\x32\x03\x05\x8f\x43\x5c\x70\x5c\x00\xee\xb2\x3d\xb9\x70\xf9\x2a\x47\xa9\x47\xb1\x06\xa7\x9f\x05\x50\x0a\xea\x02\x00\x18\xa0\x13\x1d\xa0\xc3\x6c\xd3\x90\xb0\x1c\x08\x9e\x84\x36\x10\xe9\xe0\x94\xb4\x6b\x61\xcb\xa0\x1c\x96\xfb\x3e\x02\xed\x50\xa5\x87\x83\x02\x08\xa8\xb7\x51\x79\x94\x0b\x26\x84\xf4\x64\x6e\x1c\x83\x67\xdb\xf1\x44\x95\x2f\x63\x73\xc8\xf3\x99\xaa\xc0\xcb\x41\x62\x0e\x8b\x4e\x75\xa3\xd6\x14\x63\x28\x2d\xc3\x83\x63\x0c\x87\x70\x50\x76\x06\xa1\x2f\x42\x35\x17\xc8\xa3\x46\x7a\x3d\x37\xf7\x7c\xac\x76\xa4\xc0\x1b\xb8\x67\x63\x4b\xf1\xe3\x82\xa4\xd6\xcd\x42\x8e\xe1\xca\xd8\xbb\xa3\x21\x64\x4b\x0a\x4d\xd6\xae\x2b\x4c\xe8\x13\x1f\x97\x2e\xb3\xd9\xce\x8e\xab\x6f\x20\xcd\x75\xf6\x85\x6f\x33\x90\xbe\x11\xc6\x2a\x2e\x30\xd8\x54\xee\xff\xc8\x87\x40\x1c\x7d\x14\xe9\xc8\x15\xa4\x88\x45\xef\x22\xb1\x04\x5c\x24\x56\xe4\xc7\x53\x6b\xbc\xc9\x9a\x07\xe7\xd7\x89\x1f\xa7\x9d\xf1\x63\x4c\xe0\xfc\xcf\x08\x19\x77\x04\xa6\x0e\x8c\x8f\x05\xc7\x64\xaa\x23\x92\x7f\xcf\x19\x28\xe2\xa1\x39\x36\xcf\x1e\xb1\x35\x97\x8a\xb6\x41\x9e\x1a\x03\x19\x8b\x79\xb1\x5c\xb6\x86\x6d\x7e\xfc\xf8\x6f\x79\x9f\xfc\xc3\xc7\xe7\x3a\xc9\x61\x8e\x11\x61\x9b\xd8\x27\x61\xda\xd8\xf8\xca\xdf\x27\xa8\x76\xa4\x08\xe1\xa4\x4f\x84\xd0\xe2\x0e\xa0\x1a\x82\x5c\x7c\x9b\x1b\xfe\x2d\x74\xf8\x7d\x42\x87\x8d\xb9\x91\x6a\x0f\xb1\x02\x7f\x26\xcb\x0e\x70\x47\x0f\xf7\x24\xf2\x71\x8c\x6f\xd0\x2b\x12\x7d\xcb\x84\x8a\x33\x36\xe7\xd1\x2b\x30\xfb\xc0\xe9\x73\x78\x8c\x62\x47\xc2\xfb\x5e\xaf\x05\x83\x47\x65\xc8\xac\xcc\xa8\xe0\x64\x04\x48\x2a\xf3\x82\x3e\x4b\x4c\x39\x68\x38\xae\x30\x5b\x1d\x7b\xa7\xf5\xad\x12\x2f\xcc\x9c\x06\xa3\x10\x5a\x12\x4c\x0f\x50\xee\xbf\x23\xd5\x66\x8f\x43\x75\xd5\xb5\xa9\x58\xf2\x34\x06\xf4\x33\x6d\xc9\x84\x47\x4f\xe6\xbf\xa1\x7f\xf4\x44\x82\xbf\x58\xf6\x4f\x84\x64\xf9\xd6\xa4\x8a\x50\x41\x97\x90\x36\xbe\x7f\xf8\xf3\x8c\xf1\x28\xd5\x19\xde\xe2\x9d\xaa\x14\x14\xa3\x81\x83\xf8\x2c\xe3\x82\x27\xf8\xc4\xd6\xe8\x1f\xcf\x0e\x62\x33\x1d\x07\xa4\xf2\xe2\xdb\x26\xe1\xaa\xbc\x27\xf1\x75\x81\x4e\x42\x76\xac\x7c\xc7\x8a\xf4\x5d\xd9\xdd\x42\x25\x56\xbf\xad\xd0\xfb\x4c\x05\x8f\xb7\x21\x77\x8c\x54\x24\xaf\xc8\xe3\xb5\x54\x66\xea\xad\x66\x88\xb3\xaf\xd0\x74\xc4\x13\x04\x81\x01\xb5\x76\x92\x54\xb6\x7e\xc6\x94\x30\x2e\x0b\x4f\x65\xb2\x05\x2f\x75\x93\x8a\x93\xe0\x39\xc1\xfe\x26\x0c\xba\xcc\xa6\xca\xd6\x39\x17\x99\x58\x14\x09\xfa\xb2\x70\xdb\x73\x2f\x40\xfb\xf0\x71\x32\x32\xc7\x58\x4e\x84\xb6\xc1\x83\x51\x26\xe2\x18\x78\xde\xfa\x3d\xab\x57\xcc\xdb\x73\x1a\xa5\x00\x37\x5c\xe9\x17\x5b\x74\xf0\xc2\x3d\xaa\xac\xed\x2c\x39\x5a\x9c\xb3\xdb\xab\xb1\xf7\x09\xbb\x2b\x71\xd0\xcb\x52\xc8\xf4\x99\x88\xdd\x4e\x94\x0a\x5e\x87\x14\x96\x08\x83\x22\x62\x56\x64\x58\xbb\x60\xe6\x10\xac\xb5\xbd\x36\x63\x35\x87\x55\xe7\x62\xee\xed\x64\xa6\x15\x9b\x16\xbf\xfb\xdd\x1f\x05\xfb\x1d\xc9\x6d\x82\x95\xc1\x08\x35\xb0\x1a\x61\xeb\x60\xa0\xdc\x03\x04\x52\x1e\xd5\x66\x84\x35\x81\xb0\x6c\x21\x21\xc0\x98\x78\xb4\x62\x59\x31\x47\x8c\x0e\xa7\x20\x27\x57\x8e\x34\xf0\x4a\x03\xdc\x06\xcf\x31\xdb\xfb\x01\xc1\x82\x5b\x3a\x5f\x6c\x20\x20\xc0\x09\xc2\x40\x87\x22\x3d\x30\x28\xf8\x92\x60\xc0\x6f\x41\xa9\x67\xc4\x7e\x96\xcf\x62\xc4\xee\x37\x3c\x7d\x1a\xb1\x0b\x0c\xb7\xfe\x59\xcf\x77\xde\xff\x8f\x11\x03\x73\x6e\xea\xa1\x9a\x94\x18\x4d\x1a\x05\x54\x99\x41\x88\xbf\x1e\xad\xb1\x08\x0b\xd0\x3e\x41\xd1\xe7\x5d\x7a\x24\xad\x7c\xaa\xc7\xba\xc5\xb4\xc3\xfa\x5a\xef\x34\x55\x2b\xed\xcf\x53\xaa\x9a\x6a\x42\x9a\x98\x73\x0c\x56\xa2\x79\xf1\x13\xf0\x4c\x74\xca\x36\x09\xcf\xcd\x5a\xc9\x28\xfc\x8c\xab\x02\xf1\x77\x78\x22\x57\x6a\xe1\xfa\x3a\x5e\xf6\xc1\xb3\x8d\xd6\x49\xa3\xff\x75\xd4\x01\xac\x45\x3b\xfb\x0e\xde\x04\x6b\x08\xb2\xd0\x2b\xb1\xa3\xe8\x23\x67\x3e\xce\x16\x48\xe7\xc3\x6a\x8a\x0b\x48\x22\xf8\xe1\x08\xe5\x61\x8c\x59\x41\xd4\x23\x3a\x22\x56\x4d\x8c\x5b\x0f\xd1\x38\x51\x14\x42\x0c\xd1\x76\xb5\x98\x5e\x56\x7f\x4e\x8b\x5b\x08\xed\xce\x64\x53\x21\xfc\xd0\xcd\xf5\xb0\x6a\x0c\xd4\x63\xcf\xad\x01\xb7\xb8\xf3\x5d\x34\x80\xb6\xc8\x6e\x16\x25\x3c\xeb\x89\x64\x6b\xb4\x3b\x13\x6a\xe8\x1c\xda\xe9\x6f\x33\x7f\x86\x98\xea\xba\xe7\x81\x39\x55\x63\x47\x83\xe7\x5d\x2d\xe7\x1e\xa2\x99\x45\xc7\xb8\x36\x35\x08\x66\xf7\x9c\x89\x23\x96\x15\xd1\x0a\xe0\xfa\x65\x3b\x15\xda\xad\xfa\x8e\x1d\x4d\x95\x71\x56\x50\x45\x82\x43\x42\xf8\x05\x08\xc7\xe5\x7f\x09\xe7\x0d\x11\x2a\x34\x74\x80\xe6\xdc\x4c\x8d\x56\x8d\xce\xa2\xad\x9c\xe0\xe9\x93\x88\x83\x50\x5f\xb1\x89\x79\x6e\xbc\x67\x77\xc8\xc1\xfa\x75\xfc\xa1\xd6\xfb\xcc\xc2\x17\x0b\x9d\xe5\x8a\xa5\x4d\xe4\x42\x44\xdb\xa8\xc6\x0b\x52\x82\x61\x1c\x2f\xa6\xbc\x5f\x48\xb5\x8b\x3f\xa2\xf9\xa6\xfc\xb9\x56\xef\xcc\xda\x72\xd7\xff\x33\x11\x6b\x2d\x14\x06\xff\xe8\x51\xb1\x1d\x69\xe6\xdf\xc0\x67\xff\x90\x11\xa4\x7e\xec\x05\x25\xfb\x65\xf1\x5d\x70\x63\x25\xaf\xb9\x11\x55\xf6\x63\x15\xa8\xca\x38\xdc\x37\x48\x3a\xd9\x92\x88\xdf\xb1\x15\xa8\x0c\x38\x76\x25\xca\x03\x40\xe9\xf4\x53\x3b\x5e\xe7\x89\xce\x8a\xb4\x7b\xf3\xdf\x95\x7b\x6d\x9f\xde\xc0\x60\x08\x8b\x6d\x3d\x17\x50\x7d\xde\x05\x1f\xd9\xe5\x28\x98\xfb\x52\xf5\xf7\x84\xb7\x7a\x11\x2c\x42\xa8\x7c\x8b\x26\x50\xed\x77\x41\x0c\x04\x4e\xde\xa5\x08\xbd\x80\xca\xe1\x58\x5a\x5c\xa5\x7c\xdf\x0f\x85\xe9\x6e\xbc\x83\x55\x58\x73\x4a\xe1\xb2\x5e\x19\xd2\x63\x64\x1f\x6e\x79\xbe\xc2\x40\xce\x5a\xe7\x24\xce\x0c\x5a\xdb\x04\xe3\xc1\x94\xc4\x3c\xd1\x73\x90\xf9\x02\x15\xee\xb6\x75\x4e\x8b\xb3\xd7\xd0\xd5\x27\xac\xcf\xda\x36\xfb\x01\x6a\xfe\x52\x91\x01\xf5\x43\x3d\xe7\xd7\x17\x21\x3b\x2c\xd8\x54\xef\xae\x31\x5b\x17\xb5\x60\x53\x9d\x3a\xdb\x58\x75\x80\x4b\x5e\xee\x51\x23\x71\x19\xd6\xcd\x81\x6c\x3f\xb2\x88\x52\x52\x1d\x89\x04\x2b\xef\x6b\x75\x14\xa7\x6a\x8c\x9f\x94\x54\xc7\x9d\x44\x84\x43\x24\x92\x64\x96\xdb\x7f\x58\x48\xc7\xc6\x21\x06\x8e\xfc\xfa\x91\xbf\x71\x41\x78\x64\x04\x75\x6b\x2a\x97\xa9\xf1\xa7\x33\x70\x17\xb2\x62\x7e\xe2\x29\x12\x74\x0a\x0e\x06\x30\x68\x6c\x78\x0a\x7a\x84\x2b\x99\xc4\x27\x0d\x07\x09\xc6\xa1\x3d\xd5\xbb\x65\xd6\xe2\x09\x99\x2f\xb8\x17\x62\x8d\xae\x7b\x77\xd7\x8e\x71\xef\x21\x8a\x64\xeb\x43\xd1\x5c\x77\xd9\x8b\xd2\x65\xe9\xd7\x06\x28\xf5\x40\x00\xb5\x48\x04\xfd\xe3\xdb\x89\xd2\x98\xf5\xb1\x13\x0f\xe5\xab\x95\xdd\x35\xe6\x72\x48\x96\xa3\x1d\xc5\xf9\x7d\x81\xa6\x30\x81\xd9\x86\xbf\x28\xa2\x26\xe8\xa6\x3a\xdc\xcb\x3e\x34\xeb\xac\x1a\xfb\x50\x83\x66\x79\x4b\xa1\x88\xe4\x27\x97\x4e\x4f\x67\x14\xa8\xe8\xf1\x24\x09\x59\xa3\x7d\x28\x68\xaa\x7c\xc0\xc0\x1c\xff\x49\x62\xfe\x37\xaa\x1a\x6e\x22\xa2\x00\xf5\xff\x5c\x8c\x6c\x1d\x3d\x31\x50\x51\x1a\xe9\x04\x2f\xe6\xfe\xfa\xbc\x6b\x37\x1f\xcb\x9f\xfc\xc1\x4a\x08\x77\x24\x6c\xf1\xb1\xb3\x27\xb1\x1d\xdc\xd7\xe6\x94\x89\x97\x59\x03\x55\x72\x57\xcb\x1d\xf1\x34\xb5\x80\x5d\x7a\x2a\xe3\x69\x2e\x17\x3c\x2a\x45\xd0\x5b\xfa\xb9\x12\xd1\xd3\x46\x4b\x35\xd8\x16\x05\xfd\x31\x27\x52\x2e\xb2\x9c\xf9\xd6\x1c\x1c\xb9\x17\x9d\x61\xe9\x60\xc6\x17\xc9\x00\x95\x60\x11\x8b\x9e\x5f\x87\x33\xa7\x23\xd7\xbe\xec\x8e\x7d\x95\x11\xfe\x6c\x78\x85\xb0\x4c\x77\xbc\x12\xad\x46\xfd\x68\x2e\x05\xb4\x79\xad\x90\xa3\xe7\x60\x73\x56\x62\xa5\x6a\x1c\x52\x50\x63\x01\x19\xf1\x43\xc6\x70\xcf\x82\xb9\x61\x44\xc6\xd8\xcd\x81\x94\xf2\x35\xbd\x27\xd2\x4c\x87\x9b\x4e\x4c\xd4\x3e\x79\x95\x8d\x02\x86\x10\xcb\x56\x9e\x2d\x0f\x77\x45\x06\xc1\x62\xe3\xd7\x22\x96\x45\x55\x45\xa4\x54\x62\xf5\xdb\x15\xfc\x7f\xdf\x15\x1c\x50\x27\xaf\x79\xff\x6e\x2e\xde\xfb\xed\x04\xfe\xb1\x4e\x60\xe4\xc0\xc2\xaa\x84\x21\x43\x4b\x5d\xbd\xf3\x3f\x3f\x6c\x70\x05\x0b\x7a\x92\x0d\x18\xe7\xef\xe8\x41\x04\x8f\xa5\x2d\x32\xd0\x78\xf4\x36\xba\xdd\xb9\x56\xef\xa3\xf8\xfb\x42\x50\x98\x56\xdb\xbe\x61\xc0\x2d\x0f\x97\x8e\xb9\xa6\xf5\x0e\xd6\xb6\xd7\xfe\xfe\x50\x29\xa7\x3e\x3e\x88\xb1\x8c\x2e\x09\x75\x6d\x2d\xa2\x12\x98\x8c\xed\xb0\x8c\x01\xe7\x22\xcf\xdf\x64\x6e\xd4\xcb\x16\xd0\xa2\x1f\xaf\x64\x96\x7f\xaa\x08\xdc\xec\xa7\x90\xf3\x6a\xb8\x09\xdb\x55\xec\x66\xf0\x8b\xce\x74\xff\x5d\x39\x21\x6f\xdc\x11\x5c\x73\x40\xca\x64\x25\x0d\x4c\xbf\x87\x9c\x57\x5f\xdc\x78\x7d\x41\x57\xfb\x25\xe5\x9b\x8d\x48\x6d\x96\xb9\x06\x04\x00\x7d\x00\x78\x0a\x08\x7c\xac\x04\xaa\x8c\x55\x8e\x54\x63\x4a\x2a\x4d\xc3\xd7\x60\xe8\x4e\x9b\x67\xee\xba\x48\x92\xd6\x99\xdb\x4d\x3b\x7e\xfd\x78\x75\x35\xfb\x34\xbe\x7a\xbc\xec\xa4\xf1\x0e\xbe\xd6\x3a\x26\xae\x27\x34\x26\x5e\x28\xc4\x3c\x56\x58\xa5\x33\xed\xdf\x1a\xef\x2b\x45\x92\x94\x29\xde\xa7\xea\x0b\xb5\x03\x90\x3d\x94\xaf\x31\xe3\xc6\x3a\x07\xae\xfc\x7c\xf8\xda\x17\xd3\xf8\x17\xfc\xed\x09\xf3\x2f\xf1\x1e\x84\x48\x48\xe0\xa0\x79\x5c\x09\x0f\x7c\xc0\x76\x40\x80\x58\xdb\x76\x38\xb6\x88\xc5\x7e\xdb\xe3\x51\x01\x5f\xa0\x88\xad\xf6\xc4\x51\x76\x07\x8e\xdd\x97\x72\xec\xd6\xd9\xf2\x18\x6f\x04\xd0\xee\x08\xa5\x07\x40\x50\xcd\xb3\xf3\x4f\x15\x5e\x67\x4d\x9f\x72\xdd\xde\x27\x36\x21\xec\x45\xc2\xd5\xb2\xe0\x4b\x91\x8d\x98\x7d\xf8\x54\xad\xe5\x72\x05\xcc\x8c\xa4\x7c\xef\x2e\x80\x50\xc4\x5b\x59\x42\x15\x2c\xa1\x54\x53\x45\xef\xa4\x96\xbe\x79\x44\xd4\xfd\xf9\xde\xbd\x0e\x01\x15\xb1\x21\x52\x4f\x50\x53\x85\x93\x8b\xf4\xcf\x36\xa8\x05\xfe\x32\xcf\xab\x4b\x97\x83\xba\x16\x2a\x0c\x1a\x9b\xbe\x84\xf0\xda\x54\xb9\x22\x20\x84\x3c\x86\xea\xfd\x88\x85\xc6\x2e\xed\xb6\x27\x76\x32\xec\x9e\xa0\xbe\x35\xaf\xfa\x83\xcf\x00\xb3\xe1\x66\x03\xa4\xd2\xea\x66\xac\xe7\xd5\x84\x07\x86\xa3\xad\x32\x14\x2a\xbf\x9a\x7b\x63\xdf\x0b\xbf\xd3\x0a\x58\xd0\xc5\x3c\x19\xd0\x25\xfc\x7e\x67\xa7\xd0\x24\x77\x77\xaa\x47\x44\xfb\xae\xb2\xb5\xcc\x32\xed\x7a\xec\x5c\xeb\x96\x79\x39\x62\x6c\xb8\xd4\x29\xfa\xc1\xae\xc1\x28\xa2\x7c\x9f\xf5\xd2\xa3\x5c\xa3\x3a\x44\xd6\xfa\x74\x75\x28\x91\xd9\x5e\xdd\xf1\xfe\x53\xef\x1e\x39\x0f\x81\x0e\xbb\x41\x16\x96\xce\xb9\x92\x81\x6d\x31\x93\x14\x1a\xb4\x9a\x63\x12\xcd\x8b\xd9\x3c\x28\x08\x66\xd6\xff\xc8\x2d\xa2\x91\x9f\xb9\x11\x74\x32\x2a\xd2\xcc\x98\x4b\xb2\x77\x64\xb5\x75\xca\xf8\x54\x59\xb6\x5e\x6b\x8e\xc7\x16\x72\x91\xba\xbf\x62\x09\xcc\x06\xd9\x2e\xc1\x63\xcd\x99\x56\xc2\x5a\xc3\xa9\xb2\x42\x75\x23\xc6\xe7\x99\xd5\x7f\xe3\x6a\xeb\x44\xd9\xa4\x53\xdc\xe0\x8a\x01\x96\x65\xb7\xcd\xab\xb8\x01\xa5\x73\xfe\x9f\xcc\xff\xfd\xfd\x9f\xfe\x7f\x00\x00\x00\xff\xff\x1e\x51\x0d\xc2\x7d\x56\x04\x00") func adminSwaggerJsonBytes() ([]byte, error) { return bindataRead( @@ -93,7 +93,7 @@ func adminSwaggerJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "admin.swagger.json", size: 282004, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)} + info := bindataFileInfo{name: "admin.swagger.json", size: 284285, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/gen/pb-go/flyteidl/service/signal.pb.go b/gen/pb-go/flyteidl/service/signal.pb.go new file mode 100644 index 0000000000..b8f2ed0c07 --- /dev/null +++ b/gen/pb-go/flyteidl/service/signal.pb.go @@ -0,0 +1,226 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: flyteidl/service/signal.proto + +package service + +import ( + context "context" + fmt "fmt" + admin "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin" + proto "github.com/golang/protobuf/proto" + _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options" + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +func init() { proto.RegisterFile("flyteidl/service/signal.proto", fileDescriptor_ca211d25a1023377) } + +var fileDescriptor_ca211d25a1023377 = []byte{ + // 534 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0xc1, 0x6a, 0xd4, 0x50, + 0x14, 0x65, 0x2a, 0x0a, 0x46, 0x44, 0x8d, 0xe2, 0x22, 0x2a, 0xdc, 0xce, 0x4a, 0xa4, 0x4d, 0xaa, + 0x16, 0x65, 0x74, 0xd5, 0x0a, 0x16, 0x8b, 0x20, 0x74, 0x76, 0x22, 0x96, 0x3b, 0x79, 0x37, 0x2f, + 0xd7, 0x26, 0xef, 0xc5, 0xf7, 0x6e, 0xa6, 0x1d, 0xa4, 0x1b, 0x3f, 0x40, 0xa4, 0x7e, 0x89, 0x5f, + 0xa0, 0xff, 0xe0, 0xde, 0x95, 0xe0, 0x6f, 0x48, 0x92, 0xce, 0xe0, 0xd4, 0x19, 0x37, 0x79, 0x90, + 0x73, 0xee, 0x39, 0x37, 0xe7, 0xe4, 0x05, 0x77, 0xb2, 0x62, 0x22, 0xc4, 0xaa, 0x48, 0x3c, 0xb9, + 0x31, 0xa7, 0x94, 0x78, 0xd6, 0x06, 0x8b, 0xb8, 0x72, 0x56, 0x6c, 0x78, 0x75, 0x0a, 0xc7, 0xa7, + 0x70, 0x74, 0x5b, 0x5b, 0xab, 0x0b, 0x4a, 0xb0, 0xe2, 0x04, 0x8d, 0xb1, 0x82, 0xc2, 0xd6, 0xf8, + 0x8e, 0x1f, 0xdd, 0x9a, 0xc9, 0xa1, 0x2a, 0xd9, 0xcc, 0x89, 0x45, 0x6b, 0xed, 0x91, 0xae, 0x6b, + 0x32, 0xeb, 0xfe, 0x10, 0xb5, 0x26, 0x97, 0xd8, 0xaa, 0x1d, 0xff, 0x57, 0xea, 0xc1, 0xef, 0xf3, + 0xc1, 0xe5, 0x61, 0x3b, 0x3e, 0xec, 0xac, 0xc3, 0xcf, 0xbd, 0xe0, 0xda, 0x0e, 0xc9, 0x2b, 0xf7, + 0xcc, 0x11, 0x0a, 0x75, 0x60, 0x78, 0x37, 0x9e, 0xed, 0xd8, 0x7a, 0xc6, 0xdd, 0xfb, 0xbf, 0x88, + 0x7b, 0xf4, 0xbe, 0x26, 0x2f, 0xd1, 0xcd, 0xc5, 0xcc, 0xfe, 0xe0, 0x64, 0xeb, 0x51, 0xb4, 0xb9, + 0x47, 0xe2, 0x98, 0xc6, 0x04, 0x08, 0xdd, 0xd6, 0x6b, 0x90, 0x36, 0xe3, 0x6c, 0x34, 0xb0, 0x00, + 0x67, 0xcd, 0x53, 0x59, 0xf2, 0x60, 0xac, 0x00, 0x1d, 0xb1, 0x97, 0x38, 0xfc, 0xb4, 0x12, 0x5c, + 0x7a, 0xc9, 0x5e, 0x3a, 0x25, 0x1f, 0xae, 0x2e, 0xb6, 0x68, 0x28, 0xd3, 0x2d, 0xa2, 0xe5, 0x94, + 0xfe, 0xb7, 0xde, 0xc9, 0xd6, 0x8b, 0x68, 0xe7, 0x39, 0x49, 0x9a, 0x77, 0x16, 0x8d, 0x7b, 0xb7, + 0x0e, 0x28, 0xca, 0xd8, 0x70, 0x1b, 0x11, 0x94, 0x28, 0x69, 0xde, 0x60, 0x92, 0x13, 0xb0, 0xa9, + 0x6a, 0x99, 0xb2, 0x58, 0x41, 0xc6, 0x85, 0x90, 0xf3, 0xf1, 0xc7, 0x1f, 0xbf, 0xbe, 0xac, 0x94, + 0xe1, 0x41, 0xdb, 0xd5, 0xf8, 0xfe, 0x69, 0x19, 0x3e, 0xf9, 0x70, 0x68, 0xdd, 0x41, 0x56, 0xd8, + 0xc3, 0x7d, 0x3a, 0xa2, 0xb4, 0x6e, 0x14, 0xf7, 0x59, 0x35, 0xb1, 0xbf, 0xa3, 0x54, 0x8e, 0x97, + 0xe1, 0xca, 0x96, 0xc8, 0x66, 0x29, 0x6c, 0xb0, 0xa4, 0xe3, 0xf0, 0xeb, 0x4a, 0x70, 0x71, 0x48, + 0xa7, 0x79, 0x84, 0xb0, 0xf8, 0x5b, 0x87, 0x34, 0x4b, 0x63, 0xf5, 0x3f, 0x0c, 0x5f, 0x59, 0xe3, + 0xa9, 0xff, 0xb3, 0x77, 0xb2, 0xf5, 0xbd, 0x17, 0x5d, 0x1f, 0x92, 0xcc, 0xba, 0x81, 0x31, 0x16, + 0x35, 0xc5, 0xbb, 0xdb, 0xc1, 0xb9, 0xcd, 0x8d, 0x8d, 0xf0, 0x69, 0x30, 0xd8, 0x23, 0xa9, 0x9d, + 0x21, 0x05, 0x99, 0x75, 0x30, 0x42, 0x05, 0xae, 0x73, 0x00, 0xc9, 0x51, 0xa0, 0xc4, 0x09, 0xe4, + 0x38, 0x26, 0xc8, 0x90, 0x0b, 0x52, 0xcd, 0x38, 0xab, 0xf6, 0x77, 0x8b, 0x77, 0xa9, 0xd1, 0x18, + 0x84, 0x6f, 0x83, 0x37, 0x73, 0x1a, 0x38, 0xaf, 0xe0, 0x28, 0x23, 0x47, 0x26, 0x25, 0x0f, 0x68, + 0x80, 0x15, 0x19, 0xe1, 0x14, 0x0b, 0x68, 0x4e, 0x99, 0x74, 0x9c, 0x1c, 0x3d, 0x60, 0xe1, 0x08, + 0xd5, 0x04, 0x46, 0x44, 0x06, 0x1c, 0x69, 0xf6, 0x42, 0x8e, 0x54, 0x57, 0xc6, 0x8d, 0xfe, 0x95, + 0x33, 0x65, 0x3c, 0xe9, 0xdd, 0xdb, 0x1e, 0xbc, 0x7e, 0xac, 0x59, 0xf2, 0x7a, 0x14, 0xa7, 0xb6, + 0x4c, 0xda, 0x3c, 0xac, 0xd3, 0xc9, 0xec, 0x2a, 0x69, 0x32, 0x49, 0x35, 0x5a, 0xd7, 0x36, 0x39, + 0x7b, 0x59, 0x47, 0x17, 0xda, 0xbb, 0xf2, 0xf0, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa7, 0xc1, + 0xaa, 0x6b, 0xc7, 0x03, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// SignalServiceClient is the client API for SignalService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type SignalServiceClient interface { + // Fetches or creates a :ref:`ref_flyteidl.admin.Signal`. + GetOrCreateSignal(ctx context.Context, in *admin.SignalGetOrCreateRequest, opts ...grpc.CallOption) (*admin.Signal, error) + // Fetch a list of :ref:`ref_flyteidl.admin.Signal` definitions. + ListSignals(ctx context.Context, in *admin.SignalListRequest, opts ...grpc.CallOption) (*admin.SignalList, error) + // Sets the value on a :ref:`ref_flyteidl.admin.Signal` definition + SetSignal(ctx context.Context, in *admin.SignalSetRequest, opts ...grpc.CallOption) (*admin.SignalSetResponse, error) +} + +type signalServiceClient struct { + cc *grpc.ClientConn +} + +func NewSignalServiceClient(cc *grpc.ClientConn) SignalServiceClient { + return &signalServiceClient{cc} +} + +func (c *signalServiceClient) GetOrCreateSignal(ctx context.Context, in *admin.SignalGetOrCreateRequest, opts ...grpc.CallOption) (*admin.Signal, error) { + out := new(admin.Signal) + err := c.cc.Invoke(ctx, "/flyteidl.service.SignalService/GetOrCreateSignal", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *signalServiceClient) ListSignals(ctx context.Context, in *admin.SignalListRequest, opts ...grpc.CallOption) (*admin.SignalList, error) { + out := new(admin.SignalList) + err := c.cc.Invoke(ctx, "/flyteidl.service.SignalService/ListSignals", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *signalServiceClient) SetSignal(ctx context.Context, in *admin.SignalSetRequest, opts ...grpc.CallOption) (*admin.SignalSetResponse, error) { + out := new(admin.SignalSetResponse) + err := c.cc.Invoke(ctx, "/flyteidl.service.SignalService/SetSignal", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// SignalServiceServer is the server API for SignalService service. +type SignalServiceServer interface { + // Fetches or creates a :ref:`ref_flyteidl.admin.Signal`. + GetOrCreateSignal(context.Context, *admin.SignalGetOrCreateRequest) (*admin.Signal, error) + // Fetch a list of :ref:`ref_flyteidl.admin.Signal` definitions. + ListSignals(context.Context, *admin.SignalListRequest) (*admin.SignalList, error) + // Sets the value on a :ref:`ref_flyteidl.admin.Signal` definition + SetSignal(context.Context, *admin.SignalSetRequest) (*admin.SignalSetResponse, error) +} + +// UnimplementedSignalServiceServer can be embedded to have forward compatible implementations. +type UnimplementedSignalServiceServer struct { +} + +func (*UnimplementedSignalServiceServer) GetOrCreateSignal(ctx context.Context, req *admin.SignalGetOrCreateRequest) (*admin.Signal, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetOrCreateSignal not implemented") +} +func (*UnimplementedSignalServiceServer) ListSignals(ctx context.Context, req *admin.SignalListRequest) (*admin.SignalList, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListSignals not implemented") +} +func (*UnimplementedSignalServiceServer) SetSignal(ctx context.Context, req *admin.SignalSetRequest) (*admin.SignalSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetSignal not implemented") +} + +func RegisterSignalServiceServer(s *grpc.Server, srv SignalServiceServer) { + s.RegisterService(&_SignalService_serviceDesc, srv) +} + +func _SignalService_GetOrCreateSignal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(admin.SignalGetOrCreateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SignalServiceServer).GetOrCreateSignal(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/flyteidl.service.SignalService/GetOrCreateSignal", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SignalServiceServer).GetOrCreateSignal(ctx, req.(*admin.SignalGetOrCreateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SignalService_ListSignals_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(admin.SignalListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SignalServiceServer).ListSignals(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/flyteidl.service.SignalService/ListSignals", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SignalServiceServer).ListSignals(ctx, req.(*admin.SignalListRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SignalService_SetSignal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(admin.SignalSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SignalServiceServer).SetSignal(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/flyteidl.service.SignalService/SetSignal", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SignalServiceServer).SetSignal(ctx, req.(*admin.SignalSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _SignalService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "flyteidl.service.SignalService", + HandlerType: (*SignalServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetOrCreateSignal", + Handler: _SignalService_GetOrCreateSignal_Handler, + }, + { + MethodName: "ListSignals", + Handler: _SignalService_ListSignals_Handler, + }, + { + MethodName: "SetSignal", + Handler: _SignalService_SetSignal_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "flyteidl/service/signal.proto", +} diff --git a/gen/pb-go/flyteidl/service/signal.pb.gw.go b/gen/pb-go/flyteidl/service/signal.pb.gw.go new file mode 100644 index 0000000000..8a6b4895b1 --- /dev/null +++ b/gen/pb-go/flyteidl/service/signal.pb.gw.go @@ -0,0 +1,200 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: flyteidl/service/signal.proto + +/* +Package service is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package service + +import ( + "context" + "io" + "net/http" + + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin" + "github.com/golang/protobuf/proto" + "github.com/grpc-ecosystem/grpc-gateway/runtime" + "github.com/grpc-ecosystem/grpc-gateway/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/status" +) + +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray + +var ( + filter_SignalService_ListSignals_0 = &utilities.DoubleArray{Encoding: map[string]int{"workflow_execution_id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} +) + +func request_SignalService_ListSignals_0(ctx context.Context, marshaler runtime.Marshaler, client SignalServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.SignalListRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["workflow_execution_id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution_id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution_id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution_id.project", err) + } + + val, ok = pathParams["workflow_execution_id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution_id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution_id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution_id.domain", err) + } + + val, ok = pathParams["workflow_execution_id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution_id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution_id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution_id.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_SignalService_ListSignals_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListSignals(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_SignalService_SetSignal_0(ctx context.Context, marshaler runtime.Marshaler, client SignalServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.SignalSetRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SetSignal(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +// RegisterSignalServiceHandlerFromEndpoint is same as RegisterSignalServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterSignalServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterSignalServiceHandler(ctx, mux, conn) +} + +// RegisterSignalServiceHandler registers the http handlers for service SignalService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterSignalServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterSignalServiceHandlerClient(ctx, mux, NewSignalServiceClient(conn)) +} + +// RegisterSignalServiceHandlerClient registers the http handlers for service SignalService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "SignalServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "SignalServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "SignalServiceClient" to call the correct interceptors. +func RegisterSignalServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client SignalServiceClient) error { + + mux.Handle("GET", pattern_SignalService_ListSignals_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_SignalService_ListSignals_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_SignalService_ListSignals_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_SignalService_SetSignal_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_SignalService_SetSignal_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_SignalService_SetSignal_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_SignalService_ListSignals_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "signals", "workflow_execution_id.project", "workflow_execution_id.domain", "workflow_execution_id.name"}, "")) + + pattern_SignalService_SetSignal_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "signals"}, "")) +) + +var ( + forward_SignalService_ListSignals_0 = runtime.ForwardResponseMessage + + forward_SignalService_SetSignal_0 = runtime.ForwardResponseMessage +) diff --git a/gen/pb-go/flyteidl/service/signal.swagger.json b/gen/pb-go/flyteidl/service/signal.swagger.json new file mode 100644 index 0000000000..96242c17ba --- /dev/null +++ b/gen/pb-go/flyteidl/service/signal.swagger.json @@ -0,0 +1,725 @@ +{ + "swagger": "2.0", + "info": { + "title": "flyteidl/service/signal.proto", + "version": "version not set" + }, + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/api/v1/signals": { + "post": { + "summary": "Sets the value on a :ref:`ref_flyteidl.admin.Signal` definition", + "description": "Set a signal value.", + "operationId": "SetSignal", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminSignalSetResponse" + } + }, + "400": { + "description": "Returned for bad request that may have failed validation.", + "schema": {} + }, + "409": { + "description": "Returned for a request that references an identical entity that has already been registered.", + "schema": {} + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminSignalSetRequest" + } + } + ], + "tags": [ + "SignalService" + ] + } + }, + "/api/v1/signals/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.Signal` definitions.", + "description": "Fetch existing signal definitions matching the input signal id filters.", + "operationId": "ListSignals", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminSignalList" + } + } + }, + "parameters": [ + { + "name": "workflow_execution_id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workflow_execution_id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workflow_execution_id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, the, server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + } + ], + "tags": [ + "SignalService" + ] + } + } + }, + "definitions": { + "BlobTypeBlobDimensionality": { + "type": "string", + "enum": [ + "SINGLE", + "MULTIPART" + ], + "default": "SINGLE" + }, + "SchemaColumnSchemaColumnType": { + "type": "string", + "enum": [ + "INTEGER", + "FLOAT", + "STRING", + "BOOLEAN", + "DATETIME", + "DURATION" + ], + "default": "INTEGER" + }, + "SchemaTypeSchemaColumn": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "A unique name -within the schema type- for the column" + }, + "type": { + "$ref": "#/definitions/SchemaColumnSchemaColumnType", + "description": "The column type. This allows a limited set of types currently." + } + } + }, + "SortDirection": { + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING", + "description": " - DESCENDING: By default, fields are sorted in descending order." + }, + "StructuredDatasetTypeDatasetColumn": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A unique name within the schema type for the column." + }, + "literal_type": { + "$ref": "#/definitions/coreLiteralType", + "description": "The column type." + } + } + }, + "adminSignal": { + "type": "object", + "properties": { + "id": { + "$ref": "#/definitions/coreSignalIdentifier", + "description": "A unique identifier for the requested signal." + }, + "type": { + "$ref": "#/definitions/coreLiteralType", + "description": "A type denoting the required value type for this signal." + }, + "value": { + "$ref": "#/definitions/coreLiteral", + "description": "The value of the signal. This is only available if the signal has been \"set\" and must match\nthe defined the type." + } + }, + "description": "Signal encapsulates a unique identifier, associated metadata, and a value for a single Flyte\nsignal. Signals may exist either without a set value (representing a signal request) or with a\npopulated value (indicating the signal has been given)." + }, + "adminSignalList": { + "type": "object", + "properties": { + "signals": { + "type": "array", + "items": { + "$ref": "#/definitions/adminSignal" + }, + "description": "A list of signals matching the input filters." + }, + "token": { + "type": "string", + "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query. If there are no more results, this value will be empty." + } + }, + "title": "SignalList represents collection of signals along with the token of the last result.\nSee :ref:`ref_flyteidl.admin.Signal` for more details" + }, + "adminSignalSetRequest": { + "type": "object", + "properties": { + "id": { + "$ref": "#/definitions/coreSignalIdentifier", + "description": "A unique identifier for the requested signal." + }, + "value": { + "$ref": "#/definitions/coreLiteral", + "description": "The value of this signal, must match the defining signal type." + } + }, + "title": "SignalSetRequest represents a request structure to set the value on a signal. Setting a signal\neffetively satisfies the signal condition within a Flyte workflow.\nSee :ref:`ref_flyteidl.admin.Signal` for more details" + }, + "adminSignalSetResponse": { + "type": "object", + "description": "SignalSetResponse represents a response structure if signal setting succeeds." + }, + "adminSort": { + "type": "object", + "properties": { + "key": { + "type": "string", + "title": "Indicates an attribute to sort the response values.\n+required" + }, + "direction": { + "$ref": "#/definitions/SortDirection", + "title": "Indicates the direction to apply sort key for response values.\n+optional" + } + }, + "description": "Specifies sort ordering in a list request." + }, + "coreBinary": { + "type": "object", + "properties": { + "value": { + "type": "string", + "format": "byte" + }, + "tag": { + "type": "string" + } + }, + "description": "A simple byte array with a tag to help different parts of the system communicate about what is in the byte array.\nIt's strongly advisable that consumers of this type define a unique tag and validate the tag before parsing the data." + }, + "coreBlob": { + "type": "object", + "properties": { + "metadata": { + "$ref": "#/definitions/coreBlobMetadata" + }, + "uri": { + "type": "string" + } + }, + "description": "Refers to an offloaded set of files. It encapsulates the type of the store and a unique uri for where the data is.\nThere are no restrictions on how the uri is formatted since it will depend on how to interact with the store." + }, + "coreBlobMetadata": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/coreBlobType" + } + } + }, + "coreBlobType": { + "type": "object", + "properties": { + "format": { + "type": "string", + "title": "Format can be a free form string understood by SDK/UI etc like\ncsv, parquet etc" + }, + "dimensionality": { + "$ref": "#/definitions/BlobTypeBlobDimensionality" + } + }, + "title": "Defines type behavior for blob objects" + }, + "coreEnumType": { + "type": "object", + "properties": { + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Predefined set of enum values." + } + }, + "description": "Enables declaring enum types, with predefined string values\nFor len(values) \u003e 0, the first value in the ordered list is regarded as the default value. If you wish\nTo provide no defaults, make the first value as undefined." + }, + "coreError": { + "type": "object", + "properties": { + "failed_node_id": { + "type": "string", + "description": "The node id that threw the error." + }, + "message": { + "type": "string", + "description": "Error message thrown." + } + }, + "description": "Represents an error thrown from a node." + }, + "coreLiteral": { + "type": "object", + "properties": { + "scalar": { + "$ref": "#/definitions/coreScalar", + "description": "A simple value." + }, + "collection": { + "$ref": "#/definitions/coreLiteralCollection", + "description": "A collection of literals to allow nesting." + }, + "map": { + "$ref": "#/definitions/coreLiteralMap", + "description": "A map of strings to literals." + }, + "hash": { + "type": "string", + "title": "A hash representing this literal.\nThis is used for caching purposes. For more details refer to RFC 1893\n(https://github.com/flyteorg/flyte/blob/master/rfc/system/1893-caching-of-offloaded-objects.md)" + } + }, + "description": "A simple value. This supports any level of nesting (e.g. array of array of array of Blobs) as well as simple primitives." + }, + "coreLiteralCollection": { + "type": "object", + "properties": { + "literals": { + "type": "array", + "items": { + "$ref": "#/definitions/coreLiteral" + } + } + }, + "description": "A collection of literals. This is a workaround since oneofs in proto messages cannot contain a repeated field." + }, + "coreLiteralMap": { + "type": "object", + "properties": { + "literals": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/coreLiteral" + } + } + }, + "description": "A map of literals. This is a workaround since oneofs in proto messages cannot contain a repeated field." + }, + "coreLiteralType": { + "type": "object", + "properties": { + "simple": { + "$ref": "#/definitions/coreSimpleType", + "description": "A simple type that can be compared one-to-one with another." + }, + "schema": { + "$ref": "#/definitions/coreSchemaType", + "description": "A complex type that requires matching of inner fields." + }, + "collection_type": { + "$ref": "#/definitions/coreLiteralType", + "description": "Defines the type of the value of a collection. Only homogeneous collections are allowed." + }, + "map_value_type": { + "$ref": "#/definitions/coreLiteralType", + "description": "Defines the type of the value of a map type. The type of the key is always a string." + }, + "blob": { + "$ref": "#/definitions/coreBlobType", + "description": "A blob might have specialized implementation details depending on associated metadata." + }, + "enum_type": { + "$ref": "#/definitions/coreEnumType", + "description": "Defines an enum with pre-defined string values." + }, + "structured_dataset_type": { + "$ref": "#/definitions/coreStructuredDatasetType", + "title": "Generalized schema support" + }, + "union_type": { + "$ref": "#/definitions/coreUnionType", + "description": "Defines an union type with pre-defined LiteralTypes." + }, + "metadata": { + "$ref": "#/definitions/protobufStruct", + "description": "This field contains type metadata that is descriptive of the type, but is NOT considered in type-checking. This might be used by\nconsumers to identify special behavior or display extended information for the type." + }, + "annotation": { + "$ref": "#/definitions/coreTypeAnnotation", + "description": "This field contains arbitrary data that might have special semantic\nmeaning for the client but does not effect internal flyte behavior." + }, + "structure": { + "$ref": "#/definitions/coreTypeStructure", + "description": "Hints to improve type matching." + } + }, + "description": "Defines a strong type to allow type checking between interfaces." + }, + "corePrimitive": { + "type": "object", + "properties": { + "integer": { + "type": "string", + "format": "int64" + }, + "float_value": { + "type": "number", + "format": "double" + }, + "string_value": { + "type": "string" + }, + "boolean": { + "type": "boolean", + "format": "boolean" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "duration": { + "type": "string" + } + }, + "title": "Primitive Types" + }, + "coreScalar": { + "type": "object", + "properties": { + "primitive": { + "$ref": "#/definitions/corePrimitive" + }, + "blob": { + "$ref": "#/definitions/coreBlob" + }, + "binary": { + "$ref": "#/definitions/coreBinary" + }, + "schema": { + "$ref": "#/definitions/flyteidlcoreSchema" + }, + "none_type": { + "$ref": "#/definitions/coreVoid" + }, + "error": { + "$ref": "#/definitions/coreError" + }, + "generic": { + "$ref": "#/definitions/protobufStruct" + }, + "structured_dataset": { + "$ref": "#/definitions/coreStructuredDataset" + }, + "union": { + "$ref": "#/definitions/coreUnion" + } + } + }, + "coreSchemaType": { + "type": "object", + "properties": { + "columns": { + "type": "array", + "items": { + "$ref": "#/definitions/SchemaTypeSchemaColumn" + }, + "description": "A list of ordered columns this schema comprises of." + } + }, + "description": "Defines schema columns and types to strongly type-validate schemas interoperability." + }, + "coreSignalIdentifier": { + "type": "object", + "properties": { + "signal_id": { + "type": "string", + "description": "Unique identifier for a signal." + }, + "execution_id": { + "$ref": "#/definitions/coreWorkflowExecutionIdentifier", + "description": "Identifies the Flyte workflow execution this signal belongs to." + } + }, + "description": "Encapsulation of fields the uniquely identify a signal." + }, + "coreSimpleType": { + "type": "string", + "enum": [ + "NONE", + "INTEGER", + "FLOAT", + "STRING", + "BOOLEAN", + "DATETIME", + "DURATION", + "BINARY", + "ERROR", + "STRUCT" + ], + "default": "NONE", + "description": "Define a set of simple types." + }, + "coreStructuredDataset": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "title": "String location uniquely identifying where the data is.\nShould start with the storage location (e.g. s3://, gs://, bq://, etc.)" + }, + "metadata": { + "$ref": "#/definitions/coreStructuredDatasetMetadata" + } + } + }, + "coreStructuredDatasetMetadata": { + "type": "object", + "properties": { + "structured_dataset_type": { + "$ref": "#/definitions/coreStructuredDatasetType", + "description": "Bundle the type information along with the literal.\nThis is here because StructuredDatasets can often be more defined at run time than at compile time.\nThat is, at compile time you might only declare a task to return a pandas dataframe or a StructuredDataset,\nwithout any column information, but at run time, you might have that column information.\nflytekit python will copy this type information into the literal, from the type information, if not provided by\nthe various plugins (encoders).\nSince this field is run time generated, it's not used for any type checking." + } + } + }, + "coreStructuredDatasetType": { + "type": "object", + "properties": { + "columns": { + "type": "array", + "items": { + "$ref": "#/definitions/StructuredDatasetTypeDatasetColumn" + }, + "description": "A list of ordered columns this schema comprises of." + }, + "format": { + "type": "string", + "description": "This is the storage format, the format of the bits at rest\nparquet, feather, csv, etc.\nFor two types to be compatible, the format will need to be an exact match." + }, + "external_schema_type": { + "type": "string", + "description": "This is a string representing the type that the bytes in external_schema_bytes are formatted in.\nThis is an optional field that will not be used for type checking." + }, + "external_schema_bytes": { + "type": "string", + "format": "byte", + "description": "The serialized bytes of a third-party schema library like Arrow.\nThis is an optional field that will not be used for type checking." + } + } + }, + "coreTypeAnnotation": { + "type": "object", + "properties": { + "annotations": { + "$ref": "#/definitions/protobufStruct", + "description": "A arbitrary JSON payload to describe a type." + } + }, + "description": "TypeAnnotation encapsulates registration time information about a type. This can be used for various control-plane operations. TypeAnnotation will not be available at runtime when a task runs." + }, + "coreTypeStructure": { + "type": "object", + "properties": { + "tag": { + "type": "string", + "title": "Must exactly match for types to be castable" + } + }, + "description": "Hints to improve type matching\ne.g. allows distinguishing output from custom type transformers\neven if the underlying IDL serialization matches." + }, + "coreUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/definitions/coreLiteral" + }, + "type": { + "$ref": "#/definitions/coreLiteralType" + } + }, + "description": "The runtime representation of a tagged union value. See `UnionType` for more details." + }, + "coreUnionType": { + "type": "object", + "properties": { + "variants": { + "type": "array", + "items": { + "$ref": "#/definitions/coreLiteralType" + }, + "description": "Predefined set of variants in union." + } + }, + "description": "Defines a tagged union type, also known as a variant (and formally as the sum type).\n\nA sum type S is defined by a sequence of types (A, B, C, ...), each tagged by a string tag\nA value of type S is constructed from a value of any of the variant types. The specific choice of type is recorded by\nstoring the varaint's tag with the literal value and can be examined in runtime.\n\nType S is typically written as\nS := Apple A | Banana B | Cantaloupe C | ...\n\nNotably, a nullable (optional) type is a sum type between some type X and the singleton type representing a null-value:\nOptional X := X | Null\n\nSee also: https://en.wikipedia.org/wiki/Tagged_union" + }, + "coreVoid": { + "type": "object", + "description": "Used to denote a nil/null/None assignment to a scalar value. The underlying LiteralType for Void is intentionally\nundefined since it can be assigned to a scalar of any LiteralType." + }, + "coreWorkflowExecutionIdentifier": { + "type": "object", + "properties": { + "project": { + "type": "string", + "description": "Name of the project the resource belongs to." + }, + "domain": { + "type": "string", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project." + }, + "name": { + "type": "string", + "description": "User or system provided value for the resource." + } + }, + "title": "Encapsulation of fields that uniquely identifies a Flyte workflow execution" + }, + "flyteidlcoreSchema": { + "type": "object", + "properties": { + "uri": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/coreSchemaType" + } + }, + "description": "A strongly typed schema that defines the interface of data retrieved from the underlying storage medium." + }, + "protobufListValue": { + "type": "object", + "properties": { + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufValue" + }, + "description": "Repeated field of dynamically typed values." + } + }, + "description": "`ListValue` is a wrapper around a repeated field of values.\n\nThe JSON representation for `ListValue` is JSON array." + }, + "protobufNullValue": { + "type": "string", + "enum": [ + "NULL_VALUE" + ], + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + }, + "protobufStruct": { + "type": "object", + "properties": { + "fields": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/protobufValue" + }, + "description": "Unordered map of dynamically typed values." + } + }, + "description": "`Struct` represents a structured data value, consisting of fields\nwhich map to dynamically typed values. In some languages, `Struct`\nmight be supported by a native representation. For example, in\nscripting languages like JS a struct is represented as an\nobject. The details of that representation are described together\nwith the proto support for the language.\n\nThe JSON representation for `Struct` is JSON object." + }, + "protobufValue": { + "type": "object", + "properties": { + "null_value": { + "$ref": "#/definitions/protobufNullValue", + "description": "Represents a null value." + }, + "number_value": { + "type": "number", + "format": "double", + "description": "Represents a double value." + }, + "string_value": { + "type": "string", + "description": "Represents a string value." + }, + "bool_value": { + "type": "boolean", + "format": "boolean", + "description": "Represents a boolean value." + }, + "struct_value": { + "$ref": "#/definitions/protobufStruct", + "description": "Represents a structured value." + }, + "list_value": { + "$ref": "#/definitions/protobufListValue", + "description": "Represents a repeated `Value`." + } + }, + "description": "`Value` represents a dynamically typed value which can be either\nnull, a number, a string, a boolean, a recursive struct value, or a\nlist of values. A producer of value is expected to set one of that\nvariants, absence of any variant indicates an error.\n\nThe JSON representation for `Value` is JSON value." + } + } +} diff --git a/gen/pb-java/flyteidl/admin/SignalOuterClass.java b/gen/pb-java/flyteidl/admin/SignalOuterClass.java new file mode 100644 index 0000000000..490119af7f --- /dev/null +++ b/gen/pb-java/flyteidl/admin/SignalOuterClass.java @@ -0,0 +1,6128 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: flyteidl/admin/signal.proto + +package flyteidl.admin; + +public final class SignalOuterClass { + private SignalOuterClass() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (com.google.protobuf.ExtensionRegistryLite) registry); + } + public interface SignalGetOrCreateRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.admin.SignalGetOrCreateRequest) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + boolean hasId(); + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + flyteidl.core.IdentifierOuterClass.SignalIdentifier getId(); + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder getIdOrBuilder(); + + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + boolean hasType(); + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + flyteidl.core.Types.LiteralType getType(); + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + flyteidl.core.Types.LiteralTypeOrBuilder getTypeOrBuilder(); + } + /** + *
+   * SignalGetOrCreateRequest represents a request structure to retrive or create a signal.
+   * See :ref:`ref_flyteidl.admin.Signal` for more details
+   * 
+ * + * Protobuf type {@code flyteidl.admin.SignalGetOrCreateRequest} + */ + public static final class SignalGetOrCreateRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.admin.SignalGetOrCreateRequest) + SignalGetOrCreateRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use SignalGetOrCreateRequest.newBuilder() to construct. + private SignalGetOrCreateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SignalGetOrCreateRequest() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SignalGetOrCreateRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder subBuilder = null; + if (id_ != null) { + subBuilder = id_.toBuilder(); + } + id_ = input.readMessage(flyteidl.core.IdentifierOuterClass.SignalIdentifier.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(id_); + id_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + flyteidl.core.Types.LiteralType.Builder subBuilder = null; + if (type_ != null) { + subBuilder = type_.toBuilder(); + } + type_ = input.readMessage(flyteidl.core.Types.LiteralType.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(type_); + type_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalGetOrCreateRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalGetOrCreateRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest.class, flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest.Builder.class); + } + + public static final int ID_FIELD_NUMBER = 1; + private flyteidl.core.IdentifierOuterClass.SignalIdentifier id_; + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public boolean hasId() { + return id_ != null; + } + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifier getId() { + return id_ == null ? flyteidl.core.IdentifierOuterClass.SignalIdentifier.getDefaultInstance() : id_; + } + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder getIdOrBuilder() { + return getId(); + } + + public static final int TYPE_FIELD_NUMBER = 2; + private flyteidl.core.Types.LiteralType type_; + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public boolean hasType() { + return type_ != null; + } + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralType getType() { + return type_ == null ? flyteidl.core.Types.LiteralType.getDefaultInstance() : type_; + } + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralTypeOrBuilder getTypeOrBuilder() { + return getType(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (id_ != null) { + output.writeMessage(1, getId()); + } + if (type_ != null) { + output.writeMessage(2, getType()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (id_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getId()); + } + if (type_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getType()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest)) { + return super.equals(obj); + } + flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest other = (flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest) obj; + + if (hasId() != other.hasId()) return false; + if (hasId()) { + if (!getId() + .equals(other.getId())) return false; + } + if (hasType() != other.hasType()) return false; + if (hasType()) { + if (!getType() + .equals(other.getType())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasId()) { + hash = (37 * hash) + ID_FIELD_NUMBER; + hash = (53 * hash) + getId().hashCode(); + } + if (hasType()) { + hash = (37 * hash) + TYPE_FIELD_NUMBER; + hash = (53 * hash) + getType().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * SignalGetOrCreateRequest represents a request structure to retrive or create a signal.
+     * See :ref:`ref_flyteidl.admin.Signal` for more details
+     * 
+ * + * Protobuf type {@code flyteidl.admin.SignalGetOrCreateRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.admin.SignalGetOrCreateRequest) + flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalGetOrCreateRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalGetOrCreateRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest.class, flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest.Builder.class); + } + + // Construct using flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (idBuilder_ == null) { + id_ = null; + } else { + id_ = null; + idBuilder_ = null; + } + if (typeBuilder_ == null) { + type_ = null; + } else { + type_ = null; + typeBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalGetOrCreateRequest_descriptor; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest getDefaultInstanceForType() { + return flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest build() { + flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest buildPartial() { + flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest result = new flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest(this); + if (idBuilder_ == null) { + result.id_ = id_; + } else { + result.id_ = idBuilder_.build(); + } + if (typeBuilder_ == null) { + result.type_ = type_; + } else { + result.type_ = typeBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest) { + return mergeFrom((flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest other) { + if (other == flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest.getDefaultInstance()) return this; + if (other.hasId()) { + mergeId(other.getId()); + } + if (other.hasType()) { + mergeType(other.getType()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private flyteidl.core.IdentifierOuterClass.SignalIdentifier id_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.SignalIdentifier, flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder, flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder> idBuilder_; + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public boolean hasId() { + return idBuilder_ != null || id_ != null; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifier getId() { + if (idBuilder_ == null) { + return id_ == null ? flyteidl.core.IdentifierOuterClass.SignalIdentifier.getDefaultInstance() : id_; + } else { + return idBuilder_.getMessage(); + } + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public Builder setId(flyteidl.core.IdentifierOuterClass.SignalIdentifier value) { + if (idBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + id_ = value; + onChanged(); + } else { + idBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public Builder setId( + flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder builderForValue) { + if (idBuilder_ == null) { + id_ = builderForValue.build(); + onChanged(); + } else { + idBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public Builder mergeId(flyteidl.core.IdentifierOuterClass.SignalIdentifier value) { + if (idBuilder_ == null) { + if (id_ != null) { + id_ = + flyteidl.core.IdentifierOuterClass.SignalIdentifier.newBuilder(id_).mergeFrom(value).buildPartial(); + } else { + id_ = value; + } + onChanged(); + } else { + idBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public Builder clearId() { + if (idBuilder_ == null) { + id_ = null; + onChanged(); + } else { + id_ = null; + idBuilder_ = null; + } + + return this; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder getIdBuilder() { + + onChanged(); + return getIdFieldBuilder().getBuilder(); + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder getIdOrBuilder() { + if (idBuilder_ != null) { + return idBuilder_.getMessageOrBuilder(); + } else { + return id_ == null ? + flyteidl.core.IdentifierOuterClass.SignalIdentifier.getDefaultInstance() : id_; + } + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.SignalIdentifier, flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder, flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder> + getIdFieldBuilder() { + if (idBuilder_ == null) { + idBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.SignalIdentifier, flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder, flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder>( + getId(), + getParentForChildren(), + isClean()); + id_ = null; + } + return idBuilder_; + } + + private flyteidl.core.Types.LiteralType type_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Types.LiteralType, flyteidl.core.Types.LiteralType.Builder, flyteidl.core.Types.LiteralTypeOrBuilder> typeBuilder_; + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public boolean hasType() { + return typeBuilder_ != null || type_ != null; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralType getType() { + if (typeBuilder_ == null) { + return type_ == null ? flyteidl.core.Types.LiteralType.getDefaultInstance() : type_; + } else { + return typeBuilder_.getMessage(); + } + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public Builder setType(flyteidl.core.Types.LiteralType value) { + if (typeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + type_ = value; + onChanged(); + } else { + typeBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public Builder setType( + flyteidl.core.Types.LiteralType.Builder builderForValue) { + if (typeBuilder_ == null) { + type_ = builderForValue.build(); + onChanged(); + } else { + typeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public Builder mergeType(flyteidl.core.Types.LiteralType value) { + if (typeBuilder_ == null) { + if (type_ != null) { + type_ = + flyteidl.core.Types.LiteralType.newBuilder(type_).mergeFrom(value).buildPartial(); + } else { + type_ = value; + } + onChanged(); + } else { + typeBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public Builder clearType() { + if (typeBuilder_ == null) { + type_ = null; + onChanged(); + } else { + type_ = null; + typeBuilder_ = null; + } + + return this; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralType.Builder getTypeBuilder() { + + onChanged(); + return getTypeFieldBuilder().getBuilder(); + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralTypeOrBuilder getTypeOrBuilder() { + if (typeBuilder_ != null) { + return typeBuilder_.getMessageOrBuilder(); + } else { + return type_ == null ? + flyteidl.core.Types.LiteralType.getDefaultInstance() : type_; + } + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Types.LiteralType, flyteidl.core.Types.LiteralType.Builder, flyteidl.core.Types.LiteralTypeOrBuilder> + getTypeFieldBuilder() { + if (typeBuilder_ == null) { + typeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Types.LiteralType, flyteidl.core.Types.LiteralType.Builder, flyteidl.core.Types.LiteralTypeOrBuilder>( + getType(), + getParentForChildren(), + isClean()); + type_ = null; + } + return typeBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.admin.SignalGetOrCreateRequest) + } + + // @@protoc_insertion_point(class_scope:flyteidl.admin.SignalGetOrCreateRequest) + private static final flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest(); + } + + public static flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SignalGetOrCreateRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SignalGetOrCreateRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalGetOrCreateRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SignalListRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.admin.SignalListRequest) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Indicates the workflow execution to filter by.
+     * +required
+     * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + boolean hasWorkflowExecutionId(); + /** + *
+     * Indicates the workflow execution to filter by.
+     * +required
+     * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier getWorkflowExecutionId(); + /** + *
+     * Indicates the workflow execution to filter by.
+     * +required
+     * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifierOrBuilder getWorkflowExecutionIdOrBuilder(); + + /** + *
+     * Indicates the number of resources to be returned.
+     * +required
+     * 
+ * + * uint32 limit = 2; + */ + int getLimit(); + + /** + *
+     * In the case of multiple pages of results, the, server-provided token can be used to fetch the next page
+     * in a query.
+     * +optional
+     * 
+ * + * string token = 3; + */ + java.lang.String getToken(); + /** + *
+     * In the case of multiple pages of results, the, server-provided token can be used to fetch the next page
+     * in a query.
+     * +optional
+     * 
+ * + * string token = 3; + */ + com.google.protobuf.ByteString + getTokenBytes(); + + /** + *
+     * Indicates a list of filters passed as string.
+     * +optional
+     * 
+ * + * string filters = 4; + */ + java.lang.String getFilters(); + /** + *
+     * Indicates a list of filters passed as string.
+     * +optional
+     * 
+ * + * string filters = 4; + */ + com.google.protobuf.ByteString + getFiltersBytes(); + + /** + *
+     * Sort ordering.
+     * +optional
+     * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + boolean hasSortBy(); + /** + *
+     * Sort ordering.
+     * +optional
+     * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + flyteidl.admin.Common.Sort getSortBy(); + /** + *
+     * Sort ordering.
+     * +optional
+     * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + flyteidl.admin.Common.SortOrBuilder getSortByOrBuilder(); + } + /** + *
+   * SignalListRequest represents a request structure to retrieve a collection of signals.
+   * See :ref:`ref_flyteidl.admin.Signal` for more details
+   * 
+ * + * Protobuf type {@code flyteidl.admin.SignalListRequest} + */ + public static final class SignalListRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.admin.SignalListRequest) + SignalListRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use SignalListRequest.newBuilder() to construct. + private SignalListRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SignalListRequest() { + token_ = ""; + filters_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SignalListRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.Builder subBuilder = null; + if (workflowExecutionId_ != null) { + subBuilder = workflowExecutionId_.toBuilder(); + } + workflowExecutionId_ = input.readMessage(flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(workflowExecutionId_); + workflowExecutionId_ = subBuilder.buildPartial(); + } + + break; + } + case 16: { + + limit_ = input.readUInt32(); + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + token_ = s; + break; + } + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + + filters_ = s; + break; + } + case 42: { + flyteidl.admin.Common.Sort.Builder subBuilder = null; + if (sortBy_ != null) { + subBuilder = sortBy_.toBuilder(); + } + sortBy_ = input.readMessage(flyteidl.admin.Common.Sort.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(sortBy_); + sortBy_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalListRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalListRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.SignalOuterClass.SignalListRequest.class, flyteidl.admin.SignalOuterClass.SignalListRequest.Builder.class); + } + + public static final int WORKFLOW_EXECUTION_ID_FIELD_NUMBER = 1; + private flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier workflowExecutionId_; + /** + *
+     * Indicates the workflow execution to filter by.
+     * +required
+     * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + public boolean hasWorkflowExecutionId() { + return workflowExecutionId_ != null; + } + /** + *
+     * Indicates the workflow execution to filter by.
+     * +required
+     * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + public flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier getWorkflowExecutionId() { + return workflowExecutionId_ == null ? flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.getDefaultInstance() : workflowExecutionId_; + } + /** + *
+     * Indicates the workflow execution to filter by.
+     * +required
+     * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + public flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifierOrBuilder getWorkflowExecutionIdOrBuilder() { + return getWorkflowExecutionId(); + } + + public static final int LIMIT_FIELD_NUMBER = 2; + private int limit_; + /** + *
+     * Indicates the number of resources to be returned.
+     * +required
+     * 
+ * + * uint32 limit = 2; + */ + public int getLimit() { + return limit_; + } + + public static final int TOKEN_FIELD_NUMBER = 3; + private volatile java.lang.Object token_; + /** + *
+     * In the case of multiple pages of results, the, server-provided token can be used to fetch the next page
+     * in a query.
+     * +optional
+     * 
+ * + * string token = 3; + */ + public java.lang.String getToken() { + java.lang.Object ref = token_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + token_ = s; + return s; + } + } + /** + *
+     * In the case of multiple pages of results, the, server-provided token can be used to fetch the next page
+     * in a query.
+     * +optional
+     * 
+ * + * string token = 3; + */ + public com.google.protobuf.ByteString + getTokenBytes() { + java.lang.Object ref = token_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + token_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FILTERS_FIELD_NUMBER = 4; + private volatile java.lang.Object filters_; + /** + *
+     * Indicates a list of filters passed as string.
+     * +optional
+     * 
+ * + * string filters = 4; + */ + public java.lang.String getFilters() { + java.lang.Object ref = filters_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filters_ = s; + return s; + } + } + /** + *
+     * Indicates a list of filters passed as string.
+     * +optional
+     * 
+ * + * string filters = 4; + */ + public com.google.protobuf.ByteString + getFiltersBytes() { + java.lang.Object ref = filters_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + filters_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SORT_BY_FIELD_NUMBER = 5; + private flyteidl.admin.Common.Sort sortBy_; + /** + *
+     * Sort ordering.
+     * +optional
+     * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + public boolean hasSortBy() { + return sortBy_ != null; + } + /** + *
+     * Sort ordering.
+     * +optional
+     * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + public flyteidl.admin.Common.Sort getSortBy() { + return sortBy_ == null ? flyteidl.admin.Common.Sort.getDefaultInstance() : sortBy_; + } + /** + *
+     * Sort ordering.
+     * +optional
+     * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + public flyteidl.admin.Common.SortOrBuilder getSortByOrBuilder() { + return getSortBy(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (workflowExecutionId_ != null) { + output.writeMessage(1, getWorkflowExecutionId()); + } + if (limit_ != 0) { + output.writeUInt32(2, limit_); + } + if (!getTokenBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, token_); + } + if (!getFiltersBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, filters_); + } + if (sortBy_ != null) { + output.writeMessage(5, getSortBy()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (workflowExecutionId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getWorkflowExecutionId()); + } + if (limit_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, limit_); + } + if (!getTokenBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, token_); + } + if (!getFiltersBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, filters_); + } + if (sortBy_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getSortBy()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.admin.SignalOuterClass.SignalListRequest)) { + return super.equals(obj); + } + flyteidl.admin.SignalOuterClass.SignalListRequest other = (flyteidl.admin.SignalOuterClass.SignalListRequest) obj; + + if (hasWorkflowExecutionId() != other.hasWorkflowExecutionId()) return false; + if (hasWorkflowExecutionId()) { + if (!getWorkflowExecutionId() + .equals(other.getWorkflowExecutionId())) return false; + } + if (getLimit() + != other.getLimit()) return false; + if (!getToken() + .equals(other.getToken())) return false; + if (!getFilters() + .equals(other.getFilters())) return false; + if (hasSortBy() != other.hasSortBy()) return false; + if (hasSortBy()) { + if (!getSortBy() + .equals(other.getSortBy())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasWorkflowExecutionId()) { + hash = (37 * hash) + WORKFLOW_EXECUTION_ID_FIELD_NUMBER; + hash = (53 * hash) + getWorkflowExecutionId().hashCode(); + } + hash = (37 * hash) + LIMIT_FIELD_NUMBER; + hash = (53 * hash) + getLimit(); + hash = (37 * hash) + TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getToken().hashCode(); + hash = (37 * hash) + FILTERS_FIELD_NUMBER; + hash = (53 * hash) + getFilters().hashCode(); + if (hasSortBy()) { + hash = (37 * hash) + SORT_BY_FIELD_NUMBER; + hash = (53 * hash) + getSortBy().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.admin.SignalOuterClass.SignalListRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalListRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalListRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalListRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalListRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalListRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalListRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalListRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalListRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalListRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalListRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalListRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.admin.SignalOuterClass.SignalListRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * SignalListRequest represents a request structure to retrieve a collection of signals.
+     * See :ref:`ref_flyteidl.admin.Signal` for more details
+     * 
+ * + * Protobuf type {@code flyteidl.admin.SignalListRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.admin.SignalListRequest) + flyteidl.admin.SignalOuterClass.SignalListRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalListRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalListRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.SignalOuterClass.SignalListRequest.class, flyteidl.admin.SignalOuterClass.SignalListRequest.Builder.class); + } + + // Construct using flyteidl.admin.SignalOuterClass.SignalListRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (workflowExecutionIdBuilder_ == null) { + workflowExecutionId_ = null; + } else { + workflowExecutionId_ = null; + workflowExecutionIdBuilder_ = null; + } + limit_ = 0; + + token_ = ""; + + filters_ = ""; + + if (sortByBuilder_ == null) { + sortBy_ = null; + } else { + sortBy_ = null; + sortByBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalListRequest_descriptor; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalListRequest getDefaultInstanceForType() { + return flyteidl.admin.SignalOuterClass.SignalListRequest.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalListRequest build() { + flyteidl.admin.SignalOuterClass.SignalListRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalListRequest buildPartial() { + flyteidl.admin.SignalOuterClass.SignalListRequest result = new flyteidl.admin.SignalOuterClass.SignalListRequest(this); + if (workflowExecutionIdBuilder_ == null) { + result.workflowExecutionId_ = workflowExecutionId_; + } else { + result.workflowExecutionId_ = workflowExecutionIdBuilder_.build(); + } + result.limit_ = limit_; + result.token_ = token_; + result.filters_ = filters_; + if (sortByBuilder_ == null) { + result.sortBy_ = sortBy_; + } else { + result.sortBy_ = sortByBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.admin.SignalOuterClass.SignalListRequest) { + return mergeFrom((flyteidl.admin.SignalOuterClass.SignalListRequest)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.admin.SignalOuterClass.SignalListRequest other) { + if (other == flyteidl.admin.SignalOuterClass.SignalListRequest.getDefaultInstance()) return this; + if (other.hasWorkflowExecutionId()) { + mergeWorkflowExecutionId(other.getWorkflowExecutionId()); + } + if (other.getLimit() != 0) { + setLimit(other.getLimit()); + } + if (!other.getToken().isEmpty()) { + token_ = other.token_; + onChanged(); + } + if (!other.getFilters().isEmpty()) { + filters_ = other.filters_; + onChanged(); + } + if (other.hasSortBy()) { + mergeSortBy(other.getSortBy()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.admin.SignalOuterClass.SignalListRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.admin.SignalOuterClass.SignalListRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier workflowExecutionId_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier, flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.Builder, flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifierOrBuilder> workflowExecutionIdBuilder_; + /** + *
+       * Indicates the workflow execution to filter by.
+       * +required
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + public boolean hasWorkflowExecutionId() { + return workflowExecutionIdBuilder_ != null || workflowExecutionId_ != null; + } + /** + *
+       * Indicates the workflow execution to filter by.
+       * +required
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + public flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier getWorkflowExecutionId() { + if (workflowExecutionIdBuilder_ == null) { + return workflowExecutionId_ == null ? flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.getDefaultInstance() : workflowExecutionId_; + } else { + return workflowExecutionIdBuilder_.getMessage(); + } + } + /** + *
+       * Indicates the workflow execution to filter by.
+       * +required
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + public Builder setWorkflowExecutionId(flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier value) { + if (workflowExecutionIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + workflowExecutionId_ = value; + onChanged(); + } else { + workflowExecutionIdBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * Indicates the workflow execution to filter by.
+       * +required
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + public Builder setWorkflowExecutionId( + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.Builder builderForValue) { + if (workflowExecutionIdBuilder_ == null) { + workflowExecutionId_ = builderForValue.build(); + onChanged(); + } else { + workflowExecutionIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * Indicates the workflow execution to filter by.
+       * +required
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + public Builder mergeWorkflowExecutionId(flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier value) { + if (workflowExecutionIdBuilder_ == null) { + if (workflowExecutionId_ != null) { + workflowExecutionId_ = + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.newBuilder(workflowExecutionId_).mergeFrom(value).buildPartial(); + } else { + workflowExecutionId_ = value; + } + onChanged(); + } else { + workflowExecutionIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * Indicates the workflow execution to filter by.
+       * +required
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + public Builder clearWorkflowExecutionId() { + if (workflowExecutionIdBuilder_ == null) { + workflowExecutionId_ = null; + onChanged(); + } else { + workflowExecutionId_ = null; + workflowExecutionIdBuilder_ = null; + } + + return this; + } + /** + *
+       * Indicates the workflow execution to filter by.
+       * +required
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + public flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.Builder getWorkflowExecutionIdBuilder() { + + onChanged(); + return getWorkflowExecutionIdFieldBuilder().getBuilder(); + } + /** + *
+       * Indicates the workflow execution to filter by.
+       * +required
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + public flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifierOrBuilder getWorkflowExecutionIdOrBuilder() { + if (workflowExecutionIdBuilder_ != null) { + return workflowExecutionIdBuilder_.getMessageOrBuilder(); + } else { + return workflowExecutionId_ == null ? + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.getDefaultInstance() : workflowExecutionId_; + } + } + /** + *
+       * Indicates the workflow execution to filter by.
+       * +required
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier, flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.Builder, flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifierOrBuilder> + getWorkflowExecutionIdFieldBuilder() { + if (workflowExecutionIdBuilder_ == null) { + workflowExecutionIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier, flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.Builder, flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifierOrBuilder>( + getWorkflowExecutionId(), + getParentForChildren(), + isClean()); + workflowExecutionId_ = null; + } + return workflowExecutionIdBuilder_; + } + + private int limit_ ; + /** + *
+       * Indicates the number of resources to be returned.
+       * +required
+       * 
+ * + * uint32 limit = 2; + */ + public int getLimit() { + return limit_; + } + /** + *
+       * Indicates the number of resources to be returned.
+       * +required
+       * 
+ * + * uint32 limit = 2; + */ + public Builder setLimit(int value) { + + limit_ = value; + onChanged(); + return this; + } + /** + *
+       * Indicates the number of resources to be returned.
+       * +required
+       * 
+ * + * uint32 limit = 2; + */ + public Builder clearLimit() { + + limit_ = 0; + onChanged(); + return this; + } + + private java.lang.Object token_ = ""; + /** + *
+       * In the case of multiple pages of results, the, server-provided token can be used to fetch the next page
+       * in a query.
+       * +optional
+       * 
+ * + * string token = 3; + */ + public java.lang.String getToken() { + java.lang.Object ref = token_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + token_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * In the case of multiple pages of results, the, server-provided token can be used to fetch the next page
+       * in a query.
+       * +optional
+       * 
+ * + * string token = 3; + */ + public com.google.protobuf.ByteString + getTokenBytes() { + java.lang.Object ref = token_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + token_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * In the case of multiple pages of results, the, server-provided token can be used to fetch the next page
+       * in a query.
+       * +optional
+       * 
+ * + * string token = 3; + */ + public Builder setToken( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + token_ = value; + onChanged(); + return this; + } + /** + *
+       * In the case of multiple pages of results, the, server-provided token can be used to fetch the next page
+       * in a query.
+       * +optional
+       * 
+ * + * string token = 3; + */ + public Builder clearToken() { + + token_ = getDefaultInstance().getToken(); + onChanged(); + return this; + } + /** + *
+       * In the case of multiple pages of results, the, server-provided token can be used to fetch the next page
+       * in a query.
+       * +optional
+       * 
+ * + * string token = 3; + */ + public Builder setTokenBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + token_ = value; + onChanged(); + return this; + } + + private java.lang.Object filters_ = ""; + /** + *
+       * Indicates a list of filters passed as string.
+       * +optional
+       * 
+ * + * string filters = 4; + */ + public java.lang.String getFilters() { + java.lang.Object ref = filters_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filters_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Indicates a list of filters passed as string.
+       * +optional
+       * 
+ * + * string filters = 4; + */ + public com.google.protobuf.ByteString + getFiltersBytes() { + java.lang.Object ref = filters_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + filters_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Indicates a list of filters passed as string.
+       * +optional
+       * 
+ * + * string filters = 4; + */ + public Builder setFilters( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + filters_ = value; + onChanged(); + return this; + } + /** + *
+       * Indicates a list of filters passed as string.
+       * +optional
+       * 
+ * + * string filters = 4; + */ + public Builder clearFilters() { + + filters_ = getDefaultInstance().getFilters(); + onChanged(); + return this; + } + /** + *
+       * Indicates a list of filters passed as string.
+       * +optional
+       * 
+ * + * string filters = 4; + */ + public Builder setFiltersBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + filters_ = value; + onChanged(); + return this; + } + + private flyteidl.admin.Common.Sort sortBy_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.admin.Common.Sort, flyteidl.admin.Common.Sort.Builder, flyteidl.admin.Common.SortOrBuilder> sortByBuilder_; + /** + *
+       * Sort ordering.
+       * +optional
+       * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + public boolean hasSortBy() { + return sortByBuilder_ != null || sortBy_ != null; + } + /** + *
+       * Sort ordering.
+       * +optional
+       * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + public flyteidl.admin.Common.Sort getSortBy() { + if (sortByBuilder_ == null) { + return sortBy_ == null ? flyteidl.admin.Common.Sort.getDefaultInstance() : sortBy_; + } else { + return sortByBuilder_.getMessage(); + } + } + /** + *
+       * Sort ordering.
+       * +optional
+       * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + public Builder setSortBy(flyteidl.admin.Common.Sort value) { + if (sortByBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + sortBy_ = value; + onChanged(); + } else { + sortByBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * Sort ordering.
+       * +optional
+       * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + public Builder setSortBy( + flyteidl.admin.Common.Sort.Builder builderForValue) { + if (sortByBuilder_ == null) { + sortBy_ = builderForValue.build(); + onChanged(); + } else { + sortByBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * Sort ordering.
+       * +optional
+       * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + public Builder mergeSortBy(flyteidl.admin.Common.Sort value) { + if (sortByBuilder_ == null) { + if (sortBy_ != null) { + sortBy_ = + flyteidl.admin.Common.Sort.newBuilder(sortBy_).mergeFrom(value).buildPartial(); + } else { + sortBy_ = value; + } + onChanged(); + } else { + sortByBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * Sort ordering.
+       * +optional
+       * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + public Builder clearSortBy() { + if (sortByBuilder_ == null) { + sortBy_ = null; + onChanged(); + } else { + sortBy_ = null; + sortByBuilder_ = null; + } + + return this; + } + /** + *
+       * Sort ordering.
+       * +optional
+       * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + public flyteidl.admin.Common.Sort.Builder getSortByBuilder() { + + onChanged(); + return getSortByFieldBuilder().getBuilder(); + } + /** + *
+       * Sort ordering.
+       * +optional
+       * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + public flyteidl.admin.Common.SortOrBuilder getSortByOrBuilder() { + if (sortByBuilder_ != null) { + return sortByBuilder_.getMessageOrBuilder(); + } else { + return sortBy_ == null ? + flyteidl.admin.Common.Sort.getDefaultInstance() : sortBy_; + } + } + /** + *
+       * Sort ordering.
+       * +optional
+       * 
+ * + * .flyteidl.admin.Sort sort_by = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.admin.Common.Sort, flyteidl.admin.Common.Sort.Builder, flyteidl.admin.Common.SortOrBuilder> + getSortByFieldBuilder() { + if (sortByBuilder_ == null) { + sortByBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.admin.Common.Sort, flyteidl.admin.Common.Sort.Builder, flyteidl.admin.Common.SortOrBuilder>( + getSortBy(), + getParentForChildren(), + isClean()); + sortBy_ = null; + } + return sortByBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.admin.SignalListRequest) + } + + // @@protoc_insertion_point(class_scope:flyteidl.admin.SignalListRequest) + private static final flyteidl.admin.SignalOuterClass.SignalListRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.admin.SignalOuterClass.SignalListRequest(); + } + + public static flyteidl.admin.SignalOuterClass.SignalListRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SignalListRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SignalListRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalListRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SignalListOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.admin.SignalList) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * A list of signals matching the input filters.
+     * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + java.util.List + getSignalsList(); + /** + *
+     * A list of signals matching the input filters.
+     * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + flyteidl.admin.SignalOuterClass.Signal getSignals(int index); + /** + *
+     * A list of signals matching the input filters.
+     * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + int getSignalsCount(); + /** + *
+     * A list of signals matching the input filters.
+     * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + java.util.List + getSignalsOrBuilderList(); + /** + *
+     * A list of signals matching the input filters.
+     * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + flyteidl.admin.SignalOuterClass.SignalOrBuilder getSignalsOrBuilder( + int index); + + /** + *
+     * In the case of multiple pages of results, the server-provided token can be used to fetch the next page
+     * in a query. If there are no more results, this value will be empty.
+     * 
+ * + * string token = 2; + */ + java.lang.String getToken(); + /** + *
+     * In the case of multiple pages of results, the server-provided token can be used to fetch the next page
+     * in a query. If there are no more results, this value will be empty.
+     * 
+ * + * string token = 2; + */ + com.google.protobuf.ByteString + getTokenBytes(); + } + /** + *
+   * SignalList represents collection of signals along with the token of the last result.
+   * See :ref:`ref_flyteidl.admin.Signal` for more details
+   * 
+ * + * Protobuf type {@code flyteidl.admin.SignalList} + */ + public static final class SignalList extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.admin.SignalList) + SignalListOrBuilder { + private static final long serialVersionUID = 0L; + // Use SignalList.newBuilder() to construct. + private SignalList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SignalList() { + signals_ = java.util.Collections.emptyList(); + token_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SignalList( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + signals_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + signals_.add( + input.readMessage(flyteidl.admin.SignalOuterClass.Signal.parser(), extensionRegistry)); + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + token_ = s; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + signals_ = java.util.Collections.unmodifiableList(signals_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.SignalOuterClass.SignalList.class, flyteidl.admin.SignalOuterClass.SignalList.Builder.class); + } + + private int bitField0_; + public static final int SIGNALS_FIELD_NUMBER = 1; + private java.util.List signals_; + /** + *
+     * A list of signals matching the input filters.
+     * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public java.util.List getSignalsList() { + return signals_; + } + /** + *
+     * A list of signals matching the input filters.
+     * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public java.util.List + getSignalsOrBuilderList() { + return signals_; + } + /** + *
+     * A list of signals matching the input filters.
+     * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public int getSignalsCount() { + return signals_.size(); + } + /** + *
+     * A list of signals matching the input filters.
+     * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public flyteidl.admin.SignalOuterClass.Signal getSignals(int index) { + return signals_.get(index); + } + /** + *
+     * A list of signals matching the input filters.
+     * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public flyteidl.admin.SignalOuterClass.SignalOrBuilder getSignalsOrBuilder( + int index) { + return signals_.get(index); + } + + public static final int TOKEN_FIELD_NUMBER = 2; + private volatile java.lang.Object token_; + /** + *
+     * In the case of multiple pages of results, the server-provided token can be used to fetch the next page
+     * in a query. If there are no more results, this value will be empty.
+     * 
+ * + * string token = 2; + */ + public java.lang.String getToken() { + java.lang.Object ref = token_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + token_ = s; + return s; + } + } + /** + *
+     * In the case of multiple pages of results, the server-provided token can be used to fetch the next page
+     * in a query. If there are no more results, this value will be empty.
+     * 
+ * + * string token = 2; + */ + public com.google.protobuf.ByteString + getTokenBytes() { + java.lang.Object ref = token_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + token_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < signals_.size(); i++) { + output.writeMessage(1, signals_.get(i)); + } + if (!getTokenBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, token_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < signals_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, signals_.get(i)); + } + if (!getTokenBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, token_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.admin.SignalOuterClass.SignalList)) { + return super.equals(obj); + } + flyteidl.admin.SignalOuterClass.SignalList other = (flyteidl.admin.SignalOuterClass.SignalList) obj; + + if (!getSignalsList() + .equals(other.getSignalsList())) return false; + if (!getToken() + .equals(other.getToken())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getSignalsCount() > 0) { + hash = (37 * hash) + SIGNALS_FIELD_NUMBER; + hash = (53 * hash) + getSignalsList().hashCode(); + } + hash = (37 * hash) + TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getToken().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.admin.SignalOuterClass.SignalList parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalList parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalList parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalList parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalList parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalList parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalList parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalList parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalList parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalList parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalList parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalList parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.admin.SignalOuterClass.SignalList prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * SignalList represents collection of signals along with the token of the last result.
+     * See :ref:`ref_flyteidl.admin.Signal` for more details
+     * 
+ * + * Protobuf type {@code flyteidl.admin.SignalList} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.admin.SignalList) + flyteidl.admin.SignalOuterClass.SignalListOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.SignalOuterClass.SignalList.class, flyteidl.admin.SignalOuterClass.SignalList.Builder.class); + } + + // Construct using flyteidl.admin.SignalOuterClass.SignalList.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getSignalsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (signalsBuilder_ == null) { + signals_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + signalsBuilder_.clear(); + } + token_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalList_descriptor; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalList getDefaultInstanceForType() { + return flyteidl.admin.SignalOuterClass.SignalList.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalList build() { + flyteidl.admin.SignalOuterClass.SignalList result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalList buildPartial() { + flyteidl.admin.SignalOuterClass.SignalList result = new flyteidl.admin.SignalOuterClass.SignalList(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (signalsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + signals_ = java.util.Collections.unmodifiableList(signals_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.signals_ = signals_; + } else { + result.signals_ = signalsBuilder_.build(); + } + result.token_ = token_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.admin.SignalOuterClass.SignalList) { + return mergeFrom((flyteidl.admin.SignalOuterClass.SignalList)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.admin.SignalOuterClass.SignalList other) { + if (other == flyteidl.admin.SignalOuterClass.SignalList.getDefaultInstance()) return this; + if (signalsBuilder_ == null) { + if (!other.signals_.isEmpty()) { + if (signals_.isEmpty()) { + signals_ = other.signals_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureSignalsIsMutable(); + signals_.addAll(other.signals_); + } + onChanged(); + } + } else { + if (!other.signals_.isEmpty()) { + if (signalsBuilder_.isEmpty()) { + signalsBuilder_.dispose(); + signalsBuilder_ = null; + signals_ = other.signals_; + bitField0_ = (bitField0_ & ~0x00000001); + signalsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getSignalsFieldBuilder() : null; + } else { + signalsBuilder_.addAllMessages(other.signals_); + } + } + } + if (!other.getToken().isEmpty()) { + token_ = other.token_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.admin.SignalOuterClass.SignalList parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.admin.SignalOuterClass.SignalList) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List signals_ = + java.util.Collections.emptyList(); + private void ensureSignalsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + signals_ = new java.util.ArrayList(signals_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + flyteidl.admin.SignalOuterClass.Signal, flyteidl.admin.SignalOuterClass.Signal.Builder, flyteidl.admin.SignalOuterClass.SignalOrBuilder> signalsBuilder_; + + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public java.util.List getSignalsList() { + if (signalsBuilder_ == null) { + return java.util.Collections.unmodifiableList(signals_); + } else { + return signalsBuilder_.getMessageList(); + } + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public int getSignalsCount() { + if (signalsBuilder_ == null) { + return signals_.size(); + } else { + return signalsBuilder_.getCount(); + } + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public flyteidl.admin.SignalOuterClass.Signal getSignals(int index) { + if (signalsBuilder_ == null) { + return signals_.get(index); + } else { + return signalsBuilder_.getMessage(index); + } + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public Builder setSignals( + int index, flyteidl.admin.SignalOuterClass.Signal value) { + if (signalsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSignalsIsMutable(); + signals_.set(index, value); + onChanged(); + } else { + signalsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public Builder setSignals( + int index, flyteidl.admin.SignalOuterClass.Signal.Builder builderForValue) { + if (signalsBuilder_ == null) { + ensureSignalsIsMutable(); + signals_.set(index, builderForValue.build()); + onChanged(); + } else { + signalsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public Builder addSignals(flyteidl.admin.SignalOuterClass.Signal value) { + if (signalsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSignalsIsMutable(); + signals_.add(value); + onChanged(); + } else { + signalsBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public Builder addSignals( + int index, flyteidl.admin.SignalOuterClass.Signal value) { + if (signalsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSignalsIsMutable(); + signals_.add(index, value); + onChanged(); + } else { + signalsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public Builder addSignals( + flyteidl.admin.SignalOuterClass.Signal.Builder builderForValue) { + if (signalsBuilder_ == null) { + ensureSignalsIsMutable(); + signals_.add(builderForValue.build()); + onChanged(); + } else { + signalsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public Builder addSignals( + int index, flyteidl.admin.SignalOuterClass.Signal.Builder builderForValue) { + if (signalsBuilder_ == null) { + ensureSignalsIsMutable(); + signals_.add(index, builderForValue.build()); + onChanged(); + } else { + signalsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public Builder addAllSignals( + java.lang.Iterable values) { + if (signalsBuilder_ == null) { + ensureSignalsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, signals_); + onChanged(); + } else { + signalsBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public Builder clearSignals() { + if (signalsBuilder_ == null) { + signals_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + signalsBuilder_.clear(); + } + return this; + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public Builder removeSignals(int index) { + if (signalsBuilder_ == null) { + ensureSignalsIsMutable(); + signals_.remove(index); + onChanged(); + } else { + signalsBuilder_.remove(index); + } + return this; + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public flyteidl.admin.SignalOuterClass.Signal.Builder getSignalsBuilder( + int index) { + return getSignalsFieldBuilder().getBuilder(index); + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public flyteidl.admin.SignalOuterClass.SignalOrBuilder getSignalsOrBuilder( + int index) { + if (signalsBuilder_ == null) { + return signals_.get(index); } else { + return signalsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public java.util.List + getSignalsOrBuilderList() { + if (signalsBuilder_ != null) { + return signalsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(signals_); + } + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public flyteidl.admin.SignalOuterClass.Signal.Builder addSignalsBuilder() { + return getSignalsFieldBuilder().addBuilder( + flyteidl.admin.SignalOuterClass.Signal.getDefaultInstance()); + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public flyteidl.admin.SignalOuterClass.Signal.Builder addSignalsBuilder( + int index) { + return getSignalsFieldBuilder().addBuilder( + index, flyteidl.admin.SignalOuterClass.Signal.getDefaultInstance()); + } + /** + *
+       * A list of signals matching the input filters.
+       * 
+ * + * repeated .flyteidl.admin.Signal signals = 1; + */ + public java.util.List + getSignalsBuilderList() { + return getSignalsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + flyteidl.admin.SignalOuterClass.Signal, flyteidl.admin.SignalOuterClass.Signal.Builder, flyteidl.admin.SignalOuterClass.SignalOrBuilder> + getSignalsFieldBuilder() { + if (signalsBuilder_ == null) { + signalsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + flyteidl.admin.SignalOuterClass.Signal, flyteidl.admin.SignalOuterClass.Signal.Builder, flyteidl.admin.SignalOuterClass.SignalOrBuilder>( + signals_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + signals_ = null; + } + return signalsBuilder_; + } + + private java.lang.Object token_ = ""; + /** + *
+       * In the case of multiple pages of results, the server-provided token can be used to fetch the next page
+       * in a query. If there are no more results, this value will be empty.
+       * 
+ * + * string token = 2; + */ + public java.lang.String getToken() { + java.lang.Object ref = token_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + token_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * In the case of multiple pages of results, the server-provided token can be used to fetch the next page
+       * in a query. If there are no more results, this value will be empty.
+       * 
+ * + * string token = 2; + */ + public com.google.protobuf.ByteString + getTokenBytes() { + java.lang.Object ref = token_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + token_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * In the case of multiple pages of results, the server-provided token can be used to fetch the next page
+       * in a query. If there are no more results, this value will be empty.
+       * 
+ * + * string token = 2; + */ + public Builder setToken( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + token_ = value; + onChanged(); + return this; + } + /** + *
+       * In the case of multiple pages of results, the server-provided token can be used to fetch the next page
+       * in a query. If there are no more results, this value will be empty.
+       * 
+ * + * string token = 2; + */ + public Builder clearToken() { + + token_ = getDefaultInstance().getToken(); + onChanged(); + return this; + } + /** + *
+       * In the case of multiple pages of results, the server-provided token can be used to fetch the next page
+       * in a query. If there are no more results, this value will be empty.
+       * 
+ * + * string token = 2; + */ + public Builder setTokenBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + token_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.admin.SignalList) + } + + // @@protoc_insertion_point(class_scope:flyteidl.admin.SignalList) + private static final flyteidl.admin.SignalOuterClass.SignalList DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.admin.SignalOuterClass.SignalList(); + } + + public static flyteidl.admin.SignalOuterClass.SignalList getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SignalList parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SignalList(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalList getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SignalSetRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.admin.SignalSetRequest) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + boolean hasId(); + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + flyteidl.core.IdentifierOuterClass.SignalIdentifier getId(); + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder getIdOrBuilder(); + + /** + *
+     * The value of this signal, must match the defining signal type.
+     * 
+ * + * .flyteidl.core.Literal value = 2; + */ + boolean hasValue(); + /** + *
+     * The value of this signal, must match the defining signal type.
+     * 
+ * + * .flyteidl.core.Literal value = 2; + */ + flyteidl.core.Literals.Literal getValue(); + /** + *
+     * The value of this signal, must match the defining signal type.
+     * 
+ * + * .flyteidl.core.Literal value = 2; + */ + flyteidl.core.Literals.LiteralOrBuilder getValueOrBuilder(); + } + /** + *
+   * SignalSetRequest represents a request structure to set the value on a signal. Setting a signal
+   * effetively satisfies the signal condition within a Flyte workflow.
+   * See :ref:`ref_flyteidl.admin.Signal` for more details
+   * 
+ * + * Protobuf type {@code flyteidl.admin.SignalSetRequest} + */ + public static final class SignalSetRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.admin.SignalSetRequest) + SignalSetRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use SignalSetRequest.newBuilder() to construct. + private SignalSetRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SignalSetRequest() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SignalSetRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder subBuilder = null; + if (id_ != null) { + subBuilder = id_.toBuilder(); + } + id_ = input.readMessage(flyteidl.core.IdentifierOuterClass.SignalIdentifier.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(id_); + id_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + flyteidl.core.Literals.Literal.Builder subBuilder = null; + if (value_ != null) { + subBuilder = value_.toBuilder(); + } + value_ = input.readMessage(flyteidl.core.Literals.Literal.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(value_); + value_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalSetRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalSetRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.SignalOuterClass.SignalSetRequest.class, flyteidl.admin.SignalOuterClass.SignalSetRequest.Builder.class); + } + + public static final int ID_FIELD_NUMBER = 1; + private flyteidl.core.IdentifierOuterClass.SignalIdentifier id_; + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public boolean hasId() { + return id_ != null; + } + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifier getId() { + return id_ == null ? flyteidl.core.IdentifierOuterClass.SignalIdentifier.getDefaultInstance() : id_; + } + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder getIdOrBuilder() { + return getId(); + } + + public static final int VALUE_FIELD_NUMBER = 2; + private flyteidl.core.Literals.Literal value_; + /** + *
+     * The value of this signal, must match the defining signal type.
+     * 
+ * + * .flyteidl.core.Literal value = 2; + */ + public boolean hasValue() { + return value_ != null; + } + /** + *
+     * The value of this signal, must match the defining signal type.
+     * 
+ * + * .flyteidl.core.Literal value = 2; + */ + public flyteidl.core.Literals.Literal getValue() { + return value_ == null ? flyteidl.core.Literals.Literal.getDefaultInstance() : value_; + } + /** + *
+     * The value of this signal, must match the defining signal type.
+     * 
+ * + * .flyteidl.core.Literal value = 2; + */ + public flyteidl.core.Literals.LiteralOrBuilder getValueOrBuilder() { + return getValue(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (id_ != null) { + output.writeMessage(1, getId()); + } + if (value_ != null) { + output.writeMessage(2, getValue()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (id_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getId()); + } + if (value_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getValue()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.admin.SignalOuterClass.SignalSetRequest)) { + return super.equals(obj); + } + flyteidl.admin.SignalOuterClass.SignalSetRequest other = (flyteidl.admin.SignalOuterClass.SignalSetRequest) obj; + + if (hasId() != other.hasId()) return false; + if (hasId()) { + if (!getId() + .equals(other.getId())) return false; + } + if (hasValue() != other.hasValue()) return false; + if (hasValue()) { + if (!getValue() + .equals(other.getValue())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasId()) { + hash = (37 * hash) + ID_FIELD_NUMBER; + hash = (53 * hash) + getId().hashCode(); + } + if (hasValue()) { + hash = (37 * hash) + VALUE_FIELD_NUMBER; + hash = (53 * hash) + getValue().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.admin.SignalOuterClass.SignalSetRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalSetRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalSetRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalSetRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalSetRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalSetRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalSetRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalSetRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalSetRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalSetRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalSetRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalSetRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.admin.SignalOuterClass.SignalSetRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * SignalSetRequest represents a request structure to set the value on a signal. Setting a signal
+     * effetively satisfies the signal condition within a Flyte workflow.
+     * See :ref:`ref_flyteidl.admin.Signal` for more details
+     * 
+ * + * Protobuf type {@code flyteidl.admin.SignalSetRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.admin.SignalSetRequest) + flyteidl.admin.SignalOuterClass.SignalSetRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalSetRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalSetRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.SignalOuterClass.SignalSetRequest.class, flyteidl.admin.SignalOuterClass.SignalSetRequest.Builder.class); + } + + // Construct using flyteidl.admin.SignalOuterClass.SignalSetRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (idBuilder_ == null) { + id_ = null; + } else { + id_ = null; + idBuilder_ = null; + } + if (valueBuilder_ == null) { + value_ = null; + } else { + value_ = null; + valueBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalSetRequest_descriptor; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalSetRequest getDefaultInstanceForType() { + return flyteidl.admin.SignalOuterClass.SignalSetRequest.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalSetRequest build() { + flyteidl.admin.SignalOuterClass.SignalSetRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalSetRequest buildPartial() { + flyteidl.admin.SignalOuterClass.SignalSetRequest result = new flyteidl.admin.SignalOuterClass.SignalSetRequest(this); + if (idBuilder_ == null) { + result.id_ = id_; + } else { + result.id_ = idBuilder_.build(); + } + if (valueBuilder_ == null) { + result.value_ = value_; + } else { + result.value_ = valueBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.admin.SignalOuterClass.SignalSetRequest) { + return mergeFrom((flyteidl.admin.SignalOuterClass.SignalSetRequest)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.admin.SignalOuterClass.SignalSetRequest other) { + if (other == flyteidl.admin.SignalOuterClass.SignalSetRequest.getDefaultInstance()) return this; + if (other.hasId()) { + mergeId(other.getId()); + } + if (other.hasValue()) { + mergeValue(other.getValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.admin.SignalOuterClass.SignalSetRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.admin.SignalOuterClass.SignalSetRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private flyteidl.core.IdentifierOuterClass.SignalIdentifier id_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.SignalIdentifier, flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder, flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder> idBuilder_; + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public boolean hasId() { + return idBuilder_ != null || id_ != null; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifier getId() { + if (idBuilder_ == null) { + return id_ == null ? flyteidl.core.IdentifierOuterClass.SignalIdentifier.getDefaultInstance() : id_; + } else { + return idBuilder_.getMessage(); + } + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public Builder setId(flyteidl.core.IdentifierOuterClass.SignalIdentifier value) { + if (idBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + id_ = value; + onChanged(); + } else { + idBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public Builder setId( + flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder builderForValue) { + if (idBuilder_ == null) { + id_ = builderForValue.build(); + onChanged(); + } else { + idBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public Builder mergeId(flyteidl.core.IdentifierOuterClass.SignalIdentifier value) { + if (idBuilder_ == null) { + if (id_ != null) { + id_ = + flyteidl.core.IdentifierOuterClass.SignalIdentifier.newBuilder(id_).mergeFrom(value).buildPartial(); + } else { + id_ = value; + } + onChanged(); + } else { + idBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public Builder clearId() { + if (idBuilder_ == null) { + id_ = null; + onChanged(); + } else { + id_ = null; + idBuilder_ = null; + } + + return this; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder getIdBuilder() { + + onChanged(); + return getIdFieldBuilder().getBuilder(); + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder getIdOrBuilder() { + if (idBuilder_ != null) { + return idBuilder_.getMessageOrBuilder(); + } else { + return id_ == null ? + flyteidl.core.IdentifierOuterClass.SignalIdentifier.getDefaultInstance() : id_; + } + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.SignalIdentifier, flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder, flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder> + getIdFieldBuilder() { + if (idBuilder_ == null) { + idBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.SignalIdentifier, flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder, flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder>( + getId(), + getParentForChildren(), + isClean()); + id_ = null; + } + return idBuilder_; + } + + private flyteidl.core.Literals.Literal value_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.Literal, flyteidl.core.Literals.Literal.Builder, flyteidl.core.Literals.LiteralOrBuilder> valueBuilder_; + /** + *
+       * The value of this signal, must match the defining signal type.
+       * 
+ * + * .flyteidl.core.Literal value = 2; + */ + public boolean hasValue() { + return valueBuilder_ != null || value_ != null; + } + /** + *
+       * The value of this signal, must match the defining signal type.
+       * 
+ * + * .flyteidl.core.Literal value = 2; + */ + public flyteidl.core.Literals.Literal getValue() { + if (valueBuilder_ == null) { + return value_ == null ? flyteidl.core.Literals.Literal.getDefaultInstance() : value_; + } else { + return valueBuilder_.getMessage(); + } + } + /** + *
+       * The value of this signal, must match the defining signal type.
+       * 
+ * + * .flyteidl.core.Literal value = 2; + */ + public Builder setValue(flyteidl.core.Literals.Literal value) { + if (valueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + value_ = value; + onChanged(); + } else { + valueBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * The value of this signal, must match the defining signal type.
+       * 
+ * + * .flyteidl.core.Literal value = 2; + */ + public Builder setValue( + flyteidl.core.Literals.Literal.Builder builderForValue) { + if (valueBuilder_ == null) { + value_ = builderForValue.build(); + onChanged(); + } else { + valueBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * The value of this signal, must match the defining signal type.
+       * 
+ * + * .flyteidl.core.Literal value = 2; + */ + public Builder mergeValue(flyteidl.core.Literals.Literal value) { + if (valueBuilder_ == null) { + if (value_ != null) { + value_ = + flyteidl.core.Literals.Literal.newBuilder(value_).mergeFrom(value).buildPartial(); + } else { + value_ = value; + } + onChanged(); + } else { + valueBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * The value of this signal, must match the defining signal type.
+       * 
+ * + * .flyteidl.core.Literal value = 2; + */ + public Builder clearValue() { + if (valueBuilder_ == null) { + value_ = null; + onChanged(); + } else { + value_ = null; + valueBuilder_ = null; + } + + return this; + } + /** + *
+       * The value of this signal, must match the defining signal type.
+       * 
+ * + * .flyteidl.core.Literal value = 2; + */ + public flyteidl.core.Literals.Literal.Builder getValueBuilder() { + + onChanged(); + return getValueFieldBuilder().getBuilder(); + } + /** + *
+       * The value of this signal, must match the defining signal type.
+       * 
+ * + * .flyteidl.core.Literal value = 2; + */ + public flyteidl.core.Literals.LiteralOrBuilder getValueOrBuilder() { + if (valueBuilder_ != null) { + return valueBuilder_.getMessageOrBuilder(); + } else { + return value_ == null ? + flyteidl.core.Literals.Literal.getDefaultInstance() : value_; + } + } + /** + *
+       * The value of this signal, must match the defining signal type.
+       * 
+ * + * .flyteidl.core.Literal value = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.Literal, flyteidl.core.Literals.Literal.Builder, flyteidl.core.Literals.LiteralOrBuilder> + getValueFieldBuilder() { + if (valueBuilder_ == null) { + valueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.Literal, flyteidl.core.Literals.Literal.Builder, flyteidl.core.Literals.LiteralOrBuilder>( + getValue(), + getParentForChildren(), + isClean()); + value_ = null; + } + return valueBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.admin.SignalSetRequest) + } + + // @@protoc_insertion_point(class_scope:flyteidl.admin.SignalSetRequest) + private static final flyteidl.admin.SignalOuterClass.SignalSetRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.admin.SignalOuterClass.SignalSetRequest(); + } + + public static flyteidl.admin.SignalOuterClass.SignalSetRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SignalSetRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SignalSetRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalSetRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SignalSetResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.admin.SignalSetResponse) + com.google.protobuf.MessageOrBuilder { + } + /** + *
+   * SignalSetResponse represents a response structure if signal setting succeeds.
+   * 
+ * + * Protobuf type {@code flyteidl.admin.SignalSetResponse} + */ + public static final class SignalSetResponse extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.admin.SignalSetResponse) + SignalSetResponseOrBuilder { + private static final long serialVersionUID = 0L; + // Use SignalSetResponse.newBuilder() to construct. + private SignalSetResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SignalSetResponse() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SignalSetResponse( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalSetResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalSetResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.SignalOuterClass.SignalSetResponse.class, flyteidl.admin.SignalOuterClass.SignalSetResponse.Builder.class); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.admin.SignalOuterClass.SignalSetResponse)) { + return super.equals(obj); + } + flyteidl.admin.SignalOuterClass.SignalSetResponse other = (flyteidl.admin.SignalOuterClass.SignalSetResponse) obj; + + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.admin.SignalOuterClass.SignalSetResponse parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalSetResponse parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalSetResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalSetResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalSetResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.SignalSetResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalSetResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalSetResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalSetResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalSetResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.SignalSetResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.SignalSetResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.admin.SignalOuterClass.SignalSetResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * SignalSetResponse represents a response structure if signal setting succeeds.
+     * 
+ * + * Protobuf type {@code flyteidl.admin.SignalSetResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.admin.SignalSetResponse) + flyteidl.admin.SignalOuterClass.SignalSetResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalSetResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalSetResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.SignalOuterClass.SignalSetResponse.class, flyteidl.admin.SignalOuterClass.SignalSetResponse.Builder.class); + } + + // Construct using flyteidl.admin.SignalOuterClass.SignalSetResponse.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_SignalSetResponse_descriptor; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalSetResponse getDefaultInstanceForType() { + return flyteidl.admin.SignalOuterClass.SignalSetResponse.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalSetResponse build() { + flyteidl.admin.SignalOuterClass.SignalSetResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalSetResponse buildPartial() { + flyteidl.admin.SignalOuterClass.SignalSetResponse result = new flyteidl.admin.SignalOuterClass.SignalSetResponse(this); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.admin.SignalOuterClass.SignalSetResponse) { + return mergeFrom((flyteidl.admin.SignalOuterClass.SignalSetResponse)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.admin.SignalOuterClass.SignalSetResponse other) { + if (other == flyteidl.admin.SignalOuterClass.SignalSetResponse.getDefaultInstance()) return this; + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.admin.SignalOuterClass.SignalSetResponse parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.admin.SignalOuterClass.SignalSetResponse) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.admin.SignalSetResponse) + } + + // @@protoc_insertion_point(class_scope:flyteidl.admin.SignalSetResponse) + private static final flyteidl.admin.SignalOuterClass.SignalSetResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.admin.SignalOuterClass.SignalSetResponse(); + } + + public static flyteidl.admin.SignalOuterClass.SignalSetResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SignalSetResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SignalSetResponse(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.SignalSetResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SignalOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.admin.Signal) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + boolean hasId(); + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + flyteidl.core.IdentifierOuterClass.SignalIdentifier getId(); + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder getIdOrBuilder(); + + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + boolean hasType(); + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + flyteidl.core.Types.LiteralType getType(); + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + flyteidl.core.Types.LiteralTypeOrBuilder getTypeOrBuilder(); + + /** + *
+     * The value of the signal. This is only available if the signal has been "set" and must match
+     * the defined the type.
+     * 
+ * + * .flyteidl.core.Literal value = 3; + */ + boolean hasValue(); + /** + *
+     * The value of the signal. This is only available if the signal has been "set" and must match
+     * the defined the type.
+     * 
+ * + * .flyteidl.core.Literal value = 3; + */ + flyteidl.core.Literals.Literal getValue(); + /** + *
+     * The value of the signal. This is only available if the signal has been "set" and must match
+     * the defined the type.
+     * 
+ * + * .flyteidl.core.Literal value = 3; + */ + flyteidl.core.Literals.LiteralOrBuilder getValueOrBuilder(); + } + /** + *
+   * Signal encapsulates a unique identifier, associated metadata, and a value for a single Flyte
+   * signal. Signals may exist either without a set value (representing a signal request) or with a
+   * populated value (indicating the signal has been given).
+   * 
+ * + * Protobuf type {@code flyteidl.admin.Signal} + */ + public static final class Signal extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.admin.Signal) + SignalOrBuilder { + private static final long serialVersionUID = 0L; + // Use Signal.newBuilder() to construct. + private Signal(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private Signal() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Signal( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder subBuilder = null; + if (id_ != null) { + subBuilder = id_.toBuilder(); + } + id_ = input.readMessage(flyteidl.core.IdentifierOuterClass.SignalIdentifier.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(id_); + id_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + flyteidl.core.Types.LiteralType.Builder subBuilder = null; + if (type_ != null) { + subBuilder = type_.toBuilder(); + } + type_ = input.readMessage(flyteidl.core.Types.LiteralType.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(type_); + type_ = subBuilder.buildPartial(); + } + + break; + } + case 26: { + flyteidl.core.Literals.Literal.Builder subBuilder = null; + if (value_ != null) { + subBuilder = value_.toBuilder(); + } + value_ = input.readMessage(flyteidl.core.Literals.Literal.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(value_); + value_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_Signal_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_Signal_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.SignalOuterClass.Signal.class, flyteidl.admin.SignalOuterClass.Signal.Builder.class); + } + + public static final int ID_FIELD_NUMBER = 1; + private flyteidl.core.IdentifierOuterClass.SignalIdentifier id_; + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public boolean hasId() { + return id_ != null; + } + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifier getId() { + return id_ == null ? flyteidl.core.IdentifierOuterClass.SignalIdentifier.getDefaultInstance() : id_; + } + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder getIdOrBuilder() { + return getId(); + } + + public static final int TYPE_FIELD_NUMBER = 2; + private flyteidl.core.Types.LiteralType type_; + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public boolean hasType() { + return type_ != null; + } + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralType getType() { + return type_ == null ? flyteidl.core.Types.LiteralType.getDefaultInstance() : type_; + } + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralTypeOrBuilder getTypeOrBuilder() { + return getType(); + } + + public static final int VALUE_FIELD_NUMBER = 3; + private flyteidl.core.Literals.Literal value_; + /** + *
+     * The value of the signal. This is only available if the signal has been "set" and must match
+     * the defined the type.
+     * 
+ * + * .flyteidl.core.Literal value = 3; + */ + public boolean hasValue() { + return value_ != null; + } + /** + *
+     * The value of the signal. This is only available if the signal has been "set" and must match
+     * the defined the type.
+     * 
+ * + * .flyteidl.core.Literal value = 3; + */ + public flyteidl.core.Literals.Literal getValue() { + return value_ == null ? flyteidl.core.Literals.Literal.getDefaultInstance() : value_; + } + /** + *
+     * The value of the signal. This is only available if the signal has been "set" and must match
+     * the defined the type.
+     * 
+ * + * .flyteidl.core.Literal value = 3; + */ + public flyteidl.core.Literals.LiteralOrBuilder getValueOrBuilder() { + return getValue(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (id_ != null) { + output.writeMessage(1, getId()); + } + if (type_ != null) { + output.writeMessage(2, getType()); + } + if (value_ != null) { + output.writeMessage(3, getValue()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (id_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getId()); + } + if (type_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getType()); + } + if (value_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getValue()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.admin.SignalOuterClass.Signal)) { + return super.equals(obj); + } + flyteidl.admin.SignalOuterClass.Signal other = (flyteidl.admin.SignalOuterClass.Signal) obj; + + if (hasId() != other.hasId()) return false; + if (hasId()) { + if (!getId() + .equals(other.getId())) return false; + } + if (hasType() != other.hasType()) return false; + if (hasType()) { + if (!getType() + .equals(other.getType())) return false; + } + if (hasValue() != other.hasValue()) return false; + if (hasValue()) { + if (!getValue() + .equals(other.getValue())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasId()) { + hash = (37 * hash) + ID_FIELD_NUMBER; + hash = (53 * hash) + getId().hashCode(); + } + if (hasType()) { + hash = (37 * hash) + TYPE_FIELD_NUMBER; + hash = (53 * hash) + getType().hashCode(); + } + if (hasValue()) { + hash = (37 * hash) + VALUE_FIELD_NUMBER; + hash = (53 * hash) + getValue().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.admin.SignalOuterClass.Signal parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.Signal parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.Signal parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.Signal parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.Signal parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.SignalOuterClass.Signal parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.Signal parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.Signal parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.Signal parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.Signal parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.SignalOuterClass.Signal parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.SignalOuterClass.Signal parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.admin.SignalOuterClass.Signal prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Signal encapsulates a unique identifier, associated metadata, and a value for a single Flyte
+     * signal. Signals may exist either without a set value (representing a signal request) or with a
+     * populated value (indicating the signal has been given).
+     * 
+ * + * Protobuf type {@code flyteidl.admin.Signal} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.admin.Signal) + flyteidl.admin.SignalOuterClass.SignalOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_Signal_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_Signal_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.SignalOuterClass.Signal.class, flyteidl.admin.SignalOuterClass.Signal.Builder.class); + } + + // Construct using flyteidl.admin.SignalOuterClass.Signal.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (idBuilder_ == null) { + id_ = null; + } else { + id_ = null; + idBuilder_ = null; + } + if (typeBuilder_ == null) { + type_ = null; + } else { + type_ = null; + typeBuilder_ = null; + } + if (valueBuilder_ == null) { + value_ = null; + } else { + value_ = null; + valueBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.admin.SignalOuterClass.internal_static_flyteidl_admin_Signal_descriptor; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.Signal getDefaultInstanceForType() { + return flyteidl.admin.SignalOuterClass.Signal.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.Signal build() { + flyteidl.admin.SignalOuterClass.Signal result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.Signal buildPartial() { + flyteidl.admin.SignalOuterClass.Signal result = new flyteidl.admin.SignalOuterClass.Signal(this); + if (idBuilder_ == null) { + result.id_ = id_; + } else { + result.id_ = idBuilder_.build(); + } + if (typeBuilder_ == null) { + result.type_ = type_; + } else { + result.type_ = typeBuilder_.build(); + } + if (valueBuilder_ == null) { + result.value_ = value_; + } else { + result.value_ = valueBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.admin.SignalOuterClass.Signal) { + return mergeFrom((flyteidl.admin.SignalOuterClass.Signal)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.admin.SignalOuterClass.Signal other) { + if (other == flyteidl.admin.SignalOuterClass.Signal.getDefaultInstance()) return this; + if (other.hasId()) { + mergeId(other.getId()); + } + if (other.hasType()) { + mergeType(other.getType()); + } + if (other.hasValue()) { + mergeValue(other.getValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.admin.SignalOuterClass.Signal parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.admin.SignalOuterClass.Signal) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private flyteidl.core.IdentifierOuterClass.SignalIdentifier id_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.SignalIdentifier, flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder, flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder> idBuilder_; + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public boolean hasId() { + return idBuilder_ != null || id_ != null; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifier getId() { + if (idBuilder_ == null) { + return id_ == null ? flyteidl.core.IdentifierOuterClass.SignalIdentifier.getDefaultInstance() : id_; + } else { + return idBuilder_.getMessage(); + } + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public Builder setId(flyteidl.core.IdentifierOuterClass.SignalIdentifier value) { + if (idBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + id_ = value; + onChanged(); + } else { + idBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public Builder setId( + flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder builderForValue) { + if (idBuilder_ == null) { + id_ = builderForValue.build(); + onChanged(); + } else { + idBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public Builder mergeId(flyteidl.core.IdentifierOuterClass.SignalIdentifier value) { + if (idBuilder_ == null) { + if (id_ != null) { + id_ = + flyteidl.core.IdentifierOuterClass.SignalIdentifier.newBuilder(id_).mergeFrom(value).buildPartial(); + } else { + id_ = value; + } + onChanged(); + } else { + idBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public Builder clearId() { + if (idBuilder_ == null) { + id_ = null; + onChanged(); + } else { + id_ = null; + idBuilder_ = null; + } + + return this; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder getIdBuilder() { + + onChanged(); + return getIdFieldBuilder().getBuilder(); + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + public flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder getIdOrBuilder() { + if (idBuilder_ != null) { + return idBuilder_.getMessageOrBuilder(); + } else { + return id_ == null ? + flyteidl.core.IdentifierOuterClass.SignalIdentifier.getDefaultInstance() : id_; + } + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * .flyteidl.core.SignalIdentifier id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.SignalIdentifier, flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder, flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder> + getIdFieldBuilder() { + if (idBuilder_ == null) { + idBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.SignalIdentifier, flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder, flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder>( + getId(), + getParentForChildren(), + isClean()); + id_ = null; + } + return idBuilder_; + } + + private flyteidl.core.Types.LiteralType type_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Types.LiteralType, flyteidl.core.Types.LiteralType.Builder, flyteidl.core.Types.LiteralTypeOrBuilder> typeBuilder_; + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public boolean hasType() { + return typeBuilder_ != null || type_ != null; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralType getType() { + if (typeBuilder_ == null) { + return type_ == null ? flyteidl.core.Types.LiteralType.getDefaultInstance() : type_; + } else { + return typeBuilder_.getMessage(); + } + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public Builder setType(flyteidl.core.Types.LiteralType value) { + if (typeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + type_ = value; + onChanged(); + } else { + typeBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public Builder setType( + flyteidl.core.Types.LiteralType.Builder builderForValue) { + if (typeBuilder_ == null) { + type_ = builderForValue.build(); + onChanged(); + } else { + typeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public Builder mergeType(flyteidl.core.Types.LiteralType value) { + if (typeBuilder_ == null) { + if (type_ != null) { + type_ = + flyteidl.core.Types.LiteralType.newBuilder(type_).mergeFrom(value).buildPartial(); + } else { + type_ = value; + } + onChanged(); + } else { + typeBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public Builder clearType() { + if (typeBuilder_ == null) { + type_ = null; + onChanged(); + } else { + type_ = null; + typeBuilder_ = null; + } + + return this; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralType.Builder getTypeBuilder() { + + onChanged(); + return getTypeFieldBuilder().getBuilder(); + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralTypeOrBuilder getTypeOrBuilder() { + if (typeBuilder_ != null) { + return typeBuilder_.getMessageOrBuilder(); + } else { + return type_ == null ? + flyteidl.core.Types.LiteralType.getDefaultInstance() : type_; + } + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Types.LiteralType, flyteidl.core.Types.LiteralType.Builder, flyteidl.core.Types.LiteralTypeOrBuilder> + getTypeFieldBuilder() { + if (typeBuilder_ == null) { + typeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Types.LiteralType, flyteidl.core.Types.LiteralType.Builder, flyteidl.core.Types.LiteralTypeOrBuilder>( + getType(), + getParentForChildren(), + isClean()); + type_ = null; + } + return typeBuilder_; + } + + private flyteidl.core.Literals.Literal value_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.Literal, flyteidl.core.Literals.Literal.Builder, flyteidl.core.Literals.LiteralOrBuilder> valueBuilder_; + /** + *
+       * The value of the signal. This is only available if the signal has been "set" and must match
+       * the defined the type.
+       * 
+ * + * .flyteidl.core.Literal value = 3; + */ + public boolean hasValue() { + return valueBuilder_ != null || value_ != null; + } + /** + *
+       * The value of the signal. This is only available if the signal has been "set" and must match
+       * the defined the type.
+       * 
+ * + * .flyteidl.core.Literal value = 3; + */ + public flyteidl.core.Literals.Literal getValue() { + if (valueBuilder_ == null) { + return value_ == null ? flyteidl.core.Literals.Literal.getDefaultInstance() : value_; + } else { + return valueBuilder_.getMessage(); + } + } + /** + *
+       * The value of the signal. This is only available if the signal has been "set" and must match
+       * the defined the type.
+       * 
+ * + * .flyteidl.core.Literal value = 3; + */ + public Builder setValue(flyteidl.core.Literals.Literal value) { + if (valueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + value_ = value; + onChanged(); + } else { + valueBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * The value of the signal. This is only available if the signal has been "set" and must match
+       * the defined the type.
+       * 
+ * + * .flyteidl.core.Literal value = 3; + */ + public Builder setValue( + flyteidl.core.Literals.Literal.Builder builderForValue) { + if (valueBuilder_ == null) { + value_ = builderForValue.build(); + onChanged(); + } else { + valueBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * The value of the signal. This is only available if the signal has been "set" and must match
+       * the defined the type.
+       * 
+ * + * .flyteidl.core.Literal value = 3; + */ + public Builder mergeValue(flyteidl.core.Literals.Literal value) { + if (valueBuilder_ == null) { + if (value_ != null) { + value_ = + flyteidl.core.Literals.Literal.newBuilder(value_).mergeFrom(value).buildPartial(); + } else { + value_ = value; + } + onChanged(); + } else { + valueBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * The value of the signal. This is only available if the signal has been "set" and must match
+       * the defined the type.
+       * 
+ * + * .flyteidl.core.Literal value = 3; + */ + public Builder clearValue() { + if (valueBuilder_ == null) { + value_ = null; + onChanged(); + } else { + value_ = null; + valueBuilder_ = null; + } + + return this; + } + /** + *
+       * The value of the signal. This is only available if the signal has been "set" and must match
+       * the defined the type.
+       * 
+ * + * .flyteidl.core.Literal value = 3; + */ + public flyteidl.core.Literals.Literal.Builder getValueBuilder() { + + onChanged(); + return getValueFieldBuilder().getBuilder(); + } + /** + *
+       * The value of the signal. This is only available if the signal has been "set" and must match
+       * the defined the type.
+       * 
+ * + * .flyteidl.core.Literal value = 3; + */ + public flyteidl.core.Literals.LiteralOrBuilder getValueOrBuilder() { + if (valueBuilder_ != null) { + return valueBuilder_.getMessageOrBuilder(); + } else { + return value_ == null ? + flyteidl.core.Literals.Literal.getDefaultInstance() : value_; + } + } + /** + *
+       * The value of the signal. This is only available if the signal has been "set" and must match
+       * the defined the type.
+       * 
+ * + * .flyteidl.core.Literal value = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.Literal, flyteidl.core.Literals.Literal.Builder, flyteidl.core.Literals.LiteralOrBuilder> + getValueFieldBuilder() { + if (valueBuilder_ == null) { + valueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.Literal, flyteidl.core.Literals.Literal.Builder, flyteidl.core.Literals.LiteralOrBuilder>( + getValue(), + getParentForChildren(), + isClean()); + value_ = null; + } + return valueBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.admin.Signal) + } + + // @@protoc_insertion_point(class_scope:flyteidl.admin.Signal) + private static final flyteidl.admin.SignalOuterClass.Signal DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.admin.SignalOuterClass.Signal(); + } + + public static flyteidl.admin.SignalOuterClass.Signal getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Signal parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Signal(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.admin.SignalOuterClass.Signal getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_admin_SignalGetOrCreateRequest_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_admin_SignalGetOrCreateRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_admin_SignalListRequest_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_admin_SignalListRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_admin_SignalList_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_admin_SignalList_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_admin_SignalSetRequest_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_admin_SignalSetRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_admin_SignalSetResponse_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_admin_SignalSetResponse_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_admin_Signal_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_admin_Signal_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\033flyteidl/admin/signal.proto\022\016flyteidl." + + "admin\032\033flyteidl/admin/common.proto\032\036flyt" + + "eidl/core/identifier.proto\032\034flyteidl/cor" + + "e/literals.proto\032\031flyteidl/core/types.pr" + + "oto\"q\n\030SignalGetOrCreateRequest\022+\n\002id\030\001 " + + "\001(\0132\037.flyteidl.core.SignalIdentifier\022(\n\004" + + "type\030\002 \001(\0132\032.flyteidl.core.LiteralType\"\264" + + "\001\n\021SignalListRequest\022I\n\025workflow_executi" + + "on_id\030\001 \001(\0132*.flyteidl.core.WorkflowExec" + + "utionIdentifier\022\r\n\005limit\030\002 \001(\r\022\r\n\005token\030" + + "\003 \001(\t\022\017\n\007filters\030\004 \001(\t\022%\n\007sort_by\030\005 \001(\0132" + + "\024.flyteidl.admin.Sort\"D\n\nSignalList\022\'\n\007s" + + "ignals\030\001 \003(\0132\026.flyteidl.admin.Signal\022\r\n\005" + + "token\030\002 \001(\t\"f\n\020SignalSetRequest\022+\n\002id\030\001 " + + "\001(\0132\037.flyteidl.core.SignalIdentifier\022%\n\005" + + "value\030\002 \001(\0132\026.flyteidl.core.Literal\"\023\n\021S" + + "ignalSetResponse\"\206\001\n\006Signal\022+\n\002id\030\001 \001(\0132" + + "\037.flyteidl.core.SignalIdentifier\022(\n\004type" + + "\030\002 \001(\0132\032.flyteidl.core.LiteralType\022%\n\005va" + + "lue\030\003 \001(\0132\026.flyteidl.core.LiteralB7Z5git" + + "hub.com/flyteorg/flyteidl/gen/pb-go/flyt" + + "eidl/adminb\006proto3" + }; + com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = + new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { + public com.google.protobuf.ExtensionRegistry assignDescriptors( + com.google.protobuf.Descriptors.FileDescriptor root) { + descriptor = root; + return null; + } + }; + com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + flyteidl.admin.Common.getDescriptor(), + flyteidl.core.IdentifierOuterClass.getDescriptor(), + flyteidl.core.Literals.getDescriptor(), + flyteidl.core.Types.getDescriptor(), + }, assigner); + internal_static_flyteidl_admin_SignalGetOrCreateRequest_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_flyteidl_admin_SignalGetOrCreateRequest_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_flyteidl_admin_SignalGetOrCreateRequest_descriptor, + new java.lang.String[] { "Id", "Type", }); + internal_static_flyteidl_admin_SignalListRequest_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_flyteidl_admin_SignalListRequest_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_flyteidl_admin_SignalListRequest_descriptor, + new java.lang.String[] { "WorkflowExecutionId", "Limit", "Token", "Filters", "SortBy", }); + internal_static_flyteidl_admin_SignalList_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_flyteidl_admin_SignalList_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_flyteidl_admin_SignalList_descriptor, + new java.lang.String[] { "Signals", "Token", }); + internal_static_flyteidl_admin_SignalSetRequest_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_flyteidl_admin_SignalSetRequest_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_flyteidl_admin_SignalSetRequest_descriptor, + new java.lang.String[] { "Id", "Value", }); + internal_static_flyteidl_admin_SignalSetResponse_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_flyteidl_admin_SignalSetResponse_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_flyteidl_admin_SignalSetResponse_descriptor, + new java.lang.String[] { }); + internal_static_flyteidl_admin_Signal_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_flyteidl_admin_Signal_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_flyteidl_admin_Signal_descriptor, + new java.lang.String[] { "Id", "Type", "Value", }); + flyteidl.admin.Common.getDescriptor(); + flyteidl.core.IdentifierOuterClass.getDescriptor(); + flyteidl.core.Literals.getDescriptor(); + flyteidl.core.Types.getDescriptor(); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/gen/pb-java/flyteidl/core/IdentifierOuterClass.java b/gen/pb-java/flyteidl/core/IdentifierOuterClass.java index 1ce43c0b76..c227de1f87 100644 --- a/gen/pb-java/flyteidl/core/IdentifierOuterClass.java +++ b/gen/pb-java/flyteidl/core/IdentifierOuterClass.java @@ -3975,6 +3975,853 @@ public flyteidl.core.IdentifierOuterClass.TaskExecutionIdentifier getDefaultInst } + public interface SignalIdentifierOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.core.SignalIdentifier) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Unique identifier for a signal.
+     * 
+ * + * string signal_id = 1; + */ + java.lang.String getSignalId(); + /** + *
+     * Unique identifier for a signal.
+     * 
+ * + * string signal_id = 1; + */ + com.google.protobuf.ByteString + getSignalIdBytes(); + + /** + *
+     * Identifies the Flyte workflow execution this signal belongs to.
+     * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + boolean hasExecutionId(); + /** + *
+     * Identifies the Flyte workflow execution this signal belongs to.
+     * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier getExecutionId(); + /** + *
+     * Identifies the Flyte workflow execution this signal belongs to.
+     * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifierOrBuilder getExecutionIdOrBuilder(); + } + /** + *
+   * Encapsulation of fields the uniquely identify a signal.
+   * 
+ * + * Protobuf type {@code flyteidl.core.SignalIdentifier} + */ + public static final class SignalIdentifier extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.core.SignalIdentifier) + SignalIdentifierOrBuilder { + private static final long serialVersionUID = 0L; + // Use SignalIdentifier.newBuilder() to construct. + private SignalIdentifier(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SignalIdentifier() { + signalId_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SignalIdentifier( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + signalId_ = s; + break; + } + case 18: { + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.Builder subBuilder = null; + if (executionId_ != null) { + subBuilder = executionId_.toBuilder(); + } + executionId_ = input.readMessage(flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(executionId_); + executionId_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.IdentifierOuterClass.internal_static_flyteidl_core_SignalIdentifier_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.IdentifierOuterClass.internal_static_flyteidl_core_SignalIdentifier_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.IdentifierOuterClass.SignalIdentifier.class, flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder.class); + } + + public static final int SIGNAL_ID_FIELD_NUMBER = 1; + private volatile java.lang.Object signalId_; + /** + *
+     * Unique identifier for a signal.
+     * 
+ * + * string signal_id = 1; + */ + public java.lang.String getSignalId() { + java.lang.Object ref = signalId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + signalId_ = s; + return s; + } + } + /** + *
+     * Unique identifier for a signal.
+     * 
+ * + * string signal_id = 1; + */ + public com.google.protobuf.ByteString + getSignalIdBytes() { + java.lang.Object ref = signalId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + signalId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int EXECUTION_ID_FIELD_NUMBER = 2; + private flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier executionId_; + /** + *
+     * Identifies the Flyte workflow execution this signal belongs to.
+     * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + public boolean hasExecutionId() { + return executionId_ != null; + } + /** + *
+     * Identifies the Flyte workflow execution this signal belongs to.
+     * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + public flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier getExecutionId() { + return executionId_ == null ? flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.getDefaultInstance() : executionId_; + } + /** + *
+     * Identifies the Flyte workflow execution this signal belongs to.
+     * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + public flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifierOrBuilder getExecutionIdOrBuilder() { + return getExecutionId(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getSignalIdBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, signalId_); + } + if (executionId_ != null) { + output.writeMessage(2, getExecutionId()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getSignalIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, signalId_); + } + if (executionId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getExecutionId()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.core.IdentifierOuterClass.SignalIdentifier)) { + return super.equals(obj); + } + flyteidl.core.IdentifierOuterClass.SignalIdentifier other = (flyteidl.core.IdentifierOuterClass.SignalIdentifier) obj; + + if (!getSignalId() + .equals(other.getSignalId())) return false; + if (hasExecutionId() != other.hasExecutionId()) return false; + if (hasExecutionId()) { + if (!getExecutionId() + .equals(other.getExecutionId())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + SIGNAL_ID_FIELD_NUMBER; + hash = (53 * hash) + getSignalId().hashCode(); + if (hasExecutionId()) { + hash = (37 * hash) + EXECUTION_ID_FIELD_NUMBER; + hash = (53 * hash) + getExecutionId().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.core.IdentifierOuterClass.SignalIdentifier parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.IdentifierOuterClass.SignalIdentifier parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.IdentifierOuterClass.SignalIdentifier parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.IdentifierOuterClass.SignalIdentifier parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.IdentifierOuterClass.SignalIdentifier parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.IdentifierOuterClass.SignalIdentifier parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.IdentifierOuterClass.SignalIdentifier parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.IdentifierOuterClass.SignalIdentifier parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.core.IdentifierOuterClass.SignalIdentifier parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.core.IdentifierOuterClass.SignalIdentifier parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.core.IdentifierOuterClass.SignalIdentifier parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.IdentifierOuterClass.SignalIdentifier parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.core.IdentifierOuterClass.SignalIdentifier prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Encapsulation of fields the uniquely identify a signal.
+     * 
+ * + * Protobuf type {@code flyteidl.core.SignalIdentifier} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.core.SignalIdentifier) + flyteidl.core.IdentifierOuterClass.SignalIdentifierOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.IdentifierOuterClass.internal_static_flyteidl_core_SignalIdentifier_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.IdentifierOuterClass.internal_static_flyteidl_core_SignalIdentifier_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.IdentifierOuterClass.SignalIdentifier.class, flyteidl.core.IdentifierOuterClass.SignalIdentifier.Builder.class); + } + + // Construct using flyteidl.core.IdentifierOuterClass.SignalIdentifier.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + signalId_ = ""; + + if (executionIdBuilder_ == null) { + executionId_ = null; + } else { + executionId_ = null; + executionIdBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.core.IdentifierOuterClass.internal_static_flyteidl_core_SignalIdentifier_descriptor; + } + + @java.lang.Override + public flyteidl.core.IdentifierOuterClass.SignalIdentifier getDefaultInstanceForType() { + return flyteidl.core.IdentifierOuterClass.SignalIdentifier.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.core.IdentifierOuterClass.SignalIdentifier build() { + flyteidl.core.IdentifierOuterClass.SignalIdentifier result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.core.IdentifierOuterClass.SignalIdentifier buildPartial() { + flyteidl.core.IdentifierOuterClass.SignalIdentifier result = new flyteidl.core.IdentifierOuterClass.SignalIdentifier(this); + result.signalId_ = signalId_; + if (executionIdBuilder_ == null) { + result.executionId_ = executionId_; + } else { + result.executionId_ = executionIdBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.core.IdentifierOuterClass.SignalIdentifier) { + return mergeFrom((flyteidl.core.IdentifierOuterClass.SignalIdentifier)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.core.IdentifierOuterClass.SignalIdentifier other) { + if (other == flyteidl.core.IdentifierOuterClass.SignalIdentifier.getDefaultInstance()) return this; + if (!other.getSignalId().isEmpty()) { + signalId_ = other.signalId_; + onChanged(); + } + if (other.hasExecutionId()) { + mergeExecutionId(other.getExecutionId()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.core.IdentifierOuterClass.SignalIdentifier parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.core.IdentifierOuterClass.SignalIdentifier) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object signalId_ = ""; + /** + *
+       * Unique identifier for a signal.
+       * 
+ * + * string signal_id = 1; + */ + public java.lang.String getSignalId() { + java.lang.Object ref = signalId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + signalId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Unique identifier for a signal.
+       * 
+ * + * string signal_id = 1; + */ + public com.google.protobuf.ByteString + getSignalIdBytes() { + java.lang.Object ref = signalId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + signalId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Unique identifier for a signal.
+       * 
+ * + * string signal_id = 1; + */ + public Builder setSignalId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + signalId_ = value; + onChanged(); + return this; + } + /** + *
+       * Unique identifier for a signal.
+       * 
+ * + * string signal_id = 1; + */ + public Builder clearSignalId() { + + signalId_ = getDefaultInstance().getSignalId(); + onChanged(); + return this; + } + /** + *
+       * Unique identifier for a signal.
+       * 
+ * + * string signal_id = 1; + */ + public Builder setSignalIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + signalId_ = value; + onChanged(); + return this; + } + + private flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier executionId_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier, flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.Builder, flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifierOrBuilder> executionIdBuilder_; + /** + *
+       * Identifies the Flyte workflow execution this signal belongs to.
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + public boolean hasExecutionId() { + return executionIdBuilder_ != null || executionId_ != null; + } + /** + *
+       * Identifies the Flyte workflow execution this signal belongs to.
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + public flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier getExecutionId() { + if (executionIdBuilder_ == null) { + return executionId_ == null ? flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.getDefaultInstance() : executionId_; + } else { + return executionIdBuilder_.getMessage(); + } + } + /** + *
+       * Identifies the Flyte workflow execution this signal belongs to.
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + public Builder setExecutionId(flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier value) { + if (executionIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + executionId_ = value; + onChanged(); + } else { + executionIdBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * Identifies the Flyte workflow execution this signal belongs to.
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + public Builder setExecutionId( + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.Builder builderForValue) { + if (executionIdBuilder_ == null) { + executionId_ = builderForValue.build(); + onChanged(); + } else { + executionIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * Identifies the Flyte workflow execution this signal belongs to.
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + public Builder mergeExecutionId(flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier value) { + if (executionIdBuilder_ == null) { + if (executionId_ != null) { + executionId_ = + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.newBuilder(executionId_).mergeFrom(value).buildPartial(); + } else { + executionId_ = value; + } + onChanged(); + } else { + executionIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * Identifies the Flyte workflow execution this signal belongs to.
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + public Builder clearExecutionId() { + if (executionIdBuilder_ == null) { + executionId_ = null; + onChanged(); + } else { + executionId_ = null; + executionIdBuilder_ = null; + } + + return this; + } + /** + *
+       * Identifies the Flyte workflow execution this signal belongs to.
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + public flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.Builder getExecutionIdBuilder() { + + onChanged(); + return getExecutionIdFieldBuilder().getBuilder(); + } + /** + *
+       * Identifies the Flyte workflow execution this signal belongs to.
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + public flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifierOrBuilder getExecutionIdOrBuilder() { + if (executionIdBuilder_ != null) { + return executionIdBuilder_.getMessageOrBuilder(); + } else { + return executionId_ == null ? + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.getDefaultInstance() : executionId_; + } + } + /** + *
+       * Identifies the Flyte workflow execution this signal belongs to.
+       * 
+ * + * .flyteidl.core.WorkflowExecutionIdentifier execution_id = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier, flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.Builder, flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifierOrBuilder> + getExecutionIdFieldBuilder() { + if (executionIdBuilder_ == null) { + executionIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier, flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier.Builder, flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifierOrBuilder>( + getExecutionId(), + getParentForChildren(), + isClean()); + executionId_ = null; + } + return executionIdBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.core.SignalIdentifier) + } + + // @@protoc_insertion_point(class_scope:flyteidl.core.SignalIdentifier) + private static final flyteidl.core.IdentifierOuterClass.SignalIdentifier DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.core.IdentifierOuterClass.SignalIdentifier(); + } + + public static flyteidl.core.IdentifierOuterClass.SignalIdentifier getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SignalIdentifier parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SignalIdentifier(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.core.IdentifierOuterClass.SignalIdentifier getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + private static final com.google.protobuf.Descriptors.Descriptor internal_static_flyteidl_core_Identifier_descriptor; private static final @@ -3995,6 +4842,11 @@ public flyteidl.core.IdentifierOuterClass.TaskExecutionIdentifier getDefaultInst private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_flyteidl_core_TaskExecutionIdentifier_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_core_SignalIdentifier_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_core_SignalIdentifier_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { @@ -4017,10 +4869,13 @@ public flyteidl.core.IdentifierOuterClass.TaskExecutionIdentifier getDefaultInst "sk_id\030\001 \001(\0132\031.flyteidl.core.Identifier\022A" + "\n\021node_execution_id\030\002 \001(\0132&.flyteidl.cor" + "e.NodeExecutionIdentifier\022\025\n\rretry_attem" + - "pt\030\003 \001(\r*U\n\014ResourceType\022\017\n\013UNSPECIFIED\020" + - "\000\022\010\n\004TASK\020\001\022\014\n\010WORKFLOW\020\002\022\017\n\013LAUNCH_PLAN" + - "\020\003\022\013\n\007DATASET\020\004B6Z4github.com/flyteorg/f" + - "lyteidl/gen/pb-go/flyteidl/coreb\006proto3" + "pt\030\003 \001(\r\"g\n\020SignalIdentifier\022\021\n\tsignal_i" + + "d\030\001 \001(\t\022@\n\014execution_id\030\002 \001(\0132*.flyteidl" + + ".core.WorkflowExecutionIdentifier*U\n\014Res" + + "ourceType\022\017\n\013UNSPECIFIED\020\000\022\010\n\004TASK\020\001\022\014\n\010" + + "WORKFLOW\020\002\022\017\n\013LAUNCH_PLAN\020\003\022\013\n\007DATASET\020\004" + + "B6Z4github.com/flyteorg/flyteidl/gen/pb-" + + "go/flyteidl/coreb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -4058,6 +4913,12 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_core_TaskExecutionIdentifier_descriptor, new java.lang.String[] { "TaskId", "NodeExecutionId", "RetryAttempt", }); + internal_static_flyteidl_core_SignalIdentifier_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_flyteidl_core_SignalIdentifier_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_flyteidl_core_SignalIdentifier_descriptor, + new java.lang.String[] { "SignalId", "ExecutionId", }); } // @@protoc_insertion_point(outer_class_scope) diff --git a/gen/pb-java/flyteidl/core/Workflow.java b/gen/pb-java/flyteidl/core/Workflow.java index 2203fa4fe3..2b6417343d 100644 --- a/gen/pb-java/flyteidl/core/Workflow.java +++ b/gen/pb-java/flyteidl/core/Workflow.java @@ -5341,6 +5341,3614 @@ public flyteidl.core.Workflow.WorkflowNode getDefaultInstanceForType() { } + public interface ApproveConditionOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.core.ApproveCondition) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * A unique identifier for the requested boolean signal.
+     * 
+ * + * string signal_id = 1; + */ + java.lang.String getSignalId(); + /** + *
+     * A unique identifier for the requested boolean signal.
+     * 
+ * + * string signal_id = 1; + */ + com.google.protobuf.ByteString + getSignalIdBytes(); + } + /** + *
+   * ApproveCondition represents a dependency on an external approval. During execution, this will manifest as a boolean
+   * signal with the provided signal_id.
+   * 
+ * + * Protobuf type {@code flyteidl.core.ApproveCondition} + */ + public static final class ApproveCondition extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.core.ApproveCondition) + ApproveConditionOrBuilder { + private static final long serialVersionUID = 0L; + // Use ApproveCondition.newBuilder() to construct. + private ApproveCondition(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ApproveCondition() { + signalId_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ApproveCondition( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + signalId_ = s; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_ApproveCondition_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_ApproveCondition_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.Workflow.ApproveCondition.class, flyteidl.core.Workflow.ApproveCondition.Builder.class); + } + + public static final int SIGNAL_ID_FIELD_NUMBER = 1; + private volatile java.lang.Object signalId_; + /** + *
+     * A unique identifier for the requested boolean signal.
+     * 
+ * + * string signal_id = 1; + */ + public java.lang.String getSignalId() { + java.lang.Object ref = signalId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + signalId_ = s; + return s; + } + } + /** + *
+     * A unique identifier for the requested boolean signal.
+     * 
+ * + * string signal_id = 1; + */ + public com.google.protobuf.ByteString + getSignalIdBytes() { + java.lang.Object ref = signalId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + signalId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getSignalIdBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, signalId_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getSignalIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, signalId_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.core.Workflow.ApproveCondition)) { + return super.equals(obj); + } + flyteidl.core.Workflow.ApproveCondition other = (flyteidl.core.Workflow.ApproveCondition) obj; + + if (!getSignalId() + .equals(other.getSignalId())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + SIGNAL_ID_FIELD_NUMBER; + hash = (53 * hash) + getSignalId().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.core.Workflow.ApproveCondition parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Workflow.ApproveCondition parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Workflow.ApproveCondition parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Workflow.ApproveCondition parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Workflow.ApproveCondition parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Workflow.ApproveCondition parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Workflow.ApproveCondition parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.Workflow.ApproveCondition parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.core.Workflow.ApproveCondition parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.core.Workflow.ApproveCondition parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.core.Workflow.ApproveCondition parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.Workflow.ApproveCondition parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.core.Workflow.ApproveCondition prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * ApproveCondition represents a dependency on an external approval. During execution, this will manifest as a boolean
+     * signal with the provided signal_id.
+     * 
+ * + * Protobuf type {@code flyteidl.core.ApproveCondition} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.core.ApproveCondition) + flyteidl.core.Workflow.ApproveConditionOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_ApproveCondition_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_ApproveCondition_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.Workflow.ApproveCondition.class, flyteidl.core.Workflow.ApproveCondition.Builder.class); + } + + // Construct using flyteidl.core.Workflow.ApproveCondition.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + signalId_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_ApproveCondition_descriptor; + } + + @java.lang.Override + public flyteidl.core.Workflow.ApproveCondition getDefaultInstanceForType() { + return flyteidl.core.Workflow.ApproveCondition.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.core.Workflow.ApproveCondition build() { + flyteidl.core.Workflow.ApproveCondition result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.core.Workflow.ApproveCondition buildPartial() { + flyteidl.core.Workflow.ApproveCondition result = new flyteidl.core.Workflow.ApproveCondition(this); + result.signalId_ = signalId_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.core.Workflow.ApproveCondition) { + return mergeFrom((flyteidl.core.Workflow.ApproveCondition)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.core.Workflow.ApproveCondition other) { + if (other == flyteidl.core.Workflow.ApproveCondition.getDefaultInstance()) return this; + if (!other.getSignalId().isEmpty()) { + signalId_ = other.signalId_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.core.Workflow.ApproveCondition parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.core.Workflow.ApproveCondition) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object signalId_ = ""; + /** + *
+       * A unique identifier for the requested boolean signal.
+       * 
+ * + * string signal_id = 1; + */ + public java.lang.String getSignalId() { + java.lang.Object ref = signalId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + signalId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * A unique identifier for the requested boolean signal.
+       * 
+ * + * string signal_id = 1; + */ + public com.google.protobuf.ByteString + getSignalIdBytes() { + java.lang.Object ref = signalId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + signalId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * A unique identifier for the requested boolean signal.
+       * 
+ * + * string signal_id = 1; + */ + public Builder setSignalId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + signalId_ = value; + onChanged(); + return this; + } + /** + *
+       * A unique identifier for the requested boolean signal.
+       * 
+ * + * string signal_id = 1; + */ + public Builder clearSignalId() { + + signalId_ = getDefaultInstance().getSignalId(); + onChanged(); + return this; + } + /** + *
+       * A unique identifier for the requested boolean signal.
+       * 
+ * + * string signal_id = 1; + */ + public Builder setSignalIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + signalId_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.core.ApproveCondition) + } + + // @@protoc_insertion_point(class_scope:flyteidl.core.ApproveCondition) + private static final flyteidl.core.Workflow.ApproveCondition DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.core.Workflow.ApproveCondition(); + } + + public static flyteidl.core.Workflow.ApproveCondition getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ApproveCondition parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ApproveCondition(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.core.Workflow.ApproveCondition getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SignalConditionOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.core.SignalCondition) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * string signal_id = 1; + */ + java.lang.String getSignalId(); + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * string signal_id = 1; + */ + com.google.protobuf.ByteString + getSignalIdBytes(); + + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + boolean hasType(); + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + flyteidl.core.Types.LiteralType getType(); + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + flyteidl.core.Types.LiteralTypeOrBuilder getTypeOrBuilder(); + + /** + *
+     * The variable name for the signal value in this nodes outputs.
+     * 
+ * + * string output_variable_name = 3; + */ + java.lang.String getOutputVariableName(); + /** + *
+     * The variable name for the signal value in this nodes outputs.
+     * 
+ * + * string output_variable_name = 3; + */ + com.google.protobuf.ByteString + getOutputVariableNameBytes(); + } + /** + *
+   * SignalCondition represents a dependency on an signal.
+   * 
+ * + * Protobuf type {@code flyteidl.core.SignalCondition} + */ + public static final class SignalCondition extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.core.SignalCondition) + SignalConditionOrBuilder { + private static final long serialVersionUID = 0L; + // Use SignalCondition.newBuilder() to construct. + private SignalCondition(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SignalCondition() { + signalId_ = ""; + outputVariableName_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SignalCondition( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + signalId_ = s; + break; + } + case 18: { + flyteidl.core.Types.LiteralType.Builder subBuilder = null; + if (type_ != null) { + subBuilder = type_.toBuilder(); + } + type_ = input.readMessage(flyteidl.core.Types.LiteralType.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(type_); + type_ = subBuilder.buildPartial(); + } + + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + outputVariableName_ = s; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_SignalCondition_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_SignalCondition_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.Workflow.SignalCondition.class, flyteidl.core.Workflow.SignalCondition.Builder.class); + } + + public static final int SIGNAL_ID_FIELD_NUMBER = 1; + private volatile java.lang.Object signalId_; + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * string signal_id = 1; + */ + public java.lang.String getSignalId() { + java.lang.Object ref = signalId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + signalId_ = s; + return s; + } + } + /** + *
+     * A unique identifier for the requested signal.
+     * 
+ * + * string signal_id = 1; + */ + public com.google.protobuf.ByteString + getSignalIdBytes() { + java.lang.Object ref = signalId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + signalId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TYPE_FIELD_NUMBER = 2; + private flyteidl.core.Types.LiteralType type_; + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public boolean hasType() { + return type_ != null; + } + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralType getType() { + return type_ == null ? flyteidl.core.Types.LiteralType.getDefaultInstance() : type_; + } + /** + *
+     * A type denoting the required value type for this signal.
+     * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralTypeOrBuilder getTypeOrBuilder() { + return getType(); + } + + public static final int OUTPUT_VARIABLE_NAME_FIELD_NUMBER = 3; + private volatile java.lang.Object outputVariableName_; + /** + *
+     * The variable name for the signal value in this nodes outputs.
+     * 
+ * + * string output_variable_name = 3; + */ + public java.lang.String getOutputVariableName() { + java.lang.Object ref = outputVariableName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + outputVariableName_ = s; + return s; + } + } + /** + *
+     * The variable name for the signal value in this nodes outputs.
+     * 
+ * + * string output_variable_name = 3; + */ + public com.google.protobuf.ByteString + getOutputVariableNameBytes() { + java.lang.Object ref = outputVariableName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + outputVariableName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getSignalIdBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, signalId_); + } + if (type_ != null) { + output.writeMessage(2, getType()); + } + if (!getOutputVariableNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, outputVariableName_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getSignalIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, signalId_); + } + if (type_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getType()); + } + if (!getOutputVariableNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, outputVariableName_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.core.Workflow.SignalCondition)) { + return super.equals(obj); + } + flyteidl.core.Workflow.SignalCondition other = (flyteidl.core.Workflow.SignalCondition) obj; + + if (!getSignalId() + .equals(other.getSignalId())) return false; + if (hasType() != other.hasType()) return false; + if (hasType()) { + if (!getType() + .equals(other.getType())) return false; + } + if (!getOutputVariableName() + .equals(other.getOutputVariableName())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + SIGNAL_ID_FIELD_NUMBER; + hash = (53 * hash) + getSignalId().hashCode(); + if (hasType()) { + hash = (37 * hash) + TYPE_FIELD_NUMBER; + hash = (53 * hash) + getType().hashCode(); + } + hash = (37 * hash) + OUTPUT_VARIABLE_NAME_FIELD_NUMBER; + hash = (53 * hash) + getOutputVariableName().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.core.Workflow.SignalCondition parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Workflow.SignalCondition parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Workflow.SignalCondition parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Workflow.SignalCondition parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Workflow.SignalCondition parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Workflow.SignalCondition parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Workflow.SignalCondition parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.Workflow.SignalCondition parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.core.Workflow.SignalCondition parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.core.Workflow.SignalCondition parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.core.Workflow.SignalCondition parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.Workflow.SignalCondition parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.core.Workflow.SignalCondition prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * SignalCondition represents a dependency on an signal.
+     * 
+ * + * Protobuf type {@code flyteidl.core.SignalCondition} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.core.SignalCondition) + flyteidl.core.Workflow.SignalConditionOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_SignalCondition_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_SignalCondition_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.Workflow.SignalCondition.class, flyteidl.core.Workflow.SignalCondition.Builder.class); + } + + // Construct using flyteidl.core.Workflow.SignalCondition.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + signalId_ = ""; + + if (typeBuilder_ == null) { + type_ = null; + } else { + type_ = null; + typeBuilder_ = null; + } + outputVariableName_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_SignalCondition_descriptor; + } + + @java.lang.Override + public flyteidl.core.Workflow.SignalCondition getDefaultInstanceForType() { + return flyteidl.core.Workflow.SignalCondition.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.core.Workflow.SignalCondition build() { + flyteidl.core.Workflow.SignalCondition result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.core.Workflow.SignalCondition buildPartial() { + flyteidl.core.Workflow.SignalCondition result = new flyteidl.core.Workflow.SignalCondition(this); + result.signalId_ = signalId_; + if (typeBuilder_ == null) { + result.type_ = type_; + } else { + result.type_ = typeBuilder_.build(); + } + result.outputVariableName_ = outputVariableName_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.core.Workflow.SignalCondition) { + return mergeFrom((flyteidl.core.Workflow.SignalCondition)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.core.Workflow.SignalCondition other) { + if (other == flyteidl.core.Workflow.SignalCondition.getDefaultInstance()) return this; + if (!other.getSignalId().isEmpty()) { + signalId_ = other.signalId_; + onChanged(); + } + if (other.hasType()) { + mergeType(other.getType()); + } + if (!other.getOutputVariableName().isEmpty()) { + outputVariableName_ = other.outputVariableName_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.core.Workflow.SignalCondition parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.core.Workflow.SignalCondition) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object signalId_ = ""; + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * string signal_id = 1; + */ + public java.lang.String getSignalId() { + java.lang.Object ref = signalId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + signalId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * string signal_id = 1; + */ + public com.google.protobuf.ByteString + getSignalIdBytes() { + java.lang.Object ref = signalId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + signalId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * string signal_id = 1; + */ + public Builder setSignalId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + signalId_ = value; + onChanged(); + return this; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * string signal_id = 1; + */ + public Builder clearSignalId() { + + signalId_ = getDefaultInstance().getSignalId(); + onChanged(); + return this; + } + /** + *
+       * A unique identifier for the requested signal.
+       * 
+ * + * string signal_id = 1; + */ + public Builder setSignalIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + signalId_ = value; + onChanged(); + return this; + } + + private flyteidl.core.Types.LiteralType type_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Types.LiteralType, flyteidl.core.Types.LiteralType.Builder, flyteidl.core.Types.LiteralTypeOrBuilder> typeBuilder_; + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public boolean hasType() { + return typeBuilder_ != null || type_ != null; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralType getType() { + if (typeBuilder_ == null) { + return type_ == null ? flyteidl.core.Types.LiteralType.getDefaultInstance() : type_; + } else { + return typeBuilder_.getMessage(); + } + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public Builder setType(flyteidl.core.Types.LiteralType value) { + if (typeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + type_ = value; + onChanged(); + } else { + typeBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public Builder setType( + flyteidl.core.Types.LiteralType.Builder builderForValue) { + if (typeBuilder_ == null) { + type_ = builderForValue.build(); + onChanged(); + } else { + typeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public Builder mergeType(flyteidl.core.Types.LiteralType value) { + if (typeBuilder_ == null) { + if (type_ != null) { + type_ = + flyteidl.core.Types.LiteralType.newBuilder(type_).mergeFrom(value).buildPartial(); + } else { + type_ = value; + } + onChanged(); + } else { + typeBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public Builder clearType() { + if (typeBuilder_ == null) { + type_ = null; + onChanged(); + } else { + type_ = null; + typeBuilder_ = null; + } + + return this; + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralType.Builder getTypeBuilder() { + + onChanged(); + return getTypeFieldBuilder().getBuilder(); + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + public flyteidl.core.Types.LiteralTypeOrBuilder getTypeOrBuilder() { + if (typeBuilder_ != null) { + return typeBuilder_.getMessageOrBuilder(); + } else { + return type_ == null ? + flyteidl.core.Types.LiteralType.getDefaultInstance() : type_; + } + } + /** + *
+       * A type denoting the required value type for this signal.
+       * 
+ * + * .flyteidl.core.LiteralType type = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Types.LiteralType, flyteidl.core.Types.LiteralType.Builder, flyteidl.core.Types.LiteralTypeOrBuilder> + getTypeFieldBuilder() { + if (typeBuilder_ == null) { + typeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Types.LiteralType, flyteidl.core.Types.LiteralType.Builder, flyteidl.core.Types.LiteralTypeOrBuilder>( + getType(), + getParentForChildren(), + isClean()); + type_ = null; + } + return typeBuilder_; + } + + private java.lang.Object outputVariableName_ = ""; + /** + *
+       * The variable name for the signal value in this nodes outputs.
+       * 
+ * + * string output_variable_name = 3; + */ + public java.lang.String getOutputVariableName() { + java.lang.Object ref = outputVariableName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + outputVariableName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The variable name for the signal value in this nodes outputs.
+       * 
+ * + * string output_variable_name = 3; + */ + public com.google.protobuf.ByteString + getOutputVariableNameBytes() { + java.lang.Object ref = outputVariableName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + outputVariableName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The variable name for the signal value in this nodes outputs.
+       * 
+ * + * string output_variable_name = 3; + */ + public Builder setOutputVariableName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + outputVariableName_ = value; + onChanged(); + return this; + } + /** + *
+       * The variable name for the signal value in this nodes outputs.
+       * 
+ * + * string output_variable_name = 3; + */ + public Builder clearOutputVariableName() { + + outputVariableName_ = getDefaultInstance().getOutputVariableName(); + onChanged(); + return this; + } + /** + *
+       * The variable name for the signal value in this nodes outputs.
+       * 
+ * + * string output_variable_name = 3; + */ + public Builder setOutputVariableNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + outputVariableName_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.core.SignalCondition) + } + + // @@protoc_insertion_point(class_scope:flyteidl.core.SignalCondition) + private static final flyteidl.core.Workflow.SignalCondition DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.core.Workflow.SignalCondition(); + } + + public static flyteidl.core.Workflow.SignalCondition getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SignalCondition parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SignalCondition(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.core.Workflow.SignalCondition getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SleepConditionOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.core.SleepCondition) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * The overall duration for this sleep.
+     * 
+ * + * .google.protobuf.Duration duration = 1; + */ + boolean hasDuration(); + /** + *
+     * The overall duration for this sleep.
+     * 
+ * + * .google.protobuf.Duration duration = 1; + */ + com.google.protobuf.Duration getDuration(); + /** + *
+     * The overall duration for this sleep.
+     * 
+ * + * .google.protobuf.Duration duration = 1; + */ + com.google.protobuf.DurationOrBuilder getDurationOrBuilder(); + } + /** + *
+   * SleepCondition represents a dependency on waiting for the specified duration.
+   * 
+ * + * Protobuf type {@code flyteidl.core.SleepCondition} + */ + public static final class SleepCondition extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.core.SleepCondition) + SleepConditionOrBuilder { + private static final long serialVersionUID = 0L; + // Use SleepCondition.newBuilder() to construct. + private SleepCondition(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SleepCondition() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SleepCondition( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + com.google.protobuf.Duration.Builder subBuilder = null; + if (duration_ != null) { + subBuilder = duration_.toBuilder(); + } + duration_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(duration_); + duration_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_SleepCondition_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_SleepCondition_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.Workflow.SleepCondition.class, flyteidl.core.Workflow.SleepCondition.Builder.class); + } + + public static final int DURATION_FIELD_NUMBER = 1; + private com.google.protobuf.Duration duration_; + /** + *
+     * The overall duration for this sleep.
+     * 
+ * + * .google.protobuf.Duration duration = 1; + */ + public boolean hasDuration() { + return duration_ != null; + } + /** + *
+     * The overall duration for this sleep.
+     * 
+ * + * .google.protobuf.Duration duration = 1; + */ + public com.google.protobuf.Duration getDuration() { + return duration_ == null ? com.google.protobuf.Duration.getDefaultInstance() : duration_; + } + /** + *
+     * The overall duration for this sleep.
+     * 
+ * + * .google.protobuf.Duration duration = 1; + */ + public com.google.protobuf.DurationOrBuilder getDurationOrBuilder() { + return getDuration(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (duration_ != null) { + output.writeMessage(1, getDuration()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (duration_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getDuration()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.core.Workflow.SleepCondition)) { + return super.equals(obj); + } + flyteidl.core.Workflow.SleepCondition other = (flyteidl.core.Workflow.SleepCondition) obj; + + if (hasDuration() != other.hasDuration()) return false; + if (hasDuration()) { + if (!getDuration() + .equals(other.getDuration())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasDuration()) { + hash = (37 * hash) + DURATION_FIELD_NUMBER; + hash = (53 * hash) + getDuration().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.core.Workflow.SleepCondition parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Workflow.SleepCondition parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Workflow.SleepCondition parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Workflow.SleepCondition parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Workflow.SleepCondition parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Workflow.SleepCondition parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Workflow.SleepCondition parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.Workflow.SleepCondition parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.core.Workflow.SleepCondition parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.core.Workflow.SleepCondition parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.core.Workflow.SleepCondition parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.Workflow.SleepCondition parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.core.Workflow.SleepCondition prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * SleepCondition represents a dependency on waiting for the specified duration.
+     * 
+ * + * Protobuf type {@code flyteidl.core.SleepCondition} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.core.SleepCondition) + flyteidl.core.Workflow.SleepConditionOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_SleepCondition_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_SleepCondition_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.Workflow.SleepCondition.class, flyteidl.core.Workflow.SleepCondition.Builder.class); + } + + // Construct using flyteidl.core.Workflow.SleepCondition.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (durationBuilder_ == null) { + duration_ = null; + } else { + duration_ = null; + durationBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_SleepCondition_descriptor; + } + + @java.lang.Override + public flyteidl.core.Workflow.SleepCondition getDefaultInstanceForType() { + return flyteidl.core.Workflow.SleepCondition.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.core.Workflow.SleepCondition build() { + flyteidl.core.Workflow.SleepCondition result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.core.Workflow.SleepCondition buildPartial() { + flyteidl.core.Workflow.SleepCondition result = new flyteidl.core.Workflow.SleepCondition(this); + if (durationBuilder_ == null) { + result.duration_ = duration_; + } else { + result.duration_ = durationBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.core.Workflow.SleepCondition) { + return mergeFrom((flyteidl.core.Workflow.SleepCondition)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.core.Workflow.SleepCondition other) { + if (other == flyteidl.core.Workflow.SleepCondition.getDefaultInstance()) return this; + if (other.hasDuration()) { + mergeDuration(other.getDuration()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.core.Workflow.SleepCondition parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.core.Workflow.SleepCondition) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private com.google.protobuf.Duration duration_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> durationBuilder_; + /** + *
+       * The overall duration for this sleep.
+       * 
+ * + * .google.protobuf.Duration duration = 1; + */ + public boolean hasDuration() { + return durationBuilder_ != null || duration_ != null; + } + /** + *
+       * The overall duration for this sleep.
+       * 
+ * + * .google.protobuf.Duration duration = 1; + */ + public com.google.protobuf.Duration getDuration() { + if (durationBuilder_ == null) { + return duration_ == null ? com.google.protobuf.Duration.getDefaultInstance() : duration_; + } else { + return durationBuilder_.getMessage(); + } + } + /** + *
+       * The overall duration for this sleep.
+       * 
+ * + * .google.protobuf.Duration duration = 1; + */ + public Builder setDuration(com.google.protobuf.Duration value) { + if (durationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + duration_ = value; + onChanged(); + } else { + durationBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * The overall duration for this sleep.
+       * 
+ * + * .google.protobuf.Duration duration = 1; + */ + public Builder setDuration( + com.google.protobuf.Duration.Builder builderForValue) { + if (durationBuilder_ == null) { + duration_ = builderForValue.build(); + onChanged(); + } else { + durationBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * The overall duration for this sleep.
+       * 
+ * + * .google.protobuf.Duration duration = 1; + */ + public Builder mergeDuration(com.google.protobuf.Duration value) { + if (durationBuilder_ == null) { + if (duration_ != null) { + duration_ = + com.google.protobuf.Duration.newBuilder(duration_).mergeFrom(value).buildPartial(); + } else { + duration_ = value; + } + onChanged(); + } else { + durationBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * The overall duration for this sleep.
+       * 
+ * + * .google.protobuf.Duration duration = 1; + */ + public Builder clearDuration() { + if (durationBuilder_ == null) { + duration_ = null; + onChanged(); + } else { + duration_ = null; + durationBuilder_ = null; + } + + return this; + } + /** + *
+       * The overall duration for this sleep.
+       * 
+ * + * .google.protobuf.Duration duration = 1; + */ + public com.google.protobuf.Duration.Builder getDurationBuilder() { + + onChanged(); + return getDurationFieldBuilder().getBuilder(); + } + /** + *
+       * The overall duration for this sleep.
+       * 
+ * + * .google.protobuf.Duration duration = 1; + */ + public com.google.protobuf.DurationOrBuilder getDurationOrBuilder() { + if (durationBuilder_ != null) { + return durationBuilder_.getMessageOrBuilder(); + } else { + return duration_ == null ? + com.google.protobuf.Duration.getDefaultInstance() : duration_; + } + } + /** + *
+       * The overall duration for this sleep.
+       * 
+ * + * .google.protobuf.Duration duration = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> + getDurationFieldBuilder() { + if (durationBuilder_ == null) { + durationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( + getDuration(), + getParentForChildren(), + isClean()); + duration_ = null; + } + return durationBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.core.SleepCondition) + } + + // @@protoc_insertion_point(class_scope:flyteidl.core.SleepCondition) + private static final flyteidl.core.Workflow.SleepCondition DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.core.Workflow.SleepCondition(); + } + + public static flyteidl.core.Workflow.SleepCondition getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SleepCondition parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SleepCondition(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.core.Workflow.SleepCondition getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface GateNodeOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.core.GateNode) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+     * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + boolean hasApprove(); + /** + *
+     * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+     * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + flyteidl.core.Workflow.ApproveCondition getApprove(); + /** + *
+     * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+     * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + flyteidl.core.Workflow.ApproveConditionOrBuilder getApproveOrBuilder(); + + /** + *
+     * SignalCondition represents a dependency on an signal.
+     * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + boolean hasSignal(); + /** + *
+     * SignalCondition represents a dependency on an signal.
+     * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + flyteidl.core.Workflow.SignalCondition getSignal(); + /** + *
+     * SignalCondition represents a dependency on an signal.
+     * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + flyteidl.core.Workflow.SignalConditionOrBuilder getSignalOrBuilder(); + + /** + *
+     * SleepCondition represents a dependency on waiting for the specified duration.
+     * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + boolean hasSleep(); + /** + *
+     * SleepCondition represents a dependency on waiting for the specified duration.
+     * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + flyteidl.core.Workflow.SleepCondition getSleep(); + /** + *
+     * SleepCondition represents a dependency on waiting for the specified duration.
+     * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + flyteidl.core.Workflow.SleepConditionOrBuilder getSleepOrBuilder(); + + public flyteidl.core.Workflow.GateNode.ConditionCase getConditionCase(); + } + /** + *
+   * GateNode refers to the condition that is required for the gate to successfully complete.
+   * 
+ * + * Protobuf type {@code flyteidl.core.GateNode} + */ + public static final class GateNode extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.core.GateNode) + GateNodeOrBuilder { + private static final long serialVersionUID = 0L; + // Use GateNode.newBuilder() to construct. + private GateNode(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private GateNode() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private GateNode( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + flyteidl.core.Workflow.ApproveCondition.Builder subBuilder = null; + if (conditionCase_ == 1) { + subBuilder = ((flyteidl.core.Workflow.ApproveCondition) condition_).toBuilder(); + } + condition_ = + input.readMessage(flyteidl.core.Workflow.ApproveCondition.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((flyteidl.core.Workflow.ApproveCondition) condition_); + condition_ = subBuilder.buildPartial(); + } + conditionCase_ = 1; + break; + } + case 18: { + flyteidl.core.Workflow.SignalCondition.Builder subBuilder = null; + if (conditionCase_ == 2) { + subBuilder = ((flyteidl.core.Workflow.SignalCondition) condition_).toBuilder(); + } + condition_ = + input.readMessage(flyteidl.core.Workflow.SignalCondition.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((flyteidl.core.Workflow.SignalCondition) condition_); + condition_ = subBuilder.buildPartial(); + } + conditionCase_ = 2; + break; + } + case 26: { + flyteidl.core.Workflow.SleepCondition.Builder subBuilder = null; + if (conditionCase_ == 3) { + subBuilder = ((flyteidl.core.Workflow.SleepCondition) condition_).toBuilder(); + } + condition_ = + input.readMessage(flyteidl.core.Workflow.SleepCondition.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((flyteidl.core.Workflow.SleepCondition) condition_); + condition_ = subBuilder.buildPartial(); + } + conditionCase_ = 3; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_GateNode_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_GateNode_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.Workflow.GateNode.class, flyteidl.core.Workflow.GateNode.Builder.class); + } + + private int conditionCase_ = 0; + private java.lang.Object condition_; + public enum ConditionCase + implements com.google.protobuf.Internal.EnumLite { + APPROVE(1), + SIGNAL(2), + SLEEP(3), + CONDITION_NOT_SET(0); + private final int value; + private ConditionCase(int value) { + this.value = value; + } + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ConditionCase valueOf(int value) { + return forNumber(value); + } + + public static ConditionCase forNumber(int value) { + switch (value) { + case 1: return APPROVE; + case 2: return SIGNAL; + case 3: return SLEEP; + case 0: return CONDITION_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public ConditionCase + getConditionCase() { + return ConditionCase.forNumber( + conditionCase_); + } + + public static final int APPROVE_FIELD_NUMBER = 1; + /** + *
+     * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+     * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + public boolean hasApprove() { + return conditionCase_ == 1; + } + /** + *
+     * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+     * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + public flyteidl.core.Workflow.ApproveCondition getApprove() { + if (conditionCase_ == 1) { + return (flyteidl.core.Workflow.ApproveCondition) condition_; + } + return flyteidl.core.Workflow.ApproveCondition.getDefaultInstance(); + } + /** + *
+     * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+     * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + public flyteidl.core.Workflow.ApproveConditionOrBuilder getApproveOrBuilder() { + if (conditionCase_ == 1) { + return (flyteidl.core.Workflow.ApproveCondition) condition_; + } + return flyteidl.core.Workflow.ApproveCondition.getDefaultInstance(); + } + + public static final int SIGNAL_FIELD_NUMBER = 2; + /** + *
+     * SignalCondition represents a dependency on an signal.
+     * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + public boolean hasSignal() { + return conditionCase_ == 2; + } + /** + *
+     * SignalCondition represents a dependency on an signal.
+     * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + public flyteidl.core.Workflow.SignalCondition getSignal() { + if (conditionCase_ == 2) { + return (flyteidl.core.Workflow.SignalCondition) condition_; + } + return flyteidl.core.Workflow.SignalCondition.getDefaultInstance(); + } + /** + *
+     * SignalCondition represents a dependency on an signal.
+     * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + public flyteidl.core.Workflow.SignalConditionOrBuilder getSignalOrBuilder() { + if (conditionCase_ == 2) { + return (flyteidl.core.Workflow.SignalCondition) condition_; + } + return flyteidl.core.Workflow.SignalCondition.getDefaultInstance(); + } + + public static final int SLEEP_FIELD_NUMBER = 3; + /** + *
+     * SleepCondition represents a dependency on waiting for the specified duration.
+     * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + public boolean hasSleep() { + return conditionCase_ == 3; + } + /** + *
+     * SleepCondition represents a dependency on waiting for the specified duration.
+     * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + public flyteidl.core.Workflow.SleepCondition getSleep() { + if (conditionCase_ == 3) { + return (flyteidl.core.Workflow.SleepCondition) condition_; + } + return flyteidl.core.Workflow.SleepCondition.getDefaultInstance(); + } + /** + *
+     * SleepCondition represents a dependency on waiting for the specified duration.
+     * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + public flyteidl.core.Workflow.SleepConditionOrBuilder getSleepOrBuilder() { + if (conditionCase_ == 3) { + return (flyteidl.core.Workflow.SleepCondition) condition_; + } + return flyteidl.core.Workflow.SleepCondition.getDefaultInstance(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (conditionCase_ == 1) { + output.writeMessage(1, (flyteidl.core.Workflow.ApproveCondition) condition_); + } + if (conditionCase_ == 2) { + output.writeMessage(2, (flyteidl.core.Workflow.SignalCondition) condition_); + } + if (conditionCase_ == 3) { + output.writeMessage(3, (flyteidl.core.Workflow.SleepCondition) condition_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (conditionCase_ == 1) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, (flyteidl.core.Workflow.ApproveCondition) condition_); + } + if (conditionCase_ == 2) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, (flyteidl.core.Workflow.SignalCondition) condition_); + } + if (conditionCase_ == 3) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, (flyteidl.core.Workflow.SleepCondition) condition_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.core.Workflow.GateNode)) { + return super.equals(obj); + } + flyteidl.core.Workflow.GateNode other = (flyteidl.core.Workflow.GateNode) obj; + + if (!getConditionCase().equals(other.getConditionCase())) return false; + switch (conditionCase_) { + case 1: + if (!getApprove() + .equals(other.getApprove())) return false; + break; + case 2: + if (!getSignal() + .equals(other.getSignal())) return false; + break; + case 3: + if (!getSleep() + .equals(other.getSleep())) return false; + break; + case 0: + default: + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (conditionCase_) { + case 1: + hash = (37 * hash) + APPROVE_FIELD_NUMBER; + hash = (53 * hash) + getApprove().hashCode(); + break; + case 2: + hash = (37 * hash) + SIGNAL_FIELD_NUMBER; + hash = (53 * hash) + getSignal().hashCode(); + break; + case 3: + hash = (37 * hash) + SLEEP_FIELD_NUMBER; + hash = (53 * hash) + getSleep().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.core.Workflow.GateNode parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Workflow.GateNode parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Workflow.GateNode parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Workflow.GateNode parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Workflow.GateNode parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Workflow.GateNode parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Workflow.GateNode parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.Workflow.GateNode parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.core.Workflow.GateNode parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.core.Workflow.GateNode parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.core.Workflow.GateNode parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.Workflow.GateNode parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.core.Workflow.GateNode prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * GateNode refers to the condition that is required for the gate to successfully complete.
+     * 
+ * + * Protobuf type {@code flyteidl.core.GateNode} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.core.GateNode) + flyteidl.core.Workflow.GateNodeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_GateNode_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_GateNode_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.Workflow.GateNode.class, flyteidl.core.Workflow.GateNode.Builder.class); + } + + // Construct using flyteidl.core.Workflow.GateNode.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + conditionCase_ = 0; + condition_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.core.Workflow.internal_static_flyteidl_core_GateNode_descriptor; + } + + @java.lang.Override + public flyteidl.core.Workflow.GateNode getDefaultInstanceForType() { + return flyteidl.core.Workflow.GateNode.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.core.Workflow.GateNode build() { + flyteidl.core.Workflow.GateNode result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.core.Workflow.GateNode buildPartial() { + flyteidl.core.Workflow.GateNode result = new flyteidl.core.Workflow.GateNode(this); + if (conditionCase_ == 1) { + if (approveBuilder_ == null) { + result.condition_ = condition_; + } else { + result.condition_ = approveBuilder_.build(); + } + } + if (conditionCase_ == 2) { + if (signalBuilder_ == null) { + result.condition_ = condition_; + } else { + result.condition_ = signalBuilder_.build(); + } + } + if (conditionCase_ == 3) { + if (sleepBuilder_ == null) { + result.condition_ = condition_; + } else { + result.condition_ = sleepBuilder_.build(); + } + } + result.conditionCase_ = conditionCase_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.core.Workflow.GateNode) { + return mergeFrom((flyteidl.core.Workflow.GateNode)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.core.Workflow.GateNode other) { + if (other == flyteidl.core.Workflow.GateNode.getDefaultInstance()) return this; + switch (other.getConditionCase()) { + case APPROVE: { + mergeApprove(other.getApprove()); + break; + } + case SIGNAL: { + mergeSignal(other.getSignal()); + break; + } + case SLEEP: { + mergeSleep(other.getSleep()); + break; + } + case CONDITION_NOT_SET: { + break; + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.core.Workflow.GateNode parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.core.Workflow.GateNode) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int conditionCase_ = 0; + private java.lang.Object condition_; + public ConditionCase + getConditionCase() { + return ConditionCase.forNumber( + conditionCase_); + } + + public Builder clearCondition() { + conditionCase_ = 0; + condition_ = null; + onChanged(); + return this; + } + + + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Workflow.ApproveCondition, flyteidl.core.Workflow.ApproveCondition.Builder, flyteidl.core.Workflow.ApproveConditionOrBuilder> approveBuilder_; + /** + *
+       * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+       * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + public boolean hasApprove() { + return conditionCase_ == 1; + } + /** + *
+       * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+       * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + public flyteidl.core.Workflow.ApproveCondition getApprove() { + if (approveBuilder_ == null) { + if (conditionCase_ == 1) { + return (flyteidl.core.Workflow.ApproveCondition) condition_; + } + return flyteidl.core.Workflow.ApproveCondition.getDefaultInstance(); + } else { + if (conditionCase_ == 1) { + return approveBuilder_.getMessage(); + } + return flyteidl.core.Workflow.ApproveCondition.getDefaultInstance(); + } + } + /** + *
+       * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+       * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + public Builder setApprove(flyteidl.core.Workflow.ApproveCondition value) { + if (approveBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + condition_ = value; + onChanged(); + } else { + approveBuilder_.setMessage(value); + } + conditionCase_ = 1; + return this; + } + /** + *
+       * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+       * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + public Builder setApprove( + flyteidl.core.Workflow.ApproveCondition.Builder builderForValue) { + if (approveBuilder_ == null) { + condition_ = builderForValue.build(); + onChanged(); + } else { + approveBuilder_.setMessage(builderForValue.build()); + } + conditionCase_ = 1; + return this; + } + /** + *
+       * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+       * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + public Builder mergeApprove(flyteidl.core.Workflow.ApproveCondition value) { + if (approveBuilder_ == null) { + if (conditionCase_ == 1 && + condition_ != flyteidl.core.Workflow.ApproveCondition.getDefaultInstance()) { + condition_ = flyteidl.core.Workflow.ApproveCondition.newBuilder((flyteidl.core.Workflow.ApproveCondition) condition_) + .mergeFrom(value).buildPartial(); + } else { + condition_ = value; + } + onChanged(); + } else { + if (conditionCase_ == 1) { + approveBuilder_.mergeFrom(value); + } + approveBuilder_.setMessage(value); + } + conditionCase_ = 1; + return this; + } + /** + *
+       * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+       * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + public Builder clearApprove() { + if (approveBuilder_ == null) { + if (conditionCase_ == 1) { + conditionCase_ = 0; + condition_ = null; + onChanged(); + } + } else { + if (conditionCase_ == 1) { + conditionCase_ = 0; + condition_ = null; + } + approveBuilder_.clear(); + } + return this; + } + /** + *
+       * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+       * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + public flyteidl.core.Workflow.ApproveCondition.Builder getApproveBuilder() { + return getApproveFieldBuilder().getBuilder(); + } + /** + *
+       * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+       * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + public flyteidl.core.Workflow.ApproveConditionOrBuilder getApproveOrBuilder() { + if ((conditionCase_ == 1) && (approveBuilder_ != null)) { + return approveBuilder_.getMessageOrBuilder(); + } else { + if (conditionCase_ == 1) { + return (flyteidl.core.Workflow.ApproveCondition) condition_; + } + return flyteidl.core.Workflow.ApproveCondition.getDefaultInstance(); + } + } + /** + *
+       * ApproveCondition represents a dependency on an external approval provided by a boolean signal.
+       * 
+ * + * .flyteidl.core.ApproveCondition approve = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Workflow.ApproveCondition, flyteidl.core.Workflow.ApproveCondition.Builder, flyteidl.core.Workflow.ApproveConditionOrBuilder> + getApproveFieldBuilder() { + if (approveBuilder_ == null) { + if (!(conditionCase_ == 1)) { + condition_ = flyteidl.core.Workflow.ApproveCondition.getDefaultInstance(); + } + approveBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Workflow.ApproveCondition, flyteidl.core.Workflow.ApproveCondition.Builder, flyteidl.core.Workflow.ApproveConditionOrBuilder>( + (flyteidl.core.Workflow.ApproveCondition) condition_, + getParentForChildren(), + isClean()); + condition_ = null; + } + conditionCase_ = 1; + onChanged();; + return approveBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Workflow.SignalCondition, flyteidl.core.Workflow.SignalCondition.Builder, flyteidl.core.Workflow.SignalConditionOrBuilder> signalBuilder_; + /** + *
+       * SignalCondition represents a dependency on an signal.
+       * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + public boolean hasSignal() { + return conditionCase_ == 2; + } + /** + *
+       * SignalCondition represents a dependency on an signal.
+       * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + public flyteidl.core.Workflow.SignalCondition getSignal() { + if (signalBuilder_ == null) { + if (conditionCase_ == 2) { + return (flyteidl.core.Workflow.SignalCondition) condition_; + } + return flyteidl.core.Workflow.SignalCondition.getDefaultInstance(); + } else { + if (conditionCase_ == 2) { + return signalBuilder_.getMessage(); + } + return flyteidl.core.Workflow.SignalCondition.getDefaultInstance(); + } + } + /** + *
+       * SignalCondition represents a dependency on an signal.
+       * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + public Builder setSignal(flyteidl.core.Workflow.SignalCondition value) { + if (signalBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + condition_ = value; + onChanged(); + } else { + signalBuilder_.setMessage(value); + } + conditionCase_ = 2; + return this; + } + /** + *
+       * SignalCondition represents a dependency on an signal.
+       * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + public Builder setSignal( + flyteidl.core.Workflow.SignalCondition.Builder builderForValue) { + if (signalBuilder_ == null) { + condition_ = builderForValue.build(); + onChanged(); + } else { + signalBuilder_.setMessage(builderForValue.build()); + } + conditionCase_ = 2; + return this; + } + /** + *
+       * SignalCondition represents a dependency on an signal.
+       * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + public Builder mergeSignal(flyteidl.core.Workflow.SignalCondition value) { + if (signalBuilder_ == null) { + if (conditionCase_ == 2 && + condition_ != flyteidl.core.Workflow.SignalCondition.getDefaultInstance()) { + condition_ = flyteidl.core.Workflow.SignalCondition.newBuilder((flyteidl.core.Workflow.SignalCondition) condition_) + .mergeFrom(value).buildPartial(); + } else { + condition_ = value; + } + onChanged(); + } else { + if (conditionCase_ == 2) { + signalBuilder_.mergeFrom(value); + } + signalBuilder_.setMessage(value); + } + conditionCase_ = 2; + return this; + } + /** + *
+       * SignalCondition represents a dependency on an signal.
+       * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + public Builder clearSignal() { + if (signalBuilder_ == null) { + if (conditionCase_ == 2) { + conditionCase_ = 0; + condition_ = null; + onChanged(); + } + } else { + if (conditionCase_ == 2) { + conditionCase_ = 0; + condition_ = null; + } + signalBuilder_.clear(); + } + return this; + } + /** + *
+       * SignalCondition represents a dependency on an signal.
+       * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + public flyteidl.core.Workflow.SignalCondition.Builder getSignalBuilder() { + return getSignalFieldBuilder().getBuilder(); + } + /** + *
+       * SignalCondition represents a dependency on an signal.
+       * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + public flyteidl.core.Workflow.SignalConditionOrBuilder getSignalOrBuilder() { + if ((conditionCase_ == 2) && (signalBuilder_ != null)) { + return signalBuilder_.getMessageOrBuilder(); + } else { + if (conditionCase_ == 2) { + return (flyteidl.core.Workflow.SignalCondition) condition_; + } + return flyteidl.core.Workflow.SignalCondition.getDefaultInstance(); + } + } + /** + *
+       * SignalCondition represents a dependency on an signal.
+       * 
+ * + * .flyteidl.core.SignalCondition signal = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Workflow.SignalCondition, flyteidl.core.Workflow.SignalCondition.Builder, flyteidl.core.Workflow.SignalConditionOrBuilder> + getSignalFieldBuilder() { + if (signalBuilder_ == null) { + if (!(conditionCase_ == 2)) { + condition_ = flyteidl.core.Workflow.SignalCondition.getDefaultInstance(); + } + signalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Workflow.SignalCondition, flyteidl.core.Workflow.SignalCondition.Builder, flyteidl.core.Workflow.SignalConditionOrBuilder>( + (flyteidl.core.Workflow.SignalCondition) condition_, + getParentForChildren(), + isClean()); + condition_ = null; + } + conditionCase_ = 2; + onChanged();; + return signalBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Workflow.SleepCondition, flyteidl.core.Workflow.SleepCondition.Builder, flyteidl.core.Workflow.SleepConditionOrBuilder> sleepBuilder_; + /** + *
+       * SleepCondition represents a dependency on waiting for the specified duration.
+       * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + public boolean hasSleep() { + return conditionCase_ == 3; + } + /** + *
+       * SleepCondition represents a dependency on waiting for the specified duration.
+       * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + public flyteidl.core.Workflow.SleepCondition getSleep() { + if (sleepBuilder_ == null) { + if (conditionCase_ == 3) { + return (flyteidl.core.Workflow.SleepCondition) condition_; + } + return flyteidl.core.Workflow.SleepCondition.getDefaultInstance(); + } else { + if (conditionCase_ == 3) { + return sleepBuilder_.getMessage(); + } + return flyteidl.core.Workflow.SleepCondition.getDefaultInstance(); + } + } + /** + *
+       * SleepCondition represents a dependency on waiting for the specified duration.
+       * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + public Builder setSleep(flyteidl.core.Workflow.SleepCondition value) { + if (sleepBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + condition_ = value; + onChanged(); + } else { + sleepBuilder_.setMessage(value); + } + conditionCase_ = 3; + return this; + } + /** + *
+       * SleepCondition represents a dependency on waiting for the specified duration.
+       * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + public Builder setSleep( + flyteidl.core.Workflow.SleepCondition.Builder builderForValue) { + if (sleepBuilder_ == null) { + condition_ = builderForValue.build(); + onChanged(); + } else { + sleepBuilder_.setMessage(builderForValue.build()); + } + conditionCase_ = 3; + return this; + } + /** + *
+       * SleepCondition represents a dependency on waiting for the specified duration.
+       * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + public Builder mergeSleep(flyteidl.core.Workflow.SleepCondition value) { + if (sleepBuilder_ == null) { + if (conditionCase_ == 3 && + condition_ != flyteidl.core.Workflow.SleepCondition.getDefaultInstance()) { + condition_ = flyteidl.core.Workflow.SleepCondition.newBuilder((flyteidl.core.Workflow.SleepCondition) condition_) + .mergeFrom(value).buildPartial(); + } else { + condition_ = value; + } + onChanged(); + } else { + if (conditionCase_ == 3) { + sleepBuilder_.mergeFrom(value); + } + sleepBuilder_.setMessage(value); + } + conditionCase_ = 3; + return this; + } + /** + *
+       * SleepCondition represents a dependency on waiting for the specified duration.
+       * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + public Builder clearSleep() { + if (sleepBuilder_ == null) { + if (conditionCase_ == 3) { + conditionCase_ = 0; + condition_ = null; + onChanged(); + } + } else { + if (conditionCase_ == 3) { + conditionCase_ = 0; + condition_ = null; + } + sleepBuilder_.clear(); + } + return this; + } + /** + *
+       * SleepCondition represents a dependency on waiting for the specified duration.
+       * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + public flyteidl.core.Workflow.SleepCondition.Builder getSleepBuilder() { + return getSleepFieldBuilder().getBuilder(); + } + /** + *
+       * SleepCondition represents a dependency on waiting for the specified duration.
+       * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + public flyteidl.core.Workflow.SleepConditionOrBuilder getSleepOrBuilder() { + if ((conditionCase_ == 3) && (sleepBuilder_ != null)) { + return sleepBuilder_.getMessageOrBuilder(); + } else { + if (conditionCase_ == 3) { + return (flyteidl.core.Workflow.SleepCondition) condition_; + } + return flyteidl.core.Workflow.SleepCondition.getDefaultInstance(); + } + } + /** + *
+       * SleepCondition represents a dependency on waiting for the specified duration.
+       * 
+ * + * .flyteidl.core.SleepCondition sleep = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Workflow.SleepCondition, flyteidl.core.Workflow.SleepCondition.Builder, flyteidl.core.Workflow.SleepConditionOrBuilder> + getSleepFieldBuilder() { + if (sleepBuilder_ == null) { + if (!(conditionCase_ == 3)) { + condition_ = flyteidl.core.Workflow.SleepCondition.getDefaultInstance(); + } + sleepBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Workflow.SleepCondition, flyteidl.core.Workflow.SleepCondition.Builder, flyteidl.core.Workflow.SleepConditionOrBuilder>( + (flyteidl.core.Workflow.SleepCondition) condition_, + getParentForChildren(), + isClean()); + condition_ = null; + } + conditionCase_ = 3; + onChanged();; + return sleepBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.core.GateNode) + } + + // @@protoc_insertion_point(class_scope:flyteidl.core.GateNode) + private static final flyteidl.core.Workflow.GateNode DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.core.Workflow.GateNode(); + } + + public static flyteidl.core.Workflow.GateNode getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GateNode parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new GateNode(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.core.Workflow.GateNode getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + public interface NodeMetadataOrBuilder extends // @@protoc_insertion_point(interface_extends:flyteidl.core.NodeMetadata) com.google.protobuf.MessageOrBuilder { @@ -7624,6 +11232,31 @@ flyteidl.core.Workflow.AliasOrBuilder getOutputAliasesOrBuilder( */ flyteidl.core.Workflow.BranchNodeOrBuilder getBranchNodeOrBuilder(); + /** + *
+     * Information about the condition to evaluate in this node.
+     * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + boolean hasGateNode(); + /** + *
+     * Information about the condition to evaluate in this node.
+     * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + flyteidl.core.Workflow.GateNode getGateNode(); + /** + *
+     * Information about the condition to evaluate in this node.
+     * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + flyteidl.core.Workflow.GateNodeOrBuilder getGateNodeOrBuilder(); + public flyteidl.core.Workflow.Node.TargetCase getTargetCase(); } /** @@ -7762,6 +11395,20 @@ private Node( targetCase_ = 8; break; } + case 74: { + flyteidl.core.Workflow.GateNode.Builder subBuilder = null; + if (targetCase_ == 9) { + subBuilder = ((flyteidl.core.Workflow.GateNode) target_).toBuilder(); + } + target_ = + input.readMessage(flyteidl.core.Workflow.GateNode.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((flyteidl.core.Workflow.GateNode) target_); + target_ = subBuilder.buildPartial(); + } + targetCase_ = 9; + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -7811,6 +11458,7 @@ public enum TargetCase TASK_NODE(6), WORKFLOW_NODE(7), BRANCH_NODE(8), + GATE_NODE(9), TARGET_NOT_SET(0); private final int value; private TargetCase(int value) { @@ -7829,6 +11477,7 @@ public static TargetCase forNumber(int value) { case 6: return TASK_NODE; case 7: return WORKFLOW_NODE; case 8: return BRANCH_NODE; + case 9: return GATE_NODE; case 0: return TARGET_NOT_SET; default: return null; } @@ -8213,6 +11862,44 @@ public flyteidl.core.Workflow.BranchNodeOrBuilder getBranchNodeOrBuilder() { return flyteidl.core.Workflow.BranchNode.getDefaultInstance(); } + public static final int GATE_NODE_FIELD_NUMBER = 9; + /** + *
+     * Information about the condition to evaluate in this node.
+     * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + public boolean hasGateNode() { + return targetCase_ == 9; + } + /** + *
+     * Information about the condition to evaluate in this node.
+     * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + public flyteidl.core.Workflow.GateNode getGateNode() { + if (targetCase_ == 9) { + return (flyteidl.core.Workflow.GateNode) target_; + } + return flyteidl.core.Workflow.GateNode.getDefaultInstance(); + } + /** + *
+     * Information about the condition to evaluate in this node.
+     * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + public flyteidl.core.Workflow.GateNodeOrBuilder getGateNodeOrBuilder() { + if (targetCase_ == 9) { + return (flyteidl.core.Workflow.GateNode) target_; + } + return flyteidl.core.Workflow.GateNode.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -8251,6 +11938,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (targetCase_ == 8) { output.writeMessage(8, (flyteidl.core.Workflow.BranchNode) target_); } + if (targetCase_ == 9) { + output.writeMessage(9, (flyteidl.core.Workflow.GateNode) target_); + } unknownFields.writeTo(output); } @@ -8295,6 +11985,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(8, (flyteidl.core.Workflow.BranchNode) target_); } + if (targetCase_ == 9) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(9, (flyteidl.core.Workflow.GateNode) target_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -8337,6 +12031,10 @@ public boolean equals(final java.lang.Object obj) { if (!getBranchNode() .equals(other.getBranchNode())) return false; break; + case 9: + if (!getGateNode() + .equals(other.getGateNode())) return false; + break; case 0: default: } @@ -8382,6 +12080,10 @@ public int hashCode() { hash = (37 * hash) + BRANCH_NODE_FIELD_NUMBER; hash = (53 * hash) + getBranchNode().hashCode(); break; + case 9: + hash = (37 * hash) + GATE_NODE_FIELD_NUMBER; + hash = (53 * hash) + getGateNode().hashCode(); + break; case 0: default: } @@ -8627,6 +12329,13 @@ public flyteidl.core.Workflow.Node buildPartial() { result.target_ = branchNodeBuilder_.build(); } } + if (targetCase_ == 9) { + if (gateNodeBuilder_ == null) { + result.target_ = target_; + } else { + result.target_ = gateNodeBuilder_.build(); + } + } result.bitField0_ = to_bitField0_; result.targetCase_ = targetCase_; onBuilt(); @@ -8759,6 +12468,10 @@ public Builder mergeFrom(flyteidl.core.Workflow.Node other) { mergeBranchNode(other.getBranchNode()); break; } + case GATE_NODE: { + mergeGateNode(other.getGateNode()); + break; + } case TARGET_NOT_SET: { break; } @@ -10396,6 +14109,178 @@ public flyteidl.core.Workflow.BranchNodeOrBuilder getBranchNodeOrBuilder() { onChanged();; return branchNodeBuilder_; } + + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Workflow.GateNode, flyteidl.core.Workflow.GateNode.Builder, flyteidl.core.Workflow.GateNodeOrBuilder> gateNodeBuilder_; + /** + *
+       * Information about the condition to evaluate in this node.
+       * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + public boolean hasGateNode() { + return targetCase_ == 9; + } + /** + *
+       * Information about the condition to evaluate in this node.
+       * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + public flyteidl.core.Workflow.GateNode getGateNode() { + if (gateNodeBuilder_ == null) { + if (targetCase_ == 9) { + return (flyteidl.core.Workflow.GateNode) target_; + } + return flyteidl.core.Workflow.GateNode.getDefaultInstance(); + } else { + if (targetCase_ == 9) { + return gateNodeBuilder_.getMessage(); + } + return flyteidl.core.Workflow.GateNode.getDefaultInstance(); + } + } + /** + *
+       * Information about the condition to evaluate in this node.
+       * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + public Builder setGateNode(flyteidl.core.Workflow.GateNode value) { + if (gateNodeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + target_ = value; + onChanged(); + } else { + gateNodeBuilder_.setMessage(value); + } + targetCase_ = 9; + return this; + } + /** + *
+       * Information about the condition to evaluate in this node.
+       * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + public Builder setGateNode( + flyteidl.core.Workflow.GateNode.Builder builderForValue) { + if (gateNodeBuilder_ == null) { + target_ = builderForValue.build(); + onChanged(); + } else { + gateNodeBuilder_.setMessage(builderForValue.build()); + } + targetCase_ = 9; + return this; + } + /** + *
+       * Information about the condition to evaluate in this node.
+       * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + public Builder mergeGateNode(flyteidl.core.Workflow.GateNode value) { + if (gateNodeBuilder_ == null) { + if (targetCase_ == 9 && + target_ != flyteidl.core.Workflow.GateNode.getDefaultInstance()) { + target_ = flyteidl.core.Workflow.GateNode.newBuilder((flyteidl.core.Workflow.GateNode) target_) + .mergeFrom(value).buildPartial(); + } else { + target_ = value; + } + onChanged(); + } else { + if (targetCase_ == 9) { + gateNodeBuilder_.mergeFrom(value); + } + gateNodeBuilder_.setMessage(value); + } + targetCase_ = 9; + return this; + } + /** + *
+       * Information about the condition to evaluate in this node.
+       * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + public Builder clearGateNode() { + if (gateNodeBuilder_ == null) { + if (targetCase_ == 9) { + targetCase_ = 0; + target_ = null; + onChanged(); + } + } else { + if (targetCase_ == 9) { + targetCase_ = 0; + target_ = null; + } + gateNodeBuilder_.clear(); + } + return this; + } + /** + *
+       * Information about the condition to evaluate in this node.
+       * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + public flyteidl.core.Workflow.GateNode.Builder getGateNodeBuilder() { + return getGateNodeFieldBuilder().getBuilder(); + } + /** + *
+       * Information about the condition to evaluate in this node.
+       * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + public flyteidl.core.Workflow.GateNodeOrBuilder getGateNodeOrBuilder() { + if ((targetCase_ == 9) && (gateNodeBuilder_ != null)) { + return gateNodeBuilder_.getMessageOrBuilder(); + } else { + if (targetCase_ == 9) { + return (flyteidl.core.Workflow.GateNode) target_; + } + return flyteidl.core.Workflow.GateNode.getDefaultInstance(); + } + } + /** + *
+       * Information about the condition to evaluate in this node.
+       * 
+ * + * .flyteidl.core.GateNode gate_node = 9; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Workflow.GateNode, flyteidl.core.Workflow.GateNode.Builder, flyteidl.core.Workflow.GateNodeOrBuilder> + getGateNodeFieldBuilder() { + if (gateNodeBuilder_ == null) { + if (!(targetCase_ == 9)) { + target_ = flyteidl.core.Workflow.GateNode.getDefaultInstance(); + } + gateNodeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Workflow.GateNode, flyteidl.core.Workflow.GateNode.Builder, flyteidl.core.Workflow.GateNodeOrBuilder>( + (flyteidl.core.Workflow.GateNode) target_, + getParentForChildren(), + isClean()); + target_ = null; + } + targetCase_ = 9; + onChanged();; + return gateNodeBuilder_; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -15448,6 +19333,26 @@ public flyteidl.core.Workflow.TaskNodeOverrides getDefaultInstanceForType() { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_flyteidl_core_WorkflowNode_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_core_ApproveCondition_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_core_ApproveCondition_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_core_SignalCondition_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_core_SignalCondition_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_core_SleepCondition_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_core_SleepCondition_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_core_GateNode_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_core_GateNode_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_flyteidl_core_NodeMetadata_descriptor; private static final @@ -15515,40 +19420,50 @@ public flyteidl.core.Workflow.TaskNodeOverrides getDefaultInstanceForType() { "rkflowNode\0223\n\016launchplan_ref\030\001 \001(\0132\031.fly" + "teidl.core.IdentifierH\000\0225\n\020sub_workflow_" + "ref\030\002 \001(\0132\031.flyteidl.core.IdentifierH\000B\013" + - "\n\treference\"\247\001\n\014NodeMetadata\022\014\n\004name\030\001 \001" + - "(\t\022*\n\007timeout\030\004 \001(\0132\031.google.protobuf.Du" + - "ration\022-\n\007retries\030\005 \001(\0132\034.flyteidl.core." + - "RetryStrategy\022\027\n\rinterruptible\030\006 \001(\010H\000B\025" + - "\n\023interruptible_value\"#\n\005Alias\022\013\n\003var\030\001 " + - "\001(\t\022\r\n\005alias\030\002 \001(\t\"\322\002\n\004Node\022\n\n\002id\030\001 \001(\t\022" + - "-\n\010metadata\030\002 \001(\0132\033.flyteidl.core.NodeMe" + - "tadata\022&\n\006inputs\030\003 \003(\0132\026.flyteidl.core.B" + - "inding\022\031\n\021upstream_node_ids\030\004 \003(\t\022,\n\016out" + - "put_aliases\030\005 \003(\0132\024.flyteidl.core.Alias\022" + - ",\n\ttask_node\030\006 \001(\0132\027.flyteidl.core.TaskN" + - "odeH\000\0224\n\rworkflow_node\030\007 \001(\0132\033.flyteidl." + - "core.WorkflowNodeH\000\0220\n\013branch_node\030\010 \001(\013" + - "2\031.flyteidl.core.BranchNodeH\000B\010\n\006target\"" + - "\347\001\n\020WorkflowMetadata\022;\n\022quality_of_servi" + - "ce\030\001 \001(\0132\037.flyteidl.core.QualityOfServic" + - "e\022C\n\non_failure\030\002 \001(\0162/.flyteidl.core.Wo" + - "rkflowMetadata.OnFailurePolicy\"Q\n\017OnFail" + - "urePolicy\022\024\n\020FAIL_IMMEDIATELY\020\000\022(\n$FAIL_" + - "AFTER_EXECUTABLE_NODES_COMPLETE\020\001\"1\n\030Wor" + - "kflowMetadataDefaults\022\025\n\rinterruptible\030\001" + - " \001(\010\"\332\002\n\020WorkflowTemplate\022%\n\002id\030\001 \001(\0132\031." + - "flyteidl.core.Identifier\0221\n\010metadata\030\002 \001" + - "(\0132\037.flyteidl.core.WorkflowMetadata\0220\n\ti" + - "nterface\030\003 \001(\0132\035.flyteidl.core.TypedInte" + - "rface\022\"\n\005nodes\030\004 \003(\0132\023.flyteidl.core.Nod" + - "e\022\'\n\007outputs\030\005 \003(\0132\026.flyteidl.core.Bindi" + - "ng\022)\n\014failure_node\030\006 \001(\0132\023.flyteidl.core" + - ".Node\022B\n\021metadata_defaults\030\007 \001(\0132\'.flyte" + - "idl.core.WorkflowMetadataDefaults\"@\n\021Tas" + - "kNodeOverrides\022+\n\tresources\030\001 \001(\0132\030.flyt" + - "eidl.core.ResourcesB6Z4github.com/flyteo" + - "rg/flyteidl/gen/pb-go/flyteidl/coreb\006pro" + - "to3" + "\n\treference\"%\n\020ApproveCondition\022\021\n\tsigna" + + "l_id\030\001 \001(\t\"l\n\017SignalCondition\022\021\n\tsignal_" + + "id\030\001 \001(\t\022(\n\004type\030\002 \001(\0132\032.flyteidl.core.L" + + "iteralType\022\034\n\024output_variable_name\030\003 \001(\t" + + "\"=\n\016SleepCondition\022+\n\010duration\030\001 \001(\0132\031.g" + + "oogle.protobuf.Duration\"\255\001\n\010GateNode\0222\n\007" + + "approve\030\001 \001(\0132\037.flyteidl.core.ApproveCon" + + "ditionH\000\0220\n\006signal\030\002 \001(\0132\036.flyteidl.core" + + ".SignalConditionH\000\022.\n\005sleep\030\003 \001(\0132\035.flyt" + + "eidl.core.SleepConditionH\000B\013\n\tcondition\"" + + "\247\001\n\014NodeMetadata\022\014\n\004name\030\001 \001(\t\022*\n\007timeou" + + "t\030\004 \001(\0132\031.google.protobuf.Duration\022-\n\007re" + + "tries\030\005 \001(\0132\034.flyteidl.core.RetryStrateg" + + "y\022\027\n\rinterruptible\030\006 \001(\010H\000B\025\n\023interrupti" + + "ble_value\"#\n\005Alias\022\013\n\003var\030\001 \001(\t\022\r\n\005alias" + + "\030\002 \001(\t\"\200\003\n\004Node\022\n\n\002id\030\001 \001(\t\022-\n\010metadata\030" + + "\002 \001(\0132\033.flyteidl.core.NodeMetadata\022&\n\006in" + + "puts\030\003 \003(\0132\026.flyteidl.core.Binding\022\031\n\021up" + + "stream_node_ids\030\004 \003(\t\022,\n\016output_aliases\030" + + "\005 \003(\0132\024.flyteidl.core.Alias\022,\n\ttask_node" + + "\030\006 \001(\0132\027.flyteidl.core.TaskNodeH\000\0224\n\rwor" + + "kflow_node\030\007 \001(\0132\033.flyteidl.core.Workflo" + + "wNodeH\000\0220\n\013branch_node\030\010 \001(\0132\031.flyteidl." + + "core.BranchNodeH\000\022,\n\tgate_node\030\t \001(\0132\027.f" + + "lyteidl.core.GateNodeH\000B\010\n\006target\"\347\001\n\020Wo" + + "rkflowMetadata\022;\n\022quality_of_service\030\001 \001" + + "(\0132\037.flyteidl.core.QualityOfService\022C\n\no" + + "n_failure\030\002 \001(\0162/.flyteidl.core.Workflow" + + "Metadata.OnFailurePolicy\"Q\n\017OnFailurePol" + + "icy\022\024\n\020FAIL_IMMEDIATELY\020\000\022(\n$FAIL_AFTER_" + + "EXECUTABLE_NODES_COMPLETE\020\001\"1\n\030WorkflowM" + + "etadataDefaults\022\025\n\rinterruptible\030\001 \001(\010\"\332" + + "\002\n\020WorkflowTemplate\022%\n\002id\030\001 \001(\0132\031.flytei" + + "dl.core.Identifier\0221\n\010metadata\030\002 \001(\0132\037.f" + + "lyteidl.core.WorkflowMetadata\0220\n\tinterfa" + + "ce\030\003 \001(\0132\035.flyteidl.core.TypedInterface\022" + + "\"\n\005nodes\030\004 \003(\0132\023.flyteidl.core.Node\022\'\n\007o" + + "utputs\030\005 \003(\0132\026.flyteidl.core.Binding\022)\n\014" + + "failure_node\030\006 \001(\0132\023.flyteidl.core.Node\022" + + "B\n\021metadata_defaults\030\007 \001(\0132\'.flyteidl.co" + + "re.WorkflowMetadataDefaults\"@\n\021TaskNodeO" + + "verrides\022+\n\tresources\030\001 \001(\0132\030.flyteidl.c" + + "ore.ResourcesB6Z4github.com/flyteorg/fly" + + "teidl/gen/pb-go/flyteidl/coreb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -15601,44 +19516,68 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_core_WorkflowNode_descriptor, new java.lang.String[] { "LaunchplanRef", "SubWorkflowRef", "Reference", }); - internal_static_flyteidl_core_NodeMetadata_descriptor = + internal_static_flyteidl_core_ApproveCondition_descriptor = getDescriptor().getMessageTypes().get(5); + internal_static_flyteidl_core_ApproveCondition_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_flyteidl_core_ApproveCondition_descriptor, + new java.lang.String[] { "SignalId", }); + internal_static_flyteidl_core_SignalCondition_descriptor = + getDescriptor().getMessageTypes().get(6); + internal_static_flyteidl_core_SignalCondition_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_flyteidl_core_SignalCondition_descriptor, + new java.lang.String[] { "SignalId", "Type", "OutputVariableName", }); + internal_static_flyteidl_core_SleepCondition_descriptor = + getDescriptor().getMessageTypes().get(7); + internal_static_flyteidl_core_SleepCondition_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_flyteidl_core_SleepCondition_descriptor, + new java.lang.String[] { "Duration", }); + internal_static_flyteidl_core_GateNode_descriptor = + getDescriptor().getMessageTypes().get(8); + internal_static_flyteidl_core_GateNode_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_flyteidl_core_GateNode_descriptor, + new java.lang.String[] { "Approve", "Signal", "Sleep", "Condition", }); + internal_static_flyteidl_core_NodeMetadata_descriptor = + getDescriptor().getMessageTypes().get(9); internal_static_flyteidl_core_NodeMetadata_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_core_NodeMetadata_descriptor, new java.lang.String[] { "Name", "Timeout", "Retries", "Interruptible", "InterruptibleValue", }); internal_static_flyteidl_core_Alias_descriptor = - getDescriptor().getMessageTypes().get(6); + getDescriptor().getMessageTypes().get(10); internal_static_flyteidl_core_Alias_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_core_Alias_descriptor, new java.lang.String[] { "Var", "Alias", }); internal_static_flyteidl_core_Node_descriptor = - getDescriptor().getMessageTypes().get(7); + getDescriptor().getMessageTypes().get(11); internal_static_flyteidl_core_Node_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_core_Node_descriptor, - new java.lang.String[] { "Id", "Metadata", "Inputs", "UpstreamNodeIds", "OutputAliases", "TaskNode", "WorkflowNode", "BranchNode", "Target", }); + new java.lang.String[] { "Id", "Metadata", "Inputs", "UpstreamNodeIds", "OutputAliases", "TaskNode", "WorkflowNode", "BranchNode", "GateNode", "Target", }); internal_static_flyteidl_core_WorkflowMetadata_descriptor = - getDescriptor().getMessageTypes().get(8); + getDescriptor().getMessageTypes().get(12); internal_static_flyteidl_core_WorkflowMetadata_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_core_WorkflowMetadata_descriptor, new java.lang.String[] { "QualityOfService", "OnFailure", }); internal_static_flyteidl_core_WorkflowMetadataDefaults_descriptor = - getDescriptor().getMessageTypes().get(9); + getDescriptor().getMessageTypes().get(13); internal_static_flyteidl_core_WorkflowMetadataDefaults_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_core_WorkflowMetadataDefaults_descriptor, new java.lang.String[] { "Interruptible", }); internal_static_flyteidl_core_WorkflowTemplate_descriptor = - getDescriptor().getMessageTypes().get(10); + getDescriptor().getMessageTypes().get(14); internal_static_flyteidl_core_WorkflowTemplate_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_core_WorkflowTemplate_descriptor, new java.lang.String[] { "Id", "Metadata", "Interface", "Nodes", "Outputs", "FailureNode", "MetadataDefaults", }); internal_static_flyteidl_core_TaskNodeOverrides_descriptor = - getDescriptor().getMessageTypes().get(11); + getDescriptor().getMessageTypes().get(15); internal_static_flyteidl_core_TaskNodeOverrides_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_core_TaskNodeOverrides_descriptor, diff --git a/gen/pb-java/flyteidl/service/Signal.java b/gen/pb-java/flyteidl/service/Signal.java new file mode 100644 index 0000000000..3c102b5127 --- /dev/null +++ b/gen/pb-java/flyteidl/service/Signal.java @@ -0,0 +1,79 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: flyteidl/service/signal.proto + +package flyteidl.service; + +public final class Signal { + private Signal() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (com.google.protobuf.ExtensionRegistryLite) registry); + } + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\035flyteidl/service/signal.proto\022\020flyteid" + + "l.service\032\034google/api/annotations.proto\032" + + "\033flyteidl/admin/signal.proto\032,protoc-gen" + + "-swagger/options/annotations.proto2\347\005\n\rS" + + "ignalService\022\220\001\n\021GetOrCreateSignal\022(.fly" + + "teidl.admin.SignalGetOrCreateRequest\032\026.f" + + "lyteidl.admin.Signal\"9\222A6\0324Retrieve a si" + + "gnal, creating it if it does not exist.\022" + + "\216\002\n\013ListSignals\022!.flyteidl.admin.SignalL" + + "istRequest\032\032.flyteidl.admin.SignalList\"\277" + + "\001\202\323\344\223\002m\022k/api/v1/signals/{workflow_execu" + + "tion_id.project}/{workflow_execution_id." + + "domain}/{workflow_execution_id.name}\222AI\032" + + "GFetch existing signal definitions match" + + "ing the input signal id filters.\022\261\002\n\tSet" + + "Signal\022 .flyteidl.admin.SignalSetRequest" + + "\032!.flyteidl.admin.SignalSetResponse\"\336\001\202\323" + + "\344\223\002\024\"\017/api/v1/signals:\001*\222A\300\001\032\023Set a sign" + + "al value.JB\n\003400\022;\n9Returned for bad req" + + "uest that may have failed validation.Je\n" + + "\003409\022^\n\\Returned for a request that refe" + + "rences an identical entity that has alre" + + "ady been registered.B9Z7github.com/flyte" + + "org/flyteidl/gen/pb-go/flyteidl/serviceb" + + "\006proto3" + }; + com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = + new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { + public com.google.protobuf.ExtensionRegistry assignDescriptors( + com.google.protobuf.Descriptors.FileDescriptor root) { + descriptor = root; + return null; + } + }; + com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.AnnotationsProto.getDescriptor(), + flyteidl.admin.SignalOuterClass.getDescriptor(), + grpc.gateway.protoc_gen_swagger.options.Annotations.getDescriptor(), + }, assigner); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.AnnotationsProto.http); + registry.add(grpc.gateway.protoc_gen_swagger.options.Annotations.openapiv2Operation); + com.google.protobuf.Descriptors.FileDescriptor + .internalUpdateFileDescriptor(descriptor, registry); + com.google.api.AnnotationsProto.getDescriptor(); + flyteidl.admin.SignalOuterClass.getDescriptor(); + grpc.gateway.protoc_gen_swagger.options.Annotations.getDescriptor(); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/gen/pb-js/flyteidl.d.ts b/gen/pb-js/flyteidl.d.ts index 9143e540c5..265d2a79e1 100644 --- a/gen/pb-js/flyteidl.d.ts +++ b/gen/pb-js/flyteidl.d.ts @@ -469,6 +469,64 @@ export namespace flyteidl { public static verify(message: { [k: string]: any }): (string|null); } + /** Properties of a SignalIdentifier. */ + interface ISignalIdentifier { + + /** SignalIdentifier signalId */ + signalId?: (string|null); + + /** SignalIdentifier executionId */ + executionId?: (flyteidl.core.IWorkflowExecutionIdentifier|null); + } + + /** Represents a SignalIdentifier. */ + class SignalIdentifier implements ISignalIdentifier { + + /** + * Constructs a new SignalIdentifier. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.core.ISignalIdentifier); + + /** SignalIdentifier signalId. */ + public signalId: string; + + /** SignalIdentifier executionId. */ + public executionId?: (flyteidl.core.IWorkflowExecutionIdentifier|null); + + /** + * Creates a new SignalIdentifier instance using the specified properties. + * @param [properties] Properties to set + * @returns SignalIdentifier instance + */ + public static create(properties?: flyteidl.core.ISignalIdentifier): flyteidl.core.SignalIdentifier; + + /** + * Encodes the specified SignalIdentifier message. Does not implicitly {@link flyteidl.core.SignalIdentifier.verify|verify} messages. + * @param message SignalIdentifier message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.core.ISignalIdentifier, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignalIdentifier message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignalIdentifier + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.core.SignalIdentifier; + + /** + * Verifies a SignalIdentifier message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + /** Properties of a ConnectionSet. */ interface IConnectionSet { @@ -1061,6 +1119,241 @@ export namespace flyteidl { public static verify(message: { [k: string]: any }): (string|null); } + /** Properties of an ApproveCondition. */ + interface IApproveCondition { + + /** ApproveCondition signalId */ + signalId?: (string|null); + } + + /** Represents an ApproveCondition. */ + class ApproveCondition implements IApproveCondition { + + /** + * Constructs a new ApproveCondition. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.core.IApproveCondition); + + /** ApproveCondition signalId. */ + public signalId: string; + + /** + * Creates a new ApproveCondition instance using the specified properties. + * @param [properties] Properties to set + * @returns ApproveCondition instance + */ + public static create(properties?: flyteidl.core.IApproveCondition): flyteidl.core.ApproveCondition; + + /** + * Encodes the specified ApproveCondition message. Does not implicitly {@link flyteidl.core.ApproveCondition.verify|verify} messages. + * @param message ApproveCondition message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.core.IApproveCondition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ApproveCondition message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ApproveCondition + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.core.ApproveCondition; + + /** + * Verifies an ApproveCondition message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + + /** Properties of a SignalCondition. */ + interface ISignalCondition { + + /** SignalCondition signalId */ + signalId?: (string|null); + + /** SignalCondition type */ + type?: (flyteidl.core.ILiteralType|null); + + /** SignalCondition outputVariableName */ + outputVariableName?: (string|null); + } + + /** Represents a SignalCondition. */ + class SignalCondition implements ISignalCondition { + + /** + * Constructs a new SignalCondition. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.core.ISignalCondition); + + /** SignalCondition signalId. */ + public signalId: string; + + /** SignalCondition type. */ + public type?: (flyteidl.core.ILiteralType|null); + + /** SignalCondition outputVariableName. */ + public outputVariableName: string; + + /** + * Creates a new SignalCondition instance using the specified properties. + * @param [properties] Properties to set + * @returns SignalCondition instance + */ + public static create(properties?: flyteidl.core.ISignalCondition): flyteidl.core.SignalCondition; + + /** + * Encodes the specified SignalCondition message. Does not implicitly {@link flyteidl.core.SignalCondition.verify|verify} messages. + * @param message SignalCondition message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.core.ISignalCondition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignalCondition message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignalCondition + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.core.SignalCondition; + + /** + * Verifies a SignalCondition message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + + /** Properties of a SleepCondition. */ + interface ISleepCondition { + + /** SleepCondition duration */ + duration?: (google.protobuf.IDuration|null); + } + + /** Represents a SleepCondition. */ + class SleepCondition implements ISleepCondition { + + /** + * Constructs a new SleepCondition. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.core.ISleepCondition); + + /** SleepCondition duration. */ + public duration?: (google.protobuf.IDuration|null); + + /** + * Creates a new SleepCondition instance using the specified properties. + * @param [properties] Properties to set + * @returns SleepCondition instance + */ + public static create(properties?: flyteidl.core.ISleepCondition): flyteidl.core.SleepCondition; + + /** + * Encodes the specified SleepCondition message. Does not implicitly {@link flyteidl.core.SleepCondition.verify|verify} messages. + * @param message SleepCondition message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.core.ISleepCondition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SleepCondition message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SleepCondition + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.core.SleepCondition; + + /** + * Verifies a SleepCondition message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + + /** Properties of a GateNode. */ + interface IGateNode { + + /** GateNode approve */ + approve?: (flyteidl.core.IApproveCondition|null); + + /** GateNode signal */ + signal?: (flyteidl.core.ISignalCondition|null); + + /** GateNode sleep */ + sleep?: (flyteidl.core.ISleepCondition|null); + } + + /** Represents a GateNode. */ + class GateNode implements IGateNode { + + /** + * Constructs a new GateNode. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.core.IGateNode); + + /** GateNode approve. */ + public approve?: (flyteidl.core.IApproveCondition|null); + + /** GateNode signal. */ + public signal?: (flyteidl.core.ISignalCondition|null); + + /** GateNode sleep. */ + public sleep?: (flyteidl.core.ISleepCondition|null); + + /** GateNode condition. */ + public condition?: ("approve"|"signal"|"sleep"); + + /** + * Creates a new GateNode instance using the specified properties. + * @param [properties] Properties to set + * @returns GateNode instance + */ + public static create(properties?: flyteidl.core.IGateNode): flyteidl.core.GateNode; + + /** + * Encodes the specified GateNode message. Does not implicitly {@link flyteidl.core.GateNode.verify|verify} messages. + * @param message GateNode message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.core.IGateNode, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GateNode message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GateNode + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.core.GateNode; + + /** + * Verifies a GateNode message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + /** Properties of a NodeMetadata. */ interface INodeMetadata { @@ -1218,6 +1511,9 @@ export namespace flyteidl { /** Node branchNode */ branchNode?: (flyteidl.core.IBranchNode|null); + + /** Node gateNode */ + gateNode?: (flyteidl.core.IGateNode|null); } /** Represents a Node. */ @@ -1253,8 +1549,11 @@ export namespace flyteidl { /** Node branchNode. */ public branchNode?: (flyteidl.core.IBranchNode|null); + /** Node gateNode. */ + public gateNode?: (flyteidl.core.IGateNode|null); + /** Node target. */ - public target?: ("taskNode"|"workflowNode"|"branchNode"); + public target?: ("taskNode"|"workflowNode"|"branchNode"|"gateNode"); /** * Creates a new Node instance using the specified properties. @@ -14166,6 +14465,366 @@ export namespace flyteidl { public static verify(message: { [k: string]: any }): (string|null); } + /** Properties of a SignalGetOrCreateRequest. */ + interface ISignalGetOrCreateRequest { + + /** SignalGetOrCreateRequest id */ + id?: (flyteidl.core.ISignalIdentifier|null); + + /** SignalGetOrCreateRequest type */ + type?: (flyteidl.core.ILiteralType|null); + } + + /** Represents a SignalGetOrCreateRequest. */ + class SignalGetOrCreateRequest implements ISignalGetOrCreateRequest { + + /** + * Constructs a new SignalGetOrCreateRequest. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.admin.ISignalGetOrCreateRequest); + + /** SignalGetOrCreateRequest id. */ + public id?: (flyteidl.core.ISignalIdentifier|null); + + /** SignalGetOrCreateRequest type. */ + public type?: (flyteidl.core.ILiteralType|null); + + /** + * Creates a new SignalGetOrCreateRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns SignalGetOrCreateRequest instance + */ + public static create(properties?: flyteidl.admin.ISignalGetOrCreateRequest): flyteidl.admin.SignalGetOrCreateRequest; + + /** + * Encodes the specified SignalGetOrCreateRequest message. Does not implicitly {@link flyteidl.admin.SignalGetOrCreateRequest.verify|verify} messages. + * @param message SignalGetOrCreateRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.admin.ISignalGetOrCreateRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignalGetOrCreateRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignalGetOrCreateRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.admin.SignalGetOrCreateRequest; + + /** + * Verifies a SignalGetOrCreateRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + + /** Properties of a SignalListRequest. */ + interface ISignalListRequest { + + /** SignalListRequest workflowExecutionId */ + workflowExecutionId?: (flyteidl.core.IWorkflowExecutionIdentifier|null); + + /** SignalListRequest limit */ + limit?: (number|null); + + /** SignalListRequest token */ + token?: (string|null); + + /** SignalListRequest filters */ + filters?: (string|null); + + /** SignalListRequest sortBy */ + sortBy?: (flyteidl.admin.ISort|null); + } + + /** Represents a SignalListRequest. */ + class SignalListRequest implements ISignalListRequest { + + /** + * Constructs a new SignalListRequest. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.admin.ISignalListRequest); + + /** SignalListRequest workflowExecutionId. */ + public workflowExecutionId?: (flyteidl.core.IWorkflowExecutionIdentifier|null); + + /** SignalListRequest limit. */ + public limit: number; + + /** SignalListRequest token. */ + public token: string; + + /** SignalListRequest filters. */ + public filters: string; + + /** SignalListRequest sortBy. */ + public sortBy?: (flyteidl.admin.ISort|null); + + /** + * Creates a new SignalListRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns SignalListRequest instance + */ + public static create(properties?: flyteidl.admin.ISignalListRequest): flyteidl.admin.SignalListRequest; + + /** + * Encodes the specified SignalListRequest message. Does not implicitly {@link flyteidl.admin.SignalListRequest.verify|verify} messages. + * @param message SignalListRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.admin.ISignalListRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignalListRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignalListRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.admin.SignalListRequest; + + /** + * Verifies a SignalListRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + + /** Properties of a SignalList. */ + interface ISignalList { + + /** SignalList signals */ + signals?: (flyteidl.admin.ISignal[]|null); + + /** SignalList token */ + token?: (string|null); + } + + /** Represents a SignalList. */ + class SignalList implements ISignalList { + + /** + * Constructs a new SignalList. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.admin.ISignalList); + + /** SignalList signals. */ + public signals: flyteidl.admin.ISignal[]; + + /** SignalList token. */ + public token: string; + + /** + * Creates a new SignalList instance using the specified properties. + * @param [properties] Properties to set + * @returns SignalList instance + */ + public static create(properties?: flyteidl.admin.ISignalList): flyteidl.admin.SignalList; + + /** + * Encodes the specified SignalList message. Does not implicitly {@link flyteidl.admin.SignalList.verify|verify} messages. + * @param message SignalList message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.admin.ISignalList, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignalList message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignalList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.admin.SignalList; + + /** + * Verifies a SignalList message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + + /** Properties of a SignalSetRequest. */ + interface ISignalSetRequest { + + /** SignalSetRequest id */ + id?: (flyteidl.core.ISignalIdentifier|null); + + /** SignalSetRequest value */ + value?: (flyteidl.core.ILiteral|null); + } + + /** Represents a SignalSetRequest. */ + class SignalSetRequest implements ISignalSetRequest { + + /** + * Constructs a new SignalSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.admin.ISignalSetRequest); + + /** SignalSetRequest id. */ + public id?: (flyteidl.core.ISignalIdentifier|null); + + /** SignalSetRequest value. */ + public value?: (flyteidl.core.ILiteral|null); + + /** + * Creates a new SignalSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns SignalSetRequest instance + */ + public static create(properties?: flyteidl.admin.ISignalSetRequest): flyteidl.admin.SignalSetRequest; + + /** + * Encodes the specified SignalSetRequest message. Does not implicitly {@link flyteidl.admin.SignalSetRequest.verify|verify} messages. + * @param message SignalSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.admin.ISignalSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignalSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignalSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.admin.SignalSetRequest; + + /** + * Verifies a SignalSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + + /** Properties of a SignalSetResponse. */ + interface ISignalSetResponse { + } + + /** Represents a SignalSetResponse. */ + class SignalSetResponse implements ISignalSetResponse { + + /** + * Constructs a new SignalSetResponse. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.admin.ISignalSetResponse); + + /** + * Creates a new SignalSetResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns SignalSetResponse instance + */ + public static create(properties?: flyteidl.admin.ISignalSetResponse): flyteidl.admin.SignalSetResponse; + + /** + * Encodes the specified SignalSetResponse message. Does not implicitly {@link flyteidl.admin.SignalSetResponse.verify|verify} messages. + * @param message SignalSetResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.admin.ISignalSetResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignalSetResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignalSetResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.admin.SignalSetResponse; + + /** + * Verifies a SignalSetResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + + /** Properties of a Signal. */ + interface ISignal { + + /** Signal id */ + id?: (flyteidl.core.ISignalIdentifier|null); + + /** Signal type */ + type?: (flyteidl.core.ILiteralType|null); + + /** Signal value */ + value?: (flyteidl.core.ILiteral|null); + } + + /** Represents a Signal. */ + class Signal implements ISignal { + + /** + * Constructs a new Signal. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.admin.ISignal); + + /** Signal id. */ + public id?: (flyteidl.core.ISignalIdentifier|null); + + /** Signal type. */ + public type?: (flyteidl.core.ILiteralType|null); + + /** Signal value. */ + public value?: (flyteidl.core.ILiteral|null); + + /** + * Creates a new Signal instance using the specified properties. + * @param [properties] Properties to set + * @returns Signal instance + */ + public static create(properties?: flyteidl.admin.ISignal): flyteidl.admin.Signal; + + /** + * Encodes the specified Signal message. Does not implicitly {@link flyteidl.admin.Signal.verify|verify} messages. + * @param message Signal message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.admin.ISignal, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Signal message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Signal + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.admin.Signal; + + /** + * Verifies a Signal message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + /** Properties of a TaskCreateRequest. */ interface ITaskCreateRequest { @@ -18000,6 +18659,93 @@ export namespace flyteidl { */ type UserInfoCallback = (error: (Error|null), response?: flyteidl.service.UserInfoResponse) => void; } + + /** Represents a SignalService */ + class SignalService extends $protobuf.rpc.Service { + + /** + * Constructs a new SignalService service. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + */ + constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); + + /** + * Creates new SignalService service using the specified rpc implementation. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + * @returns RPC service. Useful where requests and/or responses are streamed. + */ + public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): SignalService; + + /** + * Calls GetOrCreateSignal. + * @param request SignalGetOrCreateRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Signal + */ + public getOrCreateSignal(request: flyteidl.admin.ISignalGetOrCreateRequest, callback: flyteidl.service.SignalService.GetOrCreateSignalCallback): void; + + /** + * Calls GetOrCreateSignal. + * @param request SignalGetOrCreateRequest message or plain object + * @returns Promise + */ + public getOrCreateSignal(request: flyteidl.admin.ISignalGetOrCreateRequest): Promise; + + /** + * Calls ListSignals. + * @param request SignalListRequest message or plain object + * @param callback Node-style callback called with the error, if any, and SignalList + */ + public listSignals(request: flyteidl.admin.ISignalListRequest, callback: flyteidl.service.SignalService.ListSignalsCallback): void; + + /** + * Calls ListSignals. + * @param request SignalListRequest message or plain object + * @returns Promise + */ + public listSignals(request: flyteidl.admin.ISignalListRequest): Promise; + + /** + * Calls SetSignal. + * @param request SignalSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and SignalSetResponse + */ + public setSignal(request: flyteidl.admin.ISignalSetRequest, callback: flyteidl.service.SignalService.SetSignalCallback): void; + + /** + * Calls SetSignal. + * @param request SignalSetRequest message or plain object + * @returns Promise + */ + public setSignal(request: flyteidl.admin.ISignalSetRequest): Promise; + } + + namespace SignalService { + + /** + * Callback as used by {@link flyteidl.service.SignalService#getOrCreateSignal}. + * @param error Error, if any + * @param [response] Signal + */ + type GetOrCreateSignalCallback = (error: (Error|null), response?: flyteidl.admin.Signal) => void; + + /** + * Callback as used by {@link flyteidl.service.SignalService#listSignals}. + * @param error Error, if any + * @param [response] SignalList + */ + type ListSignalsCallback = (error: (Error|null), response?: flyteidl.admin.SignalList) => void; + + /** + * Callback as used by {@link flyteidl.service.SignalService#setSignal}. + * @param error Error, if any + * @param [response] SignalSetResponse + */ + type SetSignalCallback = (error: (Error|null), response?: flyteidl.admin.SignalSetResponse) => void; + } } } diff --git a/gen/pb-js/flyteidl.js b/gen/pb-js/flyteidl.js index ee34fe99e4..996221e2ff 100644 --- a/gen/pb-js/flyteidl.js +++ b/gen/pb-js/flyteidl.js @@ -1082,6 +1082,135 @@ export const flyteidl = $root.flyteidl = (() => { return TaskExecutionIdentifier; })(); + core.SignalIdentifier = (function() { + + /** + * Properties of a SignalIdentifier. + * @memberof flyteidl.core + * @interface ISignalIdentifier + * @property {string|null} [signalId] SignalIdentifier signalId + * @property {flyteidl.core.IWorkflowExecutionIdentifier|null} [executionId] SignalIdentifier executionId + */ + + /** + * Constructs a new SignalIdentifier. + * @memberof flyteidl.core + * @classdesc Represents a SignalIdentifier. + * @implements ISignalIdentifier + * @constructor + * @param {flyteidl.core.ISignalIdentifier=} [properties] Properties to set + */ + function SignalIdentifier(properties) { + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SignalIdentifier signalId. + * @member {string} signalId + * @memberof flyteidl.core.SignalIdentifier + * @instance + */ + SignalIdentifier.prototype.signalId = ""; + + /** + * SignalIdentifier executionId. + * @member {flyteidl.core.IWorkflowExecutionIdentifier|null|undefined} executionId + * @memberof flyteidl.core.SignalIdentifier + * @instance + */ + SignalIdentifier.prototype.executionId = null; + + /** + * Creates a new SignalIdentifier instance using the specified properties. + * @function create + * @memberof flyteidl.core.SignalIdentifier + * @static + * @param {flyteidl.core.ISignalIdentifier=} [properties] Properties to set + * @returns {flyteidl.core.SignalIdentifier} SignalIdentifier instance + */ + SignalIdentifier.create = function create(properties) { + return new SignalIdentifier(properties); + }; + + /** + * Encodes the specified SignalIdentifier message. Does not implicitly {@link flyteidl.core.SignalIdentifier.verify|verify} messages. + * @function encode + * @memberof flyteidl.core.SignalIdentifier + * @static + * @param {flyteidl.core.ISignalIdentifier} message SignalIdentifier message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignalIdentifier.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.signalId != null && message.hasOwnProperty("signalId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.signalId); + if (message.executionId != null && message.hasOwnProperty("executionId")) + $root.flyteidl.core.WorkflowExecutionIdentifier.encode(message.executionId, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Decodes a SignalIdentifier message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.core.SignalIdentifier + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.core.SignalIdentifier} SignalIdentifier + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignalIdentifier.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.core.SignalIdentifier(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signalId = reader.string(); + break; + case 2: + message.executionId = $root.flyteidl.core.WorkflowExecutionIdentifier.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a SignalIdentifier message. + * @function verify + * @memberof flyteidl.core.SignalIdentifier + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignalIdentifier.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.signalId != null && message.hasOwnProperty("signalId")) + if (!$util.isString(message.signalId)) + return "signalId: string expected"; + if (message.executionId != null && message.hasOwnProperty("executionId")) { + let error = $root.flyteidl.core.WorkflowExecutionIdentifier.verify(message.executionId); + if (error) + return "executionId." + error; + } + return null; + }; + + return SignalIdentifier; + })(); + core.ConnectionSet = (function() { /** @@ -2514,6 +2643,552 @@ export const flyteidl = $root.flyteidl = (() => { return WorkflowNode; })(); + core.ApproveCondition = (function() { + + /** + * Properties of an ApproveCondition. + * @memberof flyteidl.core + * @interface IApproveCondition + * @property {string|null} [signalId] ApproveCondition signalId + */ + + /** + * Constructs a new ApproveCondition. + * @memberof flyteidl.core + * @classdesc Represents an ApproveCondition. + * @implements IApproveCondition + * @constructor + * @param {flyteidl.core.IApproveCondition=} [properties] Properties to set + */ + function ApproveCondition(properties) { + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ApproveCondition signalId. + * @member {string} signalId + * @memberof flyteidl.core.ApproveCondition + * @instance + */ + ApproveCondition.prototype.signalId = ""; + + /** + * Creates a new ApproveCondition instance using the specified properties. + * @function create + * @memberof flyteidl.core.ApproveCondition + * @static + * @param {flyteidl.core.IApproveCondition=} [properties] Properties to set + * @returns {flyteidl.core.ApproveCondition} ApproveCondition instance + */ + ApproveCondition.create = function create(properties) { + return new ApproveCondition(properties); + }; + + /** + * Encodes the specified ApproveCondition message. Does not implicitly {@link flyteidl.core.ApproveCondition.verify|verify} messages. + * @function encode + * @memberof flyteidl.core.ApproveCondition + * @static + * @param {flyteidl.core.IApproveCondition} message ApproveCondition message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApproveCondition.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.signalId != null && message.hasOwnProperty("signalId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.signalId); + return writer; + }; + + /** + * Decodes an ApproveCondition message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.core.ApproveCondition + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.core.ApproveCondition} ApproveCondition + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApproveCondition.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.core.ApproveCondition(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signalId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies an ApproveCondition message. + * @function verify + * @memberof flyteidl.core.ApproveCondition + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ApproveCondition.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.signalId != null && message.hasOwnProperty("signalId")) + if (!$util.isString(message.signalId)) + return "signalId: string expected"; + return null; + }; + + return ApproveCondition; + })(); + + core.SignalCondition = (function() { + + /** + * Properties of a SignalCondition. + * @memberof flyteidl.core + * @interface ISignalCondition + * @property {string|null} [signalId] SignalCondition signalId + * @property {flyteidl.core.ILiteralType|null} [type] SignalCondition type + * @property {string|null} [outputVariableName] SignalCondition outputVariableName + */ + + /** + * Constructs a new SignalCondition. + * @memberof flyteidl.core + * @classdesc Represents a SignalCondition. + * @implements ISignalCondition + * @constructor + * @param {flyteidl.core.ISignalCondition=} [properties] Properties to set + */ + function SignalCondition(properties) { + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SignalCondition signalId. + * @member {string} signalId + * @memberof flyteidl.core.SignalCondition + * @instance + */ + SignalCondition.prototype.signalId = ""; + + /** + * SignalCondition type. + * @member {flyteidl.core.ILiteralType|null|undefined} type + * @memberof flyteidl.core.SignalCondition + * @instance + */ + SignalCondition.prototype.type = null; + + /** + * SignalCondition outputVariableName. + * @member {string} outputVariableName + * @memberof flyteidl.core.SignalCondition + * @instance + */ + SignalCondition.prototype.outputVariableName = ""; + + /** + * Creates a new SignalCondition instance using the specified properties. + * @function create + * @memberof flyteidl.core.SignalCondition + * @static + * @param {flyteidl.core.ISignalCondition=} [properties] Properties to set + * @returns {flyteidl.core.SignalCondition} SignalCondition instance + */ + SignalCondition.create = function create(properties) { + return new SignalCondition(properties); + }; + + /** + * Encodes the specified SignalCondition message. Does not implicitly {@link flyteidl.core.SignalCondition.verify|verify} messages. + * @function encode + * @memberof flyteidl.core.SignalCondition + * @static + * @param {flyteidl.core.ISignalCondition} message SignalCondition message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignalCondition.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.signalId != null && message.hasOwnProperty("signalId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.signalId); + if (message.type != null && message.hasOwnProperty("type")) + $root.flyteidl.core.LiteralType.encode(message.type, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.outputVariableName != null && message.hasOwnProperty("outputVariableName")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputVariableName); + return writer; + }; + + /** + * Decodes a SignalCondition message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.core.SignalCondition + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.core.SignalCondition} SignalCondition + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignalCondition.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.core.SignalCondition(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signalId = reader.string(); + break; + case 2: + message.type = $root.flyteidl.core.LiteralType.decode(reader, reader.uint32()); + break; + case 3: + message.outputVariableName = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a SignalCondition message. + * @function verify + * @memberof flyteidl.core.SignalCondition + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignalCondition.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.signalId != null && message.hasOwnProperty("signalId")) + if (!$util.isString(message.signalId)) + return "signalId: string expected"; + if (message.type != null && message.hasOwnProperty("type")) { + let error = $root.flyteidl.core.LiteralType.verify(message.type); + if (error) + return "type." + error; + } + if (message.outputVariableName != null && message.hasOwnProperty("outputVariableName")) + if (!$util.isString(message.outputVariableName)) + return "outputVariableName: string expected"; + return null; + }; + + return SignalCondition; + })(); + + core.SleepCondition = (function() { + + /** + * Properties of a SleepCondition. + * @memberof flyteidl.core + * @interface ISleepCondition + * @property {google.protobuf.IDuration|null} [duration] SleepCondition duration + */ + + /** + * Constructs a new SleepCondition. + * @memberof flyteidl.core + * @classdesc Represents a SleepCondition. + * @implements ISleepCondition + * @constructor + * @param {flyteidl.core.ISleepCondition=} [properties] Properties to set + */ + function SleepCondition(properties) { + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SleepCondition duration. + * @member {google.protobuf.IDuration|null|undefined} duration + * @memberof flyteidl.core.SleepCondition + * @instance + */ + SleepCondition.prototype.duration = null; + + /** + * Creates a new SleepCondition instance using the specified properties. + * @function create + * @memberof flyteidl.core.SleepCondition + * @static + * @param {flyteidl.core.ISleepCondition=} [properties] Properties to set + * @returns {flyteidl.core.SleepCondition} SleepCondition instance + */ + SleepCondition.create = function create(properties) { + return new SleepCondition(properties); + }; + + /** + * Encodes the specified SleepCondition message. Does not implicitly {@link flyteidl.core.SleepCondition.verify|verify} messages. + * @function encode + * @memberof flyteidl.core.SleepCondition + * @static + * @param {flyteidl.core.ISleepCondition} message SleepCondition message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SleepCondition.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.duration != null && message.hasOwnProperty("duration")) + $root.google.protobuf.Duration.encode(message.duration, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Decodes a SleepCondition message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.core.SleepCondition + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.core.SleepCondition} SleepCondition + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SleepCondition.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.core.SleepCondition(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a SleepCondition message. + * @function verify + * @memberof flyteidl.core.SleepCondition + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SleepCondition.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.duration != null && message.hasOwnProperty("duration")) { + let error = $root.google.protobuf.Duration.verify(message.duration); + if (error) + return "duration." + error; + } + return null; + }; + + return SleepCondition; + })(); + + core.GateNode = (function() { + + /** + * Properties of a GateNode. + * @memberof flyteidl.core + * @interface IGateNode + * @property {flyteidl.core.IApproveCondition|null} [approve] GateNode approve + * @property {flyteidl.core.ISignalCondition|null} [signal] GateNode signal + * @property {flyteidl.core.ISleepCondition|null} [sleep] GateNode sleep + */ + + /** + * Constructs a new GateNode. + * @memberof flyteidl.core + * @classdesc Represents a GateNode. + * @implements IGateNode + * @constructor + * @param {flyteidl.core.IGateNode=} [properties] Properties to set + */ + function GateNode(properties) { + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GateNode approve. + * @member {flyteidl.core.IApproveCondition|null|undefined} approve + * @memberof flyteidl.core.GateNode + * @instance + */ + GateNode.prototype.approve = null; + + /** + * GateNode signal. + * @member {flyteidl.core.ISignalCondition|null|undefined} signal + * @memberof flyteidl.core.GateNode + * @instance + */ + GateNode.prototype.signal = null; + + /** + * GateNode sleep. + * @member {flyteidl.core.ISleepCondition|null|undefined} sleep + * @memberof flyteidl.core.GateNode + * @instance + */ + GateNode.prototype.sleep = null; + + // OneOf field names bound to virtual getters and setters + let $oneOfFields; + + /** + * GateNode condition. + * @member {"approve"|"signal"|"sleep"|undefined} condition + * @memberof flyteidl.core.GateNode + * @instance + */ + Object.defineProperty(GateNode.prototype, "condition", { + get: $util.oneOfGetter($oneOfFields = ["approve", "signal", "sleep"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GateNode instance using the specified properties. + * @function create + * @memberof flyteidl.core.GateNode + * @static + * @param {flyteidl.core.IGateNode=} [properties] Properties to set + * @returns {flyteidl.core.GateNode} GateNode instance + */ + GateNode.create = function create(properties) { + return new GateNode(properties); + }; + + /** + * Encodes the specified GateNode message. Does not implicitly {@link flyteidl.core.GateNode.verify|verify} messages. + * @function encode + * @memberof flyteidl.core.GateNode + * @static + * @param {flyteidl.core.IGateNode} message GateNode message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GateNode.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.approve != null && message.hasOwnProperty("approve")) + $root.flyteidl.core.ApproveCondition.encode(message.approve, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.signal != null && message.hasOwnProperty("signal")) + $root.flyteidl.core.SignalCondition.encode(message.signal, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.sleep != null && message.hasOwnProperty("sleep")) + $root.flyteidl.core.SleepCondition.encode(message.sleep, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Decodes a GateNode message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.core.GateNode + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.core.GateNode} GateNode + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GateNode.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.core.GateNode(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.approve = $root.flyteidl.core.ApproveCondition.decode(reader, reader.uint32()); + break; + case 2: + message.signal = $root.flyteidl.core.SignalCondition.decode(reader, reader.uint32()); + break; + case 3: + message.sleep = $root.flyteidl.core.SleepCondition.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a GateNode message. + * @function verify + * @memberof flyteidl.core.GateNode + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GateNode.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + let properties = {}; + if (message.approve != null && message.hasOwnProperty("approve")) { + properties.condition = 1; + { + let error = $root.flyteidl.core.ApproveCondition.verify(message.approve); + if (error) + return "approve." + error; + } + } + if (message.signal != null && message.hasOwnProperty("signal")) { + if (properties.condition === 1) + return "condition: multiple values"; + properties.condition = 1; + { + let error = $root.flyteidl.core.SignalCondition.verify(message.signal); + if (error) + return "signal." + error; + } + } + if (message.sleep != null && message.hasOwnProperty("sleep")) { + if (properties.condition === 1) + return "condition: multiple values"; + properties.condition = 1; + { + let error = $root.flyteidl.core.SleepCondition.verify(message.sleep); + if (error) + return "sleep." + error; + } + } + return null; + }; + + return GateNode; + })(); + core.NodeMetadata = (function() { /** @@ -2837,6 +3512,7 @@ export const flyteidl = $root.flyteidl = (() => { * @property {flyteidl.core.ITaskNode|null} [taskNode] Node taskNode * @property {flyteidl.core.IWorkflowNode|null} [workflowNode] Node workflowNode * @property {flyteidl.core.IBranchNode|null} [branchNode] Node branchNode + * @property {flyteidl.core.IGateNode|null} [gateNode] Node gateNode */ /** @@ -2921,17 +3597,25 @@ export const flyteidl = $root.flyteidl = (() => { */ Node.prototype.branchNode = null; + /** + * Node gateNode. + * @member {flyteidl.core.IGateNode|null|undefined} gateNode + * @memberof flyteidl.core.Node + * @instance + */ + Node.prototype.gateNode = null; + // OneOf field names bound to virtual getters and setters let $oneOfFields; /** * Node target. - * @member {"taskNode"|"workflowNode"|"branchNode"|undefined} target + * @member {"taskNode"|"workflowNode"|"branchNode"|"gateNode"|undefined} target * @memberof flyteidl.core.Node * @instance */ Object.defineProperty(Node.prototype, "target", { - get: $util.oneOfGetter($oneOfFields = ["taskNode", "workflowNode", "branchNode"]), + get: $util.oneOfGetter($oneOfFields = ["taskNode", "workflowNode", "branchNode", "gateNode"]), set: $util.oneOfSetter($oneOfFields) }); @@ -2978,6 +3662,8 @@ export const flyteidl = $root.flyteidl = (() => { $root.flyteidl.core.WorkflowNode.encode(message.workflowNode, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.branchNode != null && message.hasOwnProperty("branchNode")) $root.flyteidl.core.BranchNode.encode(message.branchNode, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.gateNode != null && message.hasOwnProperty("gateNode")) + $root.flyteidl.core.GateNode.encode(message.gateNode, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; @@ -3029,6 +3715,9 @@ export const flyteidl = $root.flyteidl = (() => { case 8: message.branchNode = $root.flyteidl.core.BranchNode.decode(reader, reader.uint32()); break; + case 9: + message.gateNode = $root.flyteidl.core.GateNode.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -3110,6 +3799,16 @@ export const flyteidl = $root.flyteidl = (() => { return "branchNode." + error; } } + if (message.gateNode != null && message.hasOwnProperty("gateNode")) { + if (properties.target === 1) + return "target: multiple values"; + properties.target = 1; + { + let error = $root.flyteidl.core.GateNode.verify(message.gateNode); + if (error) + return "gateNode." + error; + } + } return null; }; @@ -33808,6 +34507,830 @@ export const flyteidl = $root.flyteidl = (() => { return ProjectDomainAttributesDeleteResponse; })(); + admin.SignalGetOrCreateRequest = (function() { + + /** + * Properties of a SignalGetOrCreateRequest. + * @memberof flyteidl.admin + * @interface ISignalGetOrCreateRequest + * @property {flyteidl.core.ISignalIdentifier|null} [id] SignalGetOrCreateRequest id + * @property {flyteidl.core.ILiteralType|null} [type] SignalGetOrCreateRequest type + */ + + /** + * Constructs a new SignalGetOrCreateRequest. + * @memberof flyteidl.admin + * @classdesc Represents a SignalGetOrCreateRequest. + * @implements ISignalGetOrCreateRequest + * @constructor + * @param {flyteidl.admin.ISignalGetOrCreateRequest=} [properties] Properties to set + */ + function SignalGetOrCreateRequest(properties) { + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SignalGetOrCreateRequest id. + * @member {flyteidl.core.ISignalIdentifier|null|undefined} id + * @memberof flyteidl.admin.SignalGetOrCreateRequest + * @instance + */ + SignalGetOrCreateRequest.prototype.id = null; + + /** + * SignalGetOrCreateRequest type. + * @member {flyteidl.core.ILiteralType|null|undefined} type + * @memberof flyteidl.admin.SignalGetOrCreateRequest + * @instance + */ + SignalGetOrCreateRequest.prototype.type = null; + + /** + * Creates a new SignalGetOrCreateRequest instance using the specified properties. + * @function create + * @memberof flyteidl.admin.SignalGetOrCreateRequest + * @static + * @param {flyteidl.admin.ISignalGetOrCreateRequest=} [properties] Properties to set + * @returns {flyteidl.admin.SignalGetOrCreateRequest} SignalGetOrCreateRequest instance + */ + SignalGetOrCreateRequest.create = function create(properties) { + return new SignalGetOrCreateRequest(properties); + }; + + /** + * Encodes the specified SignalGetOrCreateRequest message. Does not implicitly {@link flyteidl.admin.SignalGetOrCreateRequest.verify|verify} messages. + * @function encode + * @memberof flyteidl.admin.SignalGetOrCreateRequest + * @static + * @param {flyteidl.admin.ISignalGetOrCreateRequest} message SignalGetOrCreateRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignalGetOrCreateRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.id != null && message.hasOwnProperty("id")) + $root.flyteidl.core.SignalIdentifier.encode(message.id, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.type != null && message.hasOwnProperty("type")) + $root.flyteidl.core.LiteralType.encode(message.type, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Decodes a SignalGetOrCreateRequest message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.admin.SignalGetOrCreateRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.admin.SignalGetOrCreateRequest} SignalGetOrCreateRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignalGetOrCreateRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.admin.SignalGetOrCreateRequest(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = $root.flyteidl.core.SignalIdentifier.decode(reader, reader.uint32()); + break; + case 2: + message.type = $root.flyteidl.core.LiteralType.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a SignalGetOrCreateRequest message. + * @function verify + * @memberof flyteidl.admin.SignalGetOrCreateRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignalGetOrCreateRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.id != null && message.hasOwnProperty("id")) { + let error = $root.flyteidl.core.SignalIdentifier.verify(message.id); + if (error) + return "id." + error; + } + if (message.type != null && message.hasOwnProperty("type")) { + let error = $root.flyteidl.core.LiteralType.verify(message.type); + if (error) + return "type." + error; + } + return null; + }; + + return SignalGetOrCreateRequest; + })(); + + admin.SignalListRequest = (function() { + + /** + * Properties of a SignalListRequest. + * @memberof flyteidl.admin + * @interface ISignalListRequest + * @property {flyteidl.core.IWorkflowExecutionIdentifier|null} [workflowExecutionId] SignalListRequest workflowExecutionId + * @property {number|null} [limit] SignalListRequest limit + * @property {string|null} [token] SignalListRequest token + * @property {string|null} [filters] SignalListRequest filters + * @property {flyteidl.admin.ISort|null} [sortBy] SignalListRequest sortBy + */ + + /** + * Constructs a new SignalListRequest. + * @memberof flyteidl.admin + * @classdesc Represents a SignalListRequest. + * @implements ISignalListRequest + * @constructor + * @param {flyteidl.admin.ISignalListRequest=} [properties] Properties to set + */ + function SignalListRequest(properties) { + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SignalListRequest workflowExecutionId. + * @member {flyteidl.core.IWorkflowExecutionIdentifier|null|undefined} workflowExecutionId + * @memberof flyteidl.admin.SignalListRequest + * @instance + */ + SignalListRequest.prototype.workflowExecutionId = null; + + /** + * SignalListRequest limit. + * @member {number} limit + * @memberof flyteidl.admin.SignalListRequest + * @instance + */ + SignalListRequest.prototype.limit = 0; + + /** + * SignalListRequest token. + * @member {string} token + * @memberof flyteidl.admin.SignalListRequest + * @instance + */ + SignalListRequest.prototype.token = ""; + + /** + * SignalListRequest filters. + * @member {string} filters + * @memberof flyteidl.admin.SignalListRequest + * @instance + */ + SignalListRequest.prototype.filters = ""; + + /** + * SignalListRequest sortBy. + * @member {flyteidl.admin.ISort|null|undefined} sortBy + * @memberof flyteidl.admin.SignalListRequest + * @instance + */ + SignalListRequest.prototype.sortBy = null; + + /** + * Creates a new SignalListRequest instance using the specified properties. + * @function create + * @memberof flyteidl.admin.SignalListRequest + * @static + * @param {flyteidl.admin.ISignalListRequest=} [properties] Properties to set + * @returns {flyteidl.admin.SignalListRequest} SignalListRequest instance + */ + SignalListRequest.create = function create(properties) { + return new SignalListRequest(properties); + }; + + /** + * Encodes the specified SignalListRequest message. Does not implicitly {@link flyteidl.admin.SignalListRequest.verify|verify} messages. + * @function encode + * @memberof flyteidl.admin.SignalListRequest + * @static + * @param {flyteidl.admin.ISignalListRequest} message SignalListRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignalListRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.workflowExecutionId != null && message.hasOwnProperty("workflowExecutionId")) + $root.flyteidl.core.WorkflowExecutionIdentifier.encode(message.workflowExecutionId, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.limit != null && message.hasOwnProperty("limit")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.limit); + if (message.token != null && message.hasOwnProperty("token")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.token); + if (message.filters != null && message.hasOwnProperty("filters")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.filters); + if (message.sortBy != null && message.hasOwnProperty("sortBy")) + $root.flyteidl.admin.Sort.encode(message.sortBy, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Decodes a SignalListRequest message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.admin.SignalListRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.admin.SignalListRequest} SignalListRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignalListRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.admin.SignalListRequest(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.workflowExecutionId = $root.flyteidl.core.WorkflowExecutionIdentifier.decode(reader, reader.uint32()); + break; + case 2: + message.limit = reader.uint32(); + break; + case 3: + message.token = reader.string(); + break; + case 4: + message.filters = reader.string(); + break; + case 5: + message.sortBy = $root.flyteidl.admin.Sort.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a SignalListRequest message. + * @function verify + * @memberof flyteidl.admin.SignalListRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignalListRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.workflowExecutionId != null && message.hasOwnProperty("workflowExecutionId")) { + let error = $root.flyteidl.core.WorkflowExecutionIdentifier.verify(message.workflowExecutionId); + if (error) + return "workflowExecutionId." + error; + } + if (message.limit != null && message.hasOwnProperty("limit")) + if (!$util.isInteger(message.limit)) + return "limit: integer expected"; + if (message.token != null && message.hasOwnProperty("token")) + if (!$util.isString(message.token)) + return "token: string expected"; + if (message.filters != null && message.hasOwnProperty("filters")) + if (!$util.isString(message.filters)) + return "filters: string expected"; + if (message.sortBy != null && message.hasOwnProperty("sortBy")) { + let error = $root.flyteidl.admin.Sort.verify(message.sortBy); + if (error) + return "sortBy." + error; + } + return null; + }; + + return SignalListRequest; + })(); + + admin.SignalList = (function() { + + /** + * Properties of a SignalList. + * @memberof flyteidl.admin + * @interface ISignalList + * @property {Array.|null} [signals] SignalList signals + * @property {string|null} [token] SignalList token + */ + + /** + * Constructs a new SignalList. + * @memberof flyteidl.admin + * @classdesc Represents a SignalList. + * @implements ISignalList + * @constructor + * @param {flyteidl.admin.ISignalList=} [properties] Properties to set + */ + function SignalList(properties) { + this.signals = []; + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SignalList signals. + * @member {Array.} signals + * @memberof flyteidl.admin.SignalList + * @instance + */ + SignalList.prototype.signals = $util.emptyArray; + + /** + * SignalList token. + * @member {string} token + * @memberof flyteidl.admin.SignalList + * @instance + */ + SignalList.prototype.token = ""; + + /** + * Creates a new SignalList instance using the specified properties. + * @function create + * @memberof flyteidl.admin.SignalList + * @static + * @param {flyteidl.admin.ISignalList=} [properties] Properties to set + * @returns {flyteidl.admin.SignalList} SignalList instance + */ + SignalList.create = function create(properties) { + return new SignalList(properties); + }; + + /** + * Encodes the specified SignalList message. Does not implicitly {@link flyteidl.admin.SignalList.verify|verify} messages. + * @function encode + * @memberof flyteidl.admin.SignalList + * @static + * @param {flyteidl.admin.ISignalList} message SignalList message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignalList.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.signals != null && message.signals.length) + for (let i = 0; i < message.signals.length; ++i) + $root.flyteidl.admin.Signal.encode(message.signals[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.token != null && message.hasOwnProperty("token")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.token); + return writer; + }; + + /** + * Decodes a SignalList message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.admin.SignalList + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.admin.SignalList} SignalList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignalList.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.admin.SignalList(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.signals && message.signals.length)) + message.signals = []; + message.signals.push($root.flyteidl.admin.Signal.decode(reader, reader.uint32())); + break; + case 2: + message.token = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a SignalList message. + * @function verify + * @memberof flyteidl.admin.SignalList + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignalList.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.signals != null && message.hasOwnProperty("signals")) { + if (!Array.isArray(message.signals)) + return "signals: array expected"; + for (let i = 0; i < message.signals.length; ++i) { + let error = $root.flyteidl.admin.Signal.verify(message.signals[i]); + if (error) + return "signals." + error; + } + } + if (message.token != null && message.hasOwnProperty("token")) + if (!$util.isString(message.token)) + return "token: string expected"; + return null; + }; + + return SignalList; + })(); + + admin.SignalSetRequest = (function() { + + /** + * Properties of a SignalSetRequest. + * @memberof flyteidl.admin + * @interface ISignalSetRequest + * @property {flyteidl.core.ISignalIdentifier|null} [id] SignalSetRequest id + * @property {flyteidl.core.ILiteral|null} [value] SignalSetRequest value + */ + + /** + * Constructs a new SignalSetRequest. + * @memberof flyteidl.admin + * @classdesc Represents a SignalSetRequest. + * @implements ISignalSetRequest + * @constructor + * @param {flyteidl.admin.ISignalSetRequest=} [properties] Properties to set + */ + function SignalSetRequest(properties) { + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SignalSetRequest id. + * @member {flyteidl.core.ISignalIdentifier|null|undefined} id + * @memberof flyteidl.admin.SignalSetRequest + * @instance + */ + SignalSetRequest.prototype.id = null; + + /** + * SignalSetRequest value. + * @member {flyteidl.core.ILiteral|null|undefined} value + * @memberof flyteidl.admin.SignalSetRequest + * @instance + */ + SignalSetRequest.prototype.value = null; + + /** + * Creates a new SignalSetRequest instance using the specified properties. + * @function create + * @memberof flyteidl.admin.SignalSetRequest + * @static + * @param {flyteidl.admin.ISignalSetRequest=} [properties] Properties to set + * @returns {flyteidl.admin.SignalSetRequest} SignalSetRequest instance + */ + SignalSetRequest.create = function create(properties) { + return new SignalSetRequest(properties); + }; + + /** + * Encodes the specified SignalSetRequest message. Does not implicitly {@link flyteidl.admin.SignalSetRequest.verify|verify} messages. + * @function encode + * @memberof flyteidl.admin.SignalSetRequest + * @static + * @param {flyteidl.admin.ISignalSetRequest} message SignalSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignalSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.id != null && message.hasOwnProperty("id")) + $root.flyteidl.core.SignalIdentifier.encode(message.id, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.value != null && message.hasOwnProperty("value")) + $root.flyteidl.core.Literal.encode(message.value, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Decodes a SignalSetRequest message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.admin.SignalSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.admin.SignalSetRequest} SignalSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignalSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.admin.SignalSetRequest(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = $root.flyteidl.core.SignalIdentifier.decode(reader, reader.uint32()); + break; + case 2: + message.value = $root.flyteidl.core.Literal.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a SignalSetRequest message. + * @function verify + * @memberof flyteidl.admin.SignalSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignalSetRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.id != null && message.hasOwnProperty("id")) { + let error = $root.flyteidl.core.SignalIdentifier.verify(message.id); + if (error) + return "id." + error; + } + if (message.value != null && message.hasOwnProperty("value")) { + let error = $root.flyteidl.core.Literal.verify(message.value); + if (error) + return "value." + error; + } + return null; + }; + + return SignalSetRequest; + })(); + + admin.SignalSetResponse = (function() { + + /** + * Properties of a SignalSetResponse. + * @memberof flyteidl.admin + * @interface ISignalSetResponse + */ + + /** + * Constructs a new SignalSetResponse. + * @memberof flyteidl.admin + * @classdesc Represents a SignalSetResponse. + * @implements ISignalSetResponse + * @constructor + * @param {flyteidl.admin.ISignalSetResponse=} [properties] Properties to set + */ + function SignalSetResponse(properties) { + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new SignalSetResponse instance using the specified properties. + * @function create + * @memberof flyteidl.admin.SignalSetResponse + * @static + * @param {flyteidl.admin.ISignalSetResponse=} [properties] Properties to set + * @returns {flyteidl.admin.SignalSetResponse} SignalSetResponse instance + */ + SignalSetResponse.create = function create(properties) { + return new SignalSetResponse(properties); + }; + + /** + * Encodes the specified SignalSetResponse message. Does not implicitly {@link flyteidl.admin.SignalSetResponse.verify|verify} messages. + * @function encode + * @memberof flyteidl.admin.SignalSetResponse + * @static + * @param {flyteidl.admin.ISignalSetResponse} message SignalSetResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignalSetResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Decodes a SignalSetResponse message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.admin.SignalSetResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.admin.SignalSetResponse} SignalSetResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignalSetResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.admin.SignalSetResponse(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a SignalSetResponse message. + * @function verify + * @memberof flyteidl.admin.SignalSetResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignalSetResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + return SignalSetResponse; + })(); + + admin.Signal = (function() { + + /** + * Properties of a Signal. + * @memberof flyteidl.admin + * @interface ISignal + * @property {flyteidl.core.ISignalIdentifier|null} [id] Signal id + * @property {flyteidl.core.ILiteralType|null} [type] Signal type + * @property {flyteidl.core.ILiteral|null} [value] Signal value + */ + + /** + * Constructs a new Signal. + * @memberof flyteidl.admin + * @classdesc Represents a Signal. + * @implements ISignal + * @constructor + * @param {flyteidl.admin.ISignal=} [properties] Properties to set + */ + function Signal(properties) { + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Signal id. + * @member {flyteidl.core.ISignalIdentifier|null|undefined} id + * @memberof flyteidl.admin.Signal + * @instance + */ + Signal.prototype.id = null; + + /** + * Signal type. + * @member {flyteidl.core.ILiteralType|null|undefined} type + * @memberof flyteidl.admin.Signal + * @instance + */ + Signal.prototype.type = null; + + /** + * Signal value. + * @member {flyteidl.core.ILiteral|null|undefined} value + * @memberof flyteidl.admin.Signal + * @instance + */ + Signal.prototype.value = null; + + /** + * Creates a new Signal instance using the specified properties. + * @function create + * @memberof flyteidl.admin.Signal + * @static + * @param {flyteidl.admin.ISignal=} [properties] Properties to set + * @returns {flyteidl.admin.Signal} Signal instance + */ + Signal.create = function create(properties) { + return new Signal(properties); + }; + + /** + * Encodes the specified Signal message. Does not implicitly {@link flyteidl.admin.Signal.verify|verify} messages. + * @function encode + * @memberof flyteidl.admin.Signal + * @static + * @param {flyteidl.admin.ISignal} message Signal message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Signal.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.id != null && message.hasOwnProperty("id")) + $root.flyteidl.core.SignalIdentifier.encode(message.id, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.type != null && message.hasOwnProperty("type")) + $root.flyteidl.core.LiteralType.encode(message.type, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.value != null && message.hasOwnProperty("value")) + $root.flyteidl.core.Literal.encode(message.value, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Decodes a Signal message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.admin.Signal + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.admin.Signal} Signal + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Signal.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.admin.Signal(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = $root.flyteidl.core.SignalIdentifier.decode(reader, reader.uint32()); + break; + case 2: + message.type = $root.flyteidl.core.LiteralType.decode(reader, reader.uint32()); + break; + case 3: + message.value = $root.flyteidl.core.Literal.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a Signal message. + * @function verify + * @memberof flyteidl.admin.Signal + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Signal.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.id != null && message.hasOwnProperty("id")) { + let error = $root.flyteidl.core.SignalIdentifier.verify(message.id); + if (error) + return "id." + error; + } + if (message.type != null && message.hasOwnProperty("type")) { + let error = $root.flyteidl.core.LiteralType.verify(message.type); + if (error) + return "type." + error; + } + if (message.value != null && message.hasOwnProperty("value")) { + let error = $root.flyteidl.core.Literal.verify(message.value); + if (error) + return "value." + error; + } + return null; + }; + + return Signal; + })(); + admin.TaskCreateRequest = (function() { /** @@ -41769,6 +43292,140 @@ export const flyteidl = $root.flyteidl = (() => { return IdentityService; })(); + service.SignalService = (function() { + + /** + * Constructs a new SignalService service. + * @memberof flyteidl.service + * @classdesc Represents a SignalService + * @extends $protobuf.rpc.Service + * @constructor + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + */ + function SignalService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (SignalService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = SignalService; + + /** + * Creates new SignalService service using the specified rpc implementation. + * @function create + * @memberof flyteidl.service.SignalService + * @static + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + * @returns {SignalService} RPC service. Useful where requests and/or responses are streamed. + */ + SignalService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link flyteidl.service.SignalService#getOrCreateSignal}. + * @memberof flyteidl.service.SignalService + * @typedef GetOrCreateSignalCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {flyteidl.admin.Signal} [response] Signal + */ + + /** + * Calls GetOrCreateSignal. + * @function getOrCreateSignal + * @memberof flyteidl.service.SignalService + * @instance + * @param {flyteidl.admin.ISignalGetOrCreateRequest} request SignalGetOrCreateRequest message or plain object + * @param {flyteidl.service.SignalService.GetOrCreateSignalCallback} callback Node-style callback called with the error, if any, and Signal + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(SignalService.prototype.getOrCreateSignal = function getOrCreateSignal(request, callback) { + return this.rpcCall(getOrCreateSignal, $root.flyteidl.admin.SignalGetOrCreateRequest, $root.flyteidl.admin.Signal, request, callback); + }, "name", { value: "GetOrCreateSignal" }); + + /** + * Calls GetOrCreateSignal. + * @function getOrCreateSignal + * @memberof flyteidl.service.SignalService + * @instance + * @param {flyteidl.admin.ISignalGetOrCreateRequest} request SignalGetOrCreateRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link flyteidl.service.SignalService#listSignals}. + * @memberof flyteidl.service.SignalService + * @typedef ListSignalsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {flyteidl.admin.SignalList} [response] SignalList + */ + + /** + * Calls ListSignals. + * @function listSignals + * @memberof flyteidl.service.SignalService + * @instance + * @param {flyteidl.admin.ISignalListRequest} request SignalListRequest message or plain object + * @param {flyteidl.service.SignalService.ListSignalsCallback} callback Node-style callback called with the error, if any, and SignalList + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(SignalService.prototype.listSignals = function listSignals(request, callback) { + return this.rpcCall(listSignals, $root.flyteidl.admin.SignalListRequest, $root.flyteidl.admin.SignalList, request, callback); + }, "name", { value: "ListSignals" }); + + /** + * Calls ListSignals. + * @function listSignals + * @memberof flyteidl.service.SignalService + * @instance + * @param {flyteidl.admin.ISignalListRequest} request SignalListRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link flyteidl.service.SignalService#setSignal}. + * @memberof flyteidl.service.SignalService + * @typedef SetSignalCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {flyteidl.admin.SignalSetResponse} [response] SignalSetResponse + */ + + /** + * Calls SetSignal. + * @function setSignal + * @memberof flyteidl.service.SignalService + * @instance + * @param {flyteidl.admin.ISignalSetRequest} request SignalSetRequest message or plain object + * @param {flyteidl.service.SignalService.SetSignalCallback} callback Node-style callback called with the error, if any, and SignalSetResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(SignalService.prototype.setSignal = function setSignal(request, callback) { + return this.rpcCall(setSignal, $root.flyteidl.admin.SignalSetRequest, $root.flyteidl.admin.SignalSetResponse, request, callback); + }, "name", { value: "SetSignal" }); + + /** + * Calls SetSignal. + * @function setSignal + * @memberof flyteidl.service.SignalService + * @instance + * @param {flyteidl.admin.ISignalSetRequest} request SignalSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return SignalService; + })(); + return service; })(); diff --git a/gen/pb_python/flyteidl/admin/signal_pb2.py b/gen/pb_python/flyteidl/admin/signal_pb2.py new file mode 100644 index 0000000000..59676735c8 --- /dev/null +++ b/gen/pb_python/flyteidl/admin/signal_pb2.py @@ -0,0 +1,337 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: flyteidl/admin/signal.proto + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from flyteidl.admin import common_pb2 as flyteidl_dot_admin_dot_common__pb2 +from flyteidl.core import identifier_pb2 as flyteidl_dot_core_dot_identifier__pb2 +from flyteidl.core import literals_pb2 as flyteidl_dot_core_dot_literals__pb2 +from flyteidl.core import types_pb2 as flyteidl_dot_core_dot_types__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='flyteidl/admin/signal.proto', + package='flyteidl.admin', + syntax='proto3', + serialized_options=_b('Z5github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin'), + serialized_pb=_b('\n\x1b\x66lyteidl/admin/signal.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x19\x66lyteidl/core/types.proto\"q\n\x18SignalGetOrCreateRequest\x12+\n\x02id\x18\x01 \x01(\x0b\x32\x1f.flyteidl.core.SignalIdentifier\x12(\n\x04type\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.LiteralType\"\xb4\x01\n\x11SignalListRequest\x12I\n\x15workflow_execution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifier\x12\r\n\x05limit\x18\x02 \x01(\r\x12\r\n\x05token\x18\x03 \x01(\t\x12\x0f\n\x07\x66ilters\x18\x04 \x01(\t\x12%\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.Sort\"D\n\nSignalList\x12\'\n\x07signals\x18\x01 \x03(\x0b\x32\x16.flyteidl.admin.Signal\x12\r\n\x05token\x18\x02 \x01(\t\"f\n\x10SignalSetRequest\x12+\n\x02id\x18\x01 \x01(\x0b\x32\x1f.flyteidl.core.SignalIdentifier\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.flyteidl.core.Literal\"\x13\n\x11SignalSetResponse\"\x86\x01\n\x06Signal\x12+\n\x02id\x18\x01 \x01(\x0b\x32\x1f.flyteidl.core.SignalIdentifier\x12(\n\x04type\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.LiteralType\x12%\n\x05value\x18\x03 \x01(\x0b\x32\x16.flyteidl.core.LiteralB7Z5github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/adminb\x06proto3') + , + dependencies=[flyteidl_dot_admin_dot_common__pb2.DESCRIPTOR,flyteidl_dot_core_dot_identifier__pb2.DESCRIPTOR,flyteidl_dot_core_dot_literals__pb2.DESCRIPTOR,flyteidl_dot_core_dot_types__pb2.DESCRIPTOR,]) + + + + +_SIGNALGETORCREATEREQUEST = _descriptor.Descriptor( + name='SignalGetOrCreateRequest', + full_name='flyteidl.admin.SignalGetOrCreateRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='id', full_name='flyteidl.admin.SignalGetOrCreateRequest.id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='type', full_name='flyteidl.admin.SignalGetOrCreateRequest.type', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=165, + serialized_end=278, +) + + +_SIGNALLISTREQUEST = _descriptor.Descriptor( + name='SignalListRequest', + full_name='flyteidl.admin.SignalListRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='workflow_execution_id', full_name='flyteidl.admin.SignalListRequest.workflow_execution_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='limit', full_name='flyteidl.admin.SignalListRequest.limit', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='token', full_name='flyteidl.admin.SignalListRequest.token', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='filters', full_name='flyteidl.admin.SignalListRequest.filters', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='sort_by', full_name='flyteidl.admin.SignalListRequest.sort_by', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=281, + serialized_end=461, +) + + +_SIGNALLIST = _descriptor.Descriptor( + name='SignalList', + full_name='flyteidl.admin.SignalList', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='signals', full_name='flyteidl.admin.SignalList.signals', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='token', full_name='flyteidl.admin.SignalList.token', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=463, + serialized_end=531, +) + + +_SIGNALSETREQUEST = _descriptor.Descriptor( + name='SignalSetRequest', + full_name='flyteidl.admin.SignalSetRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='id', full_name='flyteidl.admin.SignalSetRequest.id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='flyteidl.admin.SignalSetRequest.value', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=533, + serialized_end=635, +) + + +_SIGNALSETRESPONSE = _descriptor.Descriptor( + name='SignalSetResponse', + full_name='flyteidl.admin.SignalSetResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=637, + serialized_end=656, +) + + +_SIGNAL = _descriptor.Descriptor( + name='Signal', + full_name='flyteidl.admin.Signal', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='id', full_name='flyteidl.admin.Signal.id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='type', full_name='flyteidl.admin.Signal.type', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='flyteidl.admin.Signal.value', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=659, + serialized_end=793, +) + +_SIGNALGETORCREATEREQUEST.fields_by_name['id'].message_type = flyteidl_dot_core_dot_identifier__pb2._SIGNALIDENTIFIER +_SIGNALGETORCREATEREQUEST.fields_by_name['type'].message_type = flyteidl_dot_core_dot_types__pb2._LITERALTYPE +_SIGNALLISTREQUEST.fields_by_name['workflow_execution_id'].message_type = flyteidl_dot_core_dot_identifier__pb2._WORKFLOWEXECUTIONIDENTIFIER +_SIGNALLISTREQUEST.fields_by_name['sort_by'].message_type = flyteidl_dot_admin_dot_common__pb2._SORT +_SIGNALLIST.fields_by_name['signals'].message_type = _SIGNAL +_SIGNALSETREQUEST.fields_by_name['id'].message_type = flyteidl_dot_core_dot_identifier__pb2._SIGNALIDENTIFIER +_SIGNALSETREQUEST.fields_by_name['value'].message_type = flyteidl_dot_core_dot_literals__pb2._LITERAL +_SIGNAL.fields_by_name['id'].message_type = flyteidl_dot_core_dot_identifier__pb2._SIGNALIDENTIFIER +_SIGNAL.fields_by_name['type'].message_type = flyteidl_dot_core_dot_types__pb2._LITERALTYPE +_SIGNAL.fields_by_name['value'].message_type = flyteidl_dot_core_dot_literals__pb2._LITERAL +DESCRIPTOR.message_types_by_name['SignalGetOrCreateRequest'] = _SIGNALGETORCREATEREQUEST +DESCRIPTOR.message_types_by_name['SignalListRequest'] = _SIGNALLISTREQUEST +DESCRIPTOR.message_types_by_name['SignalList'] = _SIGNALLIST +DESCRIPTOR.message_types_by_name['SignalSetRequest'] = _SIGNALSETREQUEST +DESCRIPTOR.message_types_by_name['SignalSetResponse'] = _SIGNALSETRESPONSE +DESCRIPTOR.message_types_by_name['Signal'] = _SIGNAL +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +SignalGetOrCreateRequest = _reflection.GeneratedProtocolMessageType('SignalGetOrCreateRequest', (_message.Message,), dict( + DESCRIPTOR = _SIGNALGETORCREATEREQUEST, + __module__ = 'flyteidl.admin.signal_pb2' + # @@protoc_insertion_point(class_scope:flyteidl.admin.SignalGetOrCreateRequest) + )) +_sym_db.RegisterMessage(SignalGetOrCreateRequest) + +SignalListRequest = _reflection.GeneratedProtocolMessageType('SignalListRequest', (_message.Message,), dict( + DESCRIPTOR = _SIGNALLISTREQUEST, + __module__ = 'flyteidl.admin.signal_pb2' + # @@protoc_insertion_point(class_scope:flyteidl.admin.SignalListRequest) + )) +_sym_db.RegisterMessage(SignalListRequest) + +SignalList = _reflection.GeneratedProtocolMessageType('SignalList', (_message.Message,), dict( + DESCRIPTOR = _SIGNALLIST, + __module__ = 'flyteidl.admin.signal_pb2' + # @@protoc_insertion_point(class_scope:flyteidl.admin.SignalList) + )) +_sym_db.RegisterMessage(SignalList) + +SignalSetRequest = _reflection.GeneratedProtocolMessageType('SignalSetRequest', (_message.Message,), dict( + DESCRIPTOR = _SIGNALSETREQUEST, + __module__ = 'flyteidl.admin.signal_pb2' + # @@protoc_insertion_point(class_scope:flyteidl.admin.SignalSetRequest) + )) +_sym_db.RegisterMessage(SignalSetRequest) + +SignalSetResponse = _reflection.GeneratedProtocolMessageType('SignalSetResponse', (_message.Message,), dict( + DESCRIPTOR = _SIGNALSETRESPONSE, + __module__ = 'flyteidl.admin.signal_pb2' + # @@protoc_insertion_point(class_scope:flyteidl.admin.SignalSetResponse) + )) +_sym_db.RegisterMessage(SignalSetResponse) + +Signal = _reflection.GeneratedProtocolMessageType('Signal', (_message.Message,), dict( + DESCRIPTOR = _SIGNAL, + __module__ = 'flyteidl.admin.signal_pb2' + # @@protoc_insertion_point(class_scope:flyteidl.admin.Signal) + )) +_sym_db.RegisterMessage(Signal) + + +DESCRIPTOR._options = None +# @@protoc_insertion_point(module_scope) diff --git a/gen/pb_python/flyteidl/admin/signal_pb2_grpc.py b/gen/pb_python/flyteidl/admin/signal_pb2_grpc.py new file mode 100644 index 0000000000..a89435267c --- /dev/null +++ b/gen/pb_python/flyteidl/admin/signal_pb2_grpc.py @@ -0,0 +1,3 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +import grpc + diff --git a/gen/pb_python/flyteidl/core/identifier_pb2.py b/gen/pb_python/flyteidl/core/identifier_pb2.py index ab9eb0ec21..3f232a25c2 100644 --- a/gen/pb_python/flyteidl/core/identifier_pb2.py +++ b/gen/pb_python/flyteidl/core/identifier_pb2.py @@ -21,7 +21,7 @@ package='flyteidl.core', syntax='proto3', serialized_options=_b('Z4github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/core'), - serialized_pb=_b('\n\x1e\x66lyteidl/core/identifier.proto\x12\rflyteidl.core\"\x80\x01\n\nIdentifier\x12\x32\n\rresource_type\x18\x01 \x01(\x0e\x32\x1b.flyteidl.core.ResourceType\x12\x0f\n\x07project\x18\x02 \x01(\t\x12\x0e\n\x06\x64omain\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\"L\n\x1bWorkflowExecutionIdentifier\x12\x0f\n\x07project\x18\x01 \x01(\t\x12\x0e\n\x06\x64omain\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"l\n\x17NodeExecutionIdentifier\x12\x0f\n\x07node_id\x18\x01 \x01(\t\x12@\n\x0c\x65xecution_id\x18\x02 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifier\"\x9f\x01\n\x17TaskExecutionIdentifier\x12*\n\x07task_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.Identifier\x12\x41\n\x11node_execution_id\x18\x02 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifier\x12\x15\n\rretry_attempt\x18\x03 \x01(\r*U\n\x0cResourceType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04TASK\x10\x01\x12\x0c\n\x08WORKFLOW\x10\x02\x12\x0f\n\x0bLAUNCH_PLAN\x10\x03\x12\x0b\n\x07\x44\x41TASET\x10\x04\x42\x36Z4github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/coreb\x06proto3') + serialized_pb=_b('\n\x1e\x66lyteidl/core/identifier.proto\x12\rflyteidl.core\"\x80\x01\n\nIdentifier\x12\x32\n\rresource_type\x18\x01 \x01(\x0e\x32\x1b.flyteidl.core.ResourceType\x12\x0f\n\x07project\x18\x02 \x01(\t\x12\x0e\n\x06\x64omain\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\"L\n\x1bWorkflowExecutionIdentifier\x12\x0f\n\x07project\x18\x01 \x01(\t\x12\x0e\n\x06\x64omain\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"l\n\x17NodeExecutionIdentifier\x12\x0f\n\x07node_id\x18\x01 \x01(\t\x12@\n\x0c\x65xecution_id\x18\x02 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifier\"\x9f\x01\n\x17TaskExecutionIdentifier\x12*\n\x07task_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.Identifier\x12\x41\n\x11node_execution_id\x18\x02 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifier\x12\x15\n\rretry_attempt\x18\x03 \x01(\r\"g\n\x10SignalIdentifier\x12\x11\n\tsignal_id\x18\x01 \x01(\t\x12@\n\x0c\x65xecution_id\x18\x02 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifier*U\n\x0cResourceType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04TASK\x10\x01\x12\x0c\n\x08WORKFLOW\x10\x02\x12\x0f\n\x0bLAUNCH_PLAN\x10\x03\x12\x0b\n\x07\x44\x41TASET\x10\x04\x42\x36Z4github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/coreb\x06proto3') ) _RESOURCETYPE = _descriptor.EnumDescriptor( @@ -53,8 +53,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=530, - serialized_end=615, + serialized_start=635, + serialized_end=720, ) _sym_db.RegisterEnumDescriptor(_RESOURCETYPE) @@ -253,14 +253,54 @@ serialized_end=528, ) + +_SIGNALIDENTIFIER = _descriptor.Descriptor( + name='SignalIdentifier', + full_name='flyteidl.core.SignalIdentifier', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='signal_id', full_name='flyteidl.core.SignalIdentifier.signal_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='execution_id', full_name='flyteidl.core.SignalIdentifier.execution_id', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=530, + serialized_end=633, +) + _IDENTIFIER.fields_by_name['resource_type'].enum_type = _RESOURCETYPE _NODEEXECUTIONIDENTIFIER.fields_by_name['execution_id'].message_type = _WORKFLOWEXECUTIONIDENTIFIER _TASKEXECUTIONIDENTIFIER.fields_by_name['task_id'].message_type = _IDENTIFIER _TASKEXECUTIONIDENTIFIER.fields_by_name['node_execution_id'].message_type = _NODEEXECUTIONIDENTIFIER +_SIGNALIDENTIFIER.fields_by_name['execution_id'].message_type = _WORKFLOWEXECUTIONIDENTIFIER DESCRIPTOR.message_types_by_name['Identifier'] = _IDENTIFIER DESCRIPTOR.message_types_by_name['WorkflowExecutionIdentifier'] = _WORKFLOWEXECUTIONIDENTIFIER DESCRIPTOR.message_types_by_name['NodeExecutionIdentifier'] = _NODEEXECUTIONIDENTIFIER DESCRIPTOR.message_types_by_name['TaskExecutionIdentifier'] = _TASKEXECUTIONIDENTIFIER +DESCRIPTOR.message_types_by_name['SignalIdentifier'] = _SIGNALIDENTIFIER DESCRIPTOR.enum_types_by_name['ResourceType'] = _RESOURCETYPE _sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -292,6 +332,13 @@ )) _sym_db.RegisterMessage(TaskExecutionIdentifier) +SignalIdentifier = _reflection.GeneratedProtocolMessageType('SignalIdentifier', (_message.Message,), dict( + DESCRIPTOR = _SIGNALIDENTIFIER, + __module__ = 'flyteidl.core.identifier_pb2' + # @@protoc_insertion_point(class_scope:flyteidl.core.SignalIdentifier) + )) +_sym_db.RegisterMessage(SignalIdentifier) + DESCRIPTOR._options = None # @@protoc_insertion_point(module_scope) diff --git a/gen/pb_python/flyteidl/core/workflow_pb2.py b/gen/pb_python/flyteidl/core/workflow_pb2.py index 73d352eb58..0b9c7f8b32 100644 --- a/gen/pb_python/flyteidl/core/workflow_pb2.py +++ b/gen/pb_python/flyteidl/core/workflow_pb2.py @@ -29,7 +29,7 @@ package='flyteidl.core', syntax='proto3', serialized_options=_b('Z4github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/core'), - serialized_pb=_b('\n\x1c\x66lyteidl/core/workflow.proto\x12\rflyteidl.core\x1a\x1d\x66lyteidl/core/condition.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1d\x66lyteidl/core/interface.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x19\x66lyteidl/core/tasks.proto\x1a\x19\x66lyteidl/core/types.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/duration.proto\"f\n\x07IfBlock\x12\x33\n\tcondition\x18\x01 \x01(\x0b\x32 .flyteidl.core.BooleanExpression\x12&\n\tthen_node\x18\x02 \x01(\x0b\x32\x13.flyteidl.core.Node\"\xb6\x01\n\x0bIfElseBlock\x12$\n\x04\x63\x61se\x18\x01 \x01(\x0b\x32\x16.flyteidl.core.IfBlock\x12%\n\x05other\x18\x02 \x03(\x0b\x32\x16.flyteidl.core.IfBlock\x12(\n\telse_node\x18\x03 \x01(\x0b\x32\x13.flyteidl.core.NodeH\x00\x12%\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x14.flyteidl.core.ErrorH\x00\x42\t\n\x07\x64\x65\x66\x61ult\"9\n\nBranchNode\x12+\n\x07if_else\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.IfElseBlock\"\x7f\n\x08TaskNode\x12\x31\n\x0creference_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierH\x00\x12\x33\n\toverrides\x18\x02 \x01(\x0b\x32 .flyteidl.core.TaskNodeOverridesB\x0b\n\treference\"\x87\x01\n\x0cWorkflowNode\x12\x33\n\x0elaunchplan_ref\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierH\x00\x12\x35\n\x10sub_workflow_ref\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.IdentifierH\x00\x42\x0b\n\treference\"\xa7\x01\n\x0cNodeMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12*\n\x07timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n\x07retries\x18\x05 \x01(\x0b\x32\x1c.flyteidl.core.RetryStrategy\x12\x17\n\rinterruptible\x18\x06 \x01(\x08H\x00\x42\x15\n\x13interruptible_value\"#\n\x05\x41lias\x12\x0b\n\x03var\x18\x01 \x01(\t\x12\r\n\x05\x61lias\x18\x02 \x01(\t\"\xd2\x02\n\x04Node\x12\n\n\x02id\x18\x01 \x01(\t\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.NodeMetadata\x12&\n\x06inputs\x18\x03 \x03(\x0b\x32\x16.flyteidl.core.Binding\x12\x19\n\x11upstream_node_ids\x18\x04 \x03(\t\x12,\n\x0eoutput_aliases\x18\x05 \x03(\x0b\x32\x14.flyteidl.core.Alias\x12,\n\ttask_node\x18\x06 \x01(\x0b\x32\x17.flyteidl.core.TaskNodeH\x00\x12\x34\n\rworkflow_node\x18\x07 \x01(\x0b\x32\x1b.flyteidl.core.WorkflowNodeH\x00\x12\x30\n\x0b\x62ranch_node\x18\x08 \x01(\x0b\x32\x19.flyteidl.core.BranchNodeH\x00\x42\x08\n\x06target\"\xe7\x01\n\x10WorkflowMetadata\x12;\n\x12quality_of_service\x18\x01 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfService\x12\x43\n\non_failure\x18\x02 \x01(\x0e\x32/.flyteidl.core.WorkflowMetadata.OnFailurePolicy\"Q\n\x0fOnFailurePolicy\x12\x14\n\x10\x46\x41IL_IMMEDIATELY\x10\x00\x12(\n$FAIL_AFTER_EXECUTABLE_NODES_COMPLETE\x10\x01\"1\n\x18WorkflowMetadataDefaults\x12\x15\n\rinterruptible\x18\x01 \x01(\x08\"\xda\x02\n\x10WorkflowTemplate\x12%\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.Identifier\x12\x31\n\x08metadata\x18\x02 \x01(\x0b\x32\x1f.flyteidl.core.WorkflowMetadata\x12\x30\n\tinterface\x18\x03 \x01(\x0b\x32\x1d.flyteidl.core.TypedInterface\x12\"\n\x05nodes\x18\x04 \x03(\x0b\x32\x13.flyteidl.core.Node\x12\'\n\x07outputs\x18\x05 \x03(\x0b\x32\x16.flyteidl.core.Binding\x12)\n\x0c\x66\x61ilure_node\x18\x06 \x01(\x0b\x32\x13.flyteidl.core.Node\x12\x42\n\x11metadata_defaults\x18\x07 \x01(\x0b\x32\'.flyteidl.core.WorkflowMetadataDefaults\"@\n\x11TaskNodeOverrides\x12+\n\tresources\x18\x01 \x01(\x0b\x32\x18.flyteidl.core.ResourcesB6Z4github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/coreb\x06proto3') + serialized_pb=_b('\n\x1c\x66lyteidl/core/workflow.proto\x12\rflyteidl.core\x1a\x1d\x66lyteidl/core/condition.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1d\x66lyteidl/core/interface.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x19\x66lyteidl/core/tasks.proto\x1a\x19\x66lyteidl/core/types.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/duration.proto\"f\n\x07IfBlock\x12\x33\n\tcondition\x18\x01 \x01(\x0b\x32 .flyteidl.core.BooleanExpression\x12&\n\tthen_node\x18\x02 \x01(\x0b\x32\x13.flyteidl.core.Node\"\xb6\x01\n\x0bIfElseBlock\x12$\n\x04\x63\x61se\x18\x01 \x01(\x0b\x32\x16.flyteidl.core.IfBlock\x12%\n\x05other\x18\x02 \x03(\x0b\x32\x16.flyteidl.core.IfBlock\x12(\n\telse_node\x18\x03 \x01(\x0b\x32\x13.flyteidl.core.NodeH\x00\x12%\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x14.flyteidl.core.ErrorH\x00\x42\t\n\x07\x64\x65\x66\x61ult\"9\n\nBranchNode\x12+\n\x07if_else\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.IfElseBlock\"\x7f\n\x08TaskNode\x12\x31\n\x0creference_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierH\x00\x12\x33\n\toverrides\x18\x02 \x01(\x0b\x32 .flyteidl.core.TaskNodeOverridesB\x0b\n\treference\"\x87\x01\n\x0cWorkflowNode\x12\x33\n\x0elaunchplan_ref\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierH\x00\x12\x35\n\x10sub_workflow_ref\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.IdentifierH\x00\x42\x0b\n\treference\"%\n\x10\x41pproveCondition\x12\x11\n\tsignal_id\x18\x01 \x01(\t\"l\n\x0fSignalCondition\x12\x11\n\tsignal_id\x18\x01 \x01(\t\x12(\n\x04type\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.LiteralType\x12\x1c\n\x14output_variable_name\x18\x03 \x01(\t\"=\n\x0eSleepCondition\x12+\n\x08\x64uration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xad\x01\n\x08GateNode\x12\x32\n\x07\x61pprove\x18\x01 \x01(\x0b\x32\x1f.flyteidl.core.ApproveConditionH\x00\x12\x30\n\x06signal\x18\x02 \x01(\x0b\x32\x1e.flyteidl.core.SignalConditionH\x00\x12.\n\x05sleep\x18\x03 \x01(\x0b\x32\x1d.flyteidl.core.SleepConditionH\x00\x42\x0b\n\tcondition\"\xa7\x01\n\x0cNodeMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12*\n\x07timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n\x07retries\x18\x05 \x01(\x0b\x32\x1c.flyteidl.core.RetryStrategy\x12\x17\n\rinterruptible\x18\x06 \x01(\x08H\x00\x42\x15\n\x13interruptible_value\"#\n\x05\x41lias\x12\x0b\n\x03var\x18\x01 \x01(\t\x12\r\n\x05\x61lias\x18\x02 \x01(\t\"\x80\x03\n\x04Node\x12\n\n\x02id\x18\x01 \x01(\t\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.NodeMetadata\x12&\n\x06inputs\x18\x03 \x03(\x0b\x32\x16.flyteidl.core.Binding\x12\x19\n\x11upstream_node_ids\x18\x04 \x03(\t\x12,\n\x0eoutput_aliases\x18\x05 \x03(\x0b\x32\x14.flyteidl.core.Alias\x12,\n\ttask_node\x18\x06 \x01(\x0b\x32\x17.flyteidl.core.TaskNodeH\x00\x12\x34\n\rworkflow_node\x18\x07 \x01(\x0b\x32\x1b.flyteidl.core.WorkflowNodeH\x00\x12\x30\n\x0b\x62ranch_node\x18\x08 \x01(\x0b\x32\x19.flyteidl.core.BranchNodeH\x00\x12,\n\tgate_node\x18\t \x01(\x0b\x32\x17.flyteidl.core.GateNodeH\x00\x42\x08\n\x06target\"\xe7\x01\n\x10WorkflowMetadata\x12;\n\x12quality_of_service\x18\x01 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfService\x12\x43\n\non_failure\x18\x02 \x01(\x0e\x32/.flyteidl.core.WorkflowMetadata.OnFailurePolicy\"Q\n\x0fOnFailurePolicy\x12\x14\n\x10\x46\x41IL_IMMEDIATELY\x10\x00\x12(\n$FAIL_AFTER_EXECUTABLE_NODES_COMPLETE\x10\x01\"1\n\x18WorkflowMetadataDefaults\x12\x15\n\rinterruptible\x18\x01 \x01(\x08\"\xda\x02\n\x10WorkflowTemplate\x12%\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.Identifier\x12\x31\n\x08metadata\x18\x02 \x01(\x0b\x32\x1f.flyteidl.core.WorkflowMetadata\x12\x30\n\tinterface\x18\x03 \x01(\x0b\x32\x1d.flyteidl.core.TypedInterface\x12\"\n\x05nodes\x18\x04 \x03(\x0b\x32\x13.flyteidl.core.Node\x12\'\n\x07outputs\x18\x05 \x03(\x0b\x32\x16.flyteidl.core.Binding\x12)\n\x0c\x66\x61ilure_node\x18\x06 \x01(\x0b\x32\x13.flyteidl.core.Node\x12\x42\n\x11metadata_defaults\x18\x07 \x01(\x0b\x32\'.flyteidl.core.WorkflowMetadataDefaults\"@\n\x11TaskNodeOverrides\x12+\n\tresources\x18\x01 \x01(\x0b\x32\x18.flyteidl.core.ResourcesB6Z4github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/coreb\x06proto3') , dependencies=[flyteidl_dot_core_dot_condition__pb2.DESCRIPTOR,flyteidl_dot_core_dot_execution__pb2.DESCRIPTOR,flyteidl_dot_core_dot_identifier__pb2.DESCRIPTOR,flyteidl_dot_core_dot_interface__pb2.DESCRIPTOR,flyteidl_dot_core_dot_literals__pb2.DESCRIPTOR,flyteidl_dot_core_dot_tasks__pb2.DESCRIPTOR,flyteidl_dot_core_dot_types__pb2.DESCRIPTOR,flyteidl_dot_core_dot_security__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,]) @@ -52,8 +52,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=1632, - serialized_end=1713, + serialized_start=2066, + serialized_end=2147, ) _sym_db.RegisterEnumDescriptor(_WORKFLOWMETADATA_ONFAILUREPOLICY) @@ -264,6 +264,161 @@ ) +_APPROVECONDITION = _descriptor.Descriptor( + name='ApproveCondition', + full_name='flyteidl.core.ApproveCondition', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='signal_id', full_name='flyteidl.core.ApproveCondition.signal_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=933, + serialized_end=970, +) + + +_SIGNALCONDITION = _descriptor.Descriptor( + name='SignalCondition', + full_name='flyteidl.core.SignalCondition', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='signal_id', full_name='flyteidl.core.SignalCondition.signal_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='type', full_name='flyteidl.core.SignalCondition.type', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='output_variable_name', full_name='flyteidl.core.SignalCondition.output_variable_name', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=972, + serialized_end=1080, +) + + +_SLEEPCONDITION = _descriptor.Descriptor( + name='SleepCondition', + full_name='flyteidl.core.SleepCondition', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='duration', full_name='flyteidl.core.SleepCondition.duration', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1082, + serialized_end=1143, +) + + +_GATENODE = _descriptor.Descriptor( + name='GateNode', + full_name='flyteidl.core.GateNode', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='approve', full_name='flyteidl.core.GateNode.approve', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='signal', full_name='flyteidl.core.GateNode.signal', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='sleep', full_name='flyteidl.core.GateNode.sleep', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='condition', full_name='flyteidl.core.GateNode.condition', + index=0, containing_type=None, fields=[]), + ], + serialized_start=1146, + serialized_end=1319, +) + + _NODEMETADATA = _descriptor.Descriptor( name='NodeMetadata', full_name='flyteidl.core.NodeMetadata', @@ -314,8 +469,8 @@ name='interruptible_value', full_name='flyteidl.core.NodeMetadata.interruptible_value', index=0, containing_type=None, fields=[]), ], - serialized_start=934, - serialized_end=1101, + serialized_start=1322, + serialized_end=1489, ) @@ -352,8 +507,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1103, - serialized_end=1138, + serialized_start=1491, + serialized_end=1526, ) @@ -420,6 +575,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='gate_node', full_name='flyteidl.core.Node.gate_node', index=8, + number=9, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -435,8 +597,8 @@ name='target', full_name='flyteidl.core.Node.target', index=0, containing_type=None, fields=[]), ], - serialized_start=1141, - serialized_end=1479, + serialized_start=1529, + serialized_end=1913, ) @@ -474,8 +636,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1482, - serialized_end=1713, + serialized_start=1916, + serialized_end=2147, ) @@ -505,8 +667,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1715, - serialized_end=1764, + serialized_start=2149, + serialized_end=2198, ) @@ -578,8 +740,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1767, - serialized_end=2113, + serialized_start=2201, + serialized_end=2547, ) @@ -609,8 +771,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2115, - serialized_end=2179, + serialized_start=2549, + serialized_end=2613, ) _IFBLOCK.fields_by_name['condition'].message_type = flyteidl_dot_core_dot_condition__pb2._BOOLEANEXPRESSION @@ -639,6 +801,20 @@ _WORKFLOWNODE.oneofs_by_name['reference'].fields.append( _WORKFLOWNODE.fields_by_name['sub_workflow_ref']) _WORKFLOWNODE.fields_by_name['sub_workflow_ref'].containing_oneof = _WORKFLOWNODE.oneofs_by_name['reference'] +_SIGNALCONDITION.fields_by_name['type'].message_type = flyteidl_dot_core_dot_types__pb2._LITERALTYPE +_SLEEPCONDITION.fields_by_name['duration'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +_GATENODE.fields_by_name['approve'].message_type = _APPROVECONDITION +_GATENODE.fields_by_name['signal'].message_type = _SIGNALCONDITION +_GATENODE.fields_by_name['sleep'].message_type = _SLEEPCONDITION +_GATENODE.oneofs_by_name['condition'].fields.append( + _GATENODE.fields_by_name['approve']) +_GATENODE.fields_by_name['approve'].containing_oneof = _GATENODE.oneofs_by_name['condition'] +_GATENODE.oneofs_by_name['condition'].fields.append( + _GATENODE.fields_by_name['signal']) +_GATENODE.fields_by_name['signal'].containing_oneof = _GATENODE.oneofs_by_name['condition'] +_GATENODE.oneofs_by_name['condition'].fields.append( + _GATENODE.fields_by_name['sleep']) +_GATENODE.fields_by_name['sleep'].containing_oneof = _GATENODE.oneofs_by_name['condition'] _NODEMETADATA.fields_by_name['timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _NODEMETADATA.fields_by_name['retries'].message_type = flyteidl_dot_core_dot_literals__pb2._RETRYSTRATEGY _NODEMETADATA.oneofs_by_name['interruptible_value'].fields.append( @@ -650,6 +826,7 @@ _NODE.fields_by_name['task_node'].message_type = _TASKNODE _NODE.fields_by_name['workflow_node'].message_type = _WORKFLOWNODE _NODE.fields_by_name['branch_node'].message_type = _BRANCHNODE +_NODE.fields_by_name['gate_node'].message_type = _GATENODE _NODE.oneofs_by_name['target'].fields.append( _NODE.fields_by_name['task_node']) _NODE.fields_by_name['task_node'].containing_oneof = _NODE.oneofs_by_name['target'] @@ -659,6 +836,9 @@ _NODE.oneofs_by_name['target'].fields.append( _NODE.fields_by_name['branch_node']) _NODE.fields_by_name['branch_node'].containing_oneof = _NODE.oneofs_by_name['target'] +_NODE.oneofs_by_name['target'].fields.append( + _NODE.fields_by_name['gate_node']) +_NODE.fields_by_name['gate_node'].containing_oneof = _NODE.oneofs_by_name['target'] _WORKFLOWMETADATA.fields_by_name['quality_of_service'].message_type = flyteidl_dot_core_dot_execution__pb2._QUALITYOFSERVICE _WORKFLOWMETADATA.fields_by_name['on_failure'].enum_type = _WORKFLOWMETADATA_ONFAILUREPOLICY _WORKFLOWMETADATA_ONFAILUREPOLICY.containing_type = _WORKFLOWMETADATA @@ -675,6 +855,10 @@ DESCRIPTOR.message_types_by_name['BranchNode'] = _BRANCHNODE DESCRIPTOR.message_types_by_name['TaskNode'] = _TASKNODE DESCRIPTOR.message_types_by_name['WorkflowNode'] = _WORKFLOWNODE +DESCRIPTOR.message_types_by_name['ApproveCondition'] = _APPROVECONDITION +DESCRIPTOR.message_types_by_name['SignalCondition'] = _SIGNALCONDITION +DESCRIPTOR.message_types_by_name['SleepCondition'] = _SLEEPCONDITION +DESCRIPTOR.message_types_by_name['GateNode'] = _GATENODE DESCRIPTOR.message_types_by_name['NodeMetadata'] = _NODEMETADATA DESCRIPTOR.message_types_by_name['Alias'] = _ALIAS DESCRIPTOR.message_types_by_name['Node'] = _NODE @@ -719,6 +903,34 @@ )) _sym_db.RegisterMessage(WorkflowNode) +ApproveCondition = _reflection.GeneratedProtocolMessageType('ApproveCondition', (_message.Message,), dict( + DESCRIPTOR = _APPROVECONDITION, + __module__ = 'flyteidl.core.workflow_pb2' + # @@protoc_insertion_point(class_scope:flyteidl.core.ApproveCondition) + )) +_sym_db.RegisterMessage(ApproveCondition) + +SignalCondition = _reflection.GeneratedProtocolMessageType('SignalCondition', (_message.Message,), dict( + DESCRIPTOR = _SIGNALCONDITION, + __module__ = 'flyteidl.core.workflow_pb2' + # @@protoc_insertion_point(class_scope:flyteidl.core.SignalCondition) + )) +_sym_db.RegisterMessage(SignalCondition) + +SleepCondition = _reflection.GeneratedProtocolMessageType('SleepCondition', (_message.Message,), dict( + DESCRIPTOR = _SLEEPCONDITION, + __module__ = 'flyteidl.core.workflow_pb2' + # @@protoc_insertion_point(class_scope:flyteidl.core.SleepCondition) + )) +_sym_db.RegisterMessage(SleepCondition) + +GateNode = _reflection.GeneratedProtocolMessageType('GateNode', (_message.Message,), dict( + DESCRIPTOR = _GATENODE, + __module__ = 'flyteidl.core.workflow_pb2' + # @@protoc_insertion_point(class_scope:flyteidl.core.GateNode) + )) +_sym_db.RegisterMessage(GateNode) + NodeMetadata = _reflection.GeneratedProtocolMessageType('NodeMetadata', (_message.Message,), dict( DESCRIPTOR = _NODEMETADATA, __module__ = 'flyteidl.core.workflow_pb2' diff --git a/gen/pb_python/flyteidl/service/flyteadmin/README.md b/gen/pb_python/flyteidl/service/flyteadmin/README.md index c346ed7067..9f55b46415 100644 --- a/gen/pb_python/flyteidl/service/flyteadmin/README.md +++ b/gen/pb_python/flyteidl/service/flyteadmin/README.md @@ -251,6 +251,7 @@ Class | Method | HTTP request | Description - [ConnectionSetIdList](docs/ConnectionSetIdList.md) - [ContainerArchitecture](docs/ContainerArchitecture.md) - [CoreAlias](docs/CoreAlias.md) + - [CoreApproveCondition](docs/CoreApproveCondition.md) - [CoreBinary](docs/CoreBinary.md) - [CoreBinding](docs/CoreBinding.md) - [CoreBindingData](docs/CoreBindingData.md) @@ -276,6 +277,7 @@ Class | Method | HTTP request | Description - [CoreEnumType](docs/CoreEnumType.md) - [CoreError](docs/CoreError.md) - [CoreExecutionError](docs/CoreExecutionError.md) + - [CoreGateNode](docs/CoreGateNode.md) - [CoreIOStrategy](docs/CoreIOStrategy.md) - [CoreIdentifier](docs/CoreIdentifier.md) - [CoreIdentity](docs/CoreIdentity.md) @@ -310,7 +312,9 @@ Class | Method | HTTP request | Description - [CoreSchemaType](docs/CoreSchemaType.md) - [CoreSecret](docs/CoreSecret.md) - [CoreSecurityContext](docs/CoreSecurityContext.md) + - [CoreSignalCondition](docs/CoreSignalCondition.md) - [CoreSimpleType](docs/CoreSimpleType.md) + - [CoreSleepCondition](docs/CoreSleepCondition.md) - [CoreSql](docs/CoreSql.md) - [CoreStructuredDataset](docs/CoreStructuredDataset.md) - [CoreStructuredDatasetMetadata](docs/CoreStructuredDatasetMetadata.md) diff --git a/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/__init__.py b/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/__init__.py index e424a2dc5a..36a55556ef 100644 --- a/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/__init__.py +++ b/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/__init__.py @@ -146,6 +146,7 @@ from flyteadmin.models.connection_set_id_list import ConnectionSetIdList from flyteadmin.models.container_architecture import ContainerArchitecture from flyteadmin.models.core_alias import CoreAlias +from flyteadmin.models.core_approve_condition import CoreApproveCondition from flyteadmin.models.core_binary import CoreBinary from flyteadmin.models.core_binding import CoreBinding from flyteadmin.models.core_binding_data import CoreBindingData @@ -171,6 +172,7 @@ from flyteadmin.models.core_enum_type import CoreEnumType from flyteadmin.models.core_error import CoreError from flyteadmin.models.core_execution_error import CoreExecutionError +from flyteadmin.models.core_gate_node import CoreGateNode from flyteadmin.models.core_io_strategy import CoreIOStrategy from flyteadmin.models.core_identifier import CoreIdentifier from flyteadmin.models.core_identity import CoreIdentity @@ -205,7 +207,9 @@ from flyteadmin.models.core_schema_type import CoreSchemaType from flyteadmin.models.core_secret import CoreSecret from flyteadmin.models.core_security_context import CoreSecurityContext +from flyteadmin.models.core_signal_condition import CoreSignalCondition from flyteadmin.models.core_simple_type import CoreSimpleType +from flyteadmin.models.core_sleep_condition import CoreSleepCondition from flyteadmin.models.core_sql import CoreSql from flyteadmin.models.core_structured_dataset import CoreStructuredDataset from flyteadmin.models.core_structured_dataset_metadata import CoreStructuredDatasetMetadata diff --git a/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py b/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py index b4b7883b18..caa66756f9 100644 --- a/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py +++ b/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py @@ -139,6 +139,7 @@ from flyteadmin.models.connection_set_id_list import ConnectionSetIdList from flyteadmin.models.container_architecture import ContainerArchitecture from flyteadmin.models.core_alias import CoreAlias +from flyteadmin.models.core_approve_condition import CoreApproveCondition from flyteadmin.models.core_binary import CoreBinary from flyteadmin.models.core_binding import CoreBinding from flyteadmin.models.core_binding_data import CoreBindingData @@ -164,6 +165,7 @@ from flyteadmin.models.core_enum_type import CoreEnumType from flyteadmin.models.core_error import CoreError from flyteadmin.models.core_execution_error import CoreExecutionError +from flyteadmin.models.core_gate_node import CoreGateNode from flyteadmin.models.core_io_strategy import CoreIOStrategy from flyteadmin.models.core_identifier import CoreIdentifier from flyteadmin.models.core_identity import CoreIdentity @@ -198,7 +200,9 @@ from flyteadmin.models.core_schema_type import CoreSchemaType from flyteadmin.models.core_secret import CoreSecret from flyteadmin.models.core_security_context import CoreSecurityContext +from flyteadmin.models.core_signal_condition import CoreSignalCondition from flyteadmin.models.core_simple_type import CoreSimpleType +from flyteadmin.models.core_sleep_condition import CoreSleepCondition from flyteadmin.models.core_sql import CoreSql from flyteadmin.models.core_structured_dataset import CoreStructuredDataset from flyteadmin.models.core_structured_dataset_metadata import CoreStructuredDatasetMetadata diff --git a/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_approve_condition.py b/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_approve_condition.py new file mode 100644 index 0000000000..56146e7219 --- /dev/null +++ b/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_approve_condition.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re # noqa: F401 + +import six + + +class CoreApproveCondition(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'signal_id': 'str' + } + + attribute_map = { + 'signal_id': 'signal_id' + } + + def __init__(self, signal_id=None): # noqa: E501 + """CoreApproveCondition - a model defined in Swagger""" # noqa: E501 + + self._signal_id = None + self.discriminator = None + + if signal_id is not None: + self.signal_id = signal_id + + @property + def signal_id(self): + """Gets the signal_id of this CoreApproveCondition. # noqa: E501 + + A unique identifier for the requested boolean signal. # noqa: E501 + + :return: The signal_id of this CoreApproveCondition. # noqa: E501 + :rtype: str + """ + return self._signal_id + + @signal_id.setter + def signal_id(self, signal_id): + """Sets the signal_id of this CoreApproveCondition. + + A unique identifier for the requested boolean signal. # noqa: E501 + + :param signal_id: The signal_id of this CoreApproveCondition. # noqa: E501 + :type: str + """ + + self._signal_id = signal_id + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CoreApproveCondition, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CoreApproveCondition): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_gate_node.py b/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_gate_node.py new file mode 100644 index 0000000000..87d54a2580 --- /dev/null +++ b/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_gate_node.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re # noqa: F401 + +import six + +from flyteadmin.models.core_approve_condition import CoreApproveCondition # noqa: F401,E501 +from flyteadmin.models.core_signal_condition import CoreSignalCondition # noqa: F401,E501 +from flyteadmin.models.core_sleep_condition import CoreSleepCondition # noqa: F401,E501 + + +class CoreGateNode(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'approve': 'CoreApproveCondition', + 'signal': 'CoreSignalCondition', + 'sleep': 'CoreSleepCondition' + } + + attribute_map = { + 'approve': 'approve', + 'signal': 'signal', + 'sleep': 'sleep' + } + + def __init__(self, approve=None, signal=None, sleep=None): # noqa: E501 + """CoreGateNode - a model defined in Swagger""" # noqa: E501 + + self._approve = None + self._signal = None + self._sleep = None + self.discriminator = None + + if approve is not None: + self.approve = approve + if signal is not None: + self.signal = signal + if sleep is not None: + self.sleep = sleep + + @property + def approve(self): + """Gets the approve of this CoreGateNode. # noqa: E501 + + ApproveCondition represents a dependency on an external approval provided by a boolean signal. # noqa: E501 + + :return: The approve of this CoreGateNode. # noqa: E501 + :rtype: CoreApproveCondition + """ + return self._approve + + @approve.setter + def approve(self, approve): + """Sets the approve of this CoreGateNode. + + ApproveCondition represents a dependency on an external approval provided by a boolean signal. # noqa: E501 + + :param approve: The approve of this CoreGateNode. # noqa: E501 + :type: CoreApproveCondition + """ + + self._approve = approve + + @property + def signal(self): + """Gets the signal of this CoreGateNode. # noqa: E501 + + SignalCondition represents a dependency on an signal. # noqa: E501 + + :return: The signal of this CoreGateNode. # noqa: E501 + :rtype: CoreSignalCondition + """ + return self._signal + + @signal.setter + def signal(self, signal): + """Sets the signal of this CoreGateNode. + + SignalCondition represents a dependency on an signal. # noqa: E501 + + :param signal: The signal of this CoreGateNode. # noqa: E501 + :type: CoreSignalCondition + """ + + self._signal = signal + + @property + def sleep(self): + """Gets the sleep of this CoreGateNode. # noqa: E501 + + SleepCondition represents a dependency on waiting for the specified duration. # noqa: E501 + + :return: The sleep of this CoreGateNode. # noqa: E501 + :rtype: CoreSleepCondition + """ + return self._sleep + + @sleep.setter + def sleep(self, sleep): + """Sets the sleep of this CoreGateNode. + + SleepCondition represents a dependency on waiting for the specified duration. # noqa: E501 + + :param sleep: The sleep of this CoreGateNode. # noqa: E501 + :type: CoreSleepCondition + """ + + self._sleep = sleep + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CoreGateNode, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CoreGateNode): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_node.py b/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_node.py index 96d375c98f..2530c4ff55 100644 --- a/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_node.py +++ b/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_node.py @@ -19,6 +19,7 @@ from flyteadmin.models.core_alias import CoreAlias # noqa: F401,E501 from flyteadmin.models.core_binding import CoreBinding # noqa: F401,E501 from flyteadmin.models.core_branch_node import CoreBranchNode # noqa: F401,E501 +from flyteadmin.models.core_gate_node import CoreGateNode # noqa: F401,E501 from flyteadmin.models.core_node_metadata import CoreNodeMetadata # noqa: F401,E501 from flyteadmin.models.core_task_node import CoreTaskNode # noqa: F401,E501 from flyteadmin.models.core_workflow_node import CoreWorkflowNode # noqa: F401,E501 @@ -45,7 +46,8 @@ class CoreNode(object): 'output_aliases': 'list[CoreAlias]', 'task_node': 'CoreTaskNode', 'workflow_node': 'CoreWorkflowNode', - 'branch_node': 'CoreBranchNode' + 'branch_node': 'CoreBranchNode', + 'gate_node': 'CoreGateNode' } attribute_map = { @@ -56,10 +58,11 @@ class CoreNode(object): 'output_aliases': 'output_aliases', 'task_node': 'task_node', 'workflow_node': 'workflow_node', - 'branch_node': 'branch_node' + 'branch_node': 'branch_node', + 'gate_node': 'gate_node' } - def __init__(self, id=None, metadata=None, inputs=None, upstream_node_ids=None, output_aliases=None, task_node=None, workflow_node=None, branch_node=None): # noqa: E501 + def __init__(self, id=None, metadata=None, inputs=None, upstream_node_ids=None, output_aliases=None, task_node=None, workflow_node=None, branch_node=None, gate_node=None): # noqa: E501 """CoreNode - a model defined in Swagger""" # noqa: E501 self._id = None @@ -70,6 +73,7 @@ def __init__(self, id=None, metadata=None, inputs=None, upstream_node_ids=None, self._task_node = None self._workflow_node = None self._branch_node = None + self._gate_node = None self.discriminator = None if id is not None: @@ -88,6 +92,8 @@ def __init__(self, id=None, metadata=None, inputs=None, upstream_node_ids=None, self.workflow_node = workflow_node if branch_node is not None: self.branch_node = branch_node + if gate_node is not None: + self.gate_node = gate_node @property def id(self): @@ -273,6 +279,29 @@ def branch_node(self, branch_node): self._branch_node = branch_node + @property + def gate_node(self): + """Gets the gate_node of this CoreNode. # noqa: E501 + + Information about the condition to evaluate in this node. # noqa: E501 + + :return: The gate_node of this CoreNode. # noqa: E501 + :rtype: CoreGateNode + """ + return self._gate_node + + @gate_node.setter + def gate_node(self, gate_node): + """Sets the gate_node of this CoreNode. + + Information about the condition to evaluate in this node. # noqa: E501 + + :param gate_node: The gate_node of this CoreNode. # noqa: E501 + :type: CoreGateNode + """ + + self._gate_node = gate_node + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_signal_condition.py b/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_signal_condition.py new file mode 100644 index 0000000000..1ccd927b9d --- /dev/null +++ b/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_signal_condition.py @@ -0,0 +1,175 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re # noqa: F401 + +import six + +from flyteadmin.models.core_literal_type import CoreLiteralType # noqa: F401,E501 + + +class CoreSignalCondition(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'signal_id': 'str', + 'type': 'CoreLiteralType', + 'output_variable_name': 'str' + } + + attribute_map = { + 'signal_id': 'signal_id', + 'type': 'type', + 'output_variable_name': 'output_variable_name' + } + + def __init__(self, signal_id=None, type=None, output_variable_name=None): # noqa: E501 + """CoreSignalCondition - a model defined in Swagger""" # noqa: E501 + + self._signal_id = None + self._type = None + self._output_variable_name = None + self.discriminator = None + + if signal_id is not None: + self.signal_id = signal_id + if type is not None: + self.type = type + if output_variable_name is not None: + self.output_variable_name = output_variable_name + + @property + def signal_id(self): + """Gets the signal_id of this CoreSignalCondition. # noqa: E501 + + A unique identifier for the requested signal. # noqa: E501 + + :return: The signal_id of this CoreSignalCondition. # noqa: E501 + :rtype: str + """ + return self._signal_id + + @signal_id.setter + def signal_id(self, signal_id): + """Sets the signal_id of this CoreSignalCondition. + + A unique identifier for the requested signal. # noqa: E501 + + :param signal_id: The signal_id of this CoreSignalCondition. # noqa: E501 + :type: str + """ + + self._signal_id = signal_id + + @property + def type(self): + """Gets the type of this CoreSignalCondition. # noqa: E501 + + A type denoting the required value type for this signal. # noqa: E501 + + :return: The type of this CoreSignalCondition. # noqa: E501 + :rtype: CoreLiteralType + """ + return self._type + + @type.setter + def type(self, type): + """Sets the type of this CoreSignalCondition. + + A type denoting the required value type for this signal. # noqa: E501 + + :param type: The type of this CoreSignalCondition. # noqa: E501 + :type: CoreLiteralType + """ + + self._type = type + + @property + def output_variable_name(self): + """Gets the output_variable_name of this CoreSignalCondition. # noqa: E501 + + The variable name for the signal value in this nodes outputs. # noqa: E501 + + :return: The output_variable_name of this CoreSignalCondition. # noqa: E501 + :rtype: str + """ + return self._output_variable_name + + @output_variable_name.setter + def output_variable_name(self, output_variable_name): + """Sets the output_variable_name of this CoreSignalCondition. + + The variable name for the signal value in this nodes outputs. # noqa: E501 + + :param output_variable_name: The output_variable_name of this CoreSignalCondition. # noqa: E501 + :type: str + """ + + self._output_variable_name = output_variable_name + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CoreSignalCondition, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CoreSignalCondition): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_sleep_condition.py b/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_sleep_condition.py new file mode 100644 index 0000000000..aa3a244b8f --- /dev/null +++ b/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_sleep_condition.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re # noqa: F401 + +import six + + +class CoreSleepCondition(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'duration': 'str' + } + + attribute_map = { + 'duration': 'duration' + } + + def __init__(self, duration=None): # noqa: E501 + """CoreSleepCondition - a model defined in Swagger""" # noqa: E501 + + self._duration = None + self.discriminator = None + + if duration is not None: + self.duration = duration + + @property + def duration(self): + """Gets the duration of this CoreSleepCondition. # noqa: E501 + + The overall duration for this sleep. # noqa: E501 + + :return: The duration of this CoreSleepCondition. # noqa: E501 + :rtype: str + """ + return self._duration + + @duration.setter + def duration(self, duration): + """Sets the duration of this CoreSleepCondition. + + The overall duration for this sleep. # noqa: E501 + + :param duration: The duration of this CoreSleepCondition. # noqa: E501 + :type: str + """ + + self._duration = duration + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CoreSleepCondition, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CoreSleepCondition): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_approve_condition.py b/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_approve_condition.py new file mode 100644 index 0000000000..5ae11c3eb9 --- /dev/null +++ b/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_approve_condition.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import unittest + +import flyteadmin +from flyteadmin.models.core_approve_condition import CoreApproveCondition # noqa: E501 +from flyteadmin.rest import ApiException + + +class TestCoreApproveCondition(unittest.TestCase): + """CoreApproveCondition unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCoreApproveCondition(self): + """Test CoreApproveCondition""" + # FIXME: construct object with mandatory attributes with example values + # model = flyteadmin.models.core_approve_condition.CoreApproveCondition() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_gate_node.py b/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_gate_node.py new file mode 100644 index 0000000000..bc6a966ffe --- /dev/null +++ b/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_gate_node.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import unittest + +import flyteadmin +from flyteadmin.models.core_gate_node import CoreGateNode # noqa: E501 +from flyteadmin.rest import ApiException + + +class TestCoreGateNode(unittest.TestCase): + """CoreGateNode unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCoreGateNode(self): + """Test CoreGateNode""" + # FIXME: construct object with mandatory attributes with example values + # model = flyteadmin.models.core_gate_node.CoreGateNode() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_signal_condition.py b/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_signal_condition.py new file mode 100644 index 0000000000..4d05f4a9dd --- /dev/null +++ b/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_signal_condition.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import unittest + +import flyteadmin +from flyteadmin.models.core_signal_condition import CoreSignalCondition # noqa: E501 +from flyteadmin.rest import ApiException + + +class TestCoreSignalCondition(unittest.TestCase): + """CoreSignalCondition unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCoreSignalCondition(self): + """Test CoreSignalCondition""" + # FIXME: construct object with mandatory attributes with example values + # model = flyteadmin.models.core_signal_condition.CoreSignalCondition() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_sleep_condition.py b/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_sleep_condition.py new file mode 100644 index 0000000000..703fb1c9c1 --- /dev/null +++ b/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_sleep_condition.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import unittest + +import flyteadmin +from flyteadmin.models.core_sleep_condition import CoreSleepCondition # noqa: E501 +from flyteadmin.rest import ApiException + + +class TestCoreSleepCondition(unittest.TestCase): + """CoreSleepCondition unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCoreSleepCondition(self): + """Test CoreSleepCondition""" + # FIXME: construct object with mandatory attributes with example values + # model = flyteadmin.models.core_sleep_condition.CoreSleepCondition() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/gen/pb_python/flyteidl/service/signal_pb2.py b/gen/pb_python/flyteidl/service/signal_pb2.py new file mode 100644 index 0000000000..06371941ff --- /dev/null +++ b/gen/pb_python/flyteidl/service/signal_pb2.py @@ -0,0 +1,78 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: flyteidl/service/signal.proto + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from flyteidl.admin import signal_pb2 as flyteidl_dot_admin_dot_signal__pb2 +from protoc_gen_swagger.options import annotations_pb2 as protoc__gen__swagger_dot_options_dot_annotations__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='flyteidl/service/signal.proto', + package='flyteidl.service', + syntax='proto3', + serialized_options=_b('Z7github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/service'), + serialized_pb=_b('\n\x1d\x66lyteidl/service/signal.proto\x12\x10\x66lyteidl.service\x1a\x1cgoogle/api/annotations.proto\x1a\x1b\x66lyteidl/admin/signal.proto\x1a,protoc-gen-swagger/options/annotations.proto2\xe7\x05\n\rSignalService\x12\x90\x01\n\x11GetOrCreateSignal\x12(.flyteidl.admin.SignalGetOrCreateRequest\x1a\x16.flyteidl.admin.Signal\"9\x92\x41\x36\x1a\x34Retrieve a signal, creating it if it does not exist.\x12\x8e\x02\n\x0bListSignals\x12!.flyteidl.admin.SignalListRequest\x1a\x1a.flyteidl.admin.SignalList\"\xbf\x01\x82\xd3\xe4\x93\x02m\x12k/api/v1/signals/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}\x92\x41I\x1aGFetch existing signal definitions matching the input signal id filters.\x12\xb1\x02\n\tSetSignal\x12 .flyteidl.admin.SignalSetRequest\x1a!.flyteidl.admin.SignalSetResponse\"\xde\x01\x82\xd3\xe4\x93\x02\x14\"\x0f/api/v1/signals:\x01*\x92\x41\xc0\x01\x1a\x13Set a signal value.JB\n\x03\x34\x30\x30\x12;\n9Returned for bad request that may have failed validation.Je\n\x03\x34\x30\x39\x12^\n\\Returned for a request that references an identical entity that has already been registered.B9Z7github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/serviceb\x06proto3') + , + dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,flyteidl_dot_admin_dot_signal__pb2.DESCRIPTOR,protoc__gen__swagger_dot_options_dot_annotations__pb2.DESCRIPTOR,]) + + + +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + + +DESCRIPTOR._options = None + +_SIGNALSERVICE = _descriptor.ServiceDescriptor( + name='SignalService', + full_name='flyteidl.service.SignalService', + file=DESCRIPTOR, + index=0, + serialized_options=None, + serialized_start=157, + serialized_end=900, + methods=[ + _descriptor.MethodDescriptor( + name='GetOrCreateSignal', + full_name='flyteidl.service.SignalService.GetOrCreateSignal', + index=0, + containing_service=None, + input_type=flyteidl_dot_admin_dot_signal__pb2._SIGNALGETORCREATEREQUEST, + output_type=flyteidl_dot_admin_dot_signal__pb2._SIGNAL, + serialized_options=_b('\222A6\0324Retrieve a signal, creating it if it does not exist.'), + ), + _descriptor.MethodDescriptor( + name='ListSignals', + full_name='flyteidl.service.SignalService.ListSignals', + index=1, + containing_service=None, + input_type=flyteidl_dot_admin_dot_signal__pb2._SIGNALLISTREQUEST, + output_type=flyteidl_dot_admin_dot_signal__pb2._SIGNALLIST, + serialized_options=_b('\202\323\344\223\002m\022k/api/v1/signals/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}\222AI\032GFetch existing signal definitions matching the input signal id filters.'), + ), + _descriptor.MethodDescriptor( + name='SetSignal', + full_name='flyteidl.service.SignalService.SetSignal', + index=2, + containing_service=None, + input_type=flyteidl_dot_admin_dot_signal__pb2._SIGNALSETREQUEST, + output_type=flyteidl_dot_admin_dot_signal__pb2._SIGNALSETRESPONSE, + serialized_options=_b('\202\323\344\223\002\024\"\017/api/v1/signals:\001*\222A\300\001\032\023Set a signal value.JB\n\003400\022;\n9Returned for bad request that may have failed validation.Je\n\003409\022^\n\\Returned for a request that references an identical entity that has already been registered.'), + ), +]) +_sym_db.RegisterServiceDescriptor(_SIGNALSERVICE) + +DESCRIPTOR.services_by_name['SignalService'] = _SIGNALSERVICE + +# @@protoc_insertion_point(module_scope) diff --git a/gen/pb_python/flyteidl/service/signal_pb2_grpc.py b/gen/pb_python/flyteidl/service/signal_pb2_grpc.py new file mode 100644 index 0000000000..6b2ce68fe6 --- /dev/null +++ b/gen/pb_python/flyteidl/service/signal_pb2_grpc.py @@ -0,0 +1,80 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +import grpc + +from flyteidl.admin import signal_pb2 as flyteidl_dot_admin_dot_signal__pb2 + + +class SignalServiceStub(object): + """SignalService defines an RPC Service that may create, update, and retrieve signal(s). + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GetOrCreateSignal = channel.unary_unary( + '/flyteidl.service.SignalService/GetOrCreateSignal', + request_serializer=flyteidl_dot_admin_dot_signal__pb2.SignalGetOrCreateRequest.SerializeToString, + response_deserializer=flyteidl_dot_admin_dot_signal__pb2.Signal.FromString, + ) + self.ListSignals = channel.unary_unary( + '/flyteidl.service.SignalService/ListSignals', + request_serializer=flyteidl_dot_admin_dot_signal__pb2.SignalListRequest.SerializeToString, + response_deserializer=flyteidl_dot_admin_dot_signal__pb2.SignalList.FromString, + ) + self.SetSignal = channel.unary_unary( + '/flyteidl.service.SignalService/SetSignal', + request_serializer=flyteidl_dot_admin_dot_signal__pb2.SignalSetRequest.SerializeToString, + response_deserializer=flyteidl_dot_admin_dot_signal__pb2.SignalSetResponse.FromString, + ) + + +class SignalServiceServicer(object): + """SignalService defines an RPC Service that may create, update, and retrieve signal(s). + """ + + def GetOrCreateSignal(self, request, context): + """Fetches or creates a :ref:`ref_flyteidl.admin.Signal`. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListSignals(self, request, context): + """Fetch a list of :ref:`ref_flyteidl.admin.Signal` definitions. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetSignal(self, request, context): + """Sets the value on a :ref:`ref_flyteidl.admin.Signal` definition + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_SignalServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GetOrCreateSignal': grpc.unary_unary_rpc_method_handler( + servicer.GetOrCreateSignal, + request_deserializer=flyteidl_dot_admin_dot_signal__pb2.SignalGetOrCreateRequest.FromString, + response_serializer=flyteidl_dot_admin_dot_signal__pb2.Signal.SerializeToString, + ), + 'ListSignals': grpc.unary_unary_rpc_method_handler( + servicer.ListSignals, + request_deserializer=flyteidl_dot_admin_dot_signal__pb2.SignalListRequest.FromString, + response_serializer=flyteidl_dot_admin_dot_signal__pb2.SignalList.SerializeToString, + ), + 'SetSignal': grpc.unary_unary_rpc_method_handler( + servicer.SetSignal, + request_deserializer=flyteidl_dot_admin_dot_signal__pb2.SignalSetRequest.FromString, + response_serializer=flyteidl_dot_admin_dot_signal__pb2.SignalSetResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'flyteidl.service.SignalService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) diff --git a/protos/docs/admin/admin.rst b/protos/docs/admin/admin.rst index 4d7743788a..2fc7d7763a 100644 --- a/protos/docs/admin/admin.rst +++ b/protos/docs/admin/admin.rst @@ -3114,6 +3114,169 @@ Represents a frequency at which to run a schedule. +.. _ref_flyteidl/admin/signal.proto: + +flyteidl/admin/signal.proto +================================================================== + + + + + +.. _ref_flyteidl.admin.Signal: + +Signal +------------------------------------------------------------------ + +Signal encapsulates a unique identifier, associated metadata, and a value for a single Flyte +signal. Signals may exist either without a set value (representing a signal request) or with a +populated value (indicating the signal has been given). + + + +.. csv-table:: Signal type fields + :header: "Field", "Type", "Label", "Description" + :widths: auto + + "id", ":ref:`ref_flyteidl.core.SignalIdentifier`", "", "A unique identifier for the requested signal." + "type", ":ref:`ref_flyteidl.core.LiteralType`", "", "A type denoting the required value type for this signal." + "value", ":ref:`ref_flyteidl.core.Literal`", "", "The value of the signal. This is only available if the signal has been "set" and must match the defined the type." + + + + + + + +.. _ref_flyteidl.admin.SignalGetOrCreateRequest: + +SignalGetOrCreateRequest +------------------------------------------------------------------ + +SignalGetOrCreateRequest represents a request structure to retrive or create a signal. +See :ref:`ref_flyteidl.admin.Signal` for more details + + + +.. csv-table:: SignalGetOrCreateRequest type fields + :header: "Field", "Type", "Label", "Description" + :widths: auto + + "id", ":ref:`ref_flyteidl.core.SignalIdentifier`", "", "A unique identifier for the requested signal." + "type", ":ref:`ref_flyteidl.core.LiteralType`", "", "A type denoting the required value type for this signal." + + + + + + + +.. _ref_flyteidl.admin.SignalList: + +SignalList +------------------------------------------------------------------ + +SignalList represents collection of signals along with the token of the last result. +See :ref:`ref_flyteidl.admin.Signal` for more details + + + +.. csv-table:: SignalList type fields + :header: "Field", "Type", "Label", "Description" + :widths: auto + + "signals", ":ref:`ref_flyteidl.admin.Signal`", "repeated", "A list of signals matching the input filters." + "token", ":ref:`ref_string`", "", "In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. If there are no more results, this value will be empty." + + + + + + + +.. _ref_flyteidl.admin.SignalListRequest: + +SignalListRequest +------------------------------------------------------------------ + +SignalListRequest represents a request structure to retrieve a collection of signals. +See :ref:`ref_flyteidl.admin.Signal` for more details + + + +.. csv-table:: SignalListRequest type fields + :header: "Field", "Type", "Label", "Description" + :widths: auto + + "workflow_execution_id", ":ref:`ref_flyteidl.core.WorkflowExecutionIdentifier`", "", "Indicates the workflow execution to filter by. +required" + "limit", ":ref:`ref_uint32`", "", "Indicates the number of resources to be returned. +required" + "token", ":ref:`ref_string`", "", "In the case of multiple pages of results, the, server-provided token can be used to fetch the next page in a query. +optional" + "filters", ":ref:`ref_string`", "", "Indicates a list of filters passed as string. +optional" + "sort_by", ":ref:`ref_flyteidl.admin.Sort`", "", "Sort ordering. +optional" + + + + + + + +.. _ref_flyteidl.admin.SignalSetRequest: + +SignalSetRequest +------------------------------------------------------------------ + +SignalSetRequest represents a request structure to set the value on a signal. Setting a signal +effetively satisfies the signal condition within a Flyte workflow. +See :ref:`ref_flyteidl.admin.Signal` for more details + + + +.. csv-table:: SignalSetRequest type fields + :header: "Field", "Type", "Label", "Description" + :widths: auto + + "id", ":ref:`ref_flyteidl.core.SignalIdentifier`", "", "A unique identifier for the requested signal." + "value", ":ref:`ref_flyteidl.core.Literal`", "", "The value of this signal, must match the defining signal type." + + + + + + + +.. _ref_flyteidl.admin.SignalSetResponse: + +SignalSetResponse +------------------------------------------------------------------ + +SignalSetResponse represents a response structure if signal setting succeeds. + +Purposefully empty, may be populated in the future. + + + + + + + +.. + end messages + + +.. + end enums + + +.. + end HasExtensions + + +.. + end services + + + + .. _ref_flyteidl/admin/task.proto: flyteidl/admin/task.proto diff --git a/protos/docs/core/core.rst b/protos/docs/core/core.rst index 4d5d16c54a..f8f0ba9744 100644 --- a/protos/docs/core/core.rst +++ b/protos/docs/core/core.rst @@ -947,6 +947,28 @@ Encapsulation of fields that identify a Flyte node execution entity. +.. _ref_flyteidl.core.SignalIdentifier: + +SignalIdentifier +------------------------------------------------------------------ + +Encapsulation of fields the uniquely identify a signal. + + + +.. csv-table:: SignalIdentifier type fields + :header: "Field", "Type", "Label", "Description" + :widths: auto + + "signal_id", ":ref:`ref_string`", "", "Unique identifier for a signal." + "execution_id", ":ref:`ref_flyteidl.core.WorkflowExecutionIdentifier`", "", "Identifies the Flyte workflow execution this signal belongs to." + + + + + + + .. _ref_flyteidl.core.TaskExecutionIdentifier: TaskExecutionIdentifier @@ -2824,6 +2846,28 @@ Links a variable to an alias. +.. _ref_flyteidl.core.ApproveCondition: + +ApproveCondition +------------------------------------------------------------------ + +ApproveCondition represents a dependency on an external approval. During execution, this will manifest as a boolean +signal with the provided signal_id. + + + +.. csv-table:: ApproveCondition type fields + :header: "Field", "Type", "Label", "Description" + :widths: auto + + "signal_id", ":ref:`ref_string`", "", "A unique identifier for the requested boolean signal." + + + + + + + .. _ref_flyteidl.core.BranchNode: BranchNode @@ -2846,6 +2890,29 @@ runtime based on a series of conditions that get evaluated on various parameters +.. _ref_flyteidl.core.GateNode: + +GateNode +------------------------------------------------------------------ + +GateNode refers to the condition that is required for the gate to successfully complete. + + + +.. csv-table:: GateNode type fields + :header: "Field", "Type", "Label", "Description" + :widths: auto + + "approve", ":ref:`ref_flyteidl.core.ApproveCondition`", "", "ApproveCondition represents a dependency on an external approval provided by a boolean signal." + "signal", ":ref:`ref_flyteidl.core.SignalCondition`", "", "SignalCondition represents a dependency on an signal." + "sleep", ":ref:`ref_flyteidl.core.SleepCondition`", "", "SleepCondition represents a dependency on waiting for the specified duration." + + + + + + + .. _ref_flyteidl.core.IfBlock: IfBlock @@ -2915,6 +2982,7 @@ node. "task_node", ":ref:`ref_flyteidl.core.TaskNode`", "", "Information about the Task to execute in this node." "workflow_node", ":ref:`ref_flyteidl.core.WorkflowNode`", "", "Information about the Workflow to execute in this mode." "branch_node", ":ref:`ref_flyteidl.core.BranchNode`", "", "Information about the branch node to evaluate in this node." + "gate_node", ":ref:`ref_flyteidl.core.GateNode`", "", "Information about the condition to evaluate in this node." @@ -2946,6 +3014,50 @@ Defines extra information about the Node. +.. _ref_flyteidl.core.SignalCondition: + +SignalCondition +------------------------------------------------------------------ + +SignalCondition represents a dependency on an signal. + + + +.. csv-table:: SignalCondition type fields + :header: "Field", "Type", "Label", "Description" + :widths: auto + + "signal_id", ":ref:`ref_string`", "", "A unique identifier for the requested signal." + "type", ":ref:`ref_flyteidl.core.LiteralType`", "", "A type denoting the required value type for this signal." + "output_variable_name", ":ref:`ref_string`", "", "The variable name for the signal value in this nodes outputs." + + + + + + + +.. _ref_flyteidl.core.SleepCondition: + +SleepCondition +------------------------------------------------------------------ + +SleepCondition represents a dependency on waiting for the specified duration. + + + +.. csv-table:: SleepCondition type fields + :header: "Field", "Type", "Label", "Description" + :widths: auto + + "duration", ":ref:`ref_google.protobuf.Duration`", "", "The overall duration for this sleep." + + + + + + + .. _ref_flyteidl.core.TaskNode: TaskNode diff --git a/protos/docs/service/service.rst b/protos/docs/service/service.rst index bf145a705e..87c0bf93aa 100644 --- a/protos/docs/service/service.rst +++ b/protos/docs/service/service.rst @@ -435,3 +435,45 @@ IdentityService defines an RPC Service that interacts with user/app identities. end services + + +.. _ref_flyteidl/service/signal.proto: + +flyteidl/service/signal.proto +================================================================== + + + + +.. + end messages + + +.. + end enums + + +.. + end HasExtensions + + + +.. _ref_flyteidl.service.SignalService: + +SignalService +------------------------------------------------------------------ + +SignalService defines an RPC Service that may create, update, and retrieve signal(s). + +.. csv-table:: SignalService service methods + :header: "Method Name", "Request Type", "Response Type", "Description" + :widths: auto + + "GetOrCreateSignal", ":ref:`ref_flyteidl.admin.SignalGetOrCreateRequest`", ":ref:`ref_flyteidl.admin.Signal`", "Fetches or creates a :ref:`ref_flyteidl.admin.Signal`." + "ListSignals", ":ref:`ref_flyteidl.admin.SignalListRequest`", ":ref:`ref_flyteidl.admin.SignalList`", "Fetch a list of :ref:`ref_flyteidl.admin.Signal` definitions." + "SetSignal", ":ref:`ref_flyteidl.admin.SignalSetRequest`", ":ref:`ref_flyteidl.admin.SignalSetResponse`", "Sets the value on a :ref:`ref_flyteidl.admin.Signal` definition" + +.. + end services + + diff --git a/protos/flyteidl/admin/signal.proto b/protos/flyteidl/admin/signal.proto new file mode 100644 index 0000000000..8fc1c83e58 --- /dev/null +++ b/protos/flyteidl/admin/signal.proto @@ -0,0 +1,86 @@ +syntax = "proto3"; + +package flyteidl.admin; +option go_package = "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin"; + +import "flyteidl/admin/common.proto"; +import "flyteidl/core/identifier.proto"; +import "flyteidl/core/literals.proto"; +import "flyteidl/core/types.proto"; + +// SignalGetOrCreateRequest represents a request structure to retrive or create a signal. +// See :ref:`ref_flyteidl.admin.Signal` for more details +message SignalGetOrCreateRequest { + // A unique identifier for the requested signal. + core.SignalIdentifier id = 1; + + // A type denoting the required value type for this signal. + core.LiteralType type = 2; +} + +// SignalListRequest represents a request structure to retrieve a collection of signals. +// See :ref:`ref_flyteidl.admin.Signal` for more details +message SignalListRequest { + // Indicates the workflow execution to filter by. + // +required + core.WorkflowExecutionIdentifier workflow_execution_id = 1; + + // Indicates the number of resources to be returned. + // +required + uint32 limit = 2; + + // In the case of multiple pages of results, the, server-provided token can be used to fetch the next page + // in a query. + // +optional + string token = 3; + + // Indicates a list of filters passed as string. + // +optional + string filters = 4; + + // Sort ordering. + // +optional + Sort sort_by = 5; +} + +// SignalList represents collection of signals along with the token of the last result. +// See :ref:`ref_flyteidl.admin.Signal` for more details +message SignalList { + // A list of signals matching the input filters. + repeated Signal signals = 1; + + // In the case of multiple pages of results, the server-provided token can be used to fetch the next page + // in a query. If there are no more results, this value will be empty. + string token = 2; +} + +// SignalSetRequest represents a request structure to set the value on a signal. Setting a signal +// effetively satisfies the signal condition within a Flyte workflow. +// See :ref:`ref_flyteidl.admin.Signal` for more details +message SignalSetRequest { + // A unique identifier for the requested signal. + core.SignalIdentifier id = 1; + + // The value of this signal, must match the defining signal type. + core.Literal value = 2; +} + +// SignalSetResponse represents a response structure if signal setting succeeds. +message SignalSetResponse { + // Purposefully empty, may be populated in the future. +} + +// Signal encapsulates a unique identifier, associated metadata, and a value for a single Flyte +// signal. Signals may exist either without a set value (representing a signal request) or with a +// populated value (indicating the signal has been given). +message Signal { + // A unique identifier for the requested signal. + core.SignalIdentifier id = 1; + + // A type denoting the required value type for this signal. + core.LiteralType type = 2; + + // The value of the signal. This is only available if the signal has been "set" and must match + // the defined the type. + core.Literal value = 3; +} diff --git a/protos/flyteidl/core/identifier.proto b/protos/flyteidl/core/identifier.proto index df375f44a3..9b73c102f7 100644 --- a/protos/flyteidl/core/identifier.proto +++ b/protos/flyteidl/core/identifier.proto @@ -63,3 +63,12 @@ message TaskExecutionIdentifier { uint32 retry_attempt = 3; } + +// Encapsulation of fields the uniquely identify a signal. +message SignalIdentifier { + // Unique identifier for a signal. + string signal_id = 1; + + // Identifies the Flyte workflow execution this signal belongs to. + WorkflowExecutionIdentifier execution_id = 2; +} diff --git a/protos/flyteidl/core/workflow.proto b/protos/flyteidl/core/workflow.proto index 00c621dafc..27ed2b1079 100644 --- a/protos/flyteidl/core/workflow.proto +++ b/protos/flyteidl/core/workflow.proto @@ -68,6 +68,45 @@ message WorkflowNode { } } +// ApproveCondition represents a dependency on an external approval. During execution, this will manifest as a boolean +// signal with the provided signal_id. +message ApproveCondition { + // A unique identifier for the requested boolean signal. + string signal_id = 1; +} + +// SignalCondition represents a dependency on an signal. +message SignalCondition { + // A unique identifier for the requested signal. + string signal_id = 1; + + // A type denoting the required value type for this signal. + LiteralType type = 2; + + // The variable name for the signal value in this nodes outputs. + string output_variable_name = 3; +} + +// SleepCondition represents a dependency on waiting for the specified duration. +message SleepCondition { + // The overall duration for this sleep. + google.protobuf.Duration duration = 1; +} + +// GateNode refers to the condition that is required for the gate to successfully complete. +message GateNode { + oneof condition { + // ApproveCondition represents a dependency on an external approval provided by a boolean signal. + ApproveCondition approve = 1; + + // SignalCondition represents a dependency on an signal. + SignalCondition signal = 2; + + // SleepCondition represents a dependency on waiting for the specified duration. + SleepCondition sleep = 3; + } +} + // Defines extra information about the Node. message NodeMetadata { // A friendly name for the Node @@ -129,6 +168,9 @@ message Node { // Information about the branch node to evaluate in this node. BranchNode branch_node = 8; + + // Information about the condition to evaluate in this node. + GateNode gate_node = 9; } } diff --git a/protos/flyteidl/service/signal.proto b/protos/flyteidl/service/signal.proto new file mode 100644 index 0000000000..af6c7e61fb --- /dev/null +++ b/protos/flyteidl/service/signal.proto @@ -0,0 +1,55 @@ +syntax = "proto3"; +package flyteidl.service; + +option go_package = "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/service"; + +import "google/api/annotations.proto"; +import "flyteidl/admin/signal.proto"; +import "protoc-gen-swagger/options/annotations.proto"; + +// SignalService defines an RPC Service that may create, update, and retrieve signal(s). +service SignalService { + // Fetches or creates a :ref:`ref_flyteidl.admin.Signal`. + rpc GetOrCreateSignal (flyteidl.admin.SignalGetOrCreateRequest) returns (flyteidl.admin.Signal) { + // Purposefully left out an HTTP API for this RPC call. This is meant to idempotently retrieve + // a signal, meaning the first call will create the signal and all subsequent calls will + // fetch the existing signal. This is only useful during Flyte Workflow execution and therefore + // is not exposed to mitigate unintended behavior. + option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { + description: "Retrieve a signal, creating it if it does not exist." + }; + } + + // Fetch a list of :ref:`ref_flyteidl.admin.Signal` definitions. + rpc ListSignals (flyteidl.admin.SignalListRequest) returns (flyteidl.admin.SignalList) { + option (google.api.http) = { + get: "/api/v1/signals/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}" + }; + option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { + description: "Fetch existing signal definitions matching the input signal id filters." + }; + } + + // Sets the value on a :ref:`ref_flyteidl.admin.Signal` definition + rpc SetSignal (flyteidl.admin.SignalSetRequest) returns (flyteidl.admin.SignalSetResponse) { + option (google.api.http) = { + post: "/api/v1/signals" + body: "*" + }; + option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { + description: "Set a signal value." + responses: { + key: "400" + value: { + description: "Returned for bad request that may have failed validation." + } + } + responses: { + key: "409" + value: { + description: "Returned for a request that references an identical entity that has already been registered." + } + } + }; + } +}