diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index dc36a308c4..37dcf2e6d4 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -742,6 +742,7 @@ func (m *ExecutionManager) getStringFromInput(ctx context.Context, inputBinding strVal = p.GetStringValue() case *core.Primitive_Datetime: t := time.Unix(p.GetDatetime().Seconds, int64(p.GetDatetime().Nanos)) + t = t.In(time.UTC) strVal = t.Format("2006-01-02") case *core.Primitive_StringValue: strVal = p.GetStringValue() @@ -776,46 +777,6 @@ func (m *ExecutionManager) fillInTemplateArgs(ctx context.Context, query core.Ar if query.GetUri() != "" { // If a query string, then just pass it through, nothing to fill in. return query, nil - } else if query.GetArtifactTag() != nil { - t := query.GetArtifactTag() - ak := t.GetArtifactKey() - if ak == nil { - return query, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "tag doesn't have key") - } - var project, domain string - if ak.GetProject() == "" { - project = contextutils.Value(ctx, contextutils.ProjectKey) - } else { - project = ak.GetProject() - } - if ak.GetDomain() == "" { - domain = contextutils.Value(ctx, contextutils.DomainKey) - } else { - domain = ak.GetDomain() - } - strValue, err := m.getLabelValue(ctx, t.GetValue(), inputs) - if err != nil { - logger.Errorf(ctx, "Failed to template input string [%s] [%v]", t.GetValue(), err) - return query, err - } - - return core.ArtifactQuery{ - Identifier: &core.ArtifactQuery_ArtifactTag{ - ArtifactTag: &core.ArtifactTag{ - ArtifactKey: &core.ArtifactKey{ - Project: project, - Domain: domain, - Name: ak.GetName(), - }, - Value: &core.LabelValue{ - Value: &core.LabelValue_StaticValue{ - StaticValue: strValue, - }, - }, - }, - }, - }, nil - } else if query.GetArtifactId() != nil { artifactID := query.GetArtifactId() ak := artifactID.GetArtifactKey() @@ -836,7 +797,7 @@ func (m *ExecutionManager) fillInTemplateArgs(ctx context.Context, query core.Ar var partitions map[string]*core.LabelValue - if artifactID.GetPartitions() != nil && artifactID.GetPartitions().GetValue() != nil { + if artifactID.GetPartitions().GetValue() != nil { partitions = make(map[string]*core.LabelValue, len(artifactID.GetPartitions().Value)) for k, v := range artifactID.GetPartitions().GetValue() { newValue, err := m.getLabelValue(ctx, v, inputs) @@ -847,6 +808,36 @@ func (m *ExecutionManager) fillInTemplateArgs(ctx context.Context, query core.Ar partitions[k] = &core.LabelValue{Value: &core.LabelValue_StaticValue{StaticValue: newValue}} } } + + var timePartition *core.TimePartition + if artifactID.GetTimePartition().GetValue() != nil { + if artifactID.GetTimePartition().Value.GetTimeValue() != nil { + // If the time value is set, then just pass it through, nothing to fill in. + timePartition = artifactID.GetTimePartition() + } else if artifactID.GetTimePartition().Value.GetInputBinding() != nil { + // Evaluate the time partition input binding + lit, ok := inputs[artifactID.GetTimePartition().Value.GetInputBinding().GetVar()] + if !ok { + return query, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "time partition input binding var [%s] not found in inputs %v", artifactID.GetTimePartition().Value.GetInputBinding().GetVar(), inputs) + } + + if lit.GetScalar().GetPrimitive().GetDatetime() == nil { + return query, errors.NewFlyteAdminErrorf(codes.InvalidArgument, + "time partition binding to input var [%s] failing because %v is not a datetime", + artifactID.GetTimePartition().Value.GetInputBinding().GetVar(), lit) + } + timePartition = &core.TimePartition{ + Value: &core.LabelValue{ + Value: &core.LabelValue_TimeValue{ + TimeValue: lit.GetScalar().GetPrimitive().GetDatetime(), + }, + }, + } + } else { + return query, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "time partition value cannot be empty when evaluating query: %v", query) + } + } + return core.ArtifactQuery{ Identifier: &core.ArtifactQuery_ArtifactId{ ArtifactId: &core.ArtifactID{ @@ -855,11 +846,10 @@ func (m *ExecutionManager) fillInTemplateArgs(ctx context.Context, query core.Ar Domain: domain, Name: ak.GetName(), }, - Dimensions: &core.ArtifactID_Partitions{ - Partitions: &core.Partitions{ - Value: partitions, - }, + Partitions: &core.Partitions{ + Value: partitions, }, + TimePartition: timePartition, }, }, }, nil diff --git a/flyteadmin/pkg/manager/impl/execution_manager_test.go b/flyteadmin/pkg/manager/impl/execution_manager_test.go index e1f59cdf43..72c700008f 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager_test.go +++ b/flyteadmin/pkg/manager/impl/execution_manager_test.go @@ -5719,5 +5719,96 @@ func TestAddStateFilter(t *testing.T) { assert.NoError(t, err) assert.Equal(t, "state <> ?", expression.Query) }) +} + +func TestQueryTemplate(t *testing.T) { + ctx := context.Background() + + aTime := time.Date( + 2063, 4, 5, 00, 00, 00, 0, time.UTC) + + rawInputs := map[string]interface{}{ + "aStr": "hello world", + "anInt": 1, + "aFloat": 1.3, + "aTime": aTime, + } + + otherInputs, err := coreutils.MakeLiteralMap(rawInputs) + assert.NoError(t, err) + + m := ExecutionManager{} + + ak := &core.ArtifactKey{ + Project: "project", + Domain: "domain", + Name: "testname", + } + t.Run("test all present, nothing to fill in", func(t *testing.T) { + pMap := map[string]*core.LabelValue{ + "partition1": {Value: &core.LabelValue_StaticValue{StaticValue: "my value"}}, + "partition2": {Value: &core.LabelValue_StaticValue{StaticValue: "my value 2"}}, + } + p := &core.Partitions{Value: pMap} + + q := core.ArtifactQuery{ + Identifier: &core.ArtifactQuery_ArtifactId{ + ArtifactId: &core.ArtifactID{ + ArtifactKey: ak, + Partitions: p, + TimePartition: nil, + }, + }, + } + + filledQuery, err := m.fillInTemplateArgs(ctx, q, otherInputs.Literals) + assert.NoError(t, err) + assert.True(t, proto.Equal(&q, &filledQuery)) + }) + + t.Run("template date-times, both in explicit tp and not", func(t *testing.T) { + pMap := map[string]*core.LabelValue{ + "partition1": {Value: &core.LabelValue_InputBinding{InputBinding: &core.InputBindingData{Var: "aTime"}}}, + "partition2": {Value: &core.LabelValue_StaticValue{StaticValue: "my value 2"}}, + } + p := &core.Partitions{Value: pMap} + + q := core.ArtifactQuery{ + Identifier: &core.ArtifactQuery_ArtifactId{ + ArtifactId: &core.ArtifactID{ + ArtifactKey: ak, + Partitions: p, + TimePartition: &core.TimePartition{Value: &core.LabelValue{Value: &core.LabelValue_InputBinding{InputBinding: &core.InputBindingData{Var: "aTime"}}}}, + }, + }, + } + + filledQuery, err := m.fillInTemplateArgs(ctx, q, otherInputs.Literals) + assert.NoError(t, err) + staticTime := filledQuery.GetArtifactId().Partitions.Value["partition1"].GetStaticValue() + assert.Equal(t, "2063-04-05", staticTime) + assert.Equal(t, int64(2942956800), filledQuery.GetArtifactId().TimePartition.Value.GetTimeValue().Seconds) + }) + + t.Run("something missing", func(t *testing.T) { + pMap := map[string]*core.LabelValue{ + "partition1": {Value: &core.LabelValue_StaticValue{StaticValue: "my value"}}, + "partition2": {Value: &core.LabelValue_StaticValue{StaticValue: "my value 2"}}, + } + p := &core.Partitions{Value: pMap} + + q := core.ArtifactQuery{ + Identifier: &core.ArtifactQuery_ArtifactId{ + ArtifactId: &core.ArtifactID{ + ArtifactKey: ak, + Partitions: p, + TimePartition: &core.TimePartition{Value: &core.LabelValue{Value: &core.LabelValue_InputBinding{InputBinding: &core.InputBindingData{Var: "wrong var"}}}}, + }, + }, + } + + _, err := m.fillInTemplateArgs(ctx, q, otherInputs.Literals) + assert.Error(t, err) + }) } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc index 3b146336fe..f090a2d7f4 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc @@ -33,7 +33,7 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fexecution_2eproto ::google::p extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_Execution_flyteidl_2fadmin_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<5> scc_info_ExecutionMetadata_flyteidl_2fadmin_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_ExecutionClosure_flyteidl_2fadmin_2fexecution_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_ArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_ArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_ExecutionError_flyteidl_2fcore_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_QualityOfService_flyteidl_2fcore_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Identifier_flyteidl_2fcore_2fidentifier_2eproto; diff --git a/flyteidl/gen/pb-cpp/flyteidl/artifact/artifacts.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/artifact/artifacts.pb.cc index 300fa12f8f..a8d21adedf 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/artifact/artifacts.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/artifact/artifacts.pb.cc @@ -22,11 +22,11 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fartifact_2fartifacts_2eproto ::google extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fartifact_2fartifacts_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_ArtifactConsumer_flyteidl_2fartifact_2fartifacts_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fartifact_2fartifacts_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_ArtifactProducer_flyteidl_2fartifact_2fartifacts_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fartifact_2fartifacts_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_ArtifactSource_flyteidl_2fartifact_2fartifacts_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fartifact_2fartifacts_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_ArtifactSpec_flyteidl_2fartifact_2fartifacts_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fartifact_2fartifacts_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_Artifact_flyteidl_2fartifact_2fartifacts_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fartifact_2fartifacts_2eproto ::google::protobuf::internal::SCCInfo<4> scc_info_ArtifactSpec_flyteidl_2fartifact_2fartifacts_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_ArtifactKey_flyteidl_2fcore_2fartifact_5fid_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_Partitions_flyteidl_2fcore_2fartifact_5fid_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_ArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_ArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_ArtifactQuery_flyteidl_2fcore_2fartifact_5fid_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Identifier_flyteidl_2fcore_2fidentifier_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_WorkflowExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; @@ -35,6 +35,7 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2finterface_2eproto ::google::pr extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<10> scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2ftypes_2eproto ::google::protobuf::internal::SCCInfo<5> scc_info_LiteralType_flyteidl_2fcore_2ftypes_2eproto; extern PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fany_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Any_google_2fprotobuf_2fany_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2ftimestamp_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto; namespace flyteidl { namespace artifact { class ArtifactDefaultTypeInternal { @@ -188,11 +189,12 @@ static void InitDefaultsCreateArtifactRequest_flyteidl_2fartifact_2fartifacts_2e ::flyteidl::artifact::CreateArtifactRequest::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<4> scc_info_CreateArtifactRequest_flyteidl_2fartifact_2fartifacts_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 4, InitDefaultsCreateArtifactRequest_flyteidl_2fartifact_2fartifacts_2eproto}, { +::google::protobuf::internal::SCCInfo<5> scc_info_CreateArtifactRequest_flyteidl_2fartifact_2fartifacts_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 5, InitDefaultsCreateArtifactRequest_flyteidl_2fartifact_2fartifacts_2eproto}, { &scc_info_ArtifactKey_flyteidl_2fcore_2fartifact_5fid_2eproto.base, &scc_info_ArtifactSpec_flyteidl_2fartifact_2fartifacts_2eproto.base, &scc_info_CreateArtifactRequest_PartitionsEntry_DoNotUse_flyteidl_2fartifact_2fartifacts_2eproto.base, + &scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto.base, &scc_info_ArtifactSource_flyteidl_2fartifact_2fartifacts_2eproto.base,}}; static void InitDefaultsArtifactSource_flyteidl_2fartifact_2fartifacts_2eproto() { @@ -222,11 +224,12 @@ static void InitDefaultsArtifactSpec_flyteidl_2fartifact_2fartifacts_2eproto() { ::flyteidl::artifact::ArtifactSpec::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<3> scc_info_ArtifactSpec_flyteidl_2fartifact_2fartifacts_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsArtifactSpec_flyteidl_2fartifact_2fartifacts_2eproto}, { +::google::protobuf::internal::SCCInfo<4> scc_info_ArtifactSpec_flyteidl_2fartifact_2fartifacts_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 4, InitDefaultsArtifactSpec_flyteidl_2fartifact_2fartifacts_2eproto}, { &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, &scc_info_LiteralType_flyteidl_2fcore_2ftypes_2eproto.base, - &scc_info_Any_google_2fprotobuf_2fany_2eproto.base,}}; + &scc_info_Any_google_2fprotobuf_2fany_2eproto.base, + &scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto.base,}}; static void InitDefaultsCreateArtifactResponse_flyteidl_2fartifact_2fartifacts_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -298,10 +301,11 @@ static void InitDefaultsSearchArtifactsRequest_flyteidl_2fartifact_2fartifacts_2 ::flyteidl::artifact::SearchArtifactsRequest::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<3> scc_info_SearchArtifactsRequest_flyteidl_2fartifact_2fartifacts_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsSearchArtifactsRequest_flyteidl_2fartifact_2fartifacts_2eproto}, { +::google::protobuf::internal::SCCInfo<4> scc_info_SearchArtifactsRequest_flyteidl_2fartifact_2fartifacts_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 4, InitDefaultsSearchArtifactsRequest_flyteidl_2fartifact_2fartifacts_2eproto}, { &scc_info_ArtifactKey_flyteidl_2fcore_2fartifact_5fid_2eproto.base, &scc_info_Partitions_flyteidl_2fcore_2fartifact_5fid_2eproto.base, + &scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto.base, &scc_info_SearchOptions_flyteidl_2fartifact_2fartifacts_2eproto.base,}}; static void InitDefaultsSearchArtifactsResponse_flyteidl_2fartifact_2fartifacts_2eproto() { @@ -619,7 +623,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fartifact_2fartifacts_2ep PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::CreateArtifactRequest, version_), PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::CreateArtifactRequest, spec_), PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::CreateArtifactRequest, partitions_), - PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::CreateArtifactRequest, tag_), + PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::CreateArtifactRequest, time_partition_value_), PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::CreateArtifactRequest, source_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::ArtifactSource, _internal_metadata_), @@ -641,6 +645,8 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fartifact_2fartifacts_2ep PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::ArtifactSpec, short_description_), PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::ArtifactSpec, user_metadata_), PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::ArtifactSpec, metadata_type_), + PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::ArtifactSpec, created_at_), + PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::ArtifactSpec, file_format_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::CreateArtifactResponse, _internal_metadata_), ~0u, // no _extensions_ @@ -674,6 +680,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fartifact_2fartifacts_2ep ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::SearchArtifactsRequest, artifact_key_), PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::SearchArtifactsRequest, partitions_), + PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::SearchArtifactsRequest, time_partition_value_), PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::SearchArtifactsRequest, principal_), PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::SearchArtifactsRequest, version_), PROTOBUF_FIELD_OFFSET(::flyteidl::artifact::SearchArtifactsRequest, options_), @@ -790,28 +797,28 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SE { 18, -1, sizeof(::flyteidl::artifact::CreateArtifactRequest)}, { 29, -1, sizeof(::flyteidl::artifact::ArtifactSource)}, { 39, -1, sizeof(::flyteidl::artifact::ArtifactSpec)}, - { 49, -1, sizeof(::flyteidl::artifact::CreateArtifactResponse)}, - { 55, -1, sizeof(::flyteidl::artifact::GetArtifactRequest)}, - { 62, -1, sizeof(::flyteidl::artifact::GetArtifactResponse)}, - { 68, -1, sizeof(::flyteidl::artifact::SearchOptions)}, - { 75, -1, sizeof(::flyteidl::artifact::SearchArtifactsRequest)}, - { 87, -1, sizeof(::flyteidl::artifact::SearchArtifactsResponse)}, - { 94, -1, sizeof(::flyteidl::artifact::FindByWorkflowExecRequest)}, - { 101, -1, sizeof(::flyteidl::artifact::AddTagRequest)}, - { 109, -1, sizeof(::flyteidl::artifact::AddTagResponse)}, - { 114, -1, sizeof(::flyteidl::artifact::CreateTriggerRequest)}, - { 120, -1, sizeof(::flyteidl::artifact::CreateTriggerResponse)}, - { 125, -1, sizeof(::flyteidl::artifact::DeactivateTriggerRequest)}, - { 131, -1, sizeof(::flyteidl::artifact::DeactivateTriggerResponse)}, - { 136, -1, sizeof(::flyteidl::artifact::ArtifactProducer)}, - { 143, -1, sizeof(::flyteidl::artifact::RegisterProducerRequest)}, - { 149, -1, sizeof(::flyteidl::artifact::ArtifactConsumer)}, - { 156, -1, sizeof(::flyteidl::artifact::RegisterConsumerRequest)}, - { 162, -1, sizeof(::flyteidl::artifact::RegisterResponse)}, - { 167, -1, sizeof(::flyteidl::artifact::ExecutionInputsRequest)}, - { 174, -1, sizeof(::flyteidl::artifact::ExecutionInputsResponse)}, - { 179, -1, sizeof(::flyteidl::artifact::ListUsageRequest)}, - { 185, -1, sizeof(::flyteidl::artifact::ListUsageResponse)}, + { 51, -1, sizeof(::flyteidl::artifact::CreateArtifactResponse)}, + { 57, -1, sizeof(::flyteidl::artifact::GetArtifactRequest)}, + { 64, -1, sizeof(::flyteidl::artifact::GetArtifactResponse)}, + { 70, -1, sizeof(::flyteidl::artifact::SearchOptions)}, + { 77, -1, sizeof(::flyteidl::artifact::SearchArtifactsRequest)}, + { 90, -1, sizeof(::flyteidl::artifact::SearchArtifactsResponse)}, + { 97, -1, sizeof(::flyteidl::artifact::FindByWorkflowExecRequest)}, + { 104, -1, sizeof(::flyteidl::artifact::AddTagRequest)}, + { 112, -1, sizeof(::flyteidl::artifact::AddTagResponse)}, + { 117, -1, sizeof(::flyteidl::artifact::CreateTriggerRequest)}, + { 123, -1, sizeof(::flyteidl::artifact::CreateTriggerResponse)}, + { 128, -1, sizeof(::flyteidl::artifact::DeactivateTriggerRequest)}, + { 134, -1, sizeof(::flyteidl::artifact::DeactivateTriggerResponse)}, + { 139, -1, sizeof(::flyteidl::artifact::ArtifactProducer)}, + { 146, -1, sizeof(::flyteidl::artifact::RegisterProducerRequest)}, + { 152, -1, sizeof(::flyteidl::artifact::ArtifactConsumer)}, + { 159, -1, sizeof(::flyteidl::artifact::RegisterConsumerRequest)}, + { 165, -1, sizeof(::flyteidl::artifact::RegisterResponse)}, + { 170, -1, sizeof(::flyteidl::artifact::ExecutionInputsRequest)}, + { 177, -1, sizeof(::flyteidl::artifact::ExecutionInputsResponse)}, + { 182, -1, sizeof(::flyteidl::artifact::ListUsageRequest)}, + { 188, -1, sizeof(::flyteidl::artifact::ListUsageResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -853,134 +860,140 @@ ::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_fl const char descriptor_table_protodef_flyteidl_2fartifact_2fartifacts_2eproto[] = "\n!flyteidl/artifact/artifacts.proto\022\021fly" "teidl.artifact\032\031google/protobuf/any.prot" - "o\032\034google/api/annotations.proto\032 flyteid" - "l/admin/launch_plan.proto\032\034flyteidl/core" - "/literals.proto\032\031flyteidl/core/types.pro" - "to\032\036flyteidl/core/identifier.proto\032\037flyt" - "eidl/core/artifact_id.proto\032\035flyteidl/co" - "re/interface.proto\032 flyteidl/event/cloud" - "events.proto\"\252\001\n\010Artifact\022.\n\013artifact_id" - "\030\001 \001(\0132\031.flyteidl.core.ArtifactID\022-\n\004spe" - "c\030\002 \001(\0132\037.flyteidl.artifact.ArtifactSpec" - "\022\014\n\004tags\030\003 \003(\t\0221\n\006source\030\004 \001(\0132!.flyteid" - "l.artifact.ArtifactSource\"\312\002\n\025CreateArti" - "factRequest\0220\n\014artifact_key\030\001 \001(\0132\032.flyt" - "eidl.core.ArtifactKey\022\017\n\007version\030\003 \001(\t\022-" - "\n\004spec\030\002 \001(\0132\037.flyteidl.artifact.Artifac" - "tSpec\022L\n\npartitions\030\004 \003(\01328.flyteidl.art" - "ifact.CreateArtifactRequest.PartitionsEn" - "try\022\013\n\003tag\030\005 \001(\t\0221\n\006source\030\006 \001(\0132!.flyte" - "idl.artifact.ArtifactSource\0321\n\017Partition" - "sEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\277" - "\001\n\016ArtifactSource\022F\n\022workflow_execution\030" - "\001 \001(\0132*.flyteidl.core.WorkflowExecutionI" - "dentifier\022\017\n\007node_id\030\002 \001(\t\022*\n\007task_id\030\003 " - "\001(\0132\031.flyteidl.core.Identifier\022\025\n\rretry_" - "attempt\030\004 \001(\r\022\021\n\tprincipal\030\005 \001(\t\"\276\001\n\014Art" - "ifactSpec\022%\n\005value\030\001 \001(\0132\026.flyteidl.core" - ".Literal\022(\n\004type\030\002 \001(\0132\032.flyteidl.core.L" - "iteralType\022\031\n\021short_description\030\003 \001(\t\022+\n" - "\ruser_metadata\030\004 \001(\0132\024.google.protobuf.A" - "ny\022\025\n\rmetadata_type\030\005 \001(\t\"G\n\026CreateArtif" - "actResponse\022-\n\010artifact\030\001 \001(\0132\033.flyteidl" - ".artifact.Artifact\"R\n\022GetArtifactRequest" - "\022+\n\005query\030\001 \001(\0132\034.flyteidl.core.Artifact" - "Query\022\017\n\007details\030\002 \001(\010\"D\n\023GetArtifactRes" - "ponse\022-\n\010artifact\030\001 \001(\0132\033.flyteidl.artif" - "act.Artifact\"A\n\rSearchOptions\022\031\n\021strict_" - "partitions\030\001 \001(\010\022\025\n\rlatest_by_key\030\002 \001(\010\"" - "\356\001\n\026SearchArtifactsRequest\0220\n\014artifact_k" - "ey\030\001 \001(\0132\032.flyteidl.core.ArtifactKey\022-\n\n" - "partitions\030\002 \001(\0132\031.flyteidl.core.Partiti" - "ons\022\021\n\tprincipal\030\003 \001(\t\022\017\n\007version\030\004 \001(\t\022" - "1\n\007options\030\005 \001(\0132 .flyteidl.artifact.Sea" - "rchOptions\022\r\n\005token\030\006 \001(\t\022\r\n\005limit\030\007 \001(\005" - "\"X\n\027SearchArtifactsResponse\022.\n\tartifacts" - "\030\001 \003(\0132\033.flyteidl.artifact.Artifact\022\r\n\005t" - "oken\030\002 \001(\t\"\311\001\n\031FindByWorkflowExecRequest" - "\022;\n\007exec_id\030\001 \001(\0132*.flyteidl.core.Workfl" - "owExecutionIdentifier\022I\n\tdirection\030\002 \001(\016" - "26.flyteidl.artifact.FindByWorkflowExecR" - "equest.Direction\"$\n\tDirection\022\n\n\006INPUTS\020" - "\000\022\013\n\007OUTPUTS\020\001\"a\n\rAddTagRequest\022.\n\013artif" - "act_id\030\001 \001(\0132\031.flyteidl.core.ArtifactID\022" - "\r\n\005value\030\002 \001(\t\022\021\n\toverwrite\030\003 \001(\010\"\020\n\016Add" - "TagResponse\"O\n\024CreateTriggerRequest\0227\n\023t" - "rigger_launch_plan\030\001 \001(\0132\032.flyteidl.admi" - "n.LaunchPlan\"\027\n\025CreateTriggerResponse\"I\n" - "\030DeactivateTriggerRequest\022-\n\ntrigger_id\030" - "\001 \001(\0132\031.flyteidl.core.Identifier\"\033\n\031Deac" - "tivateTriggerResponse\"m\n\020ArtifactProduce" - "r\022,\n\tentity_id\030\001 \001(\0132\031.flyteidl.core.Ide" - "ntifier\022+\n\007outputs\030\002 \001(\0132\032.flyteidl.core" - ".VariableMap\"Q\n\027RegisterProducerRequest\022" - "6\n\tproducers\030\001 \003(\0132#.flyteidl.artifact.A" - "rtifactProducer\"m\n\020ArtifactConsumer\022,\n\te" - "ntity_id\030\001 \001(\0132\031.flyteidl.core.Identifie" - "r\022+\n\006inputs\030\002 \001(\0132\033.flyteidl.core.Parame" - "terMap\"Q\n\027RegisterConsumerRequest\0226\n\tcon" - "sumers\030\001 \003(\0132#.flyteidl.artifact.Artifac" - "tConsumer\"\022\n\020RegisterResponse\"\205\001\n\026Execut" - "ionInputsRequest\022@\n\014execution_id\030\001 \001(\0132*" - ".flyteidl.core.WorkflowExecutionIdentifi" - "er\022)\n\006inputs\030\002 \003(\0132\031.flyteidl.core.Artif" - "actID\"\031\n\027ExecutionInputsResponse\"B\n\020List" - "UsageRequest\022.\n\013artifact_id\030\001 \001(\0132\031.flyt" - "eidl.core.ArtifactID\"S\n\021ListUsageRespons" - "e\022>\n\nexecutions\030\001 \003(\0132*.flyteidl.core.Wo" - "rkflowExecutionIdentifier2\373\013\n\020ArtifactRe" - "gistry\022g\n\016CreateArtifact\022(.flyteidl.arti" - "fact.CreateArtifactRequest\032).flyteidl.ar" - "tifact.CreateArtifactResponse\"\000\022\204\001\n\013GetA" - "rtifact\022%.flyteidl.artifact.GetArtifactR" - "equest\032&.flyteidl.artifact.GetArtifactRe" - "sponse\"&\202\323\344\223\002 \"\033/artifacts/api/v1/artifa" - "cts:\001*\022\215\001\n\017SearchArtifacts\022).flyteidl.ar" - "tifact.SearchArtifactsRequest\032*.flyteidl" - ".artifact.SearchArtifactsResponse\"#\202\323\344\223\002" - "\035\"\030/artifacts/api/v1/search:\001*\022d\n\rCreate" - "Trigger\022\'.flyteidl.artifact.CreateTrigge" - "rRequest\032(.flyteidl.artifact.CreateTrigg" - "erResponse\"\000\022\237\001\n\021DeactivateTrigger\022+.fly" - "teidl.artifact.DeactivateTriggerRequest\032" - ",.flyteidl.artifact.DeactivateTriggerRes" - "ponse\"/\202\323\344\223\002)2$/artifacts/api/v1/trigger" - "/deactivate:\001*\022O\n\006AddTag\022 .flyteidl.arti" - "fact.AddTagRequest\032!.flyteidl.artifact.A" - "ddTagResponse\"\000\022e\n\020RegisterProducer\022*.fl" - "yteidl.artifact.RegisterProducerRequest\032" - "#.flyteidl.artifact.RegisterResponse\"\000\022e" - "\n\020RegisterConsumer\022*.flyteidl.artifact.R" - "egisterConsumerRequest\032#.flyteidl.artifa" - "ct.RegisterResponse\"\000\022m\n\022SetExecutionInp" - "uts\022).flyteidl.artifact.ExecutionInputsR" - "equest\032*.flyteidl.artifact.ExecutionInpu" - "tsResponse\"\000\022\330\001\n\022FindByWorkflowExec\022,.fl" - "yteidl.artifact.FindByWorkflowExecReques" - "t\032*.flyteidl.artifact.SearchArtifactsRes" - "ponse\"h\202\323\344\223\002b\022`/artifacts/api/v1/search/" - "execution/{exec_id.project}/{exec_id.dom" - "ain}/{exec_id.name}/{direction}\022\365\001\n\tList" - "Usage\022#.flyteidl.artifact.ListUsageReque" - "st\032$.flyteidl.artifact.ListUsageResponse" - "\"\234\001\202\323\344\223\002\225\001\022\222\001/artifacts/api/v1/usage/{ar" - "tifact_id.artifact_key.project}/{artifac" - "t_id.artifact_key.domain}/{artifact_id.a" - "rtifact_key.name}/{artifact_id.version}B" - "@Z>github.com/flyteorg/flyte/flyteidl/ge" - "n/pb-go/flyteidl/artifactb\006proto3" + "o\032\034google/api/annotations.proto\032\037google/" + "protobuf/timestamp.proto\032 flyteidl/admin" + "/launch_plan.proto\032\034flyteidl/core/litera" + "ls.proto\032\031flyteidl/core/types.proto\032\036fly" + "teidl/core/identifier.proto\032\037flyteidl/co" + "re/artifact_id.proto\032\035flyteidl/core/inte" + "rface.proto\032 flyteidl/event/cloudevents." + "proto\"\252\001\n\010Artifact\022.\n\013artifact_id\030\001 \001(\0132" + "\031.flyteidl.core.ArtifactID\022-\n\004spec\030\002 \001(\013" + "2\037.flyteidl.artifact.ArtifactSpec\022\014\n\004tag" + "s\030\003 \003(\t\0221\n\006source\030\004 \001(\0132!.flyteidl.artif" + "act.ArtifactSource\"\367\002\n\025CreateArtifactReq" + "uest\0220\n\014artifact_key\030\001 \001(\0132\032.flyteidl.co" + "re.ArtifactKey\022\017\n\007version\030\003 \001(\t\022-\n\004spec\030" + "\002 \001(\0132\037.flyteidl.artifact.ArtifactSpec\022L" + "\n\npartitions\030\004 \003(\01328.flyteidl.artifact.C" + "reateArtifactRequest.PartitionsEntry\0228\n\024" + "time_partition_value\030\005 \001(\0132\032.google.prot" + "obuf.Timestamp\0221\n\006source\030\006 \001(\0132!.flyteid" + "l.artifact.ArtifactSource\0321\n\017PartitionsE" + "ntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\277\001\n" + "\016ArtifactSource\022F\n\022workflow_execution\030\001 " + "\001(\0132*.flyteidl.core.WorkflowExecutionIde" + "ntifier\022\017\n\007node_id\030\002 \001(\t\022*\n\007task_id\030\003 \001(" + "\0132\031.flyteidl.core.Identifier\022\025\n\rretry_at" + "tempt\030\004 \001(\r\022\021\n\tprincipal\030\005 \001(\t\"\203\002\n\014Artif" + "actSpec\022%\n\005value\030\001 \001(\0132\026.flyteidl.core.L" + "iteral\022(\n\004type\030\002 \001(\0132\032.flyteidl.core.Lit" + "eralType\022\031\n\021short_description\030\003 \001(\t\022+\n\ru" + "ser_metadata\030\004 \001(\0132\024.google.protobuf.Any" + "\022\025\n\rmetadata_type\030\005 \001(\t\022.\n\ncreated_at\030\006 " + "\001(\0132\032.google.protobuf.Timestamp\022\023\n\013file_" + "format\030\007 \001(\t\"G\n\026CreateArtifactResponse\022-" + "\n\010artifact\030\001 \001(\0132\033.flyteidl.artifact.Art" + "ifact\"R\n\022GetArtifactRequest\022+\n\005query\030\001 \001" + "(\0132\034.flyteidl.core.ArtifactQuery\022\017\n\007deta" + "ils\030\002 \001(\010\"D\n\023GetArtifactResponse\022-\n\010arti" + "fact\030\001 \001(\0132\033.flyteidl.artifact.Artifact\"" + "A\n\rSearchOptions\022\031\n\021strict_partitions\030\001 " + "\001(\010\022\025\n\rlatest_by_key\030\002 \001(\010\"\250\002\n\026SearchArt" + "ifactsRequest\0220\n\014artifact_key\030\001 \001(\0132\032.fl" + "yteidl.core.ArtifactKey\022-\n\npartitions\030\002 " + "\001(\0132\031.flyteidl.core.Partitions\0228\n\024time_p" + "artition_value\030\003 \001(\0132\032.google.protobuf.T" + "imestamp\022\021\n\tprincipal\030\004 \001(\t\022\017\n\007version\030\005" + " \001(\t\0221\n\007options\030\006 \001(\0132 .flyteidl.artifac" + "t.SearchOptions\022\r\n\005token\030\007 \001(\t\022\r\n\005limit\030" + "\010 \001(\005\"X\n\027SearchArtifactsResponse\022.\n\tarti" + "facts\030\001 \003(\0132\033.flyteidl.artifact.Artifact" + "\022\r\n\005token\030\002 \001(\t\"\311\001\n\031FindByWorkflowExecRe" + "quest\022;\n\007exec_id\030\001 \001(\0132*.flyteidl.core.W" + "orkflowExecutionIdentifier\022I\n\tdirection\030" + "\002 \001(\01626.flyteidl.artifact.FindByWorkflow" + "ExecRequest.Direction\"$\n\tDirection\022\n\n\006IN" + "PUTS\020\000\022\013\n\007OUTPUTS\020\001\"a\n\rAddTagRequest\022.\n\013" + "artifact_id\030\001 \001(\0132\031.flyteidl.core.Artifa" + "ctID\022\r\n\005value\030\002 \001(\t\022\021\n\toverwrite\030\003 \001(\010\"\020" + "\n\016AddTagResponse\"O\n\024CreateTriggerRequest" + "\0227\n\023trigger_launch_plan\030\001 \001(\0132\032.flyteidl" + ".admin.LaunchPlan\"\027\n\025CreateTriggerRespon" + "se\"I\n\030DeactivateTriggerRequest\022-\n\ntrigge" + "r_id\030\001 \001(\0132\031.flyteidl.core.Identifier\"\033\n" + "\031DeactivateTriggerResponse\"m\n\020ArtifactPr" + "oducer\022,\n\tentity_id\030\001 \001(\0132\031.flyteidl.cor" + "e.Identifier\022+\n\007outputs\030\002 \001(\0132\032.flyteidl" + ".core.VariableMap\"Q\n\027RegisterProducerReq" + "uest\0226\n\tproducers\030\001 \003(\0132#.flyteidl.artif" + "act.ArtifactProducer\"m\n\020ArtifactConsumer" + "\022,\n\tentity_id\030\001 \001(\0132\031.flyteidl.core.Iden" + "tifier\022+\n\006inputs\030\002 \001(\0132\033.flyteidl.core.P" + "arameterMap\"Q\n\027RegisterConsumerRequest\0226" + "\n\tconsumers\030\001 \003(\0132#.flyteidl.artifact.Ar" + "tifactConsumer\"\022\n\020RegisterResponse\"\205\001\n\026E" + "xecutionInputsRequest\022@\n\014execution_id\030\001 " + "\001(\0132*.flyteidl.core.WorkflowExecutionIde" + "ntifier\022)\n\006inputs\030\002 \003(\0132\031.flyteidl.core." + "ArtifactID\"\031\n\027ExecutionInputsResponse\"B\n" + "\020ListUsageRequest\022.\n\013artifact_id\030\001 \001(\0132\031" + ".flyteidl.core.ArtifactID\"S\n\021ListUsageRe" + "sponse\022>\n\nexecutions\030\001 \003(\0132*.flyteidl.co" + "re.WorkflowExecutionIdentifier2\373\013\n\020Artif" + "actRegistry\022g\n\016CreateArtifact\022(.flyteidl" + ".artifact.CreateArtifactRequest\032).flytei" + "dl.artifact.CreateArtifactResponse\"\000\022\204\001\n" + "\013GetArtifact\022%.flyteidl.artifact.GetArti" + "factRequest\032&.flyteidl.artifact.GetArtif" + "actResponse\"&\202\323\344\223\002 \"\033/artifacts/api/v1/a" + "rtifacts:\001*\022\215\001\n\017SearchArtifacts\022).flytei" + "dl.artifact.SearchArtifactsRequest\032*.fly" + "teidl.artifact.SearchArtifactsResponse\"#" + "\202\323\344\223\002\035\"\030/artifacts/api/v1/search:\001*\022d\n\rC" + "reateTrigger\022\'.flyteidl.artifact.CreateT" + "riggerRequest\032(.flyteidl.artifact.Create" + "TriggerResponse\"\000\022\237\001\n\021DeactivateTrigger\022" + "+.flyteidl.artifact.DeactivateTriggerReq" + "uest\032,.flyteidl.artifact.DeactivateTrigg" + "erResponse\"/\202\323\344\223\002)2$/artifacts/api/v1/tr" + "igger/deactivate:\001*\022O\n\006AddTag\022 .flyteidl" + ".artifact.AddTagRequest\032!.flyteidl.artif" + "act.AddTagResponse\"\000\022e\n\020RegisterProducer" + "\022*.flyteidl.artifact.RegisterProducerReq" + "uest\032#.flyteidl.artifact.RegisterRespons" + "e\"\000\022e\n\020RegisterConsumer\022*.flyteidl.artif" + "act.RegisterConsumerRequest\032#.flyteidl.a" + "rtifact.RegisterResponse\"\000\022m\n\022SetExecuti" + "onInputs\022).flyteidl.artifact.ExecutionIn" + "putsRequest\032*.flyteidl.artifact.Executio" + "nInputsResponse\"\000\022\330\001\n\022FindByWorkflowExec" + "\022,.flyteidl.artifact.FindByWorkflowExecR" + "equest\032*.flyteidl.artifact.SearchArtifac" + "tsResponse\"h\202\323\344\223\002b\022`/artifacts/api/v1/se" + "arch/execution/{exec_id.project}/{exec_i" + "d.domain}/{exec_id.name}/{direction}\022\365\001\n" + "\tListUsage\022#.flyteidl.artifact.ListUsage" + "Request\032$.flyteidl.artifact.ListUsageRes" + "ponse\"\234\001\202\323\344\223\002\225\001\022\222\001/artifacts/api/v1/usag" + "e/{artifact_id.artifact_key.project}/{ar" + "tifact_id.artifact_key.domain}/{artifact" + "_id.artifact_key.name}/{artifact_id.vers" + "ion}B@Z>github.com/flyteorg/flyte/flytei" + "dl/gen/pb-go/flyteidl/artifactb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fartifact_2fartifacts_2eproto = { false, InitDefaults_flyteidl_2fartifact_2fartifacts_2eproto, descriptor_table_protodef_flyteidl_2fartifact_2fartifacts_2eproto, - "flyteidl/artifact/artifacts.proto", &assign_descriptors_table_flyteidl_2fartifact_2fartifacts_2eproto, 4713, + "flyteidl/artifact/artifacts.proto", &assign_descriptors_table_flyteidl_2fartifact_2fartifacts_2eproto, 4918, }; void AddDescriptors_flyteidl_2fartifact_2fartifacts_2eproto() { - static constexpr ::google::protobuf::internal::InitFunc deps[9] = + static constexpr ::google::protobuf::internal::InitFunc deps[10] = { ::AddDescriptors_google_2fprotobuf_2fany_2eproto, ::AddDescriptors_google_2fapi_2fannotations_2eproto, + ::AddDescriptors_google_2fprotobuf_2ftimestamp_2eproto, ::AddDescriptors_flyteidl_2fadmin_2flaunch_5fplan_2eproto, ::AddDescriptors_flyteidl_2fcore_2fliterals_2eproto, ::AddDescriptors_flyteidl_2fcore_2ftypes_2eproto, @@ -989,7 +1002,7 @@ void AddDescriptors_flyteidl_2fartifact_2fartifacts_2eproto() { ::AddDescriptors_flyteidl_2fcore_2finterface_2eproto, ::AddDescriptors_flyteidl_2fevent_2fcloudevents_2eproto, }; - ::google::protobuf::internal::AddDescriptors(&descriptor_table_flyteidl_2fartifact_2fartifacts_2eproto, deps, 9); + ::google::protobuf::internal::AddDescriptors(&descriptor_table_flyteidl_2fartifact_2fartifacts_2eproto, deps, 10); } // Force running AddDescriptors() at dynamic initialization time. @@ -1565,6 +1578,8 @@ void CreateArtifactRequest::InitAsDefaultInstance() { ::flyteidl::core::ArtifactKey::internal_default_instance()); ::flyteidl::artifact::_CreateArtifactRequest_default_instance_._instance.get_mutable()->spec_ = const_cast< ::flyteidl::artifact::ArtifactSpec*>( ::flyteidl::artifact::ArtifactSpec::internal_default_instance()); + ::flyteidl::artifact::_CreateArtifactRequest_default_instance_._instance.get_mutable()->time_partition_value_ = const_cast< ::google::protobuf::Timestamp*>( + ::google::protobuf::Timestamp::internal_default_instance()); ::flyteidl::artifact::_CreateArtifactRequest_default_instance_._instance.get_mutable()->source_ = const_cast< ::flyteidl::artifact::ArtifactSource*>( ::flyteidl::artifact::ArtifactSource::internal_default_instance()); } @@ -1572,6 +1587,7 @@ class CreateArtifactRequest::HasBitSetters { public: static const ::flyteidl::core::ArtifactKey& artifact_key(const CreateArtifactRequest* msg); static const ::flyteidl::artifact::ArtifactSpec& spec(const CreateArtifactRequest* msg); + static const ::google::protobuf::Timestamp& time_partition_value(const CreateArtifactRequest* msg); static const ::flyteidl::artifact::ArtifactSource& source(const CreateArtifactRequest* msg); }; @@ -1583,6 +1599,10 @@ const ::flyteidl::artifact::ArtifactSpec& CreateArtifactRequest::HasBitSetters::spec(const CreateArtifactRequest* msg) { return *msg->spec_; } +const ::google::protobuf::Timestamp& +CreateArtifactRequest::HasBitSetters::time_partition_value(const CreateArtifactRequest* msg) { + return *msg->time_partition_value_; +} const ::flyteidl::artifact::ArtifactSource& CreateArtifactRequest::HasBitSetters::source(const CreateArtifactRequest* msg) { return *msg->source_; @@ -1593,12 +1613,18 @@ void CreateArtifactRequest::clear_artifact_key() { } artifact_key_ = nullptr; } +void CreateArtifactRequest::clear_time_partition_value() { + if (GetArenaNoVirtual() == nullptr && time_partition_value_ != nullptr) { + delete time_partition_value_; + } + time_partition_value_ = nullptr; +} #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int CreateArtifactRequest::kArtifactKeyFieldNumber; const int CreateArtifactRequest::kVersionFieldNumber; const int CreateArtifactRequest::kSpecFieldNumber; const int CreateArtifactRequest::kPartitionsFieldNumber; -const int CreateArtifactRequest::kTagFieldNumber; +const int CreateArtifactRequest::kTimePartitionValueFieldNumber; const int CreateArtifactRequest::kSourceFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 @@ -1616,10 +1642,6 @@ CreateArtifactRequest::CreateArtifactRequest(const CreateArtifactRequest& from) if (from.version().size() > 0) { version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_); } - tag_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.tag().size() > 0) { - tag_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.tag_); - } if (from.has_artifact_key()) { artifact_key_ = new ::flyteidl::core::ArtifactKey(*from.artifact_key_); } else { @@ -1630,6 +1652,11 @@ CreateArtifactRequest::CreateArtifactRequest(const CreateArtifactRequest& from) } else { spec_ = nullptr; } + if (from.has_time_partition_value()) { + time_partition_value_ = new ::google::protobuf::Timestamp(*from.time_partition_value_); + } else { + time_partition_value_ = nullptr; + } if (from.has_source()) { source_ = new ::flyteidl::artifact::ArtifactSource(*from.source_); } else { @@ -1642,7 +1669,6 @@ void CreateArtifactRequest::SharedCtor() { ::google::protobuf::internal::InitSCC( &scc_info_CreateArtifactRequest_flyteidl_2fartifact_2fartifacts_2eproto.base); version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - tag_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); ::memset(&artifact_key_, 0, static_cast( reinterpret_cast(&source_) - reinterpret_cast(&artifact_key_)) + sizeof(source_)); @@ -1655,9 +1681,9 @@ CreateArtifactRequest::~CreateArtifactRequest() { void CreateArtifactRequest::SharedDtor() { version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - tag_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete artifact_key_; if (this != internal_default_instance()) delete spec_; + if (this != internal_default_instance()) delete time_partition_value_; if (this != internal_default_instance()) delete source_; } @@ -1678,7 +1704,6 @@ void CreateArtifactRequest::Clear() { partitions_.Clear(); version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - tag_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && artifact_key_ != nullptr) { delete artifact_key_; } @@ -1687,6 +1712,10 @@ void CreateArtifactRequest::Clear() { delete spec_; } spec_ = nullptr; + if (GetArenaNoVirtual() == nullptr && time_partition_value_ != nullptr) { + delete time_partition_value_; + } + time_partition_value_ = nullptr; if (GetArenaNoVirtual() == nullptr && source_ != nullptr) { delete source_; } @@ -1768,20 +1797,17 @@ const char* CreateArtifactRequest::_InternalParse(const char* begin, const char* } while ((::google::protobuf::io::UnalignedLoad<::google::protobuf::uint64>(ptr) & 255) == 34 && (ptr += 1)); break; } - // string tag = 5; + // .google.protobuf.Timestamp time_partition_value = 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); - ctx->extra_parse_data().SetFieldName("flyteidl.artifact.CreateArtifactRequest.tag"); - object = msg->mutable_tag(); - 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); + parser_till_end = ::google::protobuf::Timestamp::_InternalParse; + object = msg->mutable_time_partition_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; } // .flyteidl.artifact.ArtifactSource source = 6; @@ -1894,15 +1920,11 @@ bool CreateArtifactRequest::MergePartialFromCodedStream( break; } - // string tag = 5; + // .google.protobuf.Timestamp time_partition_value = 5; case 5: { if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_tag())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->tag().data(), static_cast(this->tag().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "flyteidl.artifact.CreateArtifactRequest.tag")); + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_time_partition_value())); } else { goto handle_unusual; } @@ -2018,14 +2040,10 @@ void CreateArtifactRequest::SerializeWithCachedSizes( } } - // string tag = 5; - if (this->tag().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->tag().data(), static_cast(this->tag().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "flyteidl.artifact.CreateArtifactRequest.tag"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 5, this->tag(), output); + // .google.protobuf.Timestamp time_partition_value = 5; + if (this->has_time_partition_value()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 5, HasBitSetters::time_partition_value(this), output); } // .flyteidl.artifact.ArtifactSource source = 6; @@ -2121,15 +2139,11 @@ ::google::protobuf::uint8* CreateArtifactRequest::InternalSerializeWithCachedSiz } } - // string tag = 5; - if (this->tag().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->tag().data(), static_cast(this->tag().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "flyteidl.artifact.CreateArtifactRequest.tag"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 5, this->tag(), target); + // .google.protobuf.Timestamp time_partition_value = 5; + if (this->has_time_partition_value()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 5, HasBitSetters::time_partition_value(this), target); } // .flyteidl.artifact.ArtifactSource source = 6; @@ -2181,13 +2195,6 @@ size_t CreateArtifactRequest::ByteSizeLong() const { this->version()); } - // string tag = 5; - if (this->tag().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->tag()); - } - // .flyteidl.core.ArtifactKey artifact_key = 1; if (this->has_artifact_key()) { total_size += 1 + @@ -2202,6 +2209,13 @@ size_t CreateArtifactRequest::ByteSizeLong() const { *spec_); } + // .google.protobuf.Timestamp time_partition_value = 5; + if (this->has_time_partition_value()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *time_partition_value_); + } + // .flyteidl.artifact.ArtifactSource source = 6; if (this->has_source()) { total_size += 1 + @@ -2241,16 +2255,15 @@ void CreateArtifactRequest::MergeFrom(const CreateArtifactRequest& from) { version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_); } - if (from.tag().size() > 0) { - - tag_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.tag_); - } if (from.has_artifact_key()) { mutable_artifact_key()->::flyteidl::core::ArtifactKey::MergeFrom(from.artifact_key()); } if (from.has_spec()) { mutable_spec()->::flyteidl::artifact::ArtifactSpec::MergeFrom(from.spec()); } + if (from.has_time_partition_value()) { + mutable_time_partition_value()->::google::protobuf::Timestamp::MergeFrom(from.time_partition_value()); + } if (from.has_source()) { mutable_source()->::flyteidl::artifact::ArtifactSource::MergeFrom(from.source()); } @@ -2284,10 +2297,9 @@ void CreateArtifactRequest::InternalSwap(CreateArtifactRequest* other) { partitions_.Swap(&other->partitions_); version_.Swap(&other->version_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); - tag_.Swap(&other->tag_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), - GetArenaNoVirtual()); swap(artifact_key_, other->artifact_key_); swap(spec_, other->spec_); + swap(time_partition_value_, other->time_partition_value_); swap(source_, other->source_); } @@ -2867,12 +2879,15 @@ void ArtifactSpec::InitAsDefaultInstance() { ::flyteidl::core::LiteralType::internal_default_instance()); ::flyteidl::artifact::_ArtifactSpec_default_instance_._instance.get_mutable()->user_metadata_ = const_cast< ::google::protobuf::Any*>( ::google::protobuf::Any::internal_default_instance()); + ::flyteidl::artifact::_ArtifactSpec_default_instance_._instance.get_mutable()->created_at_ = const_cast< ::google::protobuf::Timestamp*>( + ::google::protobuf::Timestamp::internal_default_instance()); } class ArtifactSpec::HasBitSetters { public: static const ::flyteidl::core::Literal& value(const ArtifactSpec* msg); static const ::flyteidl::core::LiteralType& type(const ArtifactSpec* msg); static const ::google::protobuf::Any& user_metadata(const ArtifactSpec* msg); + static const ::google::protobuf::Timestamp& created_at(const ArtifactSpec* msg); }; const ::flyteidl::core::Literal& @@ -2887,6 +2902,10 @@ const ::google::protobuf::Any& ArtifactSpec::HasBitSetters::user_metadata(const ArtifactSpec* msg) { return *msg->user_metadata_; } +const ::google::protobuf::Timestamp& +ArtifactSpec::HasBitSetters::created_at(const ArtifactSpec* msg) { + return *msg->created_at_; +} void ArtifactSpec::clear_value() { if (GetArenaNoVirtual() == nullptr && value_ != nullptr) { delete value_; @@ -2905,12 +2924,20 @@ void ArtifactSpec::clear_user_metadata() { } user_metadata_ = nullptr; } +void ArtifactSpec::clear_created_at() { + if (GetArenaNoVirtual() == nullptr && created_at_ != nullptr) { + delete created_at_; + } + created_at_ = nullptr; +} #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int ArtifactSpec::kValueFieldNumber; const int ArtifactSpec::kTypeFieldNumber; const int ArtifactSpec::kShortDescriptionFieldNumber; const int ArtifactSpec::kUserMetadataFieldNumber; const int ArtifactSpec::kMetadataTypeFieldNumber; +const int ArtifactSpec::kCreatedAtFieldNumber; +const int ArtifactSpec::kFileFormatFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 ArtifactSpec::ArtifactSpec() @@ -2930,6 +2957,10 @@ ArtifactSpec::ArtifactSpec(const ArtifactSpec& from) if (from.metadata_type().size() > 0) { metadata_type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.metadata_type_); } + file_format_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.file_format().size() > 0) { + file_format_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_format_); + } if (from.has_value()) { value_ = new ::flyteidl::core::Literal(*from.value_); } else { @@ -2945,6 +2976,11 @@ ArtifactSpec::ArtifactSpec(const ArtifactSpec& from) } else { user_metadata_ = nullptr; } + if (from.has_created_at()) { + created_at_ = new ::google::protobuf::Timestamp(*from.created_at_); + } else { + created_at_ = nullptr; + } // @@protoc_insertion_point(copy_constructor:flyteidl.artifact.ArtifactSpec) } @@ -2953,9 +2989,10 @@ void ArtifactSpec::SharedCtor() { &scc_info_ArtifactSpec_flyteidl_2fartifact_2fartifacts_2eproto.base); short_description_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); metadata_type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + file_format_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); ::memset(&value_, 0, static_cast( - reinterpret_cast(&user_metadata_) - - reinterpret_cast(&value_)) + sizeof(user_metadata_)); + reinterpret_cast(&created_at_) - + reinterpret_cast(&value_)) + sizeof(created_at_)); } ArtifactSpec::~ArtifactSpec() { @@ -2966,9 +3003,11 @@ ArtifactSpec::~ArtifactSpec() { void ArtifactSpec::SharedDtor() { short_description_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); metadata_type_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + file_format_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete value_; if (this != internal_default_instance()) delete type_; if (this != internal_default_instance()) delete user_metadata_; + if (this != internal_default_instance()) delete created_at_; } void ArtifactSpec::SetCachedSize(int size) const { @@ -2988,6 +3027,7 @@ void ArtifactSpec::Clear() { short_description_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); metadata_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + file_format_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && value_ != nullptr) { delete value_; } @@ -3000,6 +3040,10 @@ void ArtifactSpec::Clear() { delete user_metadata_; } user_metadata_ = nullptr; + if (GetArenaNoVirtual() == nullptr && created_at_ != nullptr) { + delete created_at_; + } + created_at_ = nullptr; _internal_metadata_.Clear(); } @@ -3087,6 +3131,35 @@ const char* ArtifactSpec::_InternalParse(const char* begin, const char* end, voi ptr += size; break; } + // .google.protobuf.Timestamp created_at = 6; + case 6: { + if (static_cast<::google::protobuf::uint8>(tag) != 50) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::google::protobuf::Timestamp::_InternalParse; + object = msg->mutable_created_at(); + 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 file_format = 7; + case 7: { + if (static_cast<::google::protobuf::uint8>(tag) != 58) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.artifact.ArtifactSpec.file_format"); + object = msg->mutable_file_format(); + 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) { @@ -3184,6 +3257,32 @@ bool ArtifactSpec::MergePartialFromCodedStream( break; } + // .google.protobuf.Timestamp created_at = 6; + case 6: { + if (static_cast< ::google::protobuf::uint8>(tag) == (50 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_created_at())); + } else { + goto handle_unusual; + } + break; + } + + // string file_format = 7; + case 7: { + if (static_cast< ::google::protobuf::uint8>(tag) == (58 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_file_format())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->file_format().data(), static_cast(this->file_format().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.artifact.ArtifactSpec.file_format")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -3249,6 +3348,22 @@ void ArtifactSpec::SerializeWithCachedSizes( 5, this->metadata_type(), output); } + // .google.protobuf.Timestamp created_at = 6; + if (this->has_created_at()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 6, HasBitSetters::created_at(this), output); + } + + // string file_format = 7; + if (this->file_format().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->file_format().data(), static_cast(this->file_format().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.artifact.ArtifactSpec.file_format"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 7, this->file_format(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -3305,6 +3420,24 @@ ::google::protobuf::uint8* ArtifactSpec::InternalSerializeWithCachedSizesToArray 5, this->metadata_type(), target); } + // .google.protobuf.Timestamp created_at = 6; + if (this->has_created_at()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 6, HasBitSetters::created_at(this), target); + } + + // string file_format = 7; + if (this->file_format().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->file_format().data(), static_cast(this->file_format().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.artifact.ArtifactSpec.file_format"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 7, this->file_format(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -3340,6 +3473,13 @@ size_t ArtifactSpec::ByteSizeLong() const { this->metadata_type()); } + // string file_format = 7; + if (this->file_format().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->file_format()); + } + // .flyteidl.core.Literal value = 1; if (this->has_value()) { total_size += 1 + @@ -3361,6 +3501,13 @@ size_t ArtifactSpec::ByteSizeLong() const { *user_metadata_); } + // .google.protobuf.Timestamp created_at = 6; + if (this->has_created_at()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *created_at_); + } + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -3396,6 +3543,10 @@ void ArtifactSpec::MergeFrom(const ArtifactSpec& from) { metadata_type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.metadata_type_); } + if (from.file_format().size() > 0) { + + file_format_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_format_); + } if (from.has_value()) { mutable_value()->::flyteidl::core::Literal::MergeFrom(from.value()); } @@ -3405,6 +3556,9 @@ void ArtifactSpec::MergeFrom(const ArtifactSpec& from) { if (from.has_user_metadata()) { mutable_user_metadata()->::google::protobuf::Any::MergeFrom(from.user_metadata()); } + if (from.has_created_at()) { + mutable_created_at()->::google::protobuf::Timestamp::MergeFrom(from.created_at()); + } } void ArtifactSpec::CopyFrom(const ::google::protobuf::Message& from) { @@ -3436,9 +3590,12 @@ void ArtifactSpec::InternalSwap(ArtifactSpec* other) { GetArenaNoVirtual()); metadata_type_.Swap(&other->metadata_type_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + file_format_.Swap(&other->file_format_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(value_, other->value_); swap(type_, other->type_); swap(user_metadata_, other->user_metadata_); + swap(created_at_, other->created_at_); } ::google::protobuf::Metadata ArtifactSpec::GetMetadata() const { @@ -4669,6 +4826,8 @@ void SearchArtifactsRequest::InitAsDefaultInstance() { ::flyteidl::core::ArtifactKey::internal_default_instance()); ::flyteidl::artifact::_SearchArtifactsRequest_default_instance_._instance.get_mutable()->partitions_ = const_cast< ::flyteidl::core::Partitions*>( ::flyteidl::core::Partitions::internal_default_instance()); + ::flyteidl::artifact::_SearchArtifactsRequest_default_instance_._instance.get_mutable()->time_partition_value_ = const_cast< ::google::protobuf::Timestamp*>( + ::google::protobuf::Timestamp::internal_default_instance()); ::flyteidl::artifact::_SearchArtifactsRequest_default_instance_._instance.get_mutable()->options_ = const_cast< ::flyteidl::artifact::SearchOptions*>( ::flyteidl::artifact::SearchOptions::internal_default_instance()); } @@ -4676,6 +4835,7 @@ class SearchArtifactsRequest::HasBitSetters { public: static const ::flyteidl::core::ArtifactKey& artifact_key(const SearchArtifactsRequest* msg); static const ::flyteidl::core::Partitions& partitions(const SearchArtifactsRequest* msg); + static const ::google::protobuf::Timestamp& time_partition_value(const SearchArtifactsRequest* msg); static const ::flyteidl::artifact::SearchOptions& options(const SearchArtifactsRequest* msg); }; @@ -4687,6 +4847,10 @@ const ::flyteidl::core::Partitions& SearchArtifactsRequest::HasBitSetters::partitions(const SearchArtifactsRequest* msg) { return *msg->partitions_; } +const ::google::protobuf::Timestamp& +SearchArtifactsRequest::HasBitSetters::time_partition_value(const SearchArtifactsRequest* msg) { + return *msg->time_partition_value_; +} const ::flyteidl::artifact::SearchOptions& SearchArtifactsRequest::HasBitSetters::options(const SearchArtifactsRequest* msg) { return *msg->options_; @@ -4703,9 +4867,16 @@ void SearchArtifactsRequest::clear_partitions() { } partitions_ = nullptr; } +void SearchArtifactsRequest::clear_time_partition_value() { + if (GetArenaNoVirtual() == nullptr && time_partition_value_ != nullptr) { + delete time_partition_value_; + } + time_partition_value_ = nullptr; +} #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int SearchArtifactsRequest::kArtifactKeyFieldNumber; const int SearchArtifactsRequest::kPartitionsFieldNumber; +const int SearchArtifactsRequest::kTimePartitionValueFieldNumber; const int SearchArtifactsRequest::kPrincipalFieldNumber; const int SearchArtifactsRequest::kVersionFieldNumber; const int SearchArtifactsRequest::kOptionsFieldNumber; @@ -4744,6 +4915,11 @@ SearchArtifactsRequest::SearchArtifactsRequest(const SearchArtifactsRequest& fro } else { partitions_ = nullptr; } + if (from.has_time_partition_value()) { + time_partition_value_ = new ::google::protobuf::Timestamp(*from.time_partition_value_); + } else { + time_partition_value_ = nullptr; + } if (from.has_options()) { options_ = new ::flyteidl::artifact::SearchOptions(*from.options_); } else { @@ -4775,6 +4951,7 @@ void SearchArtifactsRequest::SharedDtor() { token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete artifact_key_; if (this != internal_default_instance()) delete partitions_; + if (this != internal_default_instance()) delete time_partition_value_; if (this != internal_default_instance()) delete options_; } @@ -4804,6 +4981,10 @@ void SearchArtifactsRequest::Clear() { delete partitions_; } partitions_ = nullptr; + if (GetArenaNoVirtual() == nullptr && time_partition_value_ != nullptr) { + delete time_partition_value_; + } + time_partition_value_ = nullptr; if (GetArenaNoVirtual() == nullptr && options_ != nullptr) { delete options_; } @@ -4851,11 +5032,24 @@ const char* SearchArtifactsRequest::_InternalParse(const char* begin, const char {parser_till_end, object}, ptr - size, ptr)); break; } - // string principal = 3; + // .google.protobuf.Timestamp time_partition_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 = ::google::protobuf::Timestamp::_InternalParse; + object = msg->mutable_time_partition_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; + } + // string principal = 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.artifact.SearchArtifactsRequest.principal"); object = msg->mutable_principal(); if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { @@ -4867,9 +5061,9 @@ const char* SearchArtifactsRequest::_InternalParse(const char* begin, const char ptr += size; break; } - // string version = 4; - case 4: { - if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual; + // string version = 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); ctx->extra_parse_data().SetFieldName("flyteidl.artifact.SearchArtifactsRequest.version"); @@ -4883,9 +5077,9 @@ const char* SearchArtifactsRequest::_InternalParse(const char* begin, const char ptr += size; break; } - // .flyteidl.artifact.SearchOptions options = 5; - case 5: { - if (static_cast<::google::protobuf::uint8>(tag) != 42) goto handle_unusual; + // .flyteidl.artifact.SearchOptions options = 6; + case 6: { + if (static_cast<::google::protobuf::uint8>(tag) != 50) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); parser_till_end = ::flyteidl::artifact::SearchOptions::_InternalParse; @@ -4896,9 +5090,9 @@ const char* SearchArtifactsRequest::_InternalParse(const char* begin, const char {parser_till_end, object}, ptr - size, ptr)); break; } - // string token = 6; - case 6: { - if (static_cast<::google::protobuf::uint8>(tag) != 50) goto handle_unusual; + // string token = 7; + case 7: { + if (static_cast<::google::protobuf::uint8>(tag) != 58) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); ctx->extra_parse_data().SetFieldName("flyteidl.artifact.SearchArtifactsRequest.token"); @@ -4912,9 +5106,9 @@ const char* SearchArtifactsRequest::_InternalParse(const char* begin, const char ptr += size; break; } - // int32 limit = 7; - case 7: { - if (static_cast<::google::protobuf::uint8>(tag) != 56) goto handle_unusual; + // int32 limit = 8; + case 8: { + if (static_cast<::google::protobuf::uint8>(tag) != 64) goto handle_unusual; msg->set_limit(::google::protobuf::internal::ReadVarint(&ptr)); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); break; @@ -4975,9 +5169,20 @@ bool SearchArtifactsRequest::MergePartialFromCodedStream( break; } - // string principal = 3; + // .google.protobuf.Timestamp time_partition_value = 3; case 3: { if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_time_partition_value())); + } else { + goto handle_unusual; + } + break; + } + + // string principal = 4; + case 4: { + if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadString( input, this->mutable_principal())); DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( @@ -4990,9 +5195,9 @@ bool SearchArtifactsRequest::MergePartialFromCodedStream( break; } - // string version = 4; - case 4: { - if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { + // string version = 5; + case 5: { + if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadString( input, this->mutable_version())); DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( @@ -5005,9 +5210,9 @@ bool SearchArtifactsRequest::MergePartialFromCodedStream( break; } - // .flyteidl.artifact.SearchOptions options = 5; - case 5: { - if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { + // .flyteidl.artifact.SearchOptions options = 6; + case 6: { + if (static_cast< ::google::protobuf::uint8>(tag) == (50 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( input, mutable_options())); } else { @@ -5016,9 +5221,9 @@ bool SearchArtifactsRequest::MergePartialFromCodedStream( break; } - // string token = 6; - case 6: { - if (static_cast< ::google::protobuf::uint8>(tag) == (50 & 0xFF)) { + // string token = 7; + case 7: { + if (static_cast< ::google::protobuf::uint8>(tag) == (58 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadString( input, this->mutable_token())); DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( @@ -5031,9 +5236,9 @@ bool SearchArtifactsRequest::MergePartialFromCodedStream( break; } - // int32 limit = 7; - case 7: { - if (static_cast< ::google::protobuf::uint8>(tag) == (56 & 0xFF)) { + // int32 limit = 8; + case 8: { + if (static_cast< ::google::protobuf::uint8>(tag) == (64 & 0xFF)) { DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( @@ -5083,45 +5288,51 @@ void SearchArtifactsRequest::SerializeWithCachedSizes( 2, HasBitSetters::partitions(this), output); } - // string principal = 3; + // .google.protobuf.Timestamp time_partition_value = 3; + if (this->has_time_partition_value()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 3, HasBitSetters::time_partition_value(this), output); + } + + // string principal = 4; if (this->principal().size() > 0) { ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( this->principal().data(), static_cast(this->principal().length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flyteidl.artifact.SearchArtifactsRequest.principal"); ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 3, this->principal(), output); + 4, this->principal(), output); } - // string version = 4; + // string version = 5; if (this->version().size() > 0) { ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( this->version().data(), static_cast(this->version().length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flyteidl.artifact.SearchArtifactsRequest.version"); ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 4, this->version(), output); + 5, this->version(), output); } - // .flyteidl.artifact.SearchOptions options = 5; + // .flyteidl.artifact.SearchOptions options = 6; if (this->has_options()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 5, HasBitSetters::options(this), output); + 6, HasBitSetters::options(this), output); } - // string token = 6; + // string token = 7; if (this->token().size() > 0) { ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( this->token().data(), static_cast(this->token().length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flyteidl.artifact.SearchArtifactsRequest.token"); ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 6, this->token(), output); + 7, this->token(), output); } - // int32 limit = 7; + // int32 limit = 8; if (this->limit() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteInt32(7, this->limit(), output); + ::google::protobuf::internal::WireFormatLite::WriteInt32(8, this->limit(), output); } if (_internal_metadata_.have_unknown_fields()) { @@ -5151,7 +5362,14 @@ ::google::protobuf::uint8* SearchArtifactsRequest::InternalSerializeWithCachedSi 2, HasBitSetters::partitions(this), target); } - // string principal = 3; + // .google.protobuf.Timestamp time_partition_value = 3; + if (this->has_time_partition_value()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 3, HasBitSetters::time_partition_value(this), target); + } + + // string principal = 4; if (this->principal().size() > 0) { ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( this->principal().data(), static_cast(this->principal().length()), @@ -5159,10 +5377,10 @@ ::google::protobuf::uint8* SearchArtifactsRequest::InternalSerializeWithCachedSi "flyteidl.artifact.SearchArtifactsRequest.principal"); target = ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 3, this->principal(), target); + 4, this->principal(), target); } - // string version = 4; + // string version = 5; if (this->version().size() > 0) { ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( this->version().data(), static_cast(this->version().length()), @@ -5170,17 +5388,17 @@ ::google::protobuf::uint8* SearchArtifactsRequest::InternalSerializeWithCachedSi "flyteidl.artifact.SearchArtifactsRequest.version"); target = ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 4, this->version(), target); + 5, this->version(), target); } - // .flyteidl.artifact.SearchOptions options = 5; + // .flyteidl.artifact.SearchOptions options = 6; if (this->has_options()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 5, HasBitSetters::options(this), target); + 6, HasBitSetters::options(this), target); } - // string token = 6; + // string token = 7; if (this->token().size() > 0) { ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( this->token().data(), static_cast(this->token().length()), @@ -5188,12 +5406,12 @@ ::google::protobuf::uint8* SearchArtifactsRequest::InternalSerializeWithCachedSi "flyteidl.artifact.SearchArtifactsRequest.token"); target = ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 6, this->token(), target); + 7, this->token(), target); } - // int32 limit = 7; + // int32 limit = 8; if (this->limit() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(7, this->limit(), target); + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(8, this->limit(), target); } if (_internal_metadata_.have_unknown_fields()) { @@ -5217,21 +5435,21 @@ size_t SearchArtifactsRequest::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // string principal = 3; + // string principal = 4; if (this->principal().size() > 0) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( this->principal()); } - // string version = 4; + // string version = 5; if (this->version().size() > 0) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( this->version()); } - // string token = 6; + // string token = 7; if (this->token().size() > 0) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( @@ -5252,14 +5470,21 @@ size_t SearchArtifactsRequest::ByteSizeLong() const { *partitions_); } - // .flyteidl.artifact.SearchOptions options = 5; + // .google.protobuf.Timestamp time_partition_value = 3; + if (this->has_time_partition_value()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *time_partition_value_); + } + + // .flyteidl.artifact.SearchOptions options = 6; if (this->has_options()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( *options_); } - // int32 limit = 7; + // int32 limit = 8; if (this->limit() != 0) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::Int32Size( @@ -5311,6 +5536,9 @@ void SearchArtifactsRequest::MergeFrom(const SearchArtifactsRequest& from) { if (from.has_partitions()) { mutable_partitions()->::flyteidl::core::Partitions::MergeFrom(from.partitions()); } + if (from.has_time_partition_value()) { + mutable_time_partition_value()->::google::protobuf::Timestamp::MergeFrom(from.time_partition_value()); + } if (from.has_options()) { mutable_options()->::flyteidl::artifact::SearchOptions::MergeFrom(from.options()); } @@ -5352,6 +5580,7 @@ void SearchArtifactsRequest::InternalSwap(SearchArtifactsRequest* other) { GetArenaNoVirtual()); swap(artifact_key_, other->artifact_key_); swap(partitions_, other->partitions_); + swap(time_partition_value_, other->time_partition_value_); swap(options_, other->options_); swap(limit_, other->limit_); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/artifact/artifacts.pb.h b/flyteidl/gen/pb-cpp/flyteidl/artifact/artifacts.pb.h index fb09c5adbc..d8b585822e 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/artifact/artifacts.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/artifact/artifacts.pb.h @@ -37,6 +37,7 @@ #include #include #include "google/api/annotations.pb.h" +#include #include "flyteidl/admin/launch_plan.pb.h" #include "flyteidl/core/literals.pb.h" #include "flyteidl/core/types.pb.h" @@ -504,20 +505,6 @@ class CreateArtifactRequest final : ::std::string* release_version(); void set_allocated_version(::std::string* version); - // string tag = 5; - void clear_tag(); - static const int kTagFieldNumber = 5; - const ::std::string& tag() const; - void set_tag(const ::std::string& value); - #if LANG_CXX11 - void set_tag(::std::string&& value); - #endif - void set_tag(const char* value); - void set_tag(const char* value, size_t size); - ::std::string* mutable_tag(); - ::std::string* release_tag(); - void set_allocated_tag(::std::string* tag); - // .flyteidl.core.ArtifactKey artifact_key = 1; bool has_artifact_key() const; void clear_artifact_key(); @@ -536,6 +523,15 @@ class CreateArtifactRequest final : ::flyteidl::artifact::ArtifactSpec* mutable_spec(); void set_allocated_spec(::flyteidl::artifact::ArtifactSpec* spec); + // .google.protobuf.Timestamp time_partition_value = 5; + bool has_time_partition_value() const; + void clear_time_partition_value(); + static const int kTimePartitionValueFieldNumber = 5; + const ::google::protobuf::Timestamp& time_partition_value() const; + ::google::protobuf::Timestamp* release_time_partition_value(); + ::google::protobuf::Timestamp* mutable_time_partition_value(); + void set_allocated_time_partition_value(::google::protobuf::Timestamp* time_partition_value); + // .flyteidl.artifact.ArtifactSource source = 6; bool has_source() const; void clear_source(); @@ -557,9 +553,9 @@ class CreateArtifactRequest final : ::google::protobuf::internal::WireFormatLite::TYPE_STRING, 0 > partitions_; ::google::protobuf::internal::ArenaStringPtr version_; - ::google::protobuf::internal::ArenaStringPtr tag_; ::flyteidl::core::ArtifactKey* artifact_key_; ::flyteidl::artifact::ArtifactSpec* spec_; + ::google::protobuf::Timestamp* time_partition_value_; ::flyteidl::artifact::ArtifactSource* source_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fartifact_2fartifacts_2eproto; @@ -851,6 +847,20 @@ class ArtifactSpec final : ::std::string* release_metadata_type(); void set_allocated_metadata_type(::std::string* metadata_type); + // string file_format = 7; + void clear_file_format(); + static const int kFileFormatFieldNumber = 7; + const ::std::string& file_format() const; + void set_file_format(const ::std::string& value); + #if LANG_CXX11 + void set_file_format(::std::string&& value); + #endif + void set_file_format(const char* value); + void set_file_format(const char* value, size_t size); + ::std::string* mutable_file_format(); + ::std::string* release_file_format(); + void set_allocated_file_format(::std::string* file_format); + // .flyteidl.core.Literal value = 1; bool has_value() const; void clear_value(); @@ -878,6 +888,15 @@ class ArtifactSpec final : ::google::protobuf::Any* mutable_user_metadata(); void set_allocated_user_metadata(::google::protobuf::Any* user_metadata); + // .google.protobuf.Timestamp created_at = 6; + bool has_created_at() const; + void clear_created_at(); + static const int kCreatedAtFieldNumber = 6; + const ::google::protobuf::Timestamp& created_at() const; + ::google::protobuf::Timestamp* release_created_at(); + ::google::protobuf::Timestamp* mutable_created_at(); + void set_allocated_created_at(::google::protobuf::Timestamp* created_at); + // @@protoc_insertion_point(class_scope:flyteidl.artifact.ArtifactSpec) private: class HasBitSetters; @@ -885,9 +904,11 @@ class ArtifactSpec final : ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::ArenaStringPtr short_description_; ::google::protobuf::internal::ArenaStringPtr metadata_type_; + ::google::protobuf::internal::ArenaStringPtr file_format_; ::flyteidl::core::Literal* value_; ::flyteidl::core::LiteralType* type_; ::google::protobuf::Any* user_metadata_; + ::google::protobuf::Timestamp* created_at_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fartifact_2fartifacts_2eproto; }; @@ -1459,9 +1480,9 @@ class SearchArtifactsRequest final : // accessors ------------------------------------------------------- - // string principal = 3; + // string principal = 4; void clear_principal(); - static const int kPrincipalFieldNumber = 3; + static const int kPrincipalFieldNumber = 4; const ::std::string& principal() const; void set_principal(const ::std::string& value); #if LANG_CXX11 @@ -1473,9 +1494,9 @@ class SearchArtifactsRequest final : ::std::string* release_principal(); void set_allocated_principal(::std::string* principal); - // string version = 4; + // string version = 5; void clear_version(); - static const int kVersionFieldNumber = 4; + static const int kVersionFieldNumber = 5; const ::std::string& version() const; void set_version(const ::std::string& value); #if LANG_CXX11 @@ -1487,9 +1508,9 @@ class SearchArtifactsRequest final : ::std::string* release_version(); void set_allocated_version(::std::string* version); - // string token = 6; + // string token = 7; void clear_token(); - static const int kTokenFieldNumber = 6; + static const int kTokenFieldNumber = 7; const ::std::string& token() const; void set_token(const ::std::string& value); #if LANG_CXX11 @@ -1519,18 +1540,27 @@ class SearchArtifactsRequest final : ::flyteidl::core::Partitions* mutable_partitions(); void set_allocated_partitions(::flyteidl::core::Partitions* partitions); - // .flyteidl.artifact.SearchOptions options = 5; + // .google.protobuf.Timestamp time_partition_value = 3; + bool has_time_partition_value() const; + void clear_time_partition_value(); + static const int kTimePartitionValueFieldNumber = 3; + const ::google::protobuf::Timestamp& time_partition_value() const; + ::google::protobuf::Timestamp* release_time_partition_value(); + ::google::protobuf::Timestamp* mutable_time_partition_value(); + void set_allocated_time_partition_value(::google::protobuf::Timestamp* time_partition_value); + + // .flyteidl.artifact.SearchOptions options = 6; bool has_options() const; void clear_options(); - static const int kOptionsFieldNumber = 5; + static const int kOptionsFieldNumber = 6; const ::flyteidl::artifact::SearchOptions& options() const; ::flyteidl::artifact::SearchOptions* release_options(); ::flyteidl::artifact::SearchOptions* mutable_options(); void set_allocated_options(::flyteidl::artifact::SearchOptions* options); - // int32 limit = 7; + // int32 limit = 8; void clear_limit(); - static const int kLimitFieldNumber = 7; + static const int kLimitFieldNumber = 8; ::google::protobuf::int32 limit() const; void set_limit(::google::protobuf::int32 value); @@ -1544,6 +1574,7 @@ class SearchArtifactsRequest final : ::google::protobuf::internal::ArenaStringPtr token_; ::flyteidl::core::ArtifactKey* artifact_key_; ::flyteidl::core::Partitions* partitions_; + ::google::protobuf::Timestamp* time_partition_value_; ::flyteidl::artifact::SearchOptions* options_; ::google::protobuf::int32 limit_; mutable ::google::protobuf::internal::CachedSize _cached_size_; @@ -3969,57 +4000,50 @@ CreateArtifactRequest::mutable_partitions() { return partitions_.MutableMap(); } -// string tag = 5; -inline void CreateArtifactRequest::clear_tag() { - tag_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +// .google.protobuf.Timestamp time_partition_value = 5; +inline bool CreateArtifactRequest::has_time_partition_value() const { + return this != internal_default_instance() && time_partition_value_ != nullptr; } -inline const ::std::string& CreateArtifactRequest::tag() const { - // @@protoc_insertion_point(field_get:flyteidl.artifact.CreateArtifactRequest.tag) - return tag_.GetNoArena(); +inline const ::google::protobuf::Timestamp& CreateArtifactRequest::time_partition_value() const { + const ::google::protobuf::Timestamp* p = time_partition_value_; + // @@protoc_insertion_point(field_get:flyteidl.artifact.CreateArtifactRequest.time_partition_value) + return p != nullptr ? *p : *reinterpret_cast( + &::google::protobuf::_Timestamp_default_instance_); } -inline void CreateArtifactRequest::set_tag(const ::std::string& value) { - - tag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); - // @@protoc_insertion_point(field_set:flyteidl.artifact.CreateArtifactRequest.tag) -} -#if LANG_CXX11 -inline void CreateArtifactRequest::set_tag(::std::string&& value) { +inline ::google::protobuf::Timestamp* CreateArtifactRequest::release_time_partition_value() { + // @@protoc_insertion_point(field_release:flyteidl.artifact.CreateArtifactRequest.time_partition_value) - tag_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:flyteidl.artifact.CreateArtifactRequest.tag) -} -#endif -inline void CreateArtifactRequest::set_tag(const char* value) { - GOOGLE_DCHECK(value != nullptr); - - tag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:flyteidl.artifact.CreateArtifactRequest.tag) -} -inline void CreateArtifactRequest::set_tag(const char* value, size_t size) { - - tag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:flyteidl.artifact.CreateArtifactRequest.tag) -} -inline ::std::string* CreateArtifactRequest::mutable_tag() { - - // @@protoc_insertion_point(field_mutable:flyteidl.artifact.CreateArtifactRequest.tag) - return tag_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::Timestamp* temp = time_partition_value_; + time_partition_value_ = nullptr; + return temp; } -inline ::std::string* CreateArtifactRequest::release_tag() { - // @@protoc_insertion_point(field_release:flyteidl.artifact.CreateArtifactRequest.tag) +inline ::google::protobuf::Timestamp* CreateArtifactRequest::mutable_time_partition_value() { - return tag_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (time_partition_value_ == nullptr) { + auto* p = CreateMaybeMessage<::google::protobuf::Timestamp>(GetArenaNoVirtual()); + time_partition_value_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.artifact.CreateArtifactRequest.time_partition_value) + return time_partition_value_; } -inline void CreateArtifactRequest::set_allocated_tag(::std::string* tag) { - if (tag != nullptr) { +inline void CreateArtifactRequest::set_allocated_time_partition_value(::google::protobuf::Timestamp* time_partition_value) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(time_partition_value_); + } + if (time_partition_value) { + ::google::protobuf::Arena* submessage_arena = + reinterpret_cast<::google::protobuf::MessageLite*>(time_partition_value)->GetArena(); + if (message_arena != submessage_arena) { + time_partition_value = ::google::protobuf::internal::GetOwnedMessage( + message_arena, time_partition_value, submessage_arena); + } } else { } - tag_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), tag); - // @@protoc_insertion_point(field_set_allocated:flyteidl.artifact.CreateArtifactRequest.tag) + time_partition_value_ = time_partition_value; + // @@protoc_insertion_point(field_set_allocated:flyteidl.artifact.CreateArtifactRequest.time_partition_value) } // .flyteidl.artifact.ArtifactSource source = 6; @@ -4532,6 +4556,105 @@ inline void ArtifactSpec::set_allocated_metadata_type(::std::string* metadata_ty // @@protoc_insertion_point(field_set_allocated:flyteidl.artifact.ArtifactSpec.metadata_type) } +// .google.protobuf.Timestamp created_at = 6; +inline bool ArtifactSpec::has_created_at() const { + return this != internal_default_instance() && created_at_ != nullptr; +} +inline const ::google::protobuf::Timestamp& ArtifactSpec::created_at() const { + const ::google::protobuf::Timestamp* p = created_at_; + // @@protoc_insertion_point(field_get:flyteidl.artifact.ArtifactSpec.created_at) + return p != nullptr ? *p : *reinterpret_cast( + &::google::protobuf::_Timestamp_default_instance_); +} +inline ::google::protobuf::Timestamp* ArtifactSpec::release_created_at() { + // @@protoc_insertion_point(field_release:flyteidl.artifact.ArtifactSpec.created_at) + + ::google::protobuf::Timestamp* temp = created_at_; + created_at_ = nullptr; + return temp; +} +inline ::google::protobuf::Timestamp* ArtifactSpec::mutable_created_at() { + + if (created_at_ == nullptr) { + auto* p = CreateMaybeMessage<::google::protobuf::Timestamp>(GetArenaNoVirtual()); + created_at_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.artifact.ArtifactSpec.created_at) + return created_at_; +} +inline void ArtifactSpec::set_allocated_created_at(::google::protobuf::Timestamp* created_at) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(created_at_); + } + if (created_at) { + ::google::protobuf::Arena* submessage_arena = + reinterpret_cast<::google::protobuf::MessageLite*>(created_at)->GetArena(); + if (message_arena != submessage_arena) { + created_at = ::google::protobuf::internal::GetOwnedMessage( + message_arena, created_at, submessage_arena); + } + + } else { + + } + created_at_ = created_at; + // @@protoc_insertion_point(field_set_allocated:flyteidl.artifact.ArtifactSpec.created_at) +} + +// string file_format = 7; +inline void ArtifactSpec::clear_file_format() { + file_format_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& ArtifactSpec::file_format() const { + // @@protoc_insertion_point(field_get:flyteidl.artifact.ArtifactSpec.file_format) + return file_format_.GetNoArena(); +} +inline void ArtifactSpec::set_file_format(const ::std::string& value) { + + file_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.artifact.ArtifactSpec.file_format) +} +#if LANG_CXX11 +inline void ArtifactSpec::set_file_format(::std::string&& value) { + + file_format_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.artifact.ArtifactSpec.file_format) +} +#endif +inline void ArtifactSpec::set_file_format(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + file_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.artifact.ArtifactSpec.file_format) +} +inline void ArtifactSpec::set_file_format(const char* value, size_t size) { + + file_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.artifact.ArtifactSpec.file_format) +} +inline ::std::string* ArtifactSpec::mutable_file_format() { + + // @@protoc_insertion_point(field_mutable:flyteidl.artifact.ArtifactSpec.file_format) + return file_format_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* ArtifactSpec::release_file_format() { + // @@protoc_insertion_point(field_release:flyteidl.artifact.ArtifactSpec.file_format) + + return file_format_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void ArtifactSpec::set_allocated_file_format(::std::string* file_format) { + if (file_format != nullptr) { + + } else { + + } + file_format_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), file_format); + // @@protoc_insertion_point(field_set_allocated:flyteidl.artifact.ArtifactSpec.file_format) +} + // ------------------------------------------------------------------- // CreateArtifactResponse @@ -4831,7 +4954,53 @@ inline void SearchArtifactsRequest::set_allocated_partitions(::flyteidl::core::P // @@protoc_insertion_point(field_set_allocated:flyteidl.artifact.SearchArtifactsRequest.partitions) } -// string principal = 3; +// .google.protobuf.Timestamp time_partition_value = 3; +inline bool SearchArtifactsRequest::has_time_partition_value() const { + return this != internal_default_instance() && time_partition_value_ != nullptr; +} +inline const ::google::protobuf::Timestamp& SearchArtifactsRequest::time_partition_value() const { + const ::google::protobuf::Timestamp* p = time_partition_value_; + // @@protoc_insertion_point(field_get:flyteidl.artifact.SearchArtifactsRequest.time_partition_value) + return p != nullptr ? *p : *reinterpret_cast( + &::google::protobuf::_Timestamp_default_instance_); +} +inline ::google::protobuf::Timestamp* SearchArtifactsRequest::release_time_partition_value() { + // @@protoc_insertion_point(field_release:flyteidl.artifact.SearchArtifactsRequest.time_partition_value) + + ::google::protobuf::Timestamp* temp = time_partition_value_; + time_partition_value_ = nullptr; + return temp; +} +inline ::google::protobuf::Timestamp* SearchArtifactsRequest::mutable_time_partition_value() { + + if (time_partition_value_ == nullptr) { + auto* p = CreateMaybeMessage<::google::protobuf::Timestamp>(GetArenaNoVirtual()); + time_partition_value_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.artifact.SearchArtifactsRequest.time_partition_value) + return time_partition_value_; +} +inline void SearchArtifactsRequest::set_allocated_time_partition_value(::google::protobuf::Timestamp* time_partition_value) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(time_partition_value_); + } + if (time_partition_value) { + ::google::protobuf::Arena* submessage_arena = + reinterpret_cast<::google::protobuf::MessageLite*>(time_partition_value)->GetArena(); + if (message_arena != submessage_arena) { + time_partition_value = ::google::protobuf::internal::GetOwnedMessage( + message_arena, time_partition_value, submessage_arena); + } + + } else { + + } + time_partition_value_ = time_partition_value; + // @@protoc_insertion_point(field_set_allocated:flyteidl.artifact.SearchArtifactsRequest.time_partition_value) +} + +// string principal = 4; inline void SearchArtifactsRequest::clear_principal() { principal_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } @@ -4884,7 +5053,7 @@ inline void SearchArtifactsRequest::set_allocated_principal(::std::string* princ // @@protoc_insertion_point(field_set_allocated:flyteidl.artifact.SearchArtifactsRequest.principal) } -// string version = 4; +// string version = 5; inline void SearchArtifactsRequest::clear_version() { version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } @@ -4937,7 +5106,7 @@ inline void SearchArtifactsRequest::set_allocated_version(::std::string* version // @@protoc_insertion_point(field_set_allocated:flyteidl.artifact.SearchArtifactsRequest.version) } -// .flyteidl.artifact.SearchOptions options = 5; +// .flyteidl.artifact.SearchOptions options = 6; inline bool SearchArtifactsRequest::has_options() const { return this != internal_default_instance() && options_ != nullptr; } @@ -4988,7 +5157,7 @@ inline void SearchArtifactsRequest::set_allocated_options(::flyteidl::artifact:: // @@protoc_insertion_point(field_set_allocated:flyteidl.artifact.SearchArtifactsRequest.options) } -// string token = 6; +// string token = 7; inline void SearchArtifactsRequest::clear_token() { token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } @@ -5041,7 +5210,7 @@ inline void SearchArtifactsRequest::set_allocated_token(::std::string* token) { // @@protoc_insertion_point(field_set_allocated:flyteidl.artifact.SearchArtifactsRequest.token) } -// int32 limit = 7; +// int32 limit = 8; inline void SearchArtifactsRequest::clear_limit() { limit_ = 0; } diff --git a/flyteidl/gen/pb-cpp/flyteidl/core/artifact_id.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/core/artifact_id.pb.cc index 16b41157e4..265bdb6e63 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/core/artifact_id.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/core/artifact_id.pb.cc @@ -21,10 +21,12 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_InputBindingData_flyteidl_2fcore_2fartifact_5fid_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_Partitions_ValueEntry_DoNotUse_flyteidl_2fcore_2fartifact_5fid_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_Partitions_flyteidl_2fcore_2fartifact_5fid_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_ArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_TimePartition_flyteidl_2fcore_2fartifact_5fid_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_ArtifactTag_flyteidl_2fcore_2fartifact_5fid_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_LabelValue_flyteidl_2fcore_2fartifact_5fid_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_ArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_LabelValue_flyteidl_2fcore_2fartifact_5fid_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Identifier_flyteidl_2fcore_2fidentifier_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2ftimestamp_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto; namespace flyteidl { namespace core { class ArtifactKeyDefaultTypeInternal { @@ -34,6 +36,8 @@ class ArtifactKeyDefaultTypeInternal { class ArtifactBindingDataDefaultTypeInternal { public: ::google::protobuf::internal::ExplicitlyConstructed _instance; + ::google::protobuf::internal::ArenaStringPtr partition_key_; + bool bind_to_time_partition_; } _ArtifactBindingData_default_instance_; class InputBindingDataDefaultTypeInternal { public: @@ -43,6 +47,7 @@ class LabelValueDefaultTypeInternal { public: ::google::protobuf::internal::ExplicitlyConstructed _instance; ::google::protobuf::internal::ArenaStringPtr static_value_; + const ::google::protobuf::Timestamp* time_value_; const ::flyteidl::core::ArtifactBindingData* triggered_binding_; const ::flyteidl::core::InputBindingData* input_binding_; } _LabelValue_default_instance_; @@ -54,10 +59,13 @@ class PartitionsDefaultTypeInternal { public: ::google::protobuf::internal::ExplicitlyConstructed _instance; } _Partitions_default_instance_; +class TimePartitionDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _TimePartition_default_instance_; class ArtifactIDDefaultTypeInternal { public: ::google::protobuf::internal::ExplicitlyConstructed _instance; - const ::flyteidl::core::Partitions* partitions_; } _ArtifactID_default_instance_; class ArtifactTagDefaultTypeInternal { public: @@ -130,8 +138,9 @@ static void InitDefaultsLabelValue_flyteidl_2fcore_2fartifact_5fid_2eproto() { ::flyteidl::core::LabelValue::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<2> scc_info_LabelValue_flyteidl_2fcore_2fartifact_5fid_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsLabelValue_flyteidl_2fcore_2fartifact_5fid_2eproto}, { +::google::protobuf::internal::SCCInfo<3> scc_info_LabelValue_flyteidl_2fcore_2fartifact_5fid_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsLabelValue_flyteidl_2fcore_2fartifact_5fid_2eproto}, { + &scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto.base, &scc_info_ArtifactBindingData_flyteidl_2fcore_2fartifact_5fid_2eproto.base, &scc_info_InputBindingData_flyteidl_2fcore_2fartifact_5fid_2eproto.base,}}; @@ -164,6 +173,21 @@ ::google::protobuf::internal::SCCInfo<1> scc_info_Partitions_flyteidl_2fcore_2fa {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsPartitions_flyteidl_2fcore_2fartifact_5fid_2eproto}, { &scc_info_Partitions_ValueEntry_DoNotUse_flyteidl_2fcore_2fartifact_5fid_2eproto.base,}}; +static void InitDefaultsTimePartition_flyteidl_2fcore_2fartifact_5fid_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::core::_TimePartition_default_instance_; + new (ptr) ::flyteidl::core::TimePartition(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::core::TimePartition::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<1> scc_info_TimePartition_flyteidl_2fcore_2fartifact_5fid_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsTimePartition_flyteidl_2fcore_2fartifact_5fid_2eproto}, { + &scc_info_LabelValue_flyteidl_2fcore_2fartifact_5fid_2eproto.base,}}; + static void InitDefaultsArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -175,10 +199,11 @@ static void InitDefaultsArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto() { ::flyteidl::core::ArtifactID::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<2> scc_info_ArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto}, { +::google::protobuf::internal::SCCInfo<3> scc_info_ArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto}, { &scc_info_ArtifactKey_flyteidl_2fcore_2fartifact_5fid_2eproto.base, - &scc_info_Partitions_flyteidl_2fcore_2fartifact_5fid_2eproto.base,}}; + &scc_info_Partitions_flyteidl_2fcore_2fartifact_5fid_2eproto.base, + &scc_info_TimePartition_flyteidl_2fcore_2fartifact_5fid_2eproto.base,}}; static void InitDefaultsArtifactTag_flyteidl_2fcore_2fartifact_5fid_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -236,13 +261,14 @@ void InitDefaults_flyteidl_2fcore_2fartifact_5fid_2eproto() { ::google::protobuf::internal::InitSCC(&scc_info_LabelValue_flyteidl_2fcore_2fartifact_5fid_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_Partitions_ValueEntry_DoNotUse_flyteidl_2fcore_2fartifact_5fid_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_Partitions_flyteidl_2fcore_2fartifact_5fid_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_TimePartition_flyteidl_2fcore_2fartifact_5fid_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_ArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_ArtifactTag_flyteidl_2fcore_2fartifact_5fid_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_ArtifactQuery_flyteidl_2fcore_2fartifact_5fid_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_Trigger_flyteidl_2fcore_2fartifact_5fid_2eproto.base); } -::google::protobuf::Metadata file_level_metadata_flyteidl_2fcore_2fartifact_5fid_2eproto[10]; +::google::protobuf::Metadata file_level_metadata_flyteidl_2fcore_2fartifact_5fid_2eproto[11]; constexpr ::google::protobuf::EnumDescriptor const** file_level_enum_descriptors_flyteidl_2fcore_2fartifact_5fid_2eproto = nullptr; constexpr ::google::protobuf::ServiceDescriptor const** file_level_service_descriptors_flyteidl_2fcore_2fartifact_5fid_2eproto = nullptr; @@ -258,11 +284,13 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fcore_2fartifact_5fid_2ep ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::core::ArtifactBindingData, _internal_metadata_), ~0u, // no _extensions_ - ~0u, // no _oneof_case_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::ArtifactBindingData, _oneof_case_[0]), ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::flyteidl::core::ArtifactBindingData, index_), - PROTOBUF_FIELD_OFFSET(::flyteidl::core::ArtifactBindingData, partition_key_), + offsetof(::flyteidl::core::ArtifactBindingDataDefaultTypeInternal, partition_key_), + offsetof(::flyteidl::core::ArtifactBindingDataDefaultTypeInternal, bind_to_time_partition_), PROTOBUF_FIELD_OFFSET(::flyteidl::core::ArtifactBindingData, transform_), + PROTOBUF_FIELD_OFFSET(::flyteidl::core::ArtifactBindingData, partition_data_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::core::InputBindingData, _internal_metadata_), ~0u, // no _extensions_ @@ -275,6 +303,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fcore_2fartifact_5fid_2ep PROTOBUF_FIELD_OFFSET(::flyteidl::core::LabelValue, _oneof_case_[0]), ~0u, // no _weak_field_map_ offsetof(::flyteidl::core::LabelValueDefaultTypeInternal, static_value_), + offsetof(::flyteidl::core::LabelValueDefaultTypeInternal, time_value_), offsetof(::flyteidl::core::LabelValueDefaultTypeInternal, triggered_binding_), offsetof(::flyteidl::core::LabelValueDefaultTypeInternal, input_binding_), PROTOBUF_FIELD_OFFSET(::flyteidl::core::LabelValue, value_), @@ -294,14 +323,20 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fcore_2fartifact_5fid_2ep ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::flyteidl::core::Partitions, value_), ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::TimePartition, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::TimePartition, value_), + ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::core::ArtifactID, _internal_metadata_), ~0u, // no _extensions_ - PROTOBUF_FIELD_OFFSET(::flyteidl::core::ArtifactID, _oneof_case_[0]), + ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::flyteidl::core::ArtifactID, artifact_key_), PROTOBUF_FIELD_OFFSET(::flyteidl::core::ArtifactID, version_), - offsetof(::flyteidl::core::ArtifactIDDefaultTypeInternal, partitions_), - PROTOBUF_FIELD_OFFSET(::flyteidl::core::ArtifactID, dimensions_), + PROTOBUF_FIELD_OFFSET(::flyteidl::core::ArtifactID, partitions_), + PROTOBUF_FIELD_OFFSET(::flyteidl::core::ArtifactID, time_partition_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::core::ArtifactTag, _internal_metadata_), ~0u, // no _extensions_ @@ -330,14 +365,15 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fcore_2fartifact_5fid_2ep static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::core::ArtifactKey)}, { 8, -1, sizeof(::flyteidl::core::ArtifactBindingData)}, - { 16, -1, sizeof(::flyteidl::core::InputBindingData)}, - { 22, -1, sizeof(::flyteidl::core::LabelValue)}, - { 31, 38, sizeof(::flyteidl::core::Partitions_ValueEntry_DoNotUse)}, - { 40, -1, sizeof(::flyteidl::core::Partitions)}, - { 46, -1, sizeof(::flyteidl::core::ArtifactID)}, - { 55, -1, sizeof(::flyteidl::core::ArtifactTag)}, - { 62, -1, sizeof(::flyteidl::core::ArtifactQuery)}, - { 72, -1, sizeof(::flyteidl::core::Trigger)}, + { 18, -1, sizeof(::flyteidl::core::InputBindingData)}, + { 24, -1, sizeof(::flyteidl::core::LabelValue)}, + { 34, 41, sizeof(::flyteidl::core::Partitions_ValueEntry_DoNotUse)}, + { 43, -1, sizeof(::flyteidl::core::Partitions)}, + { 49, -1, sizeof(::flyteidl::core::TimePartition)}, + { 55, -1, sizeof(::flyteidl::core::ArtifactID)}, + { 64, -1, sizeof(::flyteidl::core::ArtifactTag)}, + { 71, -1, sizeof(::flyteidl::core::ArtifactQuery)}, + { 81, -1, sizeof(::flyteidl::core::Trigger)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -347,6 +383,7 @@ static ::google::protobuf::Message const * const file_default_instances[] = { reinterpret_cast(&::flyteidl::core::_LabelValue_default_instance_), reinterpret_cast(&::flyteidl::core::_Partitions_ValueEntry_DoNotUse_default_instance_), reinterpret_cast(&::flyteidl::core::_Partitions_default_instance_), + reinterpret_cast(&::flyteidl::core::_TimePartition_default_instance_), reinterpret_cast(&::flyteidl::core::_ArtifactID_default_instance_), reinterpret_cast(&::flyteidl::core::_ArtifactTag_default_instance_), reinterpret_cast(&::flyteidl::core::_ArtifactQuery_default_instance_), @@ -356,53 +393,60 @@ static ::google::protobuf::Message const * const file_default_instances[] = { ::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_flyteidl_2fcore_2fartifact_5fid_2eproto = { {}, AddDescriptors_flyteidl_2fcore_2fartifact_5fid_2eproto, "flyteidl/core/artifact_id.proto", schemas, file_default_instances, TableStruct_flyteidl_2fcore_2fartifact_5fid_2eproto::offsets, - file_level_metadata_flyteidl_2fcore_2fartifact_5fid_2eproto, 10, file_level_enum_descriptors_flyteidl_2fcore_2fartifact_5fid_2eproto, file_level_service_descriptors_flyteidl_2fcore_2fartifact_5fid_2eproto, + file_level_metadata_flyteidl_2fcore_2fartifact_5fid_2eproto, 11, file_level_enum_descriptors_flyteidl_2fcore_2fartifact_5fid_2eproto, file_level_service_descriptors_flyteidl_2fcore_2fartifact_5fid_2eproto, }; const char descriptor_table_protodef_flyteidl_2fcore_2fartifact_5fid_2eproto[] = "\n\037flyteidl/core/artifact_id.proto\022\rflyte" - "idl.core\032\036flyteidl/core/identifier.proto" - "\"<\n\013ArtifactKey\022\017\n\007project\030\001 \001(\t\022\016\n\006doma" - "in\030\002 \001(\t\022\014\n\004name\030\003 \001(\t\"N\n\023ArtifactBindin" - "gData\022\r\n\005index\030\001 \001(\r\022\025\n\rpartition_key\030\002 " - "\001(\t\022\021\n\ttransform\030\003 \001(\t\"\037\n\020InputBindingDa" - "ta\022\013\n\003var\030\001 \001(\t\"\250\001\n\nLabelValue\022\026\n\014static" - "_value\030\001 \001(\tH\000\022\?\n\021triggered_binding\030\002 \001(" - "\0132\".flyteidl.core.ArtifactBindingDataH\000\022" - "8\n\rinput_binding\030\003 \001(\0132\037.flyteidl.core.I" - "nputBindingDataH\000B\007\n\005value\"\212\001\n\nPartition" - "s\0223\n\005value\030\001 \003(\0132$.flyteidl.core.Partiti" - "ons.ValueEntry\032G\n\nValueEntry\022\013\n\003key\030\001 \001(" - "\t\022(\n\005value\030\002 \001(\0132\031.flyteidl.core.LabelVa" - "lue:\0028\001\"\216\001\n\nArtifactID\0220\n\014artifact_key\030\001" - " \001(\0132\032.flyteidl.core.ArtifactKey\022\017\n\007vers" - "ion\030\002 \001(\t\022/\n\npartitions\030\003 \001(\0132\031.flyteidl" - ".core.PartitionsH\000B\014\n\ndimensions\"i\n\013Arti" - "factTag\0220\n\014artifact_key\030\001 \001(\0132\032.flyteidl" - ".core.ArtifactKey\022(\n\005value\030\002 \001(\0132\031.flyte" - "idl.core.LabelValue\"\311\001\n\rArtifactQuery\0220\n" - "\013artifact_id\030\001 \001(\0132\031.flyteidl.core.Artif" - "actIDH\000\0222\n\014artifact_tag\030\002 \001(\0132\032.flyteidl" - ".core.ArtifactTagH\000\022\r\n\003uri\030\003 \001(\tH\000\0225\n\007bi" - "nding\030\004 \001(\0132\".flyteidl.core.ArtifactBind" - "ingDataH\000B\014\n\nidentifier\"e\n\007Trigger\022-\n\ntr" - "igger_id\030\001 \001(\0132\031.flyteidl.core.Identifie" - "r\022+\n\010triggers\030\002 \003(\0132\031.flyteidl.core.Arti" - "factIDB= 1900 const int ArtifactBindingData::kIndexFieldNumber; const int ArtifactBindingData::kPartitionKeyFieldNumber; +const int ArtifactBindingData::kBindToTimePartitionFieldNumber; const int ArtifactBindingData::kTransformFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 @@ -876,24 +924,34 @@ ArtifactBindingData::ArtifactBindingData(const ArtifactBindingData& from) : ::google::protobuf::Message(), _internal_metadata_(nullptr) { _internal_metadata_.MergeFrom(from._internal_metadata_); - partition_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.partition_key().size() > 0) { - partition_key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.partition_key_); - } transform_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (from.transform().size() > 0) { transform_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.transform_); } index_ = from.index_; + clear_has_partition_data(); + switch (from.partition_data_case()) { + case kPartitionKey: { + set_partition_key(from.partition_key()); + break; + } + case kBindToTimePartition: { + set_bind_to_time_partition(from.bind_to_time_partition()); + break; + } + case PARTITION_DATA_NOT_SET: { + break; + } + } // @@protoc_insertion_point(copy_constructor:flyteidl.core.ArtifactBindingData) } void ArtifactBindingData::SharedCtor() { ::google::protobuf::internal::InitSCC( &scc_info_ArtifactBindingData_flyteidl_2fcore_2fartifact_5fid_2eproto.base); - partition_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); transform_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); index_ = 0u; + clear_has_partition_data(); } ArtifactBindingData::~ArtifactBindingData() { @@ -902,8 +960,10 @@ ArtifactBindingData::~ArtifactBindingData() { } void ArtifactBindingData::SharedDtor() { - partition_key_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); transform_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (has_partition_data()) { + clear_partition_data(); + } } void ArtifactBindingData::SetCachedSize(int size) const { @@ -915,15 +975,34 @@ const ArtifactBindingData& ArtifactBindingData::default_instance() { } +void ArtifactBindingData::clear_partition_data() { +// @@protoc_insertion_point(one_of_clear_start:flyteidl.core.ArtifactBindingData) + switch (partition_data_case()) { + case kPartitionKey: { + partition_data_.partition_key_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + break; + } + case kBindToTimePartition: { + // No need to clear + break; + } + case PARTITION_DATA_NOT_SET: { + break; + } + } + _oneof_case_[0] = PARTITION_DATA_NOT_SET; +} + + void ArtifactBindingData::Clear() { // @@protoc_insertion_point(message_clear_start:flyteidl.core.ArtifactBindingData) ::google::protobuf::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - partition_key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); transform_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); index_ = 0u; + clear_partition_data(); _internal_metadata_.Clear(); } @@ -963,9 +1042,16 @@ const char* ArtifactBindingData::_InternalParse(const char* begin, const char* e ptr += size; break; } - // string transform = 3; + // bool bind_to_time_partition = 3; case 3: { - if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; + if (static_cast<::google::protobuf::uint8>(tag) != 24) goto handle_unusual; + msg->set_bind_to_time_partition(::google::protobuf::internal::ReadVarint(&ptr)); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + break; + } + // string transform = 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.core.ArtifactBindingData.transform"); @@ -1041,9 +1127,23 @@ bool ArtifactBindingData::MergePartialFromCodedStream( break; } - // string transform = 3; + // bool bind_to_time_partition = 3; case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { + if (static_cast< ::google::protobuf::uint8>(tag) == (24 & 0xFF)) { + clear_partition_data(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &partition_data_.bind_to_time_partition_))); + set_has_bind_to_time_partition(); + } else { + goto handle_unusual; + } + break; + } + + // string transform = 4; + case 4: { + if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadString( input, this->mutable_transform())); DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( @@ -1089,7 +1189,7 @@ void ArtifactBindingData::SerializeWithCachedSizes( } // string partition_key = 2; - if (this->partition_key().size() > 0) { + if (has_partition_key()) { ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( this->partition_key().data(), static_cast(this->partition_key().length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, @@ -1098,14 +1198,19 @@ void ArtifactBindingData::SerializeWithCachedSizes( 2, this->partition_key(), output); } - // string transform = 3; + // bool bind_to_time_partition = 3; + if (has_bind_to_time_partition()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->bind_to_time_partition(), output); + } + + // string transform = 4; if (this->transform().size() > 0) { ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( this->transform().data(), static_cast(this->transform().length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flyteidl.core.ArtifactBindingData.transform"); ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 3, this->transform(), output); + 4, this->transform(), output); } if (_internal_metadata_.have_unknown_fields()) { @@ -1127,7 +1232,7 @@ ::google::protobuf::uint8* ArtifactBindingData::InternalSerializeWithCachedSizes } // string partition_key = 2; - if (this->partition_key().size() > 0) { + if (has_partition_key()) { ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( this->partition_key().data(), static_cast(this->partition_key().length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, @@ -1137,7 +1242,12 @@ ::google::protobuf::uint8* ArtifactBindingData::InternalSerializeWithCachedSizes 2, this->partition_key(), target); } - // string transform = 3; + // bool bind_to_time_partition = 3; + if (has_bind_to_time_partition()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->bind_to_time_partition(), target); + } + + // string transform = 4; if (this->transform().size() > 0) { ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( this->transform().data(), static_cast(this->transform().length()), @@ -1145,7 +1255,7 @@ ::google::protobuf::uint8* ArtifactBindingData::InternalSerializeWithCachedSizes "flyteidl.core.ArtifactBindingData.transform"); target = ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 3, this->transform(), target); + 4, this->transform(), target); } if (_internal_metadata_.have_unknown_fields()) { @@ -1169,14 +1279,7 @@ size_t ArtifactBindingData::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // string partition_key = 2; - if (this->partition_key().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->partition_key()); - } - - // string transform = 3; + // string transform = 4; if (this->transform().size() > 0) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( @@ -1190,6 +1293,23 @@ size_t ArtifactBindingData::ByteSizeLong() const { this->index()); } + switch (partition_data_case()) { + // string partition_key = 2; + case kPartitionKey: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->partition_key()); + break; + } + // bool bind_to_time_partition = 3; + case kBindToTimePartition: { + total_size += 1 + 1; + break; + } + case PARTITION_DATA_NOT_SET: { + break; + } + } int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -1217,10 +1337,6 @@ void ArtifactBindingData::MergeFrom(const ArtifactBindingData& from) { ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; - if (from.partition_key().size() > 0) { - - partition_key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.partition_key_); - } if (from.transform().size() > 0) { transform_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.transform_); @@ -1228,6 +1344,19 @@ void ArtifactBindingData::MergeFrom(const ArtifactBindingData& from) { if (from.index() != 0) { set_index(from.index()); } + switch (from.partition_data_case()) { + case kPartitionKey: { + set_partition_key(from.partition_key()); + break; + } + case kBindToTimePartition: { + set_bind_to_time_partition(from.bind_to_time_partition()); + break; + } + case PARTITION_DATA_NOT_SET: { + break; + } + } } void ArtifactBindingData::CopyFrom(const ::google::protobuf::Message& from) { @@ -1255,11 +1384,11 @@ void ArtifactBindingData::Swap(ArtifactBindingData* other) { void ArtifactBindingData::InternalSwap(ArtifactBindingData* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); - partition_key_.Swap(&other->partition_key_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), - GetArenaNoVirtual()); transform_.Swap(&other->transform_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); swap(index_, other->index_); + swap(partition_data_, other->partition_data_); + swap(_oneof_case_[0], other->_oneof_case_[0]); } ::google::protobuf::Metadata ArtifactBindingData::GetMetadata() const { @@ -1570,6 +1699,8 @@ ::google::protobuf::Metadata InputBindingData::GetMetadata() const { void LabelValue::InitAsDefaultInstance() { ::flyteidl::core::_LabelValue_default_instance_.static_value_.UnsafeSetDefault( &::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::flyteidl::core::_LabelValue_default_instance_.time_value_ = const_cast< ::google::protobuf::Timestamp*>( + ::google::protobuf::Timestamp::internal_default_instance()); ::flyteidl::core::_LabelValue_default_instance_.triggered_binding_ = const_cast< ::flyteidl::core::ArtifactBindingData*>( ::flyteidl::core::ArtifactBindingData::internal_default_instance()); ::flyteidl::core::_LabelValue_default_instance_.input_binding_ = const_cast< ::flyteidl::core::InputBindingData*>( @@ -1577,10 +1708,15 @@ void LabelValue::InitAsDefaultInstance() { } class LabelValue::HasBitSetters { public: + static const ::google::protobuf::Timestamp& time_value(const LabelValue* msg); static const ::flyteidl::core::ArtifactBindingData& triggered_binding(const LabelValue* msg); static const ::flyteidl::core::InputBindingData& input_binding(const LabelValue* msg); }; +const ::google::protobuf::Timestamp& +LabelValue::HasBitSetters::time_value(const LabelValue* msg) { + return *msg->value_.time_value_; +} const ::flyteidl::core::ArtifactBindingData& LabelValue::HasBitSetters::triggered_binding(const LabelValue* msg) { return *msg->value_.triggered_binding_; @@ -1589,6 +1725,27 @@ const ::flyteidl::core::InputBindingData& LabelValue::HasBitSetters::input_binding(const LabelValue* msg) { return *msg->value_.input_binding_; } +void LabelValue::set_allocated_time_value(::google::protobuf::Timestamp* time_value) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_value(); + if (time_value) { + ::google::protobuf::Arena* submessage_arena = + reinterpret_cast<::google::protobuf::MessageLite*>(time_value)->GetArena(); + if (message_arena != submessage_arena) { + time_value = ::google::protobuf::internal::GetOwnedMessage( + message_arena, time_value, submessage_arena); + } + set_has_time_value(); + value_.time_value_ = time_value; + } + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.LabelValue.time_value) +} +void LabelValue::clear_time_value() { + if (has_time_value()) { + delete value_.time_value_; + clear_has_value(); + } +} void LabelValue::set_allocated_triggered_binding(::flyteidl::core::ArtifactBindingData* triggered_binding) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); clear_value(); @@ -1619,6 +1776,7 @@ void LabelValue::set_allocated_input_binding(::flyteidl::core::InputBindingData* } #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int LabelValue::kStaticValueFieldNumber; +const int LabelValue::kTimeValueFieldNumber; const int LabelValue::kTriggeredBindingFieldNumber; const int LabelValue::kInputBindingFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 @@ -1638,6 +1796,10 @@ LabelValue::LabelValue(const LabelValue& from) set_static_value(from.static_value()); break; } + case kTimeValue: { + mutable_time_value()->::google::protobuf::Timestamp::MergeFrom(from.time_value()); + break; + } case kTriggeredBinding: { mutable_triggered_binding()->::flyteidl::core::ArtifactBindingData::MergeFrom(from.triggered_binding()); break; @@ -1686,6 +1848,10 @@ void LabelValue::clear_value() { value_.static_value_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); break; } + case kTimeValue: { + delete value_.time_value_; + break; + } case kTriggeredBinding: { delete value_.triggered_binding_; break; @@ -1741,24 +1907,37 @@ const char* LabelValue::_InternalParse(const char* begin, const char* end, void* ptr += size; break; } - // .flyteidl.core.ArtifactBindingData triggered_binding = 2; + // .google.protobuf.Timestamp time_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::ArtifactBindingData::_InternalParse; - object = msg->mutable_triggered_binding(); + parser_till_end = ::google::protobuf::Timestamp::_InternalParse; + object = msg->mutable_time_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; } - // .flyteidl.core.InputBindingData input_binding = 3; + // .flyteidl.core.ArtifactBindingData triggered_binding = 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::ArtifactBindingData::_InternalParse; + object = msg->mutable_triggered_binding(); + 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.InputBindingData input_binding = 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); parser_till_end = ::flyteidl::core::InputBindingData::_InternalParse; object = msg->mutable_input_binding(); if (size > end - ptr) goto len_delim_till_end; @@ -1816,20 +1995,31 @@ bool LabelValue::MergePartialFromCodedStream( break; } - // .flyteidl.core.ArtifactBindingData triggered_binding = 2; + // .google.protobuf.Timestamp time_value = 2; case 2: { if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_triggered_binding())); + input, mutable_time_value())); } else { goto handle_unusual; } break; } - // .flyteidl.core.InputBindingData input_binding = 3; + // .flyteidl.core.ArtifactBindingData triggered_binding = 3; case 3: { if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_triggered_binding())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.InputBindingData input_binding = 4; + case 4: { + if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( input, mutable_input_binding())); } else { @@ -1875,16 +2065,22 @@ void LabelValue::SerializeWithCachedSizes( 1, this->static_value(), output); } - // .flyteidl.core.ArtifactBindingData triggered_binding = 2; + // .google.protobuf.Timestamp time_value = 2; + if (has_time_value()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 2, HasBitSetters::time_value(this), output); + } + + // .flyteidl.core.ArtifactBindingData triggered_binding = 3; if (has_triggered_binding()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 2, HasBitSetters::triggered_binding(this), output); + 3, HasBitSetters::triggered_binding(this), output); } - // .flyteidl.core.InputBindingData input_binding = 3; + // .flyteidl.core.InputBindingData input_binding = 4; if (has_input_binding()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 3, HasBitSetters::input_binding(this), output); + 4, HasBitSetters::input_binding(this), output); } if (_internal_metadata_.have_unknown_fields()) { @@ -1911,18 +2107,25 @@ ::google::protobuf::uint8* LabelValue::InternalSerializeWithCachedSizesToArray( 1, this->static_value(), target); } - // .flyteidl.core.ArtifactBindingData triggered_binding = 2; + // .google.protobuf.Timestamp time_value = 2; + if (has_time_value()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 2, HasBitSetters::time_value(this), target); + } + + // .flyteidl.core.ArtifactBindingData triggered_binding = 3; if (has_triggered_binding()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 2, HasBitSetters::triggered_binding(this), target); + 3, HasBitSetters::triggered_binding(this), target); } - // .flyteidl.core.InputBindingData input_binding = 3; + // .flyteidl.core.InputBindingData input_binding = 4; if (has_input_binding()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 3, HasBitSetters::input_binding(this), target); + 4, HasBitSetters::input_binding(this), target); } if (_internal_metadata_.have_unknown_fields()) { @@ -1954,14 +2157,21 @@ size_t LabelValue::ByteSizeLong() const { this->static_value()); break; } - // .flyteidl.core.ArtifactBindingData triggered_binding = 2; + // .google.protobuf.Timestamp time_value = 2; + case kTimeValue: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *value_.time_value_); + break; + } + // .flyteidl.core.ArtifactBindingData triggered_binding = 3; case kTriggeredBinding: { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( *value_.triggered_binding_); break; } - // .flyteidl.core.InputBindingData input_binding = 3; + // .flyteidl.core.InputBindingData input_binding = 4; case kInputBinding: { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( @@ -2004,6 +2214,10 @@ void LabelValue::MergeFrom(const LabelValue& from) { set_static_value(from.static_value()); break; } + case kTimeValue: { + mutable_time_value()->::google::protobuf::Timestamp::MergeFrom(from.time_value()); + break; + } case kTriggeredBinding: { mutable_triggered_binding()->::flyteidl::core::ArtifactBindingData::MergeFrom(from.triggered_binding()); break; @@ -2460,18 +2674,308 @@ ::google::protobuf::Metadata Partitions::GetMetadata() const { } +// =================================================================== + +void TimePartition::InitAsDefaultInstance() { + ::flyteidl::core::_TimePartition_default_instance_._instance.get_mutable()->value_ = const_cast< ::flyteidl::core::LabelValue*>( + ::flyteidl::core::LabelValue::internal_default_instance()); +} +class TimePartition::HasBitSetters { + public: + static const ::flyteidl::core::LabelValue& value(const TimePartition* msg); +}; + +const ::flyteidl::core::LabelValue& +TimePartition::HasBitSetters::value(const TimePartition* msg) { + return *msg->value_; +} +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int TimePartition::kValueFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +TimePartition::TimePartition() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.core.TimePartition) +} +TimePartition::TimePartition(const TimePartition& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + if (from.has_value()) { + value_ = new ::flyteidl::core::LabelValue(*from.value_); + } else { + value_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flyteidl.core.TimePartition) +} + +void TimePartition::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_TimePartition_flyteidl_2fcore_2fartifact_5fid_2eproto.base); + value_ = nullptr; +} + +TimePartition::~TimePartition() { + // @@protoc_insertion_point(destructor:flyteidl.core.TimePartition) + SharedDtor(); +} + +void TimePartition::SharedDtor() { + if (this != internal_default_instance()) delete value_; +} + +void TimePartition::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const TimePartition& TimePartition::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_TimePartition_flyteidl_2fcore_2fartifact_5fid_2eproto.base); + return *internal_default_instance(); +} + + +void TimePartition::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.core.TimePartition) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaNoVirtual() == nullptr && value_ != nullptr) { + delete value_; + } + value_ = nullptr; + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* TimePartition::_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.LabelValue value = 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::LabelValue::_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 TimePartition::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.TimePartition) + 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.LabelValue value = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 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.core.TimePartition) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.core.TimePartition) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void TimePartition::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.core.TimePartition) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.LabelValue value = 1; + if (this->has_value()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, 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.core.TimePartition) +} + +::google::protobuf::uint8* TimePartition::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.core.TimePartition) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.LabelValue value = 1; + if (this->has_value()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 1, 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.core.TimePartition) + return target; +} + +size_t TimePartition::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.core.TimePartition) + 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.LabelValue value = 1; + 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 TimePartition::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.core.TimePartition) + GOOGLE_DCHECK_NE(&from, this); + const TimePartition* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.core.TimePartition) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.core.TimePartition) + MergeFrom(*source); + } +} + +void TimePartition::MergeFrom(const TimePartition& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.core.TimePartition) + 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_value()) { + mutable_value()->::flyteidl::core::LabelValue::MergeFrom(from.value()); + } +} + +void TimePartition::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.core.TimePartition) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void TimePartition::CopyFrom(const TimePartition& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.core.TimePartition) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool TimePartition::IsInitialized() const { + return true; +} + +void TimePartition::Swap(TimePartition* other) { + if (other == this) return; + InternalSwap(other); +} +void TimePartition::InternalSwap(TimePartition* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + swap(value_, other->value_); +} + +::google::protobuf::Metadata TimePartition::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fcore_2fartifact_5fid_2eproto); + return ::file_level_metadata_flyteidl_2fcore_2fartifact_5fid_2eproto[kIndexInFileMessages]; +} + + // =================================================================== void ArtifactID::InitAsDefaultInstance() { ::flyteidl::core::_ArtifactID_default_instance_._instance.get_mutable()->artifact_key_ = const_cast< ::flyteidl::core::ArtifactKey*>( ::flyteidl::core::ArtifactKey::internal_default_instance()); - ::flyteidl::core::_ArtifactID_default_instance_.partitions_ = const_cast< ::flyteidl::core::Partitions*>( + ::flyteidl::core::_ArtifactID_default_instance_._instance.get_mutable()->partitions_ = const_cast< ::flyteidl::core::Partitions*>( ::flyteidl::core::Partitions::internal_default_instance()); + ::flyteidl::core::_ArtifactID_default_instance_._instance.get_mutable()->time_partition_ = const_cast< ::flyteidl::core::TimePartition*>( + ::flyteidl::core::TimePartition::internal_default_instance()); } class ArtifactID::HasBitSetters { public: static const ::flyteidl::core::ArtifactKey& artifact_key(const ArtifactID* msg); static const ::flyteidl::core::Partitions& partitions(const ArtifactID* msg); + static const ::flyteidl::core::TimePartition& time_partition(const ArtifactID* msg); }; const ::flyteidl::core::ArtifactKey& @@ -2480,26 +2984,17 @@ ArtifactID::HasBitSetters::artifact_key(const ArtifactID* msg) { } const ::flyteidl::core::Partitions& ArtifactID::HasBitSetters::partitions(const ArtifactID* msg) { - return *msg->dimensions_.partitions_; + return *msg->partitions_; } -void ArtifactID::set_allocated_partitions(::flyteidl::core::Partitions* partitions) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - clear_dimensions(); - if (partitions) { - ::google::protobuf::Arena* submessage_arena = nullptr; - if (message_arena != submessage_arena) { - partitions = ::google::protobuf::internal::GetOwnedMessage( - message_arena, partitions, submessage_arena); - } - set_has_partitions(); - dimensions_.partitions_ = partitions; - } - // @@protoc_insertion_point(field_set_allocated:flyteidl.core.ArtifactID.partitions) +const ::flyteidl::core::TimePartition& +ArtifactID::HasBitSetters::time_partition(const ArtifactID* msg) { + return *msg->time_partition_; } #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int ArtifactID::kArtifactKeyFieldNumber; const int ArtifactID::kVersionFieldNumber; const int ArtifactID::kPartitionsFieldNumber; +const int ArtifactID::kTimePartitionFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 ArtifactID::ArtifactID() @@ -2520,15 +3015,15 @@ ArtifactID::ArtifactID(const ArtifactID& from) } else { artifact_key_ = nullptr; } - clear_has_dimensions(); - switch (from.dimensions_case()) { - case kPartitions: { - mutable_partitions()->::flyteidl::core::Partitions::MergeFrom(from.partitions()); - break; - } - case DIMENSIONS_NOT_SET: { - break; - } + if (from.has_partitions()) { + partitions_ = new ::flyteidl::core::Partitions(*from.partitions_); + } else { + partitions_ = nullptr; + } + if (from.has_time_partition()) { + time_partition_ = new ::flyteidl::core::TimePartition(*from.time_partition_); + } else { + time_partition_ = nullptr; } // @@protoc_insertion_point(copy_constructor:flyteidl.core.ArtifactID) } @@ -2537,8 +3032,9 @@ void ArtifactID::SharedCtor() { ::google::protobuf::internal::InitSCC( &scc_info_ArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto.base); version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - artifact_key_ = nullptr; - clear_has_dimensions(); + ::memset(&artifact_key_, 0, static_cast( + reinterpret_cast(&time_partition_) - + reinterpret_cast(&artifact_key_)) + sizeof(time_partition_)); } ArtifactID::~ArtifactID() { @@ -2549,9 +3045,8 @@ ArtifactID::~ArtifactID() { void ArtifactID::SharedDtor() { version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete artifact_key_; - if (has_dimensions()) { - clear_dimensions(); - } + if (this != internal_default_instance()) delete partitions_; + if (this != internal_default_instance()) delete time_partition_; } void ArtifactID::SetCachedSize(int size) const { @@ -2563,21 +3058,6 @@ const ArtifactID& ArtifactID::default_instance() { } -void ArtifactID::clear_dimensions() { -// @@protoc_insertion_point(one_of_clear_start:flyteidl.core.ArtifactID) - switch (dimensions_case()) { - case kPartitions: { - delete dimensions_.partitions_; - break; - } - case DIMENSIONS_NOT_SET: { - break; - } - } - _oneof_case_[0] = DIMENSIONS_NOT_SET; -} - - void ArtifactID::Clear() { // @@protoc_insertion_point(message_clear_start:flyteidl.core.ArtifactID) ::google::protobuf::uint32 cached_has_bits = 0; @@ -2589,7 +3069,14 @@ void ArtifactID::Clear() { delete artifact_key_; } artifact_key_ = nullptr; - clear_dimensions(); + if (GetArenaNoVirtual() == nullptr && partitions_ != nullptr) { + delete partitions_; + } + partitions_ = nullptr; + if (GetArenaNoVirtual() == nullptr && time_partition_ != nullptr) { + delete time_partition_; + } + time_partition_ = nullptr; _internal_metadata_.Clear(); } @@ -2648,6 +3135,19 @@ const char* ArtifactID::_InternalParse(const char* begin, const char* end, void* {parser_till_end, object}, ptr - size, ptr)); break; } + // .flyteidl.core.TimePartition time_partition = 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); + parser_till_end = ::flyteidl::core::TimePartition::_InternalParse; + object = msg->mutable_time_partition(); + 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) { @@ -2719,6 +3219,17 @@ bool ArtifactID::MergePartialFromCodedStream( break; } + // .flyteidl.core.TimePartition time_partition = 4; + case 4: { + if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_time_partition())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -2763,11 +3274,17 @@ void ArtifactID::SerializeWithCachedSizes( } // .flyteidl.core.Partitions partitions = 3; - if (has_partitions()) { + if (this->has_partitions()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( 3, HasBitSetters::partitions(this), output); } + // .flyteidl.core.TimePartition time_partition = 4; + if (this->has_time_partition()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 4, HasBitSetters::time_partition(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -2800,12 +3317,19 @@ ::google::protobuf::uint8* ArtifactID::InternalSerializeWithCachedSizesToArray( } // .flyteidl.core.Partitions partitions = 3; - if (has_partitions()) { + if (this->has_partitions()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( 3, HasBitSetters::partitions(this), target); } + // .flyteidl.core.TimePartition time_partition = 4; + if (this->has_time_partition()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 4, HasBitSetters::time_partition(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -2841,18 +3365,20 @@ size_t ArtifactID::ByteSizeLong() const { *artifact_key_); } - switch (dimensions_case()) { - // .flyteidl.core.Partitions partitions = 3; - case kPartitions: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *dimensions_.partitions_); - break; - } - case DIMENSIONS_NOT_SET: { - break; - } + // .flyteidl.core.Partitions partitions = 3; + if (this->has_partitions()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *partitions_); } + + // .flyteidl.core.TimePartition time_partition = 4; + if (this->has_time_partition()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *time_partition_); + } + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -2887,14 +3413,11 @@ void ArtifactID::MergeFrom(const ArtifactID& from) { if (from.has_artifact_key()) { mutable_artifact_key()->::flyteidl::core::ArtifactKey::MergeFrom(from.artifact_key()); } - switch (from.dimensions_case()) { - case kPartitions: { - mutable_partitions()->::flyteidl::core::Partitions::MergeFrom(from.partitions()); - break; - } - case DIMENSIONS_NOT_SET: { - break; - } + if (from.has_partitions()) { + mutable_partitions()->::flyteidl::core::Partitions::MergeFrom(from.partitions()); + } + if (from.has_time_partition()) { + mutable_time_partition()->::flyteidl::core::TimePartition::MergeFrom(from.time_partition()); } } @@ -2926,8 +3449,8 @@ void ArtifactID::InternalSwap(ArtifactID* other) { version_.Swap(&other->version_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); swap(artifact_key_, other->artifact_key_); - swap(dimensions_, other->dimensions_); - swap(_oneof_case_[0], other->_oneof_case_[0]); + swap(partitions_, other->partitions_); + swap(time_partition_, other->time_partition_); } ::google::protobuf::Metadata ArtifactID::GetMetadata() const { @@ -4233,6 +4756,9 @@ template<> PROTOBUF_NOINLINE ::flyteidl::core::Partitions_ValueEntry_DoNotUse* A template<> PROTOBUF_NOINLINE ::flyteidl::core::Partitions* Arena::CreateMaybeMessage< ::flyteidl::core::Partitions >(Arena* arena) { return Arena::CreateInternal< ::flyteidl::core::Partitions >(arena); } +template<> PROTOBUF_NOINLINE ::flyteidl::core::TimePartition* Arena::CreateMaybeMessage< ::flyteidl::core::TimePartition >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::core::TimePartition >(arena); +} template<> PROTOBUF_NOINLINE ::flyteidl::core::ArtifactID* Arena::CreateMaybeMessage< ::flyteidl::core::ArtifactID >(Arena* arena) { return Arena::CreateInternal< ::flyteidl::core::ArtifactID >(arena); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/core/artifact_id.pb.h b/flyteidl/gen/pb-cpp/flyteidl/core/artifact_id.pb.h index 12c9cbd59f..fc48d878e1 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/core/artifact_id.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/core/artifact_id.pb.h @@ -34,6 +34,7 @@ #include #include #include +#include #include "flyteidl/core/identifier.pb.h" // @@protoc_insertion_point(includes) #include @@ -45,7 +46,7 @@ struct TableStruct_flyteidl_2fcore_2fartifact_5fid_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[10] + static const ::google::protobuf::internal::ParseTable schema[11] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::google::protobuf::internal::FieldMetadata field_metadata[]; static const ::google::protobuf::internal::SerializationTable serialization_table[]; @@ -81,6 +82,9 @@ extern PartitionsDefaultTypeInternal _Partitions_default_instance_; class Partitions_ValueEntry_DoNotUse; class Partitions_ValueEntry_DoNotUseDefaultTypeInternal; extern Partitions_ValueEntry_DoNotUseDefaultTypeInternal _Partitions_ValueEntry_DoNotUse_default_instance_; +class TimePartition; +class TimePartitionDefaultTypeInternal; +extern TimePartitionDefaultTypeInternal _TimePartition_default_instance_; class Trigger; class TriggerDefaultTypeInternal; extern TriggerDefaultTypeInternal _Trigger_default_instance_; @@ -97,6 +101,7 @@ template<> ::flyteidl::core::InputBindingData* Arena::CreateMaybeMessage<::flyte template<> ::flyteidl::core::LabelValue* Arena::CreateMaybeMessage<::flyteidl::core::LabelValue>(Arena*); template<> ::flyteidl::core::Partitions* Arena::CreateMaybeMessage<::flyteidl::core::Partitions>(Arena*); template<> ::flyteidl::core::Partitions_ValueEntry_DoNotUse* Arena::CreateMaybeMessage<::flyteidl::core::Partitions_ValueEntry_DoNotUse>(Arena*); +template<> ::flyteidl::core::TimePartition* Arena::CreateMaybeMessage<::flyteidl::core::TimePartition>(Arena*); template<> ::flyteidl::core::Trigger* Arena::CreateMaybeMessage<::flyteidl::core::Trigger>(Arena*); } // namespace protobuf } // namespace google @@ -287,6 +292,12 @@ class ArtifactBindingData final : } static const ArtifactBindingData& default_instance(); + enum PartitionDataCase { + kPartitionKey = 2, + kBindToTimePartition = 3, + PARTITION_DATA_NOT_SET = 0, + }; + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY static inline const ArtifactBindingData* internal_default_instance() { return reinterpret_cast( @@ -350,23 +361,9 @@ class ArtifactBindingData final : // accessors ------------------------------------------------------- - // string partition_key = 2; - void clear_partition_key(); - static const int kPartitionKeyFieldNumber = 2; - const ::std::string& partition_key() const; - void set_partition_key(const ::std::string& value); - #if LANG_CXX11 - void set_partition_key(::std::string&& value); - #endif - void set_partition_key(const char* value); - void set_partition_key(const char* value, size_t size); - ::std::string* mutable_partition_key(); - ::std::string* release_partition_key(); - void set_allocated_partition_key(::std::string* partition_key); - - // string transform = 3; + // string transform = 4; void clear_transform(); - static const int kTransformFieldNumber = 3; + static const int kTransformFieldNumber = 4; const ::std::string& transform() const; void set_transform(const ::std::string& value); #if LANG_CXX11 @@ -384,15 +381,54 @@ class ArtifactBindingData final : ::google::protobuf::uint32 index() const; void set_index(::google::protobuf::uint32 value); + // string partition_key = 2; + private: + bool has_partition_key() const; + public: + void clear_partition_key(); + static const int kPartitionKeyFieldNumber = 2; + const ::std::string& partition_key() const; + void set_partition_key(const ::std::string& value); + #if LANG_CXX11 + void set_partition_key(::std::string&& value); + #endif + void set_partition_key(const char* value); + void set_partition_key(const char* value, size_t size); + ::std::string* mutable_partition_key(); + ::std::string* release_partition_key(); + void set_allocated_partition_key(::std::string* partition_key); + + // bool bind_to_time_partition = 3; + private: + bool has_bind_to_time_partition() const; + public: + void clear_bind_to_time_partition(); + static const int kBindToTimePartitionFieldNumber = 3; + bool bind_to_time_partition() const; + void set_bind_to_time_partition(bool value); + + void clear_partition_data(); + PartitionDataCase partition_data_case() const; // @@protoc_insertion_point(class_scope:flyteidl.core.ArtifactBindingData) private: class HasBitSetters; + void set_has_partition_key(); + void set_has_bind_to_time_partition(); + + inline bool has_partition_data() const; + inline void clear_has_partition_data(); ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::internal::ArenaStringPtr partition_key_; ::google::protobuf::internal::ArenaStringPtr transform_; ::google::protobuf::uint32 index_; + union PartitionDataUnion { + PartitionDataUnion() {} + ::google::protobuf::internal::ArenaStringPtr partition_key_; + bool bind_to_time_partition_; + } partition_data_; mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::uint32 _oneof_case_[1]; + friend struct ::TableStruct_flyteidl_2fcore_2fartifact_5fid_2eproto; }; // ------------------------------------------------------------------- @@ -551,8 +587,9 @@ class LabelValue final : enum ValueCase { kStaticValue = 1, - kTriggeredBinding = 2, - kInputBinding = 3, + kTimeValue = 2, + kTriggeredBinding = 3, + kInputBinding = 4, VALUE_NOT_SET = 0, }; @@ -636,19 +673,28 @@ class LabelValue final : ::std::string* release_static_value(); void set_allocated_static_value(::std::string* static_value); - // .flyteidl.core.ArtifactBindingData triggered_binding = 2; + // .google.protobuf.Timestamp time_value = 2; + bool has_time_value() const; + void clear_time_value(); + static const int kTimeValueFieldNumber = 2; + const ::google::protobuf::Timestamp& time_value() const; + ::google::protobuf::Timestamp* release_time_value(); + ::google::protobuf::Timestamp* mutable_time_value(); + void set_allocated_time_value(::google::protobuf::Timestamp* time_value); + + // .flyteidl.core.ArtifactBindingData triggered_binding = 3; bool has_triggered_binding() const; void clear_triggered_binding(); - static const int kTriggeredBindingFieldNumber = 2; + static const int kTriggeredBindingFieldNumber = 3; const ::flyteidl::core::ArtifactBindingData& triggered_binding() const; ::flyteidl::core::ArtifactBindingData* release_triggered_binding(); ::flyteidl::core::ArtifactBindingData* mutable_triggered_binding(); void set_allocated_triggered_binding(::flyteidl::core::ArtifactBindingData* triggered_binding); - // .flyteidl.core.InputBindingData input_binding = 3; + // .flyteidl.core.InputBindingData input_binding = 4; bool has_input_binding() const; void clear_input_binding(); - static const int kInputBindingFieldNumber = 3; + static const int kInputBindingFieldNumber = 4; const ::flyteidl::core::InputBindingData& input_binding() const; ::flyteidl::core::InputBindingData* release_input_binding(); ::flyteidl::core::InputBindingData* mutable_input_binding(); @@ -660,6 +706,7 @@ class LabelValue final : private: class HasBitSetters; void set_has_static_value(); + void set_has_time_value(); void set_has_triggered_binding(); void set_has_input_binding(); @@ -670,6 +717,7 @@ class LabelValue final : union ValueUnion { ValueUnion() {} ::google::protobuf::internal::ArenaStringPtr static_value_; + ::google::protobuf::Timestamp* time_value_; ::flyteidl::core::ArtifactBindingData* triggered_binding_; ::flyteidl::core::InputBindingData* input_binding_; } value_; @@ -825,6 +873,121 @@ class Partitions final : }; // ------------------------------------------------------------------- +class TimePartition final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.core.TimePartition) */ { + public: + TimePartition(); + virtual ~TimePartition(); + + TimePartition(const TimePartition& from); + + inline TimePartition& operator=(const TimePartition& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + TimePartition(TimePartition&& from) noexcept + : TimePartition() { + *this = ::std::move(from); + } + + inline TimePartition& operator=(TimePartition&& 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 TimePartition& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const TimePartition* internal_default_instance() { + return reinterpret_cast( + &_TimePartition_default_instance_); + } + static constexpr int kIndexInFileMessages = + 6; + + void Swap(TimePartition* other); + friend void swap(TimePartition& a, TimePartition& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline TimePartition* New() const final { + return CreateMaybeMessage(nullptr); + } + + TimePartition* 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 TimePartition& from); + void MergeFrom(const TimePartition& 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(TimePartition* 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.LabelValue value = 1; + bool has_value() const; + void clear_value(); + static const int kValueFieldNumber = 1; + const ::flyteidl::core::LabelValue& value() const; + ::flyteidl::core::LabelValue* release_value(); + ::flyteidl::core::LabelValue* mutable_value(); + void set_allocated_value(::flyteidl::core::LabelValue* value); + + // @@protoc_insertion_point(class_scope:flyteidl.core.TimePartition) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::flyteidl::core::LabelValue* value_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fcore_2fartifact_5fid_2eproto; +}; +// ------------------------------------------------------------------- + class ArtifactID final : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.core.ArtifactID) */ { public: @@ -857,18 +1020,13 @@ class ArtifactID final : } static const ArtifactID& default_instance(); - enum DimensionsCase { - kPartitions = 3, - DIMENSIONS_NOT_SET = 0, - }; - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY static inline const ArtifactID* internal_default_instance() { return reinterpret_cast( &_ArtifactID_default_instance_); } static constexpr int kIndexInFileMessages = - 6; + 7; void Swap(ArtifactID* other); friend void swap(ArtifactID& a, ArtifactID& b) { @@ -957,26 +1115,25 @@ class ArtifactID final : ::flyteidl::core::Partitions* mutable_partitions(); void set_allocated_partitions(::flyteidl::core::Partitions* partitions); - void clear_dimensions(); - DimensionsCase dimensions_case() const; + // .flyteidl.core.TimePartition time_partition = 4; + bool has_time_partition() const; + void clear_time_partition(); + static const int kTimePartitionFieldNumber = 4; + const ::flyteidl::core::TimePartition& time_partition() const; + ::flyteidl::core::TimePartition* release_time_partition(); + ::flyteidl::core::TimePartition* mutable_time_partition(); + void set_allocated_time_partition(::flyteidl::core::TimePartition* time_partition); + // @@protoc_insertion_point(class_scope:flyteidl.core.ArtifactID) private: class HasBitSetters; - void set_has_partitions(); - - inline bool has_dimensions() const; - inline void clear_has_dimensions(); ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::ArenaStringPtr version_; ::flyteidl::core::ArtifactKey* artifact_key_; - union DimensionsUnion { - DimensionsUnion() {} - ::flyteidl::core::Partitions* partitions_; - } dimensions_; + ::flyteidl::core::Partitions* partitions_; + ::flyteidl::core::TimePartition* time_partition_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::uint32 _oneof_case_[1]; - friend struct ::TableStruct_flyteidl_2fcore_2fartifact_5fid_2eproto; }; // ------------------------------------------------------------------- @@ -1019,7 +1176,7 @@ class ArtifactTag final : &_ArtifactTag_default_instance_); } static constexpr int kIndexInFileMessages = - 7; + 8; void Swap(ArtifactTag* other); friend void swap(ArtifactTag& a, ArtifactTag& b) { @@ -1152,7 +1309,7 @@ class ArtifactQuery final : &_ArtifactQuery_default_instance_); } static constexpr int kIndexInFileMessages = - 8; + 9; void Swap(ArtifactQuery* other); friend void swap(ArtifactQuery& a, ArtifactQuery& b) { @@ -1319,7 +1476,7 @@ class Trigger final : &_Trigger_default_instance_); } static constexpr int kIndexInFileMessages = - 9; + 10; void Swap(Trigger* other); friend void swap(Trigger& a, Trigger& b) { @@ -1596,59 +1753,127 @@ inline void ArtifactBindingData::set_index(::google::protobuf::uint32 value) { } // string partition_key = 2; +inline bool ArtifactBindingData::has_partition_key() const { + return partition_data_case() == kPartitionKey; +} +inline void ArtifactBindingData::set_has_partition_key() { + _oneof_case_[0] = kPartitionKey; +} inline void ArtifactBindingData::clear_partition_key() { - partition_key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (has_partition_key()) { + partition_data_.partition_key_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_partition_data(); + } } inline const ::std::string& ArtifactBindingData::partition_key() const { // @@protoc_insertion_point(field_get:flyteidl.core.ArtifactBindingData.partition_key) - return partition_key_.GetNoArena(); + if (has_partition_key()) { + return partition_data_.partition_key_.GetNoArena(); + } + return *&::google::protobuf::internal::GetEmptyStringAlreadyInited(); } inline void ArtifactBindingData::set_partition_key(const ::std::string& value) { - - partition_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.core.ArtifactBindingData.partition_key) + if (!has_partition_key()) { + clear_partition_data(); + set_has_partition_key(); + partition_data_.partition_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + partition_data_.partition_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); // @@protoc_insertion_point(field_set:flyteidl.core.ArtifactBindingData.partition_key) } #if LANG_CXX11 inline void ArtifactBindingData::set_partition_key(::std::string&& value) { - - partition_key_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set:flyteidl.core.ArtifactBindingData.partition_key) + if (!has_partition_key()) { + clear_partition_data(); + set_has_partition_key(); + partition_data_.partition_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + partition_data_.partition_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); // @@protoc_insertion_point(field_set_rvalue:flyteidl.core.ArtifactBindingData.partition_key) } #endif inline void ArtifactBindingData::set_partition_key(const char* value) { GOOGLE_DCHECK(value != nullptr); - - partition_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + if (!has_partition_key()) { + clear_partition_data(); + set_has_partition_key(); + partition_data_.partition_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + partition_data_.partition_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(value)); // @@protoc_insertion_point(field_set_char:flyteidl.core.ArtifactBindingData.partition_key) } inline void ArtifactBindingData::set_partition_key(const char* value, size_t size) { - - partition_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); + if (!has_partition_key()) { + clear_partition_data(); + set_has_partition_key(); + partition_data_.partition_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + partition_data_.partition_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string( + reinterpret_cast(value), size)); // @@protoc_insertion_point(field_set_pointer:flyteidl.core.ArtifactBindingData.partition_key) } inline ::std::string* ArtifactBindingData::mutable_partition_key() { - + if (!has_partition_key()) { + clear_partition_data(); + set_has_partition_key(); + partition_data_.partition_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } // @@protoc_insertion_point(field_mutable:flyteidl.core.ArtifactBindingData.partition_key) - return partition_key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return partition_data_.partition_key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } inline ::std::string* ArtifactBindingData::release_partition_key() { // @@protoc_insertion_point(field_release:flyteidl.core.ArtifactBindingData.partition_key) - - return partition_key_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (has_partition_key()) { + clear_has_partition_data(); + return partition_data_.partition_key_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } else { + return nullptr; + } } inline void ArtifactBindingData::set_allocated_partition_key(::std::string* partition_key) { + if (has_partition_data()) { + clear_partition_data(); + } if (partition_key != nullptr) { - - } else { - + set_has_partition_key(); + partition_data_.partition_key_.UnsafeSetDefault(partition_key); } - partition_key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), partition_key); // @@protoc_insertion_point(field_set_allocated:flyteidl.core.ArtifactBindingData.partition_key) } -// string transform = 3; +// bool bind_to_time_partition = 3; +inline bool ArtifactBindingData::has_bind_to_time_partition() const { + return partition_data_case() == kBindToTimePartition; +} +inline void ArtifactBindingData::set_has_bind_to_time_partition() { + _oneof_case_[0] = kBindToTimePartition; +} +inline void ArtifactBindingData::clear_bind_to_time_partition() { + if (has_bind_to_time_partition()) { + partition_data_.bind_to_time_partition_ = false; + clear_has_partition_data(); + } +} +inline bool ArtifactBindingData::bind_to_time_partition() const { + // @@protoc_insertion_point(field_get:flyteidl.core.ArtifactBindingData.bind_to_time_partition) + if (has_bind_to_time_partition()) { + return partition_data_.bind_to_time_partition_; + } + return false; +} +inline void ArtifactBindingData::set_bind_to_time_partition(bool value) { + if (!has_bind_to_time_partition()) { + clear_partition_data(); + set_has_bind_to_time_partition(); + } + partition_data_.bind_to_time_partition_ = value; + // @@protoc_insertion_point(field_set:flyteidl.core.ArtifactBindingData.bind_to_time_partition) +} + +// string transform = 4; inline void ArtifactBindingData::clear_transform() { transform_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } @@ -1701,6 +1926,15 @@ inline void ArtifactBindingData::set_allocated_transform(::std::string* transfor // @@protoc_insertion_point(field_set_allocated:flyteidl.core.ArtifactBindingData.transform) } +inline bool ArtifactBindingData::has_partition_data() const { + return partition_data_case() != PARTITION_DATA_NOT_SET; +} +inline void ArtifactBindingData::clear_has_partition_data() { + _oneof_case_[0] = PARTITION_DATA_NOT_SET; +} +inline ArtifactBindingData::PartitionDataCase ArtifactBindingData::partition_data_case() const { + return ArtifactBindingData::PartitionDataCase(_oneof_case_[0]); +} // ------------------------------------------------------------------- // InputBindingData @@ -1854,7 +2088,42 @@ inline void LabelValue::set_allocated_static_value(::std::string* static_value) // @@protoc_insertion_point(field_set_allocated:flyteidl.core.LabelValue.static_value) } -// .flyteidl.core.ArtifactBindingData triggered_binding = 2; +// .google.protobuf.Timestamp time_value = 2; +inline bool LabelValue::has_time_value() const { + return value_case() == kTimeValue; +} +inline void LabelValue::set_has_time_value() { + _oneof_case_[0] = kTimeValue; +} +inline ::google::protobuf::Timestamp* LabelValue::release_time_value() { + // @@protoc_insertion_point(field_release:flyteidl.core.LabelValue.time_value) + if (has_time_value()) { + clear_has_value(); + ::google::protobuf::Timestamp* temp = value_.time_value_; + value_.time_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::protobuf::Timestamp& LabelValue::time_value() const { + // @@protoc_insertion_point(field_get:flyteidl.core.LabelValue.time_value) + return has_time_value() + ? *value_.time_value_ + : *reinterpret_cast< ::google::protobuf::Timestamp*>(&::google::protobuf::_Timestamp_default_instance_); +} +inline ::google::protobuf::Timestamp* LabelValue::mutable_time_value() { + if (!has_time_value()) { + clear_value(); + set_has_time_value(); + value_.time_value_ = CreateMaybeMessage< ::google::protobuf::Timestamp >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.core.LabelValue.time_value) + return value_.time_value_; +} + +// .flyteidl.core.ArtifactBindingData triggered_binding = 3; inline bool LabelValue::has_triggered_binding() const { return value_case() == kTriggeredBinding; } @@ -1895,7 +2164,7 @@ inline ::flyteidl::core::ArtifactBindingData* LabelValue::mutable_triggered_bind return value_.triggered_binding_; } -// .flyteidl.core.InputBindingData input_binding = 3; +// .flyteidl.core.InputBindingData input_binding = 4; inline bool LabelValue::has_input_binding() const { return value_case() == kInputBinding; } @@ -1971,6 +2240,61 @@ Partitions::mutable_value() { // ------------------------------------------------------------------- +// TimePartition + +// .flyteidl.core.LabelValue value = 1; +inline bool TimePartition::has_value() const { + return this != internal_default_instance() && value_ != nullptr; +} +inline void TimePartition::clear_value() { + if (GetArenaNoVirtual() == nullptr && value_ != nullptr) { + delete value_; + } + value_ = nullptr; +} +inline const ::flyteidl::core::LabelValue& TimePartition::value() const { + const ::flyteidl::core::LabelValue* p = value_; + // @@protoc_insertion_point(field_get:flyteidl.core.TimePartition.value) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_LabelValue_default_instance_); +} +inline ::flyteidl::core::LabelValue* TimePartition::release_value() { + // @@protoc_insertion_point(field_release:flyteidl.core.TimePartition.value) + + ::flyteidl::core::LabelValue* temp = value_; + value_ = nullptr; + return temp; +} +inline ::flyteidl::core::LabelValue* TimePartition::mutable_value() { + + if (value_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::LabelValue>(GetArenaNoVirtual()); + value_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.core.TimePartition.value) + return value_; +} +inline void TimePartition::set_allocated_value(::flyteidl::core::LabelValue* value) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete 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.core.TimePartition.value) +} + +// ------------------------------------------------------------------- + // ArtifactID // .flyteidl.core.ArtifactKey artifact_key = 1; @@ -2079,54 +2403,106 @@ inline void ArtifactID::set_allocated_version(::std::string* version) { // .flyteidl.core.Partitions partitions = 3; inline bool ArtifactID::has_partitions() const { - return dimensions_case() == kPartitions; -} -inline void ArtifactID::set_has_partitions() { - _oneof_case_[0] = kPartitions; + return this != internal_default_instance() && partitions_ != nullptr; } inline void ArtifactID::clear_partitions() { - if (has_partitions()) { - delete dimensions_.partitions_; - clear_has_dimensions(); - } -} -inline ::flyteidl::core::Partitions* ArtifactID::release_partitions() { - // @@protoc_insertion_point(field_release:flyteidl.core.ArtifactID.partitions) - if (has_partitions()) { - clear_has_dimensions(); - ::flyteidl::core::Partitions* temp = dimensions_.partitions_; - dimensions_.partitions_ = nullptr; - return temp; - } else { - return nullptr; + if (GetArenaNoVirtual() == nullptr && partitions_ != nullptr) { + delete partitions_; } + partitions_ = nullptr; } inline const ::flyteidl::core::Partitions& ArtifactID::partitions() const { + const ::flyteidl::core::Partitions* p = partitions_; // @@protoc_insertion_point(field_get:flyteidl.core.ArtifactID.partitions) - return has_partitions() - ? *dimensions_.partitions_ - : *reinterpret_cast< ::flyteidl::core::Partitions*>(&::flyteidl::core::_Partitions_default_instance_); + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_Partitions_default_instance_); +} +inline ::flyteidl::core::Partitions* ArtifactID::release_partitions() { + // @@protoc_insertion_point(field_release:flyteidl.core.ArtifactID.partitions) + + ::flyteidl::core::Partitions* temp = partitions_; + partitions_ = nullptr; + return temp; } inline ::flyteidl::core::Partitions* ArtifactID::mutable_partitions() { - if (!has_partitions()) { - clear_dimensions(); - set_has_partitions(); - dimensions_.partitions_ = CreateMaybeMessage< ::flyteidl::core::Partitions >( - GetArenaNoVirtual()); + + if (partitions_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::Partitions>(GetArenaNoVirtual()); + partitions_ = p; } // @@protoc_insertion_point(field_mutable:flyteidl.core.ArtifactID.partitions) - return dimensions_.partitions_; + return partitions_; +} +inline void ArtifactID::set_allocated_partitions(::flyteidl::core::Partitions* partitions) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete partitions_; + } + if (partitions) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + partitions = ::google::protobuf::internal::GetOwnedMessage( + message_arena, partitions, submessage_arena); + } + + } else { + + } + partitions_ = partitions; + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.ArtifactID.partitions) } -inline bool ArtifactID::has_dimensions() const { - return dimensions_case() != DIMENSIONS_NOT_SET; +// .flyteidl.core.TimePartition time_partition = 4; +inline bool ArtifactID::has_time_partition() const { + return this != internal_default_instance() && time_partition_ != nullptr; +} +inline void ArtifactID::clear_time_partition() { + if (GetArenaNoVirtual() == nullptr && time_partition_ != nullptr) { + delete time_partition_; + } + time_partition_ = nullptr; +} +inline const ::flyteidl::core::TimePartition& ArtifactID::time_partition() const { + const ::flyteidl::core::TimePartition* p = time_partition_; + // @@protoc_insertion_point(field_get:flyteidl.core.ArtifactID.time_partition) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_TimePartition_default_instance_); } -inline void ArtifactID::clear_has_dimensions() { - _oneof_case_[0] = DIMENSIONS_NOT_SET; +inline ::flyteidl::core::TimePartition* ArtifactID::release_time_partition() { + // @@protoc_insertion_point(field_release:flyteidl.core.ArtifactID.time_partition) + + ::flyteidl::core::TimePartition* temp = time_partition_; + time_partition_ = nullptr; + return temp; +} +inline ::flyteidl::core::TimePartition* ArtifactID::mutable_time_partition() { + + if (time_partition_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::TimePartition>(GetArenaNoVirtual()); + time_partition_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.core.ArtifactID.time_partition) + return time_partition_; } -inline ArtifactID::DimensionsCase ArtifactID::dimensions_case() const { - return ArtifactID::DimensionsCase(_oneof_case_[0]); +inline void ArtifactID::set_allocated_time_partition(::flyteidl::core::TimePartition* time_partition) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete time_partition_; + } + if (time_partition) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + time_partition = ::google::protobuf::internal::GetOwnedMessage( + message_arena, time_partition, submessage_arena); + } + + } else { + + } + time_partition_ = time_partition; + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.ArtifactID.time_partition) } + // ------------------------------------------------------------------- // ArtifactTag @@ -2561,6 +2937,8 @@ Trigger::triggers() const { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/flyteidl/gen/pb-cpp/flyteidl/core/interface.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/core/interface.pb.cc index 96e2d13b02..3304c00c25 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/core/interface.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/core/interface.pb.cc @@ -16,8 +16,8 @@ // @@protoc_insertion_point(includes) #include -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_ArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_ArtifactTag_flyteidl_2fcore_2fartifact_5fid_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_ArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_ArtifactQuery_flyteidl_2fcore_2fartifact_5fid_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2finterface_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_ParameterMap_ParametersEntry_DoNotUse_flyteidl_2fcore_2finterface_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2finterface_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_VariableMap_VariablesEntry_DoNotUse_flyteidl_2fcore_2finterface_2eproto; diff --git a/flyteidl/gen/pb-cpp/flyteidl/event/cloudevents.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/event/cloudevents.pb.cc index ec498323e1..60b397bfa4 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/event/cloudevents.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/event/cloudevents.pb.cc @@ -16,7 +16,7 @@ // @@protoc_insertion_point(includes) #include -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_ArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fartifact_5fid_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_ArtifactID_flyteidl_2fcore_2fartifact_5fid_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Identifier_flyteidl_2fcore_2fidentifier_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<2> scc_info_TaskExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; diff --git a/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.pb.go b/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.pb.go index 8e7930233b..b0ad21ba74 100644 --- a/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.pb.go @@ -11,6 +11,7 @@ import ( _ "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event" proto "github.com/golang/protobuf/proto" any "github.com/golang/protobuf/ptypes/any" + timestamp "github.com/golang/protobuf/ptypes/timestamp" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -120,15 +121,15 @@ func (m *Artifact) GetSource() *ArtifactSource { type CreateArtifactRequest struct { // Specify just project/domain on creation - ArtifactKey *core.ArtifactKey `protobuf:"bytes,1,opt,name=artifact_key,json=artifactKey,proto3" json:"artifact_key,omitempty"` - Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` - Spec *ArtifactSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"` - Partitions map[string]string `protobuf:"bytes,4,rep,name=partitions,proto3" json:"partitions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Tag string `protobuf:"bytes,5,opt,name=tag,proto3" json:"tag,omitempty"` - Source *ArtifactSource `protobuf:"bytes,6,opt,name=source,proto3" json:"source,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ArtifactKey *core.ArtifactKey `protobuf:"bytes,1,opt,name=artifact_key,json=artifactKey,proto3" json:"artifact_key,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + Spec *ArtifactSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"` + Partitions map[string]string `protobuf:"bytes,4,rep,name=partitions,proto3" json:"partitions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + TimePartitionValue *timestamp.Timestamp `protobuf:"bytes,5,opt,name=time_partition_value,json=timePartitionValue,proto3" json:"time_partition_value,omitempty"` + Source *ArtifactSource `protobuf:"bytes,6,opt,name=source,proto3" json:"source,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *CreateArtifactRequest) Reset() { *m = CreateArtifactRequest{} } @@ -184,11 +185,11 @@ func (m *CreateArtifactRequest) GetPartitions() map[string]string { return nil } -func (m *CreateArtifactRequest) GetTag() string { +func (m *CreateArtifactRequest) GetTimePartitionValue() *timestamp.Timestamp { if m != nil { - return m.Tag + return m.TimePartitionValue } - return "" + return nil } func (m *CreateArtifactRequest) GetSource() *ArtifactSource { @@ -278,11 +279,13 @@ type ArtifactSpec struct { Type *core.LiteralType `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` ShortDescription string `protobuf:"bytes,3,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"` // Additional user metadata - UserMetadata *any.Any `protobuf:"bytes,4,opt,name=user_metadata,json=userMetadata,proto3" json:"user_metadata,omitempty"` - MetadataType string `protobuf:"bytes,5,opt,name=metadata_type,json=metadataType,proto3" json:"metadata_type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + UserMetadata *any.Any `protobuf:"bytes,4,opt,name=user_metadata,json=userMetadata,proto3" json:"user_metadata,omitempty"` + MetadataType string `protobuf:"bytes,5,opt,name=metadata_type,json=metadataType,proto3" json:"metadata_type,omitempty"` + CreatedAt *timestamp.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + FileFormat string `protobuf:"bytes,7,opt,name=file_format,json=fileFormat,proto3" json:"file_format,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ArtifactSpec) Reset() { *m = ArtifactSpec{} } @@ -345,6 +348,20 @@ func (m *ArtifactSpec) GetMetadataType() string { return "" } +func (m *ArtifactSpec) GetCreatedAt() *timestamp.Timestamp { + if m != nil { + return m.CreatedAt + } + return nil +} + +func (m *ArtifactSpec) GetFileFormat() string { + if m != nil { + return m.FileFormat + } + return "" +} + type CreateArtifactResponse struct { Artifact *Artifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -522,16 +539,17 @@ func (m *SearchOptions) GetLatestByKey() bool { } type SearchArtifactsRequest struct { - ArtifactKey *core.ArtifactKey `protobuf:"bytes,1,opt,name=artifact_key,json=artifactKey,proto3" json:"artifact_key,omitempty"` - Partitions *core.Partitions `protobuf:"bytes,2,opt,name=partitions,proto3" json:"partitions,omitempty"` - Principal string `protobuf:"bytes,3,opt,name=principal,proto3" json:"principal,omitempty"` - Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` - Options *SearchOptions `protobuf:"bytes,5,opt,name=options,proto3" json:"options,omitempty"` - Token string `protobuf:"bytes,6,opt,name=token,proto3" json:"token,omitempty"` - Limit int32 `protobuf:"varint,7,opt,name=limit,proto3" json:"limit,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ArtifactKey *core.ArtifactKey `protobuf:"bytes,1,opt,name=artifact_key,json=artifactKey,proto3" json:"artifact_key,omitempty"` + Partitions *core.Partitions `protobuf:"bytes,2,opt,name=partitions,proto3" json:"partitions,omitempty"` + TimePartitionValue *timestamp.Timestamp `protobuf:"bytes,3,opt,name=time_partition_value,json=timePartitionValue,proto3" json:"time_partition_value,omitempty"` + Principal string `protobuf:"bytes,4,opt,name=principal,proto3" json:"principal,omitempty"` + Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` + Options *SearchOptions `protobuf:"bytes,6,opt,name=options,proto3" json:"options,omitempty"` + Token string `protobuf:"bytes,7,opt,name=token,proto3" json:"token,omitempty"` + Limit int32 `protobuf:"varint,8,opt,name=limit,proto3" json:"limit,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SearchArtifactsRequest) Reset() { *m = SearchArtifactsRequest{} } @@ -573,6 +591,13 @@ func (m *SearchArtifactsRequest) GetPartitions() *core.Partitions { return nil } +func (m *SearchArtifactsRequest) GetTimePartitionValue() *timestamp.Timestamp { + if m != nil { + return m.TimePartitionValue + } + return nil +} + func (m *SearchArtifactsRequest) GetPrincipal() string { if m != nil { return m.Principal @@ -1331,111 +1356,115 @@ func init() { func init() { proto.RegisterFile("flyteidl/artifact/artifacts.proto", fileDescriptor_804518da5936dedb) } var fileDescriptor_804518da5936dedb = []byte{ - // 1654 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x6f, 0xdb, 0x46, - 0x16, 0x0f, 0x2d, 0x5b, 0xb2, 0x9e, 0x6c, 0x47, 0x9e, 0x64, 0x6d, 0x59, 0x4e, 0x36, 0x0a, 0x9d, - 0xcd, 0x3a, 0x1f, 0x2b, 0x22, 0xca, 0x22, 0x1b, 0x1b, 0xc8, 0x62, 0x9d, 0x38, 0xbb, 0x50, 0x3e, - 0x1d, 0xda, 0xd9, 0x2f, 0x2c, 0xa0, 0x8c, 0xc8, 0xb1, 0xcc, 0x98, 0x22, 0x99, 0xe1, 0xc8, 0x5e, - 0x22, 0x30, 0xb2, 0x58, 0xf4, 0x56, 0xf4, 0xd2, 0xa2, 0x97, 0xa2, 0x40, 0xff, 0x87, 0xfe, 0x19, - 0xbd, 0xf6, 0xd2, 0x43, 0x8f, 0xfd, 0x17, 0x7a, 0x28, 0x72, 0x29, 0x38, 0x9c, 0x21, 0x29, 0x89, - 0x52, 0xec, 0x24, 0x37, 0xf2, 0xcd, 0xef, 0xcd, 0xfb, 0x98, 0xf7, 0x7e, 0xf3, 0x48, 0xb8, 0xb8, - 0x6b, 0x07, 0x8c, 0x58, 0xa6, 0xad, 0x61, 0xca, 0xac, 0x5d, 0x6c, 0xb0, 0xf8, 0xc1, 0xaf, 0x7b, - 0xd4, 0x65, 0x2e, 0x9a, 0x97, 0x90, 0xba, 0x5c, 0xa9, 0x2e, 0x75, 0x5c, 0xb7, 0x63, 0x13, 0x8d, - 0x03, 0xda, 0xbd, 0x5d, 0x0d, 0x3b, 0x41, 0x84, 0xae, 0x9e, 0x13, 0x4b, 0xd8, 0xb3, 0x34, 0xec, - 0x38, 0x2e, 0xc3, 0xcc, 0x72, 0x1d, 0xb1, 0x57, 0xb5, 0x96, 0x98, 0x33, 0xbb, 0x96, 0xa3, 0xd9, - 0xb8, 0xe7, 0x18, 0x7b, 0x2d, 0xcf, 0xc6, 0x8e, 0xd4, 0x8f, 0x11, 0x86, 0x4b, 0x89, 0x66, 0x5b, - 0x8c, 0x50, 0x6c, 0x4b, 0xfd, 0xa5, 0xfe, 0x55, 0x16, 0x78, 0x44, 0x2e, 0xfd, 0xb6, 0x7f, 0xc9, - 0x32, 0x89, 0xc3, 0xac, 0x5d, 0x8b, 0x50, 0xb1, 0x7e, 0xa1, 0x7f, 0x5d, 0xc6, 0xd2, 0xb2, 0x4c, - 0x01, 0x38, 0x3f, 0xb0, 0x81, 0xc3, 0x08, 0xdd, 0xc5, 0x06, 0x19, 0x72, 0x9d, 0x1c, 0x10, 0x87, - 0x69, 0x86, 0xed, 0xf6, 0x4c, 0xfe, 0x28, 0x3c, 0x50, 0xbf, 0x53, 0x60, 0x7a, 0x43, 0x6c, 0x8b, - 0xd6, 0xa1, 0x94, 0x32, 0x51, 0x51, 0x6a, 0xca, 0x6a, 0xa9, 0xb1, 0x54, 0x8f, 0x73, 0x19, 0xda, - 0xa8, 0x4b, 0x74, 0x73, 0x53, 0x07, 0x89, 0x6e, 0x9a, 0xe8, 0x26, 0x4c, 0xfa, 0x1e, 0x31, 0x2a, - 0x13, 0x5c, 0xe9, 0x42, 0x7d, 0xe8, 0x00, 0x62, 0xc5, 0x6d, 0x8f, 0x18, 0x3a, 0x07, 0x23, 0x04, - 0x93, 0x0c, 0x77, 0xfc, 0x4a, 0xae, 0x96, 0x5b, 0x2d, 0xea, 0xfc, 0x19, 0xad, 0x41, 0xde, 0x77, - 0x7b, 0xd4, 0x20, 0x95, 0x49, 0xbe, 0xd5, 0xc5, 0x71, 0x5b, 0x71, 0xa0, 0x2e, 0x14, 0xd4, 0x4f, - 0x73, 0xf0, 0x9b, 0x7b, 0x94, 0x60, 0x46, 0x24, 0x40, 0x27, 0xaf, 0x7a, 0xc4, 0x67, 0xe8, 0x0e, - 0xcc, 0xc4, 0x91, 0xed, 0x93, 0x40, 0x84, 0x56, 0x1d, 0x11, 0xda, 0x43, 0x12, 0xe8, 0x71, 0x26, - 0x1e, 0x92, 0x00, 0x55, 0xa0, 0x70, 0x40, 0xa8, 0x6f, 0xb9, 0x4e, 0x25, 0x57, 0x53, 0x56, 0x8b, - 0xba, 0x7c, 0x7d, 0xbf, 0xb0, 0xff, 0x09, 0xe0, 0x85, 0xeb, 0xbc, 0xca, 0x2a, 0x93, 0xb5, 0xdc, - 0x6a, 0xa9, 0x71, 0x3b, 0x43, 0x35, 0x33, 0x96, 0xfa, 0x56, 0xac, 0x7a, 0xdf, 0x61, 0x34, 0xd0, - 0x53, 0x7b, 0xa1, 0x32, 0xe4, 0x18, 0xee, 0x54, 0xa6, 0xb8, 0x93, 0xe1, 0x63, 0x2a, 0x9d, 0xf9, - 0x13, 0xa6, 0xb3, 0x7a, 0x07, 0x4e, 0x0f, 0xd8, 0x0a, 0xf7, 0x97, 0xe9, 0x2b, 0xea, 0xe1, 0x23, - 0x3a, 0x0b, 0x53, 0x07, 0xd8, 0xee, 0x11, 0x9e, 0x81, 0xa2, 0x1e, 0xbd, 0xac, 0x4f, 0xdc, 0x56, - 0xd4, 0xb7, 0x0a, 0xcc, 0xf5, 0xef, 0x8c, 0xfe, 0x05, 0xe8, 0xd0, 0xa5, 0xfb, 0xbb, 0xb6, 0x7b, - 0xd8, 0x22, 0xff, 0x25, 0x46, 0x2f, 0xdc, 0x5a, 0x1c, 0xc6, 0xd5, 0x81, 0xc3, 0xf8, 0x87, 0x00, - 0xde, 0x97, 0xb8, 0x66, 0xdc, 0x1d, 0xfa, 0xfc, 0xe1, 0xe0, 0x22, 0x5a, 0x84, 0x82, 0xe3, 0x9a, - 0x24, 0xac, 0xdb, 0xc8, 0x93, 0x7c, 0xf8, 0xda, 0x34, 0x51, 0x03, 0x0a, 0x0c, 0xfb, 0xfb, 0xe1, - 0x42, 0x2e, 0xb3, 0xa0, 0x53, 0xfb, 0xe6, 0x43, 0x64, 0xd3, 0x44, 0x2b, 0x30, 0x4b, 0x09, 0xa3, - 0x41, 0x0b, 0x33, 0x46, 0xba, 0x1e, 0xe3, 0xa5, 0x38, 0xab, 0xcf, 0x70, 0xe1, 0x46, 0x24, 0x43, - 0xe7, 0xa0, 0xe8, 0x51, 0xcb, 0x31, 0x2c, 0x0f, 0xdb, 0x22, 0xe3, 0x89, 0x40, 0xfd, 0x45, 0x81, - 0x99, 0xf4, 0xd1, 0xa3, 0xeb, 0x32, 0x51, 0x51, 0xb8, 0x0b, 0x03, 0x5e, 0x3c, 0x8a, 0x48, 0x43, - 0x24, 0x10, 0xd5, 0x61, 0x32, 0x24, 0x0a, 0x51, 0x57, 0xd5, 0x6c, 0xf0, 0x4e, 0xe0, 0x11, 0x9d, - 0xe3, 0xd0, 0x35, 0x98, 0xf7, 0xf7, 0x5c, 0xca, 0x5a, 0x26, 0xf1, 0x0d, 0x6a, 0x79, 0x2c, 0xa9, - 0xd5, 0x32, 0x5f, 0xd8, 0x4c, 0xe4, 0x68, 0x0d, 0x66, 0x7b, 0x3e, 0xa1, 0xad, 0x2e, 0x61, 0xd8, - 0xc4, 0x0c, 0x8b, 0x4e, 0x3b, 0x5b, 0x8f, 0x78, 0xb0, 0x2e, 0x29, 0xb2, 0xbe, 0xe1, 0x04, 0xfa, - 0x4c, 0x08, 0x7d, 0x2c, 0x90, 0x61, 0x66, 0xa4, 0x56, 0x8b, 0x3b, 0x18, 0x05, 0x3e, 0x23, 0x85, - 0xa1, 0x4b, 0xea, 0x33, 0x58, 0x18, 0x2c, 0x5d, 0xdf, 0x73, 0x1d, 0x9f, 0xa0, 0x3f, 0xc1, 0xb4, - 0xac, 0x3a, 0x91, 0x87, 0xe5, 0x31, 0xf5, 0xa8, 0xc7, 0x60, 0xb5, 0x0d, 0xe8, 0x6f, 0x84, 0x0d, - 0xb6, 0x75, 0x03, 0xa6, 0x5e, 0xf5, 0x08, 0x95, 0xfd, 0x7c, 0x6e, 0x44, 0x3f, 0x3f, 0x0b, 0x31, - 0x7a, 0x04, 0x0d, 0x7b, 0xd9, 0x24, 0x0c, 0x5b, 0xb6, 0xcf, 0x93, 0x3b, 0xad, 0xcb, 0x57, 0xf5, - 0x09, 0x9c, 0xe9, 0xb3, 0xf1, 0xa1, 0x3e, 0xbf, 0x80, 0xd9, 0x6d, 0x82, 0xa9, 0xb1, 0xf7, 0xd4, - 0x8b, 0xba, 0x33, 0x3c, 0x24, 0x46, 0x2d, 0x83, 0xb5, 0x52, 0xed, 0xaf, 0x70, 0x27, 0xca, 0xd1, - 0x42, 0xd2, 0x6f, 0x48, 0x85, 0x59, 0x1b, 0x33, 0xe2, 0xb3, 0x56, 0x3b, 0xe0, 0x9c, 0x15, 0x79, - 0x5b, 0x8a, 0x84, 0x77, 0x83, 0x87, 0x24, 0x50, 0xbf, 0x9d, 0x80, 0x85, 0xc8, 0x84, 0x34, 0xef, - 0x7f, 0x24, 0xc6, 0x5b, 0xeb, 0xa3, 0xa8, 0x89, 0xcc, 0xc6, 0x49, 0x9c, 0xed, 0xe3, 0xa0, 0xbe, - 0xbe, 0xc8, 0x0d, 0xf4, 0x45, 0x9a, 0x4a, 0x27, 0xfb, 0xa9, 0x74, 0x1d, 0x0a, 0x6e, 0x94, 0x28, - 0x5e, 0x54, 0xa5, 0x46, 0x2d, 0x23, 0xcd, 0x7d, 0x09, 0xd5, 0xa5, 0x42, 0xc8, 0x42, 0xcc, 0xdd, - 0x27, 0x0e, 0x27, 0xb9, 0xa2, 0x1e, 0xbd, 0x84, 0x52, 0xdb, 0xea, 0x5a, 0xac, 0x52, 0xa8, 0x29, - 0xab, 0x53, 0x7a, 0xf4, 0xa2, 0xbe, 0x84, 0xc5, 0xa1, 0x9c, 0x89, 0xa3, 0x5e, 0x83, 0x62, 0x3c, - 0x49, 0x54, 0x14, 0xce, 0xcb, 0x63, 0xcf, 0x3a, 0x41, 0x27, 0x1e, 0x4c, 0xa4, 0x3c, 0x50, 0x7f, - 0x54, 0x60, 0xe9, 0xaf, 0x96, 0x63, 0xde, 0x0d, 0xd2, 0x74, 0x26, 0xcf, 0xe8, 0x1e, 0x14, 0x42, - 0x16, 0x4c, 0xee, 0xda, 0x93, 0x70, 0x60, 0x3e, 0x54, 0x6d, 0x9a, 0x68, 0x07, 0x8a, 0xa6, 0x45, - 0x89, 0xc1, 0x3b, 0x3e, 0x34, 0x3e, 0xd7, 0xb8, 0x95, 0xe1, 0xf3, 0x48, 0x2f, 0xea, 0x9b, 0x52, - 0x5b, 0x4f, 0x36, 0x52, 0x2f, 0x41, 0x31, 0x96, 0x23, 0x80, 0x7c, 0xf3, 0xc9, 0xd6, 0xf3, 0x9d, - 0xed, 0xf2, 0x29, 0x54, 0x82, 0xc2, 0xd3, 0xe7, 0x3b, 0xfc, 0x45, 0x51, 0xdf, 0xc0, 0xec, 0x86, - 0x69, 0xee, 0xe0, 0x8e, 0x8c, 0xe8, 0x43, 0x26, 0x88, 0xcc, 0x9b, 0x24, 0xac, 0x26, 0xf7, 0x80, - 0xd0, 0x43, 0x6a, 0x31, 0xc2, 0xab, 0x69, 0x5a, 0x4f, 0x04, 0x6a, 0x19, 0xe6, 0xa4, 0x03, 0xd1, - 0x11, 0xaa, 0x6d, 0x38, 0x1b, 0x71, 0xcf, 0x0e, 0xb5, 0x3a, 0x1d, 0x42, 0xa5, 0x67, 0x0f, 0xe0, - 0x0c, 0x8b, 0x24, 0xad, 0xd4, 0x00, 0x37, 0xdc, 0x16, 0x7c, 0xc6, 0xab, 0x3f, 0xe2, 0x90, 0x2d, - 0x1b, 0x3b, 0xfa, 0xbc, 0x50, 0x4b, 0x44, 0xea, 0xa2, 0x1c, 0x33, 0x62, 0x1b, 0xc2, 0xf8, 0x0e, - 0x54, 0x36, 0x09, 0x36, 0x98, 0x75, 0x30, 0xec, 0xc0, 0x6d, 0x00, 0xe9, 0xc0, 0xc8, 0xcc, 0xa4, - 0x8e, 0xb7, 0x28, 0xc0, 0x4d, 0x53, 0x5d, 0x86, 0xa5, 0x8c, 0x5d, 0x85, 0xc9, 0xff, 0x29, 0x50, - 0x96, 0x09, 0xdd, 0xa2, 0xae, 0xd9, 0x33, 0x08, 0x45, 0xb7, 0xa0, 0x18, 0x6e, 0xc4, 0x82, 0x63, - 0x99, 0x9a, 0x8e, 0xb0, 0x4d, 0x13, 0xfd, 0x11, 0x0a, 0x6e, 0x8f, 0x79, 0x3d, 0xe6, 0x8f, 0xb8, - 0x78, 0xfe, 0x8e, 0xa9, 0x85, 0xdb, 0x36, 0x79, 0x8c, 0x3d, 0x5d, 0x42, 0xd5, 0xff, 0xc0, 0xa2, - 0x4e, 0x3a, 0x96, 0xcf, 0x08, 0x95, 0x1e, 0xc8, 0xa0, 0x37, 0x42, 0x2e, 0x88, 0x44, 0xb2, 0xa1, - 0x56, 0xc6, 0x34, 0x54, 0xac, 0x9e, 0x68, 0xa9, 0x6f, 0x92, 0xf8, 0xee, 0xb9, 0x8e, 0xdf, 0xeb, - 0x7e, 0x40, 0x7c, 0x37, 0x21, 0x6f, 0x39, 0xa9, 0xf0, 0x96, 0x87, 0x19, 0x0d, 0x77, 0x09, 0x23, - 0x34, 0x8c, 0x4f, 0x40, 0xd3, 0xe1, 0x49, 0x07, 0x52, 0xe1, 0x19, 0x42, 0x74, 0x9c, 0xf0, 0x62, - 0xf5, 0x44, 0x4b, 0x45, 0x50, 0x96, 0xbb, 0xc7, 0x67, 0xfa, 0x95, 0x02, 0x0b, 0x49, 0xcb, 0x73, - 0x2f, 0xa4, 0xc5, 0xc7, 0x30, 0x13, 0x0f, 0x4e, 0xef, 0xc7, 0x1b, 0x25, 0x92, 0x08, 0xd1, 0x8d, - 0x54, 0x42, 0x72, 0xe3, 0x5b, 0x55, 0xa6, 0x63, 0x09, 0x16, 0x87, 0x7c, 0x13, 0x7e, 0x3f, 0x81, - 0xf2, 0x23, 0xcb, 0x67, 0xcf, 0x7d, 0xdc, 0x21, 0x1f, 0x81, 0x11, 0xd4, 0x16, 0xcc, 0xa7, 0xf6, - 0x13, 0x1c, 0xfd, 0x00, 0x20, 0x8e, 0x40, 0x26, 0xfd, 0x24, 0xf1, 0xa7, 0xb4, 0x1b, 0x6f, 0x4b, - 0x49, 0x71, 0x45, 0xa7, 0x40, 0x03, 0xd4, 0x81, 0xb9, 0xfe, 0xe9, 0x05, 0xad, 0x1e, 0x77, 0x36, - 0xaf, 0x5e, 0x39, 0x06, 0x52, 0x24, 0xeb, 0x14, 0xfa, 0x44, 0x81, 0x52, 0x6a, 0xe0, 0x40, 0xbf, - 0xcb, 0x50, 0x1e, 0x1e, 0x7a, 0xaa, 0x97, 0xdf, 0x05, 0x13, 0x06, 0x2e, 0xff, 0xff, 0xfb, 0x9f, - 0xbe, 0x98, 0xa8, 0xa9, 0xcb, 0xc9, 0xd7, 0x31, 0xff, 0xc2, 0x3d, 0xb8, 0x91, 0x08, 0xd6, 0x95, - 0xab, 0xe8, 0x33, 0x05, 0x4e, 0x0f, 0x5c, 0x88, 0xe8, 0xca, 0xc8, 0xab, 0x77, 0x70, 0xd0, 0xa8, - 0x5e, 0x3d, 0x0e, 0x54, 0xb8, 0xb4, 0xc2, 0x5d, 0x3a, 0xaf, 0x56, 0x86, 0x5d, 0xf2, 0xb9, 0x4a, - 0xe8, 0x8f, 0x09, 0xb3, 0x7d, 0xec, 0x8a, 0x7e, 0x3f, 0x32, 0xa9, 0xfd, 0x14, 0x5b, 0x5d, 0x7d, - 0x37, 0x30, 0x4e, 0xfe, 0x37, 0x0a, 0xcc, 0x0f, 0xb1, 0x2a, 0xba, 0x96, 0xb1, 0xc3, 0x28, 0x46, - 0xaf, 0x5e, 0x3f, 0x1e, 0x58, 0x98, 0xd4, 0x78, 0xec, 0x57, 0x1a, 0x97, 0x86, 0x63, 0x17, 0x54, - 0xaf, 0x99, 0xb1, 0x72, 0x98, 0x87, 0xa7, 0x90, 0x8f, 0xee, 0x36, 0x94, 0x35, 0x08, 0xf5, 0xdd, - 0xbb, 0xd5, 0x8b, 0x63, 0x10, 0x71, 0xc8, 0x24, 0xa1, 0x9a, 0xf8, 0xa6, 0xc8, 0x3a, 0xbd, 0x11, - 0x64, 0x5e, 0x5d, 0x19, 0x83, 0xcd, 0x36, 0x13, 0x13, 0xf6, 0x38, 0x33, 0x03, 0xa4, 0x7a, 0x5c, - 0x33, 0x5d, 0x40, 0xdb, 0x84, 0x0d, 0x50, 0x51, 0x66, 0xe1, 0x66, 0x53, 0x69, 0x66, 0xe1, 0x8e, - 0x62, 0xb6, 0x53, 0xe8, 0x07, 0x05, 0xd0, 0xf0, 0x0c, 0x85, 0xae, 0x9f, 0x64, 0xd4, 0x3a, 0x51, - 0xaf, 0xec, 0xf1, 0x7a, 0x69, 0xa3, 0x17, 0xa3, 0x7a, 0x45, 0x8b, 0x89, 0x4c, 0x7b, 0x2d, 0xc6, - 0xc8, 0xf0, 0xcb, 0xed, 0x25, 0x31, 0xd8, 0x51, 0x22, 0x31, 0xdd, 0x2e, 0xb6, 0x9c, 0x94, 0xc0, - 0xc1, 0x5d, 0x72, 0xa4, 0xbd, 0x8e, 0x47, 0xbd, 0x23, 0xf4, 0xb3, 0x02, 0xc5, 0x98, 0x67, 0x51, - 0x56, 0xfa, 0x07, 0x59, 0xbd, 0x7a, 0x69, 0x3c, 0x48, 0x84, 0xf0, 0xb5, 0xc2, 0x63, 0xf8, 0x52, - 0x41, 0x9f, 0x2b, 0xc3, 0x51, 0xf4, 0x42, 0xac, 0xf6, 0x3a, 0xfd, 0x53, 0x2b, 0xfd, 0xc5, 0x92, - 0x8a, 0x65, 0x24, 0x24, 0x0e, 0x6e, 0x24, 0x42, 0x44, 0x9b, 0x5e, 0x17, 0xdf, 0x1b, 0x47, 0x77, - 0xff, 0xf2, 0xef, 0x3f, 0x77, 0x2c, 0xb6, 0xd7, 0x6b, 0xd7, 0x0d, 0xb7, 0xab, 0xf1, 0x80, 0x5c, - 0xda, 0x89, 0x1e, 0xb4, 0xf8, 0xcf, 0x59, 0x87, 0x38, 0x9a, 0xd7, 0xfe, 0x43, 0xc7, 0xd5, 0x86, - 0x7e, 0x3b, 0xb6, 0xf3, 0xfc, 0x4b, 0xf9, 0xe6, 0xaf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc1, 0x2f, - 0x2d, 0x08, 0x92, 0x14, 0x00, 0x00, + // 1721 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xdf, 0x6f, 0xdb, 0xc6, + 0x1d, 0x0f, 0x2d, 0x5b, 0xb2, 0xbe, 0xb2, 0x53, 0xf9, 0xea, 0xd9, 0xb2, 0x9c, 0x2e, 0x0a, 0x9d, + 0x75, 0x4e, 0x9a, 0x89, 0xa8, 0x33, 0x74, 0xb1, 0x81, 0x0e, 0x73, 0xe2, 0x76, 0x50, 0xe3, 0x24, + 0x2e, 0xad, 0x74, 0x3f, 0x30, 0x40, 0x3d, 0x91, 0x27, 0x99, 0x35, 0x45, 0xb2, 0xc7, 0x93, 0x3d, + 0x22, 0x30, 0x5a, 0x0c, 0x7b, 0xdd, 0xcb, 0x86, 0xbd, 0x0c, 0x03, 0xf6, 0xe7, 0x0c, 0xd8, 0xeb, + 0x30, 0x60, 0x0f, 0x7b, 0xdc, 0xbf, 0xb0, 0xa7, 0xbe, 0x0c, 0x77, 0xbc, 0x23, 0x29, 0x89, 0x52, + 0xe5, 0xa4, 0x6f, 0xe4, 0xf7, 0x3e, 0xdf, 0x9f, 0xf7, 0xbd, 0xcf, 0x7d, 0x49, 0xb8, 0xd3, 0x73, + 0x23, 0x46, 0x1c, 0xdb, 0x35, 0x30, 0x65, 0x4e, 0x0f, 0x5b, 0x2c, 0x79, 0x08, 0x9b, 0x01, 0xf5, + 0x99, 0x8f, 0xd6, 0x14, 0xa4, 0xa9, 0x56, 0xea, 0x5b, 0x7d, 0xdf, 0xef, 0xbb, 0xc4, 0x10, 0x80, + 0xee, 0xb0, 0x67, 0x60, 0x2f, 0x8a, 0xd1, 0xf5, 0x5b, 0x72, 0x09, 0x07, 0x8e, 0x81, 0x3d, 0xcf, + 0x67, 0x98, 0x39, 0xbe, 0x27, 0x6d, 0xd5, 0x6f, 0x8f, 0x2b, 0x32, 0x67, 0x40, 0x42, 0x86, 0x07, + 0x81, 0x04, 0x34, 0xd2, 0x78, 0xec, 0x81, 0xe3, 0x19, 0x2e, 0x1e, 0x7a, 0xd6, 0x59, 0x27, 0x70, + 0xb1, 0xa7, 0x1c, 0x24, 0x08, 0xcb, 0xa7, 0xc4, 0x70, 0x1d, 0x46, 0x28, 0x76, 0x95, 0x83, 0xad, + 0xd1, 0x55, 0x16, 0x05, 0x44, 0x2d, 0x7d, 0x7f, 0x74, 0xc9, 0xb1, 0x89, 0xc7, 0x9c, 0x9e, 0x43, + 0xa8, 0x8a, 0x6d, 0x74, 0x5d, 0x25, 0xdb, 0x71, 0x6c, 0x09, 0x78, 0x67, 0xcc, 0x80, 0xc7, 0x08, + 0xed, 0x61, 0x8b, 0x4c, 0x84, 0x4e, 0x2e, 0x88, 0xc7, 0x0c, 0xcb, 0xf5, 0x87, 0xb6, 0x78, 0x94, + 0x11, 0xe8, 0xff, 0xd0, 0x60, 0xf9, 0x50, 0x9a, 0x45, 0x07, 0x50, 0xc9, 0xb8, 0xa8, 0x69, 0x0d, + 0x6d, 0xb7, 0xb2, 0xb7, 0xd5, 0x4c, 0x8a, 0xcd, 0x7d, 0x34, 0x15, 0xba, 0x75, 0x64, 0x82, 0x42, + 0xb7, 0x6c, 0xf4, 0x10, 0x16, 0xc3, 0x80, 0x58, 0xb5, 0x05, 0xa1, 0x74, 0xbb, 0x39, 0xb1, 0x43, + 0x89, 0xe2, 0x69, 0x40, 0x2c, 0x53, 0x80, 0x11, 0x82, 0x45, 0x86, 0xfb, 0x61, 0xad, 0xd0, 0x28, + 0xec, 0x96, 0x4d, 0xf1, 0x8c, 0xf6, 0xa1, 0x18, 0xfa, 0x43, 0x6a, 0x91, 0xda, 0xa2, 0x30, 0x75, + 0x67, 0x96, 0x29, 0x01, 0x34, 0xa5, 0x82, 0xfe, 0xf7, 0x02, 0x7c, 0xef, 0x09, 0x25, 0x98, 0x11, + 0x05, 0x30, 0xc9, 0x97, 0x43, 0x12, 0x32, 0xf4, 0x21, 0xac, 0x24, 0x99, 0x9d, 0x93, 0x48, 0xa6, + 0x56, 0x9f, 0x92, 0xda, 0x53, 0x12, 0x99, 0x49, 0x25, 0x9e, 0x92, 0x08, 0xd5, 0xa0, 0x74, 0x41, + 0x68, 0xe8, 0xf8, 0x5e, 0xad, 0xd0, 0xd0, 0x76, 0xcb, 0xa6, 0x7a, 0x7d, 0xbd, 0xb4, 0x7f, 0x09, + 0x10, 0xf0, 0x75, 0xd1, 0x86, 0xb5, 0xc5, 0x46, 0x61, 0xb7, 0xb2, 0xf7, 0x28, 0x47, 0x35, 0x37, + 0x97, 0xe6, 0x49, 0xa2, 0xfa, 0x91, 0xc7, 0x68, 0x64, 0x66, 0x6c, 0xa1, 0x63, 0x58, 0xe7, 0xed, + 0xdb, 0x49, 0x44, 0x9d, 0x0b, 0xec, 0x0e, 0x49, 0x6d, 0x49, 0xe6, 0x1b, 0xf7, 0x7a, 0x53, 0xf5, + 0x7a, 0xb3, 0xad, 0x7a, 0xdd, 0x44, 0x5c, 0x2f, 0x31, 0xfd, 0x19, 0xd7, 0xca, 0x6c, 0x45, 0xf1, + 0x9a, 0x5b, 0x51, 0xff, 0x10, 0xde, 0x1a, 0x8b, 0x13, 0x55, 0xa1, 0xa0, 0x4a, 0x5f, 0x36, 0xf9, + 0x23, 0x5a, 0x87, 0xa5, 0x38, 0xbc, 0x05, 0x21, 0x8b, 0x5f, 0x0e, 0x16, 0x1e, 0x69, 0xfa, 0x37, + 0x1a, 0xdc, 0x1c, 0xb5, 0x8c, 0x7e, 0x05, 0xe8, 0xd2, 0xa7, 0xe7, 0x3d, 0xd7, 0xbf, 0xec, 0x90, + 0xdf, 0x12, 0x6b, 0xc8, 0x4d, 0xcb, 0x8d, 0xbc, 0x3f, 0xb6, 0x91, 0xbf, 0x90, 0xc0, 0x8f, 0x14, + 0xae, 0x95, 0x9c, 0x2c, 0x73, 0xed, 0x72, 0x7c, 0x11, 0x6d, 0x42, 0xc9, 0xf3, 0x6d, 0xc2, 0x7b, + 0x3e, 0x8e, 0xa4, 0xc8, 0x5f, 0x5b, 0x36, 0xda, 0x83, 0x12, 0xc3, 0xe1, 0x39, 0x5f, 0x28, 0xe4, + 0x1e, 0x86, 0x8c, 0xdd, 0x22, 0x47, 0xb6, 0x6c, 0xb4, 0x03, 0xab, 0x94, 0x30, 0x1a, 0x75, 0x30, + 0x63, 0x64, 0x10, 0x30, 0xd1, 0xc6, 0xab, 0xe6, 0x8a, 0x10, 0x1e, 0xc6, 0x32, 0x74, 0x0b, 0xca, + 0x01, 0x75, 0x3c, 0xcb, 0x09, 0xb0, 0x2b, 0x36, 0xa7, 0x6c, 0xa6, 0x02, 0xfd, 0x5f, 0x0b, 0xb0, + 0x92, 0x6d, 0x1b, 0xf4, 0x40, 0x15, 0x2a, 0x4e, 0x77, 0x63, 0x2c, 0x8a, 0xe3, 0x98, 0x70, 0x64, + 0x01, 0x51, 0x13, 0x16, 0x39, 0xc9, 0xc8, 0x9e, 0xac, 0xe7, 0x83, 0xdb, 0x51, 0x40, 0x4c, 0x81, + 0x43, 0xef, 0xc1, 0x5a, 0x78, 0xe6, 0x53, 0xd6, 0xb1, 0x49, 0x68, 0x51, 0x27, 0x60, 0x69, 0x9f, + 0x57, 0xc5, 0xc2, 0x51, 0x2a, 0x47, 0xfb, 0xb0, 0x3a, 0x0c, 0x09, 0xed, 0x0c, 0x08, 0xc3, 0x36, + 0x66, 0x58, 0x9e, 0xd2, 0xf5, 0x89, 0xd6, 0x3a, 0xf4, 0x22, 0x73, 0x85, 0x43, 0x9f, 0x49, 0x24, + 0xaf, 0x8c, 0xd2, 0xea, 0x88, 0x00, 0xe3, 0xc4, 0x57, 0x94, 0x90, 0x87, 0x84, 0xf6, 0x01, 0x2c, + 0xd1, 0xf6, 0x76, 0x07, 0x33, 0xd9, 0x77, 0xb3, 0xfa, 0xb6, 0x2c, 0xd1, 0x87, 0x0c, 0xdd, 0x86, + 0x4a, 0xcf, 0x71, 0x49, 0xa7, 0xe7, 0xd3, 0x01, 0x66, 0xb5, 0x92, 0xb0, 0x0e, 0x5c, 0xf4, 0xb1, + 0x90, 0xe8, 0x9f, 0xc2, 0xc6, 0xf8, 0x91, 0x0a, 0x03, 0xdf, 0x0b, 0x09, 0xfa, 0x09, 0x2c, 0xab, + 0x8e, 0x96, 0x35, 0xde, 0x9e, 0xd1, 0xeb, 0x66, 0x02, 0xd6, 0xbb, 0x80, 0x7e, 0x4e, 0xd8, 0x38, + 0xdd, 0xec, 0xc1, 0xd2, 0x97, 0x43, 0x42, 0x15, 0xcf, 0xdc, 0x9a, 0xc2, 0x33, 0x9f, 0x72, 0x8c, + 0x19, 0x43, 0x39, 0xc7, 0xd8, 0x84, 0x61, 0xc7, 0x0d, 0xc5, 0xc6, 0x2d, 0x9b, 0xea, 0x55, 0x7f, + 0x0e, 0x6f, 0x8f, 0xf8, 0x78, 0xd3, 0x98, 0x3f, 0x87, 0xd5, 0x53, 0x82, 0xa9, 0x75, 0xf6, 0x22, + 0x88, 0x59, 0x83, 0x37, 0x00, 0xa3, 0x8e, 0xc5, 0x3a, 0x19, 0x5a, 0xd2, 0x44, 0x10, 0xd5, 0x78, + 0x21, 0x3d, 0xcb, 0x48, 0x87, 0x55, 0x17, 0x33, 0x12, 0xb2, 0x4e, 0x37, 0x12, 0x5c, 0x1a, 0x47, + 0x5b, 0x89, 0x85, 0x8f, 0xa3, 0xa7, 0x24, 0xd2, 0xbf, 0x2e, 0xc0, 0x46, 0xec, 0x42, 0xb9, 0x0f, + 0xbf, 0x23, 0x26, 0xde, 0x1f, 0xa1, 0xce, 0x85, 0xdc, 0x43, 0x99, 0x06, 0x3b, 0x17, 0x37, 0x16, + 0x5e, 0x8b, 0x1b, 0x47, 0x4e, 0xf0, 0xe2, 0xd8, 0x09, 0xce, 0x5e, 0x18, 0x4b, 0xa3, 0x17, 0xc6, + 0x01, 0x94, 0xfc, 0xb8, 0xec, 0xb2, 0xb9, 0x1b, 0x39, 0x9b, 0x36, 0xb2, 0x3d, 0xa6, 0x52, 0xe0, + 0x7c, 0xc9, 0xfc, 0x73, 0xe2, 0xc9, 0xd6, 0x8e, 0x5f, 0xb8, 0xd4, 0x75, 0x06, 0x0e, 0xab, 0x2d, + 0x37, 0xb4, 0xdd, 0x25, 0x33, 0x7e, 0xd1, 0xbf, 0x80, 0xcd, 0x89, 0x1d, 0x90, 0x8d, 0xb3, 0x0f, + 0xe5, 0x64, 0xa0, 0xaa, 0x69, 0xe2, 0xf6, 0x99, 0xd9, 0x39, 0x29, 0x3a, 0x8d, 0x60, 0x21, 0x13, + 0x81, 0xfe, 0x1f, 0x0d, 0xb6, 0x3e, 0x76, 0x3c, 0xfb, 0x71, 0x94, 0x25, 0x5e, 0xb5, 0xe3, 0x4f, + 0xa0, 0xc4, 0xf9, 0x3a, 0x9d, 0x28, 0xae, 0xc3, 0xd6, 0x45, 0xae, 0xda, 0xb2, 0x51, 0x1b, 0xca, + 0xb6, 0x43, 0x89, 0x25, 0xb8, 0x89, 0x3b, 0xbf, 0xb9, 0xf7, 0x41, 0x4e, 0xcc, 0x53, 0xa3, 0x68, + 0x1e, 0x29, 0x6d, 0x33, 0x35, 0xa4, 0xdf, 0x85, 0x72, 0x22, 0x47, 0x00, 0xc5, 0xd6, 0xf3, 0x93, + 0x97, 0xed, 0xd3, 0xea, 0x0d, 0x54, 0x81, 0xd2, 0x8b, 0x97, 0x6d, 0xf1, 0xa2, 0xe9, 0x5f, 0xc1, + 0xea, 0xa1, 0x6d, 0xb7, 0x71, 0x5f, 0x65, 0xf4, 0x26, 0x73, 0x52, 0xee, 0x9d, 0xc7, 0xbb, 0xc9, + 0xbf, 0x20, 0xf4, 0x92, 0x3a, 0x2c, 0x6e, 0xc8, 0x65, 0x33, 0x15, 0xe8, 0x55, 0xb8, 0xa9, 0x02, + 0x88, 0xb7, 0x50, 0xef, 0xc2, 0x7a, 0xcc, 0x64, 0x6d, 0xea, 0xf4, 0xfb, 0x84, 0xaa, 0xc8, 0x3e, + 0x81, 0xb7, 0x59, 0x2c, 0xe9, 0x64, 0xc6, 0xd4, 0xc9, 0x43, 0x26, 0x26, 0xd9, 0xe6, 0xb1, 0x80, + 0x9c, 0xb8, 0xd8, 0x33, 0xd7, 0xa4, 0x5a, 0x2a, 0xd2, 0x37, 0xd5, 0x30, 0x95, 0xf8, 0x90, 0xce, + 0xdb, 0x50, 0x3b, 0x22, 0xd8, 0x62, 0xce, 0xc5, 0x64, 0x00, 0x8f, 0x00, 0x54, 0x00, 0x53, 0x2b, + 0x93, 0xd9, 0xde, 0xb2, 0x04, 0xb7, 0x6c, 0x7d, 0x1b, 0xb6, 0x72, 0xac, 0x4a, 0x97, 0x5f, 0x6b, + 0x50, 0x55, 0x05, 0x3d, 0xa1, 0xbe, 0x3d, 0xb4, 0x08, 0x45, 0x1f, 0x40, 0x99, 0x1b, 0x62, 0xd1, + 0x5c, 0xae, 0x96, 0x63, 0x6c, 0xcb, 0x46, 0x3f, 0x86, 0x92, 0x3f, 0x64, 0xc1, 0x90, 0x85, 0x53, + 0xae, 0xc8, 0xcf, 0x30, 0x75, 0x70, 0xd7, 0x25, 0xcf, 0x70, 0x60, 0x2a, 0xa8, 0xfe, 0x1b, 0xd8, + 0x34, 0x49, 0xdf, 0x09, 0x19, 0xa1, 0x2a, 0x02, 0x95, 0xf4, 0x21, 0xe7, 0x82, 0x58, 0xa4, 0x0e, + 0xd4, 0xce, 0x8c, 0x03, 0x95, 0xa8, 0xa7, 0x5a, 0xfa, 0x57, 0x69, 0x7e, 0x4f, 0x7c, 0x2f, 0x1c, + 0x0e, 0xde, 0x20, 0xbf, 0x87, 0x50, 0x74, 0xbc, 0x4c, 0x7a, 0xdb, 0x93, 0xfc, 0x88, 0x07, 0x84, + 0x11, 0xca, 0xf3, 0x93, 0xd0, 0x6c, 0x7a, 0x2a, 0x80, 0x4c, 0x7a, 0x96, 0x14, 0xcd, 0x93, 0x5e, + 0xa2, 0x9e, 0x6a, 0xe9, 0x08, 0xaa, 0xca, 0x7a, 0xb2, 0xa7, 0x7f, 0xd1, 0x60, 0x23, 0x3d, 0xf2, + 0x22, 0x0a, 0xe5, 0xf1, 0x19, 0xac, 0x24, 0x23, 0xde, 0xeb, 0xf1, 0x46, 0x85, 0xa4, 0x42, 0xf4, + 0x7e, 0xa6, 0x20, 0x85, 0xd9, 0x47, 0x55, 0x95, 0x63, 0x0b, 0x36, 0x27, 0x62, 0x93, 0x71, 0x3f, + 0x87, 0xea, 0xb1, 0x13, 0xb2, 0x97, 0x21, 0xee, 0x93, 0xef, 0x80, 0x11, 0xf4, 0x0e, 0xac, 0x65, + 0xec, 0x49, 0x8e, 0xfe, 0x04, 0x20, 0xc9, 0x40, 0x15, 0xfd, 0x3a, 0xf9, 0x67, 0xb4, 0xf7, 0xbe, + 0xa9, 0xa4, 0xcd, 0x15, 0xef, 0x02, 0x8d, 0x50, 0x1f, 0x6e, 0x8e, 0xce, 0x42, 0x68, 0x77, 0xde, + 0x2f, 0x90, 0xfa, 0xbd, 0x39, 0x90, 0xb2, 0x58, 0x37, 0xd0, 0xef, 0x35, 0xa8, 0x64, 0xc6, 0x17, + 0xf4, 0x83, 0x1c, 0xe5, 0xc9, 0x11, 0xaa, 0xfe, 0xee, 0xb7, 0xc1, 0xa4, 0x83, 0x77, 0x7f, 0xf7, + 0xcf, 0xff, 0xfe, 0x69, 0xa1, 0xa1, 0x6f, 0xa7, 0x3f, 0x09, 0xc4, 0x87, 0xfe, 0xc5, 0xfb, 0xa9, + 0xe0, 0x40, 0xbb, 0x8f, 0xfe, 0xa0, 0xc1, 0x5b, 0x63, 0x17, 0x22, 0xba, 0x37, 0xf5, 0xea, 0x1d, + 0x1f, 0x5b, 0xea, 0xf7, 0xe7, 0x81, 0xca, 0x90, 0x76, 0x44, 0x48, 0xef, 0xe8, 0xb5, 0xc9, 0x90, + 0x42, 0xa1, 0xc2, 0xe3, 0xb1, 0x61, 0x75, 0x84, 0x5d, 0xd1, 0x0f, 0xa7, 0x16, 0x75, 0x94, 0x62, + 0xeb, 0xbb, 0xdf, 0x0e, 0x4c, 0x8a, 0xff, 0x37, 0x0d, 0xd6, 0x26, 0x58, 0x15, 0xbd, 0x97, 0x63, + 0x61, 0x1a, 0xa3, 0xd7, 0x1f, 0xcc, 0x07, 0x96, 0x2e, 0x0d, 0x91, 0xfb, 0xbd, 0xbd, 0xbb, 0x93, + 0xb9, 0x4b, 0xaa, 0x37, 0xec, 0x44, 0x99, 0xd7, 0xe1, 0x05, 0x14, 0xe3, 0xbb, 0x0d, 0xe5, 0x0d, + 0x42, 0x23, 0xf7, 0x6e, 0xfd, 0xce, 0x0c, 0x44, 0x92, 0x32, 0x49, 0xa9, 0x26, 0xb9, 0x29, 0xf2, + 0x76, 0x6f, 0x0a, 0x99, 0xd7, 0x77, 0x66, 0x60, 0xf3, 0xdd, 0x24, 0x84, 0x3d, 0xcb, 0xcd, 0x18, + 0xa9, 0xce, 0xeb, 0x66, 0x00, 0xe8, 0x94, 0xb0, 0x31, 0x2a, 0xca, 0x6d, 0xdc, 0x7c, 0x2a, 0xcd, + 0x6d, 0xdc, 0x69, 0xcc, 0x76, 0x03, 0xfd, 0x5b, 0x03, 0x34, 0x39, 0x43, 0xa1, 0x07, 0xd7, 0x19, + 0xb5, 0xae, 0x75, 0x56, 0xce, 0x44, 0xbf, 0x74, 0xd1, 0xe7, 0xd3, 0xce, 0x8a, 0x91, 0x10, 0x99, + 0xf1, 0x4a, 0x8e, 0x91, 0x7c, 0x44, 0xff, 0x82, 0x58, 0xec, 0x2a, 0x95, 0xd8, 0xfe, 0x00, 0x3b, + 0x5e, 0x46, 0xe0, 0xe1, 0x01, 0xb9, 0x32, 0x5e, 0x25, 0xa3, 0xde, 0x15, 0xfa, 0x9f, 0x06, 0xe5, + 0x84, 0x67, 0x51, 0x5e, 0xf9, 0xc7, 0x59, 0xbd, 0x7e, 0x77, 0x36, 0x48, 0xa6, 0xf0, 0x57, 0x4d, + 0xe4, 0xf0, 0x67, 0x0d, 0xfd, 0x51, 0x9b, 0xcc, 0x62, 0xc8, 0xb1, 0xc6, 0xab, 0xec, 0xaf, 0xbb, + 0xec, 0xf7, 0x4f, 0x26, 0x97, 0xa9, 0x90, 0x24, 0xb9, 0xa9, 0x08, 0x99, 0x6d, 0x76, 0x5d, 0x7e, + 0x6f, 0x5c, 0x3d, 0xfe, 0xd9, 0xaf, 0x7f, 0xda, 0x77, 0xd8, 0xd9, 0xb0, 0xdb, 0xb4, 0xfc, 0x81, + 0x21, 0x12, 0xf2, 0x69, 0x3f, 0x7e, 0x30, 0x92, 0xff, 0x83, 0x7d, 0xe2, 0x19, 0x41, 0xf7, 0x47, + 0x7d, 0xdf, 0x98, 0xf8, 0xfb, 0xda, 0x2d, 0x8a, 0x4f, 0xa2, 0x87, 0xff, 0x0f, 0x00, 0x00, 0xff, + 0xff, 0x1c, 0xb2, 0xae, 0x8e, 0x99, 0x15, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.swagger.json b/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.swagger.json index 600dea3a01..47785a90b0 100644 --- a/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.swagger.json @@ -185,6 +185,54 @@ "in": "path", "required": true, "type": "string" + }, + { + "name": "artifact_id.time_partition.value.static_value", + "description": "The string static value is for use in the Partitions object.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "artifact_id.time_partition.value.time_value", + "description": "The time value is for use in the TimePartition case.", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "artifact_id.time_partition.value.triggered_binding.index", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "artifact_id.time_partition.value.triggered_binding.partition_key", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "artifact_id.time_partition.value.triggered_binding.bind_to_time_partition", + "in": "query", + "required": false, + "type": "boolean", + "format": "boolean" + }, + { + "name": "artifact_id.time_partition.value.triggered_binding.transform", + "description": "This is only relevant in the time partition case.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "artifact_id.time_partition.value.input_binding.var", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -693,6 +741,13 @@ }, "metadata_type": { "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "file_format": { + "type": "string" } } }, @@ -773,6 +828,10 @@ "partitions": { "$ref": "#/definitions/corePartitions" }, + "time_partition_value": { + "type": "string", + "format": "date-time" + }, "principal": { "type": "string" }, @@ -830,11 +889,15 @@ "format": "int64" }, "partition_key": { - "type": "string", - "title": "These two fields are only relevant in the partition value case" + "type": "string" + }, + "bind_to_time_partition": { + "type": "boolean", + "format": "boolean" }, "transform": { - "type": "string" + "type": "string", + "title": "This is only relevant in the time partition case" } }, "title": "Only valid for triggers" @@ -849,7 +912,12 @@ "type": "string" }, "partitions": { - "$ref": "#/definitions/corePartitions" + "$ref": "#/definitions/corePartitions", + "description": "Think of a partition as a tag on an Artifact, except it's a key-value pair.\nDifferent partitions naturally have different versions (execution ids)." + }, + "time_partition": { + "$ref": "#/definitions/coreTimePartition", + "description": "There is no such thing as an empty time partition - if it's not set, then there is no time partition." } } }, @@ -1049,7 +1117,13 @@ "type": "object", "properties": { "static_value": { - "type": "string" + "type": "string", + "title": "The string static value is for use in the Partitions object" + }, + "time_value": { + "type": "string", + "format": "date-time", + "title": "The time value is for use in the TimePartition case" }, "triggered_binding": { "$ref": "#/definitions/coreArtifactBindingData" @@ -1488,6 +1562,14 @@ } } }, + "coreTimePartition": { + "type": "object", + "properties": { + "value": { + "$ref": "#/definitions/coreLabelValue" + } + } + }, "coreTypeAnnotation": { "type": "object", "properties": { diff --git a/flyteidl/gen/pb-go/flyteidl/core/artifact_id.pb.go b/flyteidl/gen/pb-go/flyteidl/core/artifact_id.pb.go index bf7ba4679f..927deec730 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/artifact_id.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/artifact_id.pb.go @@ -6,6 +6,7 @@ package core import ( fmt "fmt" proto "github.com/golang/protobuf/proto" + timestamp "github.com/golang/protobuf/ptypes/timestamp" math "math" ) @@ -80,8 +81,13 @@ func (m *ArtifactKey) GetName() string { type ArtifactBindingData struct { Index uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` // These two fields are only relevant in the partition value case - PartitionKey string `protobuf:"bytes,2,opt,name=partition_key,json=partitionKey,proto3" json:"partition_key,omitempty"` - Transform string `protobuf:"bytes,3,opt,name=transform,proto3" json:"transform,omitempty"` + // + // Types that are valid to be assigned to PartitionData: + // *ArtifactBindingData_PartitionKey + // *ArtifactBindingData_BindToTimePartition + PartitionData isArtifactBindingData_PartitionData `protobuf_oneof:"partition_data"` + // This is only relevant in the time partition case + Transform string `protobuf:"bytes,4,opt,name=transform,proto3" json:"transform,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -119,13 +125,43 @@ func (m *ArtifactBindingData) GetIndex() uint32 { return 0 } -func (m *ArtifactBindingData) GetPartitionKey() string { +type isArtifactBindingData_PartitionData interface { + isArtifactBindingData_PartitionData() +} + +type ArtifactBindingData_PartitionKey struct { + PartitionKey string `protobuf:"bytes,2,opt,name=partition_key,json=partitionKey,proto3,oneof"` +} + +type ArtifactBindingData_BindToTimePartition struct { + BindToTimePartition bool `protobuf:"varint,3,opt,name=bind_to_time_partition,json=bindToTimePartition,proto3,oneof"` +} + +func (*ArtifactBindingData_PartitionKey) isArtifactBindingData_PartitionData() {} + +func (*ArtifactBindingData_BindToTimePartition) isArtifactBindingData_PartitionData() {} + +func (m *ArtifactBindingData) GetPartitionData() isArtifactBindingData_PartitionData { if m != nil { - return m.PartitionKey + return m.PartitionData + } + return nil +} + +func (m *ArtifactBindingData) GetPartitionKey() string { + if x, ok := m.GetPartitionData().(*ArtifactBindingData_PartitionKey); ok { + return x.PartitionKey } return "" } +func (m *ArtifactBindingData) GetBindToTimePartition() bool { + if x, ok := m.GetPartitionData().(*ArtifactBindingData_BindToTimePartition); ok { + return x.BindToTimePartition + } + return false +} + func (m *ArtifactBindingData) GetTransform() string { if m != nil { return m.Transform @@ -133,6 +169,14 @@ func (m *ArtifactBindingData) GetTransform() string { return "" } +// XXX_OneofWrappers is for the internal use of the proto package. +func (*ArtifactBindingData) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*ArtifactBindingData_PartitionKey)(nil), + (*ArtifactBindingData_BindToTimePartition)(nil), + } +} + type InputBindingData struct { Var string `protobuf:"bytes,1,opt,name=var,proto3" json:"var,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -175,6 +219,7 @@ func (m *InputBindingData) GetVar() string { type LabelValue struct { // Types that are valid to be assigned to Value: // *LabelValue_StaticValue + // *LabelValue_TimeValue // *LabelValue_TriggeredBinding // *LabelValue_InputBinding Value isLabelValue_Value `protobuf_oneof:"value"` @@ -216,16 +261,22 @@ type LabelValue_StaticValue struct { StaticValue string `protobuf:"bytes,1,opt,name=static_value,json=staticValue,proto3,oneof"` } +type LabelValue_TimeValue struct { + TimeValue *timestamp.Timestamp `protobuf:"bytes,2,opt,name=time_value,json=timeValue,proto3,oneof"` +} + type LabelValue_TriggeredBinding struct { - TriggeredBinding *ArtifactBindingData `protobuf:"bytes,2,opt,name=triggered_binding,json=triggeredBinding,proto3,oneof"` + TriggeredBinding *ArtifactBindingData `protobuf:"bytes,3,opt,name=triggered_binding,json=triggeredBinding,proto3,oneof"` } type LabelValue_InputBinding struct { - InputBinding *InputBindingData `protobuf:"bytes,3,opt,name=input_binding,json=inputBinding,proto3,oneof"` + InputBinding *InputBindingData `protobuf:"bytes,4,opt,name=input_binding,json=inputBinding,proto3,oneof"` } func (*LabelValue_StaticValue) isLabelValue_Value() {} +func (*LabelValue_TimeValue) isLabelValue_Value() {} + func (*LabelValue_TriggeredBinding) isLabelValue_Value() {} func (*LabelValue_InputBinding) isLabelValue_Value() {} @@ -244,6 +295,13 @@ func (m *LabelValue) GetStaticValue() string { return "" } +func (m *LabelValue) GetTimeValue() *timestamp.Timestamp { + if x, ok := m.GetValue().(*LabelValue_TimeValue); ok { + return x.TimeValue + } + return nil +} + func (m *LabelValue) GetTriggeredBinding() *ArtifactBindingData { if x, ok := m.GetValue().(*LabelValue_TriggeredBinding); ok { return x.TriggeredBinding @@ -262,6 +320,7 @@ func (m *LabelValue) GetInputBinding() *InputBindingData { func (*LabelValue) XXX_OneofWrappers() []interface{} { return []interface{}{ (*LabelValue_StaticValue)(nil), + (*LabelValue_TimeValue)(nil), (*LabelValue_TriggeredBinding)(nil), (*LabelValue_InputBinding)(nil), } @@ -306,29 +365,63 @@ func (m *Partitions) GetValue() map[string]*LabelValue { return nil } +type TimePartition struct { + Value *LabelValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TimePartition) Reset() { *m = TimePartition{} } +func (m *TimePartition) String() string { return proto.CompactTextString(m) } +func (*TimePartition) ProtoMessage() {} +func (*TimePartition) Descriptor() ([]byte, []int) { + return fileDescriptor_1079b0707e23f978, []int{5} +} + +func (m *TimePartition) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TimePartition.Unmarshal(m, b) +} +func (m *TimePartition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TimePartition.Marshal(b, m, deterministic) +} +func (m *TimePartition) XXX_Merge(src proto.Message) { + xxx_messageInfo_TimePartition.Merge(m, src) +} +func (m *TimePartition) XXX_Size() int { + return xxx_messageInfo_TimePartition.Size(m) +} +func (m *TimePartition) XXX_DiscardUnknown() { + xxx_messageInfo_TimePartition.DiscardUnknown(m) +} + +var xxx_messageInfo_TimePartition proto.InternalMessageInfo + +func (m *TimePartition) GetValue() *LabelValue { + if m != nil { + return m.Value + } + return nil +} + type ArtifactID struct { ArtifactKey *ArtifactKey `protobuf:"bytes,1,opt,name=artifact_key,json=artifactKey,proto3" json:"artifact_key,omitempty"` Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // Think of a partition as a tag on an Artifact, except it's a key-value pair. // Different partitions naturally have different versions (execution ids). - // This is a oneof because of partition querying... we need a way to distinguish between - // a user not-specifying partitions when searching, and specifically searching for an Artifact - // that is not partitioned (this can happen if an Artifact goes from partitioned to non- - // partitioned across executions). - // - // Types that are valid to be assigned to Dimensions: - // *ArtifactID_Partitions - Dimensions isArtifactID_Dimensions `protobuf_oneof:"dimensions"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Partitions *Partitions `protobuf:"bytes,3,opt,name=partitions,proto3" json:"partitions,omitempty"` + // There is no such thing as an empty time partition - if it's not set, then there is no time partition. + TimePartition *TimePartition `protobuf:"bytes,4,opt,name=time_partition,json=timePartition,proto3" json:"time_partition,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ArtifactID) Reset() { *m = ArtifactID{} } func (m *ArtifactID) String() string { return proto.CompactTextString(m) } func (*ArtifactID) ProtoMessage() {} func (*ArtifactID) Descriptor() ([]byte, []int) { - return fileDescriptor_1079b0707e23f978, []int{5} + return fileDescriptor_1079b0707e23f978, []int{6} } func (m *ArtifactID) XXX_Unmarshal(b []byte) error { @@ -363,37 +456,20 @@ func (m *ArtifactID) GetVersion() string { return "" } -type isArtifactID_Dimensions interface { - isArtifactID_Dimensions() -} - -type ArtifactID_Partitions struct { - Partitions *Partitions `protobuf:"bytes,3,opt,name=partitions,proto3,oneof"` -} - -func (*ArtifactID_Partitions) isArtifactID_Dimensions() {} - -func (m *ArtifactID) GetDimensions() isArtifactID_Dimensions { +func (m *ArtifactID) GetPartitions() *Partitions { if m != nil { - return m.Dimensions + return m.Partitions } return nil } -func (m *ArtifactID) GetPartitions() *Partitions { - if x, ok := m.GetDimensions().(*ArtifactID_Partitions); ok { - return x.Partitions +func (m *ArtifactID) GetTimePartition() *TimePartition { + if m != nil { + return m.TimePartition } return nil } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*ArtifactID) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*ArtifactID_Partitions)(nil), - } -} - type ArtifactTag struct { ArtifactKey *ArtifactKey `protobuf:"bytes,1,opt,name=artifact_key,json=artifactKey,proto3" json:"artifact_key,omitempty"` Value *LabelValue `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` @@ -406,7 +482,7 @@ func (m *ArtifactTag) Reset() { *m = ArtifactTag{} } func (m *ArtifactTag) String() string { return proto.CompactTextString(m) } func (*ArtifactTag) ProtoMessage() {} func (*ArtifactTag) Descriptor() ([]byte, []int) { - return fileDescriptor_1079b0707e23f978, []int{6} + return fileDescriptor_1079b0707e23f978, []int{7} } func (m *ArtifactTag) XXX_Unmarshal(b []byte) error { @@ -462,7 +538,7 @@ func (m *ArtifactQuery) Reset() { *m = ArtifactQuery{} } func (m *ArtifactQuery) String() string { return proto.CompactTextString(m) } func (*ArtifactQuery) ProtoMessage() {} func (*ArtifactQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_1079b0707e23f978, []int{7} + return fileDescriptor_1079b0707e23f978, []int{8} } func (m *ArtifactQuery) XXX_Unmarshal(b []byte) error { @@ -571,7 +647,7 @@ func (m *Trigger) Reset() { *m = Trigger{} } func (m *Trigger) String() string { return proto.CompactTextString(m) } func (*Trigger) ProtoMessage() {} func (*Trigger) Descriptor() ([]byte, []int) { - return fileDescriptor_1079b0707e23f978, []int{8} + return fileDescriptor_1079b0707e23f978, []int{9} } func (m *Trigger) XXX_Unmarshal(b []byte) error { @@ -613,6 +689,7 @@ func init() { proto.RegisterType((*LabelValue)(nil), "flyteidl.core.LabelValue") proto.RegisterType((*Partitions)(nil), "flyteidl.core.Partitions") proto.RegisterMapType((map[string]*LabelValue)(nil), "flyteidl.core.Partitions.ValueEntry") + proto.RegisterType((*TimePartition)(nil), "flyteidl.core.TimePartition") proto.RegisterType((*ArtifactID)(nil), "flyteidl.core.ArtifactID") proto.RegisterType((*ArtifactTag)(nil), "flyteidl.core.ArtifactTag") proto.RegisterType((*ArtifactQuery)(nil), "flyteidl.core.ArtifactQuery") @@ -622,44 +699,51 @@ func init() { func init() { proto.RegisterFile("flyteidl/core/artifact_id.proto", fileDescriptor_1079b0707e23f978) } var fileDescriptor_1079b0707e23f978 = []byte{ - // 612 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xc1, 0x6e, 0xd3, 0x4c, - 0x10, 0x8e, 0x9b, 0xb6, 0xf9, 0x3b, 0x4e, 0xa4, 0xfe, 0x0b, 0x42, 0x4e, 0x84, 0x68, 0xe5, 0xf6, - 0xd0, 0x0b, 0xb6, 0x14, 0x84, 0x54, 0x85, 0x02, 0x22, 0x0a, 0x28, 0x56, 0x39, 0x50, 0x37, 0xe2, - 0xc0, 0x25, 0xda, 0xc4, 0x1b, 0xb3, 0x34, 0x59, 0x47, 0xeb, 0x4d, 0x84, 0x91, 0x78, 0x14, 0xde, - 0x81, 0x97, 0xe1, 0x3d, 0x78, 0x04, 0xb4, 0xeb, 0x5d, 0x3b, 0x89, 0xf0, 0xa1, 0xe2, 0xb6, 0x33, - 0xf9, 0xe6, 0xf3, 0x37, 0x5f, 0x66, 0x06, 0x4e, 0x66, 0xf3, 0x4c, 0x10, 0x1a, 0xcd, 0xfd, 0x69, - 0xc2, 0x89, 0x8f, 0xb9, 0xa0, 0x33, 0x3c, 0x15, 0x63, 0x1a, 0x79, 0x4b, 0x9e, 0x88, 0x04, 0xb5, - 0x0c, 0xc0, 0x93, 0x80, 0xce, 0x93, 0x6d, 0x3c, 0x8d, 0x08, 0x13, 0x74, 0x46, 0x09, 0xcf, 0xe1, - 0xee, 0x2d, 0xd8, 0x6f, 0x34, 0xc7, 0x35, 0xc9, 0x90, 0x03, 0x8d, 0x25, 0x4f, 0xbe, 0x90, 0xa9, - 0x70, 0xac, 0x53, 0xeb, 0xe2, 0x28, 0x34, 0x21, 0x7a, 0x04, 0x87, 0x51, 0xb2, 0xc0, 0x94, 0x39, - 0x7b, 0xea, 0x07, 0x1d, 0x21, 0x04, 0xfb, 0x0c, 0x2f, 0x88, 0x53, 0x57, 0x59, 0xf5, 0x76, 0x19, - 0x3c, 0x30, 0xa4, 0x7d, 0xca, 0x22, 0xca, 0xe2, 0x01, 0x16, 0x18, 0x3d, 0x84, 0x03, 0xca, 0x22, - 0xf2, 0x55, 0x51, 0xb7, 0xc2, 0x3c, 0x40, 0x67, 0xd0, 0x5a, 0xca, 0x36, 0x04, 0x4d, 0xd8, 0xf8, - 0x8e, 0x64, 0x9a, 0xbf, 0x59, 0x24, 0xa5, 0xae, 0xc7, 0x70, 0x24, 0x38, 0x66, 0xe9, 0x2c, 0xe1, - 0x0b, 0xfd, 0xa9, 0x32, 0xe1, 0x9e, 0xc3, 0x71, 0xc0, 0x96, 0xab, 0xad, 0x8f, 0x1d, 0x43, 0x7d, - 0x8d, 0xb9, 0xee, 0x42, 0x3e, 0xdd, 0x5f, 0x16, 0xc0, 0x7b, 0x3c, 0x21, 0xf3, 0x8f, 0x78, 0xbe, - 0x22, 0xe8, 0x0c, 0x9a, 0xa9, 0xc0, 0x82, 0x4e, 0xc7, 0x6b, 0x19, 0xe7, 0xc8, 0x61, 0x2d, 0xb4, - 0xf3, 0x6c, 0x0e, 0xba, 0x81, 0xff, 0x05, 0xa7, 0x71, 0x4c, 0x38, 0x89, 0xc6, 0x93, 0x9c, 0x5e, - 0x09, 0xb4, 0xbb, 0xae, 0xb7, 0xe5, 0xb4, 0xf7, 0x97, 0x8e, 0x87, 0xb5, 0xf0, 0xb8, 0x28, 0xd7, - 0x79, 0xf4, 0x0e, 0x5a, 0x54, 0x8a, 0x2d, 0xe8, 0xea, 0x8a, 0xee, 0x64, 0x87, 0x6e, 0xb7, 0xa1, - 0x61, 0x2d, 0x6c, 0xd2, 0x8d, 0x5c, 0xbf, 0x01, 0x07, 0x4a, 0xb8, 0xfb, 0xc3, 0x02, 0xf8, 0x60, - 0xcc, 0x4a, 0x51, 0x4f, 0xe7, 0x1d, 0xeb, 0xb4, 0x7e, 0x61, 0x77, 0xcf, 0x77, 0x78, 0x4b, 0xa4, - 0xa7, 0x5a, 0x7c, 0xcb, 0x04, 0xcf, 0xc2, 0xbc, 0xa4, 0x73, 0x0b, 0x50, 0x26, 0xa5, 0x85, 0xf2, - 0xff, 0xd0, 0x16, 0xde, 0x91, 0x0c, 0xf9, 0x86, 0x3b, 0xb7, 0xa0, 0xbd, 0xc3, 0x5d, 0xba, 0xab, - 0x09, 0x7b, 0x7b, 0x97, 0x96, 0xfb, 0xd3, 0x02, 0x30, 0xe6, 0x04, 0x03, 0xf4, 0x12, 0x9a, 0xc5, - 0xd4, 0x1a, 0x7a, 0xbb, 0xdb, 0xa9, 0x70, 0xf3, 0x9a, 0x64, 0xa1, 0x8d, 0xb7, 0x27, 0x74, 0x4d, - 0x78, 0x4a, 0x13, 0x33, 0x88, 0x26, 0x44, 0x2f, 0x00, 0x8a, 0x99, 0x49, 0xb5, 0xab, 0xed, 0xca, - 0xee, 0x87, 0xb5, 0x70, 0x03, 0xde, 0x6f, 0x02, 0x44, 0x74, 0x41, 0x98, 0x64, 0x4a, 0xdd, 0xef, - 0xe5, 0x56, 0x8c, 0x70, 0xfc, 0xaf, 0x92, 0xef, 0xeb, 0x9a, 0xfb, 0xdb, 0x82, 0x96, 0x61, 0xbb, - 0x59, 0x11, 0x9e, 0xa1, 0x2b, 0xb0, 0x37, 0x56, 0x5d, 0x0b, 0x68, 0x57, 0x08, 0x08, 0x06, 0xb2, - 0x39, 0x83, 0x0f, 0x22, 0xf4, 0x7a, 0x43, 0xbf, 0xc0, 0x66, 0x80, 0xab, 0xf4, 0x8f, 0x70, 0x2c, - 0xd7, 0x00, 0x6f, 0x18, 0x80, 0xa0, 0xbe, 0xe2, 0x34, 0x5f, 0xbc, 0x61, 0x2d, 0x94, 0x01, 0x7a, - 0x05, 0x0d, 0x33, 0xc1, 0xfb, 0xf7, 0x58, 0x08, 0x53, 0x24, 0x1d, 0x2f, 0xaf, 0x91, 0xfb, 0x0d, - 0x1a, 0xa3, 0x7c, 0x53, 0xd0, 0x25, 0x80, 0x5e, 0x9a, 0xea, 0x56, 0x83, 0xa2, 0x52, 0xde, 0x01, - 0x05, 0x0e, 0x22, 0xf4, 0x1c, 0xfe, 0xd3, 0x41, 0xea, 0xec, 0xa9, 0xe9, 0xaf, 0xb6, 0x28, 0x2c, - 0xa0, 0xfd, 0xab, 0x4f, 0xbd, 0x98, 0x8a, 0xcf, 0xab, 0x89, 0x37, 0x4d, 0x16, 0xbe, 0x2a, 0x48, - 0x78, 0x9c, 0x3f, 0xfc, 0xe2, 0x7e, 0xc6, 0x84, 0xf9, 0xcb, 0xc9, 0xd3, 0x38, 0xf1, 0xb7, 0x4e, - 0xea, 0xe4, 0x50, 0x1d, 0xd2, 0x67, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x29, 0x9b, 0xf7, 0x47, - 0x9a, 0x05, 0x00, 0x00, + // 721 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xcd, 0x6e, 0xd3, 0x40, + 0x10, 0x8e, 0x93, 0xb6, 0x69, 0x27, 0x49, 0x15, 0xb6, 0xa8, 0x4a, 0xa3, 0x8a, 0x56, 0xa6, 0x48, + 0xbd, 0x60, 0x4b, 0x45, 0x95, 0x4a, 0x29, 0x7f, 0xa1, 0xa0, 0x44, 0xe5, 0x40, 0xb7, 0x11, 0x07, + 0x2e, 0xd1, 0x26, 0xde, 0x98, 0xa5, 0xb1, 0x37, 0x5a, 0x6f, 0x2a, 0x8c, 0xc4, 0x4b, 0x70, 0xe7, + 0x41, 0x78, 0x20, 0xee, 0x3c, 0x02, 0xda, 0x5d, 0xff, 0xc4, 0x51, 0x23, 0x15, 0x71, 0xf3, 0xcc, + 0xce, 0x7c, 0x3b, 0xf3, 0x7d, 0x3b, 0x63, 0xd8, 0x1b, 0x4f, 0x62, 0x49, 0x99, 0x37, 0x71, 0x47, + 0x5c, 0x50, 0x97, 0x08, 0xc9, 0xc6, 0x64, 0x24, 0x07, 0xcc, 0x73, 0xa6, 0x82, 0x4b, 0x8e, 0x1a, + 0x69, 0x80, 0xa3, 0x02, 0xda, 0x7b, 0x3e, 0xe7, 0xfe, 0x84, 0xba, 0xfa, 0x70, 0x38, 0x1b, 0xbb, + 0x92, 0x05, 0x34, 0x92, 0x24, 0x98, 0x9a, 0xf8, 0xf6, 0x83, 0x22, 0x20, 0xf3, 0x68, 0x28, 0xd9, + 0x98, 0x51, 0x61, 0xce, 0xed, 0x2b, 0xa8, 0xbd, 0x4e, 0x2e, 0xb9, 0xa0, 0x31, 0x6a, 0x41, 0x75, + 0x2a, 0xf8, 0x17, 0x3a, 0x92, 0x2d, 0x6b, 0xdf, 0x3a, 0xdc, 0xc0, 0xa9, 0x89, 0xb6, 0x61, 0xcd, + 0xe3, 0x01, 0x61, 0x61, 0xab, 0xac, 0x0f, 0x12, 0x0b, 0x21, 0x58, 0x09, 0x49, 0x40, 0x5b, 0x15, + 0xed, 0xd5, 0xdf, 0xf6, 0x2f, 0x0b, 0xb6, 0x52, 0xd4, 0x0e, 0x0b, 0x3d, 0x16, 0xfa, 0xe7, 0x44, + 0x12, 0x74, 0x1f, 0x56, 0x59, 0xe8, 0xd1, 0xaf, 0x1a, 0xbb, 0x81, 0x8d, 0x81, 0x1e, 0x41, 0x63, + 0xaa, 0x1a, 0x95, 0x8c, 0x87, 0x83, 0x6b, 0x1a, 0x9b, 0x0b, 0xba, 0x25, 0x5c, 0xcf, 0xdc, 0xaa, + 0xb4, 0x63, 0xd8, 0x1e, 0xb2, 0xd0, 0x1b, 0x48, 0x3e, 0x50, 0x4d, 0x0e, 0xb2, 0x43, 0x7d, 0xf5, + 0x7a, 0xb7, 0x84, 0xb7, 0xd4, 0x79, 0x9f, 0xf7, 0x59, 0x40, 0x3f, 0xa4, 0x87, 0x68, 0x17, 0x36, + 0xa4, 0x20, 0x61, 0x34, 0xe6, 0x22, 0x68, 0xad, 0xe8, 0x22, 0x73, 0x47, 0xa7, 0x09, 0x9b, 0xf9, + 0xdd, 0x1e, 0x91, 0xc4, 0x3e, 0x80, 0x66, 0x2f, 0x9c, 0xce, 0x0a, 0x75, 0x37, 0xa1, 0x72, 0x43, + 0x44, 0xc2, 0x88, 0xfa, 0xb4, 0x7f, 0x94, 0x01, 0xde, 0x93, 0x21, 0x9d, 0x7c, 0x24, 0x93, 0x19, + 0x45, 0x0f, 0xa1, 0x1e, 0x49, 0x22, 0xd9, 0x68, 0x70, 0xa3, 0x6c, 0x13, 0xd9, 0x2d, 0xe1, 0x9a, + 0xf1, 0x9a, 0xa0, 0x67, 0x00, 0xba, 0x70, 0x13, 0xa2, 0x9a, 0xac, 0x1d, 0xb5, 0x1d, 0x23, 0xa0, + 0x93, 0x0a, 0xe8, 0xf4, 0x53, 0x01, 0xbb, 0x25, 0xbc, 0xa1, 0xe2, 0x4d, 0xf2, 0x25, 0xdc, 0x93, + 0x82, 0xf9, 0x3e, 0x15, 0xd4, 0x1b, 0x0c, 0x4d, 0x6d, 0xba, 0xf1, 0xda, 0x91, 0xed, 0x14, 0xde, + 0x84, 0x73, 0x0b, 0xf3, 0xdd, 0x12, 0x6e, 0x66, 0xe9, 0x89, 0x1f, 0xbd, 0x83, 0x06, 0x53, 0x9d, + 0x66, 0x70, 0x2b, 0x1a, 0x6e, 0x6f, 0x01, 0x6e, 0x91, 0x0d, 0x25, 0x0c, 0x9b, 0xf3, 0x75, 0xaa, + 0xb0, 0xaa, 0x5b, 0xb2, 0x7f, 0x5a, 0x00, 0x19, 0xf1, 0x11, 0x3a, 0x4d, 0xfc, 0x2d, 0x6b, 0xbf, + 0x72, 0x58, 0x3b, 0x3a, 0x58, 0xc0, 0xcd, 0x23, 0x1d, 0xdd, 0xe2, 0xdb, 0x50, 0x8a, 0x18, 0x9b, + 0x94, 0xf6, 0x15, 0x40, 0xee, 0x54, 0xfc, 0xab, 0x77, 0x91, 0xf0, 0x7f, 0x4d, 0x63, 0xe4, 0xa6, + 0xd8, 0x86, 0xc6, 0x9d, 0x05, 0xec, 0x5c, 0x9a, 0x04, 0xf0, 0xb4, 0x7c, 0x62, 0xd9, 0xaf, 0xa0, + 0x51, 0x7c, 0x1b, 0x6e, 0x5e, 0xe1, 0x9d, 0x50, 0xec, 0xdf, 0x16, 0x40, 0x4a, 0x6f, 0xef, 0x1c, + 0x3d, 0x87, 0x7a, 0x36, 0xa1, 0x69, 0x81, 0x4a, 0xd3, 0xdb, 0xf5, 0xb8, 0xa0, 0x31, 0xae, 0x91, + 0xe2, 0xb0, 0xdd, 0x50, 0x11, 0xa9, 0x27, 0x6c, 0x66, 0x2a, 0x35, 0xd1, 0x53, 0x80, 0xec, 0x59, + 0x46, 0x89, 0xcc, 0x3b, 0x4b, 0xf9, 0xc3, 0x73, 0xc1, 0xe8, 0x0d, 0x6c, 0x2e, 0x8c, 0x87, 0x91, + 0x75, 0x77, 0x21, 0xbd, 0xc0, 0x04, 0x6e, 0xc8, 0x79, 0xd3, 0xfe, 0x9e, 0x6f, 0x85, 0x3e, 0xf1, + 0xff, 0xb7, 0xcf, 0x7f, 0x15, 0xcb, 0xfe, 0x63, 0x41, 0x23, 0x45, 0xbb, 0x9c, 0x51, 0x11, 0xa3, + 0x33, 0xa8, 0xcd, 0xed, 0xc2, 0x25, 0x7a, 0xe5, 0xca, 0x74, 0x4b, 0x18, 0xd2, 0xf8, 0x9e, 0x87, + 0x5e, 0xce, 0xd5, 0x2f, 0x89, 0x9f, 0xcd, 0xde, 0xed, 0xe9, 0x7d, 0xe2, 0xab, 0xd1, 0x25, 0x73, + 0x04, 0x20, 0xa8, 0xcc, 0x04, 0x33, 0x3b, 0xae, 0x5b, 0xc2, 0xca, 0x40, 0x2f, 0xa0, 0x5a, 0x1c, + 0x9c, 0xbb, 0xcd, 0x61, 0x9a, 0xd4, 0xa9, 0x03, 0xe4, 0xdb, 0xd8, 0xfe, 0x06, 0xd5, 0xbe, 0x19, + 0x50, 0x74, 0x02, 0x90, 0xcc, 0xea, 0xf2, 0x56, 0x7b, 0x59, 0xa6, 0xda, 0x66, 0x3a, 0xb8, 0xe7, + 0xa1, 0x63, 0x58, 0x4f, 0x8c, 0xa8, 0x55, 0xd6, 0x43, 0xb7, 0x9c, 0x22, 0x9c, 0x85, 0x76, 0xce, + 0x3e, 0x9d, 0xfa, 0x4c, 0x7e, 0x9e, 0x0d, 0x9d, 0x11, 0x0f, 0x5c, 0x9d, 0xc0, 0x85, 0x6f, 0x3e, + 0xdc, 0xec, 0xff, 0xe1, 0xd3, 0xd0, 0x9d, 0x0e, 0x1f, 0xfb, 0xdc, 0x2d, 0xfc, 0x52, 0x86, 0x6b, + 0x7a, 0x75, 0x3d, 0xf9, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x35, 0x2f, 0x5a, 0x3b, 0xbb, 0x06, 0x00, + 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go b/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go index b812ac0750..d1d623e792 100644 --- a/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go @@ -97,6 +97,7 @@ func (PaginationOptions_SortKey) EnumDescriptor() ([]byte, []int) { return fileDescriptor_275951237ff4368a, []int{36, 1} } +// // Request message for creating a Dataset. type CreateDatasetRequest struct { Dataset *Dataset `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` @@ -137,6 +138,7 @@ func (m *CreateDatasetRequest) GetDataset() *Dataset { return nil } +// // Response message for creating a Dataset type CreateDatasetResponse struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -169,6 +171,7 @@ func (m *CreateDatasetResponse) XXX_DiscardUnknown() { var xxx_messageInfo_CreateDatasetResponse proto.InternalMessageInfo +// // Request message for retrieving a Dataset. The Dataset is retrieved by it's unique identifier // which is a combination of several fields. type GetDatasetRequest struct { @@ -210,6 +213,7 @@ func (m *GetDatasetRequest) GetDataset() *DatasetID { return nil } +// // Response message for retrieving a Dataset. The response will include the metadata for the // Dataset. type GetDatasetResponse struct { @@ -251,6 +255,7 @@ func (m *GetDatasetResponse) GetDataset() *Dataset { return nil } +// // Request message for retrieving an Artifact. Retrieve an artifact based on a query handle that // can be one of artifact_id or tag. The result returned will include the artifact data and metadata // associated with the artifact. @@ -342,6 +347,7 @@ func (*GetArtifactRequest) XXX_OneofWrappers() []interface{} { } } +// // Response message for retrieving an Artifact. The result returned will include the artifact data // and metadata associated with the artifact. type GetArtifactResponse struct { @@ -383,6 +389,7 @@ func (m *GetArtifactResponse) GetArtifact() *Artifact { return nil } +// // Request message for creating an Artifact and its associated artifact Data. type CreateArtifactRequest struct { Artifact *Artifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` @@ -423,6 +430,7 @@ func (m *CreateArtifactRequest) GetArtifact() *Artifact { return nil } +// // Response message for creating an Artifact. type CreateArtifactResponse struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -455,6 +463,7 @@ func (m *CreateArtifactResponse) XXX_DiscardUnknown() { var xxx_messageInfo_CreateArtifactResponse proto.InternalMessageInfo +// // Request message for tagging an Artifact. type AddTagRequest struct { Tag *Tag `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` @@ -495,6 +504,7 @@ func (m *AddTagRequest) GetTag() *Tag { return nil } +// // Response message for tagging an Artifact. type AddTagResponse struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -736,6 +746,7 @@ func (m *ListDatasetsResponse) GetNextToken() string { return "" } +// // Request message for updating an Artifact and overwriting its associated ArtifactData. type UpdateArtifactRequest struct { // ID of dataset the artifact is associated with @@ -847,6 +858,7 @@ func (*UpdateArtifactRequest) XXX_OneofWrappers() []interface{} { } } +// // Response message for updating an Artifact. type UpdateArtifactResponse struct { // The unique ID of the artifact updated @@ -888,6 +900,7 @@ func (m *UpdateArtifactResponse) GetArtifactId() string { return "" } +// // ReservationID message that is composed of several string fields. type ReservationID struct { // The unique ID for the reserved dataset @@ -1197,6 +1210,7 @@ func (m *ReleaseReservationResponse) XXX_DiscardUnknown() { var xxx_messageInfo_ReleaseReservationResponse proto.InternalMessageInfo +// // Dataset message. It is uniquely identified by DatasetID. type Dataset struct { Id *DatasetID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` @@ -1253,6 +1267,7 @@ func (m *Dataset) GetPartitionKeys() []string { return nil } +// // An artifact could have multiple partitions and each partition can have an arbitrary string key/value pair type Partition struct { Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` @@ -1301,6 +1316,7 @@ func (m *Partition) GetValue() string { return "" } +// // DatasetID message that is composed of several string fields. type DatasetID struct { Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` @@ -1382,6 +1398,7 @@ func (m *DatasetID) GetOrg() string { return "" } +// // Artifact message. It is composed of several string fields. type Artifact struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` @@ -1470,6 +1487,7 @@ func (m *Artifact) GetCreatedAt() *timestamp.Timestamp { return nil } +// // ArtifactData that belongs to an artifact type ArtifactData struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` @@ -1518,6 +1536,7 @@ func (m *ArtifactData) GetValue() *core.Literal { return nil } +// // Tag message that is unique to a Dataset. It is associated to a single artifact and // can be retrieved by name later. type Tag struct { @@ -1575,6 +1594,7 @@ func (m *Tag) GetDataset() *DatasetID { return nil } +// // Metadata representation for artifacts and datasets type Metadata struct { KeyMap map[string]string `protobuf:"bytes,1,rep,name=key_map,json=keyMap,proto3" json:"key_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json index c2ef978af0..49b07c1895 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json @@ -9657,11 +9657,15 @@ "format": "int64" }, "partition_key": { - "type": "string", - "title": "These two fields are only relevant in the partition value case" + "type": "string" + }, + "bind_to_time_partition": { + "type": "boolean", + "format": "boolean" }, "transform": { - "type": "string" + "type": "string", + "title": "This is only relevant in the time partition case" } }, "title": "Only valid for triggers" @@ -9676,7 +9680,12 @@ "type": "string" }, "partitions": { - "$ref": "#/definitions/corePartitions" + "$ref": "#/definitions/corePartitions", + "description": "Think of a partition as a tag on an Artifact, except it's a key-value pair.\nDifferent partitions naturally have different versions (execution ids)." + }, + "time_partition": { + "$ref": "#/definitions/coreTimePartition", + "description": "There is no such thing as an empty time partition - if it's not set, then there is no time partition." } } }, @@ -10354,7 +10363,13 @@ "type": "object", "properties": { "static_value": { - "type": "string" + "type": "string", + "title": "The string static value is for use in the Partitions object" + }, + "time_value": { + "type": "string", + "format": "date-time", + "title": "The time value is for use in the TimePartition case" }, "triggered_binding": { "$ref": "#/definitions/coreArtifactBindingData" @@ -11273,6 +11288,14 @@ }, "description": "A Task structure that uniquely identifies a task in the system\nTasks are registered as a first step in the system." }, + "coreTimePartition": { + "type": "object", + "properties": { + "value": { + "$ref": "#/definitions/coreLabelValue" + } + } + }, "coreTypeAnnotation": { "type": "object", "properties": { diff --git a/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json index 8567fe5f09..dace78dac7 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json @@ -353,11 +353,15 @@ "format": "int64" }, "partition_key": { - "type": "string", - "title": "These two fields are only relevant in the partition value case" + "type": "string" + }, + "bind_to_time_partition": { + "type": "boolean", + "format": "boolean" }, "transform": { - "type": "string" + "type": "string", + "title": "This is only relevant in the time partition case" } }, "title": "Only valid for triggers" @@ -372,7 +376,12 @@ "type": "string" }, "partitions": { - "$ref": "#/definitions/corePartitions" + "$ref": "#/definitions/corePartitions", + "description": "Think of a partition as a tag on an Artifact, except it's a key-value pair.\nDifferent partitions naturally have different versions (execution ids)." + }, + "time_partition": { + "$ref": "#/definitions/coreTimePartition", + "description": "There is no such thing as an empty time partition - if it's not set, then there is no time partition." } } }, @@ -739,7 +748,13 @@ "type": "object", "properties": { "static_value": { - "type": "string" + "type": "string", + "title": "The string static value is for use in the Partitions object" + }, + "time_value": { + "type": "string", + "format": "date-time", + "title": "The time value is for use in the TimePartition case" }, "triggered_binding": { "$ref": "#/definitions/coreArtifactBindingData" @@ -1358,6 +1373,14 @@ }, "description": "A Task structure that uniquely identifies a task in the system\nTasks are registered as a first step in the system." }, + "coreTimePartition": { + "type": "object", + "properties": { + "value": { + "$ref": "#/definitions/coreLabelValue" + } + } + }, "coreTypeAnnotation": { "type": "object", "properties": { diff --git a/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json index 1abbb6085d..c83aad0fa0 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json @@ -171,11 +171,15 @@ "format": "int64" }, "partition_key": { - "type": "string", - "title": "These two fields are only relevant in the partition value case" + "type": "string" + }, + "bind_to_time_partition": { + "type": "boolean", + "format": "boolean" }, "transform": { - "type": "string" + "type": "string", + "title": "This is only relevant in the time partition case" } }, "title": "Only valid for triggers" @@ -190,7 +194,12 @@ "type": "string" }, "partitions": { - "$ref": "#/definitions/corePartitions" + "$ref": "#/definitions/corePartitions", + "description": "Think of a partition as a tag on an Artifact, except it's a key-value pair.\nDifferent partitions naturally have different versions (execution ids)." + }, + "time_partition": { + "$ref": "#/definitions/coreTimePartition", + "description": "There is no such thing as an empty time partition - if it's not set, then there is no time partition." } } }, @@ -543,7 +552,13 @@ "type": "object", "properties": { "static_value": { - "type": "string" + "type": "string", + "title": "The string static value is for use in the Partitions object" + }, + "time_value": { + "type": "string", + "format": "date-time", + "title": "The time value is for use in the TimePartition case" }, "triggered_binding": { "$ref": "#/definitions/coreArtifactBindingData" @@ -1101,6 +1116,14 @@ }, "description": "A Task structure that uniquely identifies a task in the system\nTasks are registered as a first step in the system." }, + "coreTimePartition": { + "type": "object", + "properties": { + "value": { + "$ref": "#/definitions/coreLabelValue" + } + } + }, "coreTypeAnnotation": { "type": "object", "properties": { diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/README.md b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/README.md index 17325ae3e7..c8a1e82d02 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/README.md +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/README.md @@ -361,6 +361,7 @@ Class | Method | HTTP request | Description - [CoreTaskNode](docs/CoreTaskNode.md) - [CoreTaskNodeOverrides](docs/CoreTaskNodeOverrides.md) - [CoreTaskTemplate](docs/CoreTaskTemplate.md) + - [CoreTimePartition](docs/CoreTimePartition.md) - [CoreTypeAnnotation](docs/CoreTypeAnnotation.md) - [CoreTypeStructure](docs/CoreTypeStructure.md) - [CoreTypedInterface](docs/CoreTypedInterface.md) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml index cf9d7579c4..21a422f35f 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml @@ -10796,12 +10796,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -10866,7 +10879,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -10881,12 +10896,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -10951,7 +10979,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -14817,12 +14847,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -14887,7 +14930,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -14902,12 +14947,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -14972,7 +15030,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -15112,12 +15172,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -15182,7 +15255,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -15197,12 +15272,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -15267,7 +15355,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -15444,12 +15534,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -15514,7 +15617,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -15529,12 +15634,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -15599,7 +15717,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -19504,12 +19624,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -19574,7 +19707,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -19589,12 +19724,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -19659,7 +19807,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -19815,12 +19965,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" - partitions: value: key: @@ -19830,12 +19993,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" scheduled_at: "2000-01-23T04:56:07.000+00:00" nesting: 0 system_metadata: @@ -20241,12 +20417,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" - partitions: value: key: @@ -20256,12 +20445,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" scheduled_at: "2000-01-23T04:56:07.000+00:00" nesting: 0 system_metadata: @@ -20478,12 +20680,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" - partitions: value: key: @@ -20493,12 +20708,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" scheduled_at: "2000-01-23T04:56:07.000+00:00" nesting: 0 system_metadata: @@ -20689,12 +20917,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" - partitions: value: key: @@ -20704,12 +20945,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" scheduled_at: "2000-01-23T04:56:07.000+00:00" nesting: 0 system_metadata: @@ -20867,12 +21121,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" - partitions: value: key: @@ -20882,12 +21149,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" scheduled_at: "2000-01-23T04:56:07.000+00:00" nesting: 0 system_metadata: @@ -21168,12 +21448,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -21238,7 +21531,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" updated_at: "2000-01-23T04:56:07.000+00:00" created_at: "2000-01-23T04:56:07.000+00:00" state: {} @@ -21370,12 +21665,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -21440,11 +21748,14 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_query: binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 artifact_id: partitions: @@ -21456,12 +21767,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" uri: "uri" artifact_tag: artifact_key: @@ -21475,7 +21799,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_id: partitions: value: @@ -21486,12 +21812,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" required: true spec: workflow_id: @@ -21700,12 +22039,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -21770,11 +22122,14 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_query: binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 artifact_id: partitions: @@ -21786,12 +22141,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" uri: "uri" artifact_tag: artifact_key: @@ -21805,7 +22173,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_id: partitions: value: @@ -21816,12 +22186,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" required: true security_context: run_as: @@ -21911,12 +22294,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -21981,7 +22377,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" updated_at: "2000-01-23T04:56:07.000+00:00" created_at: "2000-01-23T04:56:07.000+00:00" state: {} @@ -22113,12 +22511,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -22183,11 +22594,14 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_query: binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 artifact_id: partitions: @@ -22199,12 +22613,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" uri: "uri" artifact_tag: artifact_key: @@ -22218,7 +22645,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_id: partitions: value: @@ -22229,12 +22658,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" required: true adminLaunchPlanCreateRequest: type: "object" @@ -22291,12 +22733,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -22361,7 +22816,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" updated_at: "2000-01-23T04:56:07.000+00:00" created_at: "2000-01-23T04:56:07.000+00:00" state: {} @@ -22493,12 +22950,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -22563,11 +23033,14 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_query: binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 artifact_id: partitions: @@ -22579,12 +23052,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" uri: "uri" artifact_tag: artifact_key: @@ -22598,7 +23084,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_id: partitions: value: @@ -22609,12 +23097,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" required: true spec: workflow_id: @@ -22823,12 +23324,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -22893,11 +23407,14 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_query: binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 artifact_id: partitions: @@ -22909,12 +23426,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" uri: "uri" artifact_tag: artifact_key: @@ -22928,7 +23458,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_id: partitions: value: @@ -22939,12 +23471,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" required: true security_context: run_as: @@ -23015,12 +23560,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -23085,7 +23643,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" updated_at: "2000-01-23T04:56:07.000+00:00" created_at: "2000-01-23T04:56:07.000+00:00" state: {} @@ -23217,12 +23777,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -23287,11 +23860,14 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_query: binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 artifact_id: partitions: @@ -23303,12 +23879,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" uri: "uri" artifact_tag: artifact_key: @@ -23322,7 +23911,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_id: partitions: value: @@ -23333,12 +23924,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" required: true spec: workflow_id: @@ -23547,12 +24151,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -23617,11 +24234,14 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_query: binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 artifact_id: partitions: @@ -23633,12 +24253,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" uri: "uri" artifact_tag: artifact_key: @@ -23652,7 +24285,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_id: partitions: value: @@ -23663,12 +24298,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" required: true security_context: run_as: @@ -24054,12 +24702,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -24124,11 +24785,14 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_query: binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 artifact_id: partitions: @@ -24140,12 +24804,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" uri: "uri" artifact_tag: artifact_key: @@ -24159,7 +24836,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_id: partitions: value: @@ -24170,12 +24849,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" required: true security_context: run_as: @@ -28933,12 +29625,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -29003,7 +29708,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -29018,12 +29725,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -29088,7 +29808,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -32954,12 +33676,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -33024,7 +33759,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -33039,12 +33776,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -33109,7 +33859,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -33249,12 +34001,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -33319,7 +34084,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -33334,12 +34101,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -33404,7 +34184,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -33581,12 +34363,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -33651,7 +34446,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -33666,12 +34463,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -33736,7 +34546,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -37641,12 +38453,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -37711,7 +38536,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -37726,12 +38553,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -37796,7 +38636,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -39022,12 +39864,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -39092,7 +39947,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -39107,12 +39964,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -39177,7 +40047,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -39370,12 +40242,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -39440,7 +40325,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -39455,12 +40342,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -39525,7 +40425,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -40136,12 +41038,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -40206,7 +41121,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -40221,12 +41138,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -40291,7 +41221,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -40479,12 +41411,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -40549,7 +41494,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -40564,12 +41511,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -40634,7 +41594,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -44654,12 +45616,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -44724,7 +45699,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -44739,12 +45716,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -44809,7 +45799,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -48675,12 +49667,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -48745,7 +49750,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -48760,12 +49767,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -48830,7 +49850,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -48970,12 +49992,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -49040,7 +50075,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -49055,12 +50092,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -49125,7 +50175,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -49302,12 +50354,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -49372,7 +50437,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -49387,12 +50454,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -49457,7 +50537,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -53362,12 +54444,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -53432,7 +54527,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -53447,12 +54544,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -53517,7 +54627,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -57676,12 +58788,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -57746,7 +58871,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -57761,12 +58888,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -57831,7 +58971,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -61697,12 +62839,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -61767,7 +62922,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -61782,12 +62939,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -61852,7 +63022,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -61992,12 +63164,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -62062,7 +63247,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -62077,12 +63264,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -62147,7 +63347,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -62324,12 +63526,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -62394,7 +63609,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -62409,12 +63626,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -62479,7 +63709,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -66384,12 +67616,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -66454,7 +67699,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -66469,12 +67716,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -66539,7 +67799,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -70642,12 +71904,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -70712,7 +71987,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -70727,12 +72004,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -70797,7 +72087,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -74663,12 +75955,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -74733,7 +76038,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -74748,12 +76055,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -74818,7 +76138,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -74958,12 +76280,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -75028,7 +76363,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -75043,12 +76380,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -75113,7 +76463,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -75290,12 +76642,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -75360,7 +76725,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -75375,12 +76742,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -75445,7 +76825,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -79350,12 +80732,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -79420,7 +80815,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -79435,12 +80832,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -79505,7 +80915,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -83383,12 +84795,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -83453,7 +84878,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -83468,12 +84895,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -83538,7 +84978,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -87404,12 +88846,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -87474,7 +88929,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -87489,12 +88946,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -87559,7 +89029,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -87699,12 +89171,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -87769,7 +89254,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -87784,12 +89271,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -87854,7 +89354,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -88031,12 +89533,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -88101,7 +89616,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -88116,12 +89633,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -88186,7 +89716,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -92091,12 +93623,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -92161,7 +93706,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -92176,12 +93723,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -92246,7 +93806,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -92350,13 +93912,17 @@ definitions: format: "int64" partition_key: type: "string" - title: "These two fields are only relevant in the partition value case" + bind_to_time_partition: + type: "boolean" + format: "boolean" transform: type: "string" + title: "This is only relevant in the time partition case" title: "Only valid for triggers" example: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 coreArtifactID: type: "object" @@ -92366,7 +93932,14 @@ definitions: version: type: "string" partitions: + description: "Think of a partition as a tag on an Artifact, except it's a\ + \ key-value pair.\nDifferent partitions naturally have different versions\ + \ (execution ids)." $ref: "#/definitions/corePartitions" + time_partition: + description: "There is no such thing as an empty time partition - if it's\ + \ not set, then there is no time partition." + $ref: "#/definitions/coreTimePartition" example: partitions: value: @@ -92377,12 +93950,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" coreArtifactKey: type: "object" properties: @@ -92420,6 +94006,7 @@ definitions: binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 artifact_id: partitions: @@ -92431,12 +94018,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" uri: "uri" artifact_tag: artifact_key: @@ -92450,7 +94050,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" coreArtifactTag: type: "object" properties: @@ -92470,7 +94072,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" coreBinary: type: "object" properties: @@ -94315,12 +95919,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -94385,7 +96002,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -94400,12 +96019,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -94470,7 +96102,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -98387,12 +100021,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -98457,7 +100104,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -98472,12 +100121,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -98542,7 +100204,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -102435,12 +104099,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -102505,7 +104182,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -102520,12 +104199,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -102590,7 +104282,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -106456,12 +108150,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -106526,7 +108233,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -106541,12 +108250,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -106611,7 +108333,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -106751,12 +108475,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -106821,7 +108558,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -106836,12 +108575,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -106906,7 +108658,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -107083,12 +108837,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -107153,7 +108920,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -107168,12 +108937,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -107238,7 +109020,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -111143,12 +112927,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -111213,7 +113010,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -111228,12 +113027,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -111298,7 +113110,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -112789,6 +114603,11 @@ definitions: properties: static_value: type: "string" + title: "The string static value is for use in the Partitions object" + time_value: + type: "string" + format: "date-time" + title: "The time value is for use in the TimePartition case" triggered_binding: $ref: "#/definitions/coreArtifactBindingData" input_binding: @@ -112800,7 +114619,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" coreLiteral: type: "object" properties: @@ -114686,12 +116507,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -114756,11 +116590,14 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_query: binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 artifact_id: partitions: @@ -114772,12 +116609,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" uri: "uri" artifact_tag: artifact_key: @@ -114791,7 +116641,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_id: partitions: value: @@ -114802,12 +116654,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" required: true coreParameterMap: type: "object" @@ -114946,12 +116811,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -115016,11 +116894,14 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_query: binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 artifact_id: partitions: @@ -115032,12 +116913,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" uri: "uri" artifact_tag: artifact_key: @@ -115051,7 +116945,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_id: partitions: value: @@ -115062,12 +116958,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" required: true corePartitions: type: "object" @@ -115085,7 +116994,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" corePrimitive: type: "object" properties: @@ -116121,12 +118032,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -116191,7 +118115,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -116206,12 +118132,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -116276,7 +118215,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -116326,6 +118267,22 @@ definitions: sql: dialect: {} statement: "statement" + coreTimePartition: + type: "object" + properties: + value: + $ref: "#/definitions/coreLabelValue" + example: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" coreTypeAnnotation: type: "object" properties: @@ -116390,12 +118347,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -116460,7 +118430,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -116475,12 +118447,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -116545,7 +118530,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" coreUnion: type: "object" properties: @@ -116716,12 +118703,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -116786,7 +118786,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" coreVariableMap: type: "object" properties: @@ -116810,12 +118812,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -116880,7 +118895,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" coreVoid: type: "object" description: "Used to denote a nil/null/None assignment to a scalar value. The\ @@ -120889,12 +122906,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -120959,7 +122989,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -120974,12 +123006,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -121044,7 +123089,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" eventEventReason: type: "object" properties: @@ -125210,12 +127257,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -125280,7 +127340,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -125295,12 +127357,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -125365,7 +127440,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -129231,12 +131308,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -129301,7 +131391,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -129316,12 +131408,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -129386,7 +131491,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: @@ -129526,12 +131633,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -129596,7 +131716,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -129611,12 +131733,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -129681,7 +131816,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -129858,12 +131995,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -129928,7 +132078,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -129943,12 +132095,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -130013,7 +132178,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" config: key: "config" security_context: @@ -133918,12 +136085,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -133988,7 +136168,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" inputs: variables: key: @@ -134003,12 +136185,25 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" artifact_key: domain: "domain" name: "name" project: "project" version: "version" + time_partition: + value: + input_binding: + var: "var" + static_value: "static_value" + triggered_binding: + transform: "transform" + partition_key: "partition_key" + bind_to_time_partition: true + index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" type: schema: columns: @@ -134073,7 +136268,9 @@ definitions: triggered_binding: transform: "transform" partition_key: "partition_key" + bind_to_time_partition: true index: 1 + time_value: "2000-01-23T04:56:07.000+00:00" connections: upstream: key: diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go index fda419e76f..048ca4aa04 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go @@ -11,12 +11,12 @@ package flyteadmin import ( "context" - "fmt" - "github.com/antihax/optional" "io/ioutil" "net/http" "net/url" "strings" + "fmt" + "github.com/antihax/optional" ) // Linger please @@ -26,19 +26,19 @@ var ( type AdminServiceApiService service -/* +/* AdminServiceApiService Triggers the creation of a :ref:`ref_flyteidl.admin.Execution` - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminExecutionCreateResponse */ func (a *AdminServiceApiService) CreateExecution(ctx context.Context, body AdminExecutionCreateRequest) (AdminExecutionCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionCreateResponse ) @@ -86,49 +86,49 @@ func (a *AdminServiceApiService) CreateExecution(ctx context.Context, body Admin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Triggers the creation of a :ref:`ref_flyteidl.admin.Execution` - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param org Optional, org key applied to the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param org Optional, org key applied to the resource. + * @param body @return AdminExecutionCreateResponse */ func (a *AdminServiceApiService) CreateExecution2(ctx context.Context, org string, body AdminExecutionCreateRequest) (AdminExecutionCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionCreateResponse ) @@ -177,48 +177,48 @@ func (a *AdminServiceApiService) CreateExecution2(ctx context.Context, org strin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Create and upload a :ref:`ref_flyteidl.admin.LaunchPlan` definition - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminLaunchPlanCreateResponse */ func (a *AdminServiceApiService) CreateLaunchPlan(ctx context.Context, body AdminLaunchPlanCreateRequest) (AdminLaunchPlanCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanCreateResponse ) @@ -266,49 +266,49 @@ func (a *AdminServiceApiService) CreateLaunchPlan(ctx context.Context, body Admi if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Create and upload a :ref:`ref_flyteidl.admin.LaunchPlan` definition - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idOrg Optional, org key applied to the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param body @return AdminLaunchPlanCreateResponse */ func (a *AdminServiceApiService) CreateLaunchPlan2(ctx context.Context, idOrg string, body AdminLaunchPlanCreateRequest) (AdminLaunchPlanCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanCreateResponse ) @@ -357,48 +357,48 @@ func (a *AdminServiceApiService) CreateLaunchPlan2(ctx context.Context, idOrg st if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Indicates a :ref:`ref_flyteidl.event.NodeExecutionEvent` has occurred. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminNodeExecutionEventResponse */ func (a *AdminServiceApiService) CreateNodeEvent(ctx context.Context, body AdminNodeExecutionEventRequest) (AdminNodeExecutionEventResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionEventResponse ) @@ -446,49 +446,49 @@ func (a *AdminServiceApiService) CreateNodeEvent(ctx context.Context, body Admin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionEventResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Indicates a :ref:`ref_flyteidl.event.NodeExecutionEvent` has occurred. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param eventIdExecutionIdOrg Optional, org key applied to the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param eventIdExecutionIdOrg Optional, org key applied to the resource. + * @param body @return AdminNodeExecutionEventResponse */ func (a *AdminServiceApiService) CreateNodeEvent2(ctx context.Context, eventIdExecutionIdOrg string, body AdminNodeExecutionEventRequest) (AdminNodeExecutionEventResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionEventResponse ) @@ -537,48 +537,48 @@ func (a *AdminServiceApiService) CreateNodeEvent2(ctx context.Context, eventIdEx if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionEventResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Create and upload a :ref:`ref_flyteidl.admin.Task` definition - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return FlyteidladminTaskCreateResponse */ func (a *AdminServiceApiService) CreateTask(ctx context.Context, body FlyteidladminTaskCreateRequest) (FlyteidladminTaskCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue FlyteidladminTaskCreateResponse ) @@ -626,49 +626,49 @@ func (a *AdminServiceApiService) CreateTask(ctx context.Context, body Flyteidlad if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v FlyteidladminTaskCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Create and upload a :ref:`ref_flyteidl.admin.Task` definition - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idOrg Optional, org key applied to the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param body @return FlyteidladminTaskCreateResponse */ func (a *AdminServiceApiService) CreateTask2(ctx context.Context, idOrg string, body FlyteidladminTaskCreateRequest) (FlyteidladminTaskCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue FlyteidladminTaskCreateResponse ) @@ -717,48 +717,48 @@ func (a *AdminServiceApiService) CreateTask2(ctx context.Context, idOrg string, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v FlyteidladminTaskCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Indicates a :ref:`ref_flyteidl.event.TaskExecutionEvent` has occurred. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminTaskExecutionEventResponse */ func (a *AdminServiceApiService) CreateTaskEvent(ctx context.Context, body AdminTaskExecutionEventRequest) (AdminTaskExecutionEventResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskExecutionEventResponse ) @@ -806,49 +806,49 @@ func (a *AdminServiceApiService) CreateTaskEvent(ctx context.Context, body Admin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskExecutionEventResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Indicates a :ref:`ref_flyteidl.event.TaskExecutionEvent` has occurred. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param eventParentNodeExecutionIdExecutionIdOrg Optional, org key applied to the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param eventParentNodeExecutionIdExecutionIdOrg Optional, org key applied to the resource. + * @param body @return AdminTaskExecutionEventResponse */ func (a *AdminServiceApiService) CreateTaskEvent2(ctx context.Context, eventParentNodeExecutionIdExecutionIdOrg string, body AdminTaskExecutionEventRequest) (AdminTaskExecutionEventResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskExecutionEventResponse ) @@ -897,48 +897,48 @@ func (a *AdminServiceApiService) CreateTaskEvent2(ctx context.Context, eventPare if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskExecutionEventResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Create and upload a :ref:`ref_flyteidl.admin.Workflow` definition - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminWorkflowCreateResponse */ func (a *AdminServiceApiService) CreateWorkflow(ctx context.Context, body AdminWorkflowCreateRequest) (AdminWorkflowCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowCreateResponse ) @@ -986,49 +986,49 @@ func (a *AdminServiceApiService) CreateWorkflow(ctx context.Context, body AdminW if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Create and upload a :ref:`ref_flyteidl.admin.Workflow` definition - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idOrg Optional, org key applied to the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param body @return AdminWorkflowCreateResponse */ func (a *AdminServiceApiService) CreateWorkflow2(ctx context.Context, idOrg string, body AdminWorkflowCreateRequest) (AdminWorkflowCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowCreateResponse ) @@ -1077,48 +1077,48 @@ func (a *AdminServiceApiService) CreateWorkflow2(ctx context.Context, idOrg stri if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Indicates a :ref:`ref_flyteidl.event.WorkflowExecutionEvent` has occurred. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminWorkflowExecutionEventResponse */ func (a *AdminServiceApiService) CreateWorkflowEvent(ctx context.Context, body AdminWorkflowExecutionEventRequest) (AdminWorkflowExecutionEventResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowExecutionEventResponse ) @@ -1166,49 +1166,49 @@ func (a *AdminServiceApiService) CreateWorkflowEvent(ctx context.Context, body A if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowExecutionEventResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Indicates a :ref:`ref_flyteidl.event.WorkflowExecutionEvent` has occurred. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param eventExecutionIdOrg Optional, org key applied to the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param eventExecutionIdOrg Optional, org key applied to the resource. + * @param body @return AdminWorkflowExecutionEventResponse */ func (a *AdminServiceApiService) CreateWorkflowEvent2(ctx context.Context, eventExecutionIdOrg string, body AdminWorkflowExecutionEventRequest) (AdminWorkflowExecutionEventResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowExecutionEventResponse ) @@ -1257,49 +1257,49 @@ func (a *AdminServiceApiService) CreateWorkflowEvent2(ctx context.Context, event if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowExecutionEventResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param project Unique project id which this set of attributes references. +required - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param project Unique project id which this set of attributes references. +required + * @param body @return AdminProjectAttributesDeleteResponse */ func (a *AdminServiceApiService) DeleteProjectAttributes(ctx context.Context, project string, body AdminProjectAttributesDeleteRequest) (AdminProjectAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectAttributesDeleteResponse ) @@ -1348,50 +1348,50 @@ func (a *AdminServiceApiService) DeleteProjectAttributes(ctx context.Context, pr if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectAttributesDeleteResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param org Optional, org key applied to the project. - - @param project Unique project id which this set of attributes references. +required - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param org Optional, org key applied to the project. + * @param project Unique project id which this set of attributes references. +required + * @param body @return AdminProjectAttributesDeleteResponse */ func (a *AdminServiceApiService) DeleteProjectAttributes2(ctx context.Context, org string, project string, body AdminProjectAttributesDeleteRequest) (AdminProjectAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectAttributesDeleteResponse ) @@ -1441,50 +1441,50 @@ func (a *AdminServiceApiService) DeleteProjectAttributes2(ctx context.Context, o if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectAttributesDeleteResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param project Unique project id which this set of attributes references. +required - - @param domain Unique domain id which this set of attributes references. +required - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param project Unique project id which this set of attributes references. +required + * @param domain Unique domain id which this set of attributes references. +required + * @param body @return AdminProjectDomainAttributesDeleteResponse */ func (a *AdminServiceApiService) DeleteProjectDomainAttributes(ctx context.Context, project string, domain string, body AdminProjectDomainAttributesDeleteRequest) (AdminProjectDomainAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectDomainAttributesDeleteResponse ) @@ -1534,51 +1534,51 @@ func (a *AdminServiceApiService) DeleteProjectDomainAttributes(ctx context.Conte if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectDomainAttributesDeleteResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param org Optional, org key applied to the attributes. - - @param project Unique project id which this set of attributes references. +required - - @param domain Unique domain id which this set of attributes references. +required - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param org Optional, org key applied to the attributes. + * @param project Unique project id which this set of attributes references. +required + * @param domain Unique domain id which this set of attributes references. +required + * @param body @return AdminProjectDomainAttributesDeleteResponse */ func (a *AdminServiceApiService) DeleteProjectDomainAttributes2(ctx context.Context, org string, project string, domain string, body AdminProjectDomainAttributesDeleteRequest) (AdminProjectDomainAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectDomainAttributesDeleteResponse ) @@ -1629,51 +1629,51 @@ func (a *AdminServiceApiService) DeleteProjectDomainAttributes2(ctx context.Cont if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectDomainAttributesDeleteResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param project Unique project id which this set of attributes references. +required - - @param domain Unique domain id which this set of attributes references. +required - - @param workflow Workflow name which this set of attributes references. +required - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param project Unique project id which this set of attributes references. +required + * @param domain Unique domain id which this set of attributes references. +required + * @param workflow Workflow name which this set of attributes references. +required + * @param body @return AdminWorkflowAttributesDeleteResponse */ func (a *AdminServiceApiService) DeleteWorkflowAttributes(ctx context.Context, project string, domain string, workflow string, body AdminWorkflowAttributesDeleteRequest) (AdminWorkflowAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowAttributesDeleteResponse ) @@ -1724,52 +1724,52 @@ func (a *AdminServiceApiService) DeleteWorkflowAttributes(ctx context.Context, p if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowAttributesDeleteResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param org Optional, org key applied to the attributes. - - @param project Unique project id which this set of attributes references. +required - - @param domain Unique domain id which this set of attributes references. +required - - @param workflow Workflow name which this set of attributes references. +required - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param org Optional, org key applied to the attributes. + * @param project Unique project id which this set of attributes references. +required + * @param domain Unique domain id which this set of attributes references. +required + * @param workflow Workflow name which this set of attributes references. +required + * @param body @return AdminWorkflowAttributesDeleteResponse */ func (a *AdminServiceApiService) DeleteWorkflowAttributes2(ctx context.Context, org string, project string, domain string, workflow string, body AdminWorkflowAttributesDeleteRequest) (AdminWorkflowAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowAttributesDeleteResponse ) @@ -1821,36 +1821,36 @@ func (a *AdminServiceApiService) DeleteWorkflowAttributes2(ctx context.Context, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowAttributesDeleteResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -1862,16 +1862,16 @@ AdminServiceApiService Fetch the active version of a :ref:`ref_flyteidl.adm @return AdminLaunchPlan */ -type GetActiveLaunchPlanOpts struct { +type GetActiveLaunchPlanOpts struct { IdOrg optional.String } func (a *AdminServiceApiService) GetActiveLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *GetActiveLaunchPlanOpts) (AdminLaunchPlan, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlan ) @@ -1923,51 +1923,51 @@ func (a *AdminServiceApiService) GetActiveLaunchPlan(ctx context.Context, idProj if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlan - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idOrg Optional, org key applied to the resource. - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' @return AdminLaunchPlan */ func (a *AdminServiceApiService) GetActiveLaunchPlan2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string) (AdminLaunchPlan, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlan ) @@ -2017,36 +2017,36 @@ func (a *AdminServiceApiService) GetActiveLaunchPlan2(ctx context.Context, idOrg if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlan - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idResourceType Identifies the specific type of resource that this identifier corresponds to. @@ -2060,16 +2060,16 @@ AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity&# @return AdminDescriptionEntity */ -type GetDescriptionEntityOpts struct { +type GetDescriptionEntityOpts struct { IdOrg optional.String } func (a *AdminServiceApiService) GetDescriptionEntity(ctx context.Context, idResourceType string, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetDescriptionEntityOpts) (AdminDescriptionEntity, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminDescriptionEntity ) @@ -2123,53 +2123,53 @@ func (a *AdminServiceApiService) GetDescriptionEntity(ctx context.Context, idRes if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminDescriptionEntity - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idOrg Optional, org key applied to the resource. - - @param idResourceType Identifies the specific type of resource that this identifier corresponds to. - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User provided value for the resource. - - @param idVersion Specific version of the resource. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idResourceType Identifies the specific type of resource that this identifier corresponds to. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. + * @param idVersion Specific version of the resource. @return AdminDescriptionEntity */ func (a *AdminServiceApiService) GetDescriptionEntity2(ctx context.Context, idOrg string, idResourceType string, idProject string, idDomain string, idName string, idVersion string) (AdminDescriptionEntity, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminDescriptionEntity ) @@ -2221,36 +2221,36 @@ func (a *AdminServiceApiService) GetDescriptionEntity2(ctx context.Context, idOr if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminDescriptionEntity - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.DynamicNodeWorkflowResponse`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idExecutionIdProject Name of the project the resource belongs to. @@ -2263,16 +2263,16 @@ AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.DynamicNodeWorkfl @return AdminDynamicNodeWorkflowResponse */ -type GetDynamicNodeWorkflowOpts struct { +type GetDynamicNodeWorkflowOpts struct { IdExecutionIdOrg optional.String } func (a *AdminServiceApiService) GetDynamicNodeWorkflow(ctx context.Context, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string, localVarOptionals *GetDynamicNodeWorkflowOpts) (AdminDynamicNodeWorkflowResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminDynamicNodeWorkflowResponse ) @@ -2325,52 +2325,52 @@ func (a *AdminServiceApiService) GetDynamicNodeWorkflow(ctx context.Context, idE if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminDynamicNodeWorkflowResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.DynamicNodeWorkflowResponse`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idExecutionIdOrg Optional, org key applied to the resource. - - @param idExecutionIdProject Name of the project the resource belongs to. - - @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idExecutionIdName User or system provided value for the resource. - - @param idNodeId + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idExecutionIdOrg Optional, org key applied to the resource. + * @param idExecutionIdProject Name of the project the resource belongs to. + * @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idExecutionIdName User or system provided value for the resource. + * @param idNodeId @return AdminDynamicNodeWorkflowResponse */ func (a *AdminServiceApiService) GetDynamicNodeWorkflow2(ctx context.Context, idExecutionIdOrg string, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string) (AdminDynamicNodeWorkflowResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminDynamicNodeWorkflowResponse ) @@ -2421,36 +2421,36 @@ func (a *AdminServiceApiService) GetDynamicNodeWorkflow2(ctx context.Context, id if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminDynamicNodeWorkflowResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -2462,16 +2462,16 @@ AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.Execution`. @return AdminExecution */ -type GetExecutionOpts struct { +type GetExecutionOpts struct { IdOrg optional.String } func (a *AdminServiceApiService) GetExecution(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *GetExecutionOpts) (AdminExecution, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecution ) @@ -2523,51 +2523,51 @@ func (a *AdminServiceApiService) GetExecution(ctx context.Context, idProject str if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecution - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.Execution`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idOrg Optional, org key applied to the resource. - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User or system provided value for the resource. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. @return AdminExecution */ func (a *AdminServiceApiService) GetExecution2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string) (AdminExecution, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecution ) @@ -2617,36 +2617,36 @@ func (a *AdminServiceApiService) GetExecution2(ctx context.Context, idOrg string if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecution - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -2658,16 +2658,16 @@ AdminServiceApiService Fetches input and output data for a :ref:`ref_flytei @return AdminWorkflowExecutionGetDataResponse */ -type GetExecutionDataOpts struct { +type GetExecutionDataOpts struct { IdOrg optional.String } func (a *AdminServiceApiService) GetExecutionData(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *GetExecutionDataOpts) (AdminWorkflowExecutionGetDataResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowExecutionGetDataResponse ) @@ -2719,51 +2719,51 @@ func (a *AdminServiceApiService) GetExecutionData(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowExecutionGetDataResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idOrg Optional, org key applied to the resource. - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User or system provided value for the resource. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. @return AdminWorkflowExecutionGetDataResponse */ func (a *AdminServiceApiService) GetExecutionData2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string) (AdminWorkflowExecutionGetDataResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowExecutionGetDataResponse ) @@ -2813,36 +2813,36 @@ func (a *AdminServiceApiService) GetExecutionData2(ctx context.Context, idOrg st if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowExecutionGetDataResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -2855,17 +2855,17 @@ AdminServiceApiService Fetches runtime metrics for a :ref:`ref_flyteidl.adm @return AdminWorkflowExecutionGetMetricsResponse */ -type GetExecutionMetricsOpts struct { +type GetExecutionMetricsOpts struct { IdOrg optional.String Depth optional.Int32 } func (a *AdminServiceApiService) GetExecutionMetrics(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *GetExecutionMetricsOpts) (AdminWorkflowExecutionGetMetricsResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowExecutionGetMetricsResponse ) @@ -2920,36 +2920,36 @@ func (a *AdminServiceApiService) GetExecutionMetrics(ctx context.Context, idProj if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowExecutionGetMetricsResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idOrg Optional, org key applied to the resource. @@ -2962,16 +2962,16 @@ AdminServiceApiService Fetches runtime metrics for a :ref:`ref_flyteidl.adm @return AdminWorkflowExecutionGetMetricsResponse */ -type GetExecutionMetrics2Opts struct { +type GetExecutionMetrics2Opts struct { Depth optional.Int32 } func (a *AdminServiceApiService) GetExecutionMetrics2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, localVarOptionals *GetExecutionMetrics2Opts) (AdminWorkflowExecutionGetMetricsResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowExecutionGetMetricsResponse ) @@ -3024,36 +3024,36 @@ func (a *AdminServiceApiService) GetExecutionMetrics2(ctx context.Context, idOrg if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowExecutionGetMetricsResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -3067,17 +3067,17 @@ AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` de @return AdminLaunchPlan */ -type GetLaunchPlanOpts struct { +type GetLaunchPlanOpts struct { IdResourceType optional.String - IdOrg optional.String + IdOrg optional.String } func (a *AdminServiceApiService) GetLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetLaunchPlanOpts) (AdminLaunchPlan, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlan ) @@ -3133,36 +3133,36 @@ func (a *AdminServiceApiService) GetLaunchPlan(ctx context.Context, idProject st if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlan - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idOrg Optional, org key applied to the resource. @@ -3176,16 +3176,16 @@ AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` de @return AdminLaunchPlan */ -type GetLaunchPlan2Opts struct { +type GetLaunchPlan2Opts struct { IdResourceType optional.String } func (a *AdminServiceApiService) GetLaunchPlan2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetLaunchPlan2Opts) (AdminLaunchPlan, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlan ) @@ -3239,36 +3239,36 @@ func (a *AdminServiceApiService) GetLaunchPlan2(ctx context.Context, idOrg strin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlan - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param resourceType Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required @@ -3281,16 +3281,16 @@ AdminServiceApiService Returns a :ref:`ref_flyteidl.admin.NamedEntity` @return AdminNamedEntity */ -type GetNamedEntityOpts struct { +type GetNamedEntityOpts struct { IdOrg optional.String } func (a *AdminServiceApiService) GetNamedEntity(ctx context.Context, resourceType string, idProject string, idDomain string, idName string, localVarOptionals *GetNamedEntityOpts) (AdminNamedEntity, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntity ) @@ -3343,52 +3343,52 @@ func (a *AdminServiceApiService) GetNamedEntity(ctx context.Context, resourceTyp if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntity - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param resourceType Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required - - @param idOrg Optional, org key applied to the resource. - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param resourceType Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' @return AdminNamedEntity */ func (a *AdminServiceApiService) GetNamedEntity2(ctx context.Context, resourceType string, idOrg string, idProject string, idDomain string, idName string) (AdminNamedEntity, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntity ) @@ -3439,36 +3439,36 @@ func (a *AdminServiceApiService) GetNamedEntity2(ctx context.Context, resourceTy if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntity - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idExecutionIdProject Name of the project the resource belongs to. @@ -3481,16 +3481,16 @@ AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.NodeExecution @return FlyteidladminNodeExecution */ -type GetNodeExecutionOpts struct { +type GetNodeExecutionOpts struct { IdExecutionIdOrg optional.String } func (a *AdminServiceApiService) GetNodeExecution(ctx context.Context, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string, localVarOptionals *GetNodeExecutionOpts) (FlyteidladminNodeExecution, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue FlyteidladminNodeExecution ) @@ -3543,52 +3543,52 @@ func (a *AdminServiceApiService) GetNodeExecution(ctx context.Context, idExecuti if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v FlyteidladminNodeExecution - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idExecutionIdOrg Optional, org key applied to the resource. - - @param idExecutionIdProject Name of the project the resource belongs to. - - @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idExecutionIdName User or system provided value for the resource. - - @param idNodeId + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idExecutionIdOrg Optional, org key applied to the resource. + * @param idExecutionIdProject Name of the project the resource belongs to. + * @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idExecutionIdName User or system provided value for the resource. + * @param idNodeId @return FlyteidladminNodeExecution */ func (a *AdminServiceApiService) GetNodeExecution2(ctx context.Context, idExecutionIdOrg string, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string) (FlyteidladminNodeExecution, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue FlyteidladminNodeExecution ) @@ -3639,36 +3639,36 @@ func (a *AdminServiceApiService) GetNodeExecution2(ctx context.Context, idExecut if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v FlyteidladminNodeExecution - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idExecutionIdProject Name of the project the resource belongs to. @@ -3681,16 +3681,16 @@ AdminServiceApiService Fetches input and output data for a :ref:`ref_flytei @return AdminNodeExecutionGetDataResponse */ -type GetNodeExecutionDataOpts struct { +type GetNodeExecutionDataOpts struct { IdExecutionIdOrg optional.String } func (a *AdminServiceApiService) GetNodeExecutionData(ctx context.Context, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string, localVarOptionals *GetNodeExecutionDataOpts) (AdminNodeExecutionGetDataResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionGetDataResponse ) @@ -3743,52 +3743,52 @@ func (a *AdminServiceApiService) GetNodeExecutionData(ctx context.Context, idExe if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionGetDataResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idExecutionIdOrg Optional, org key applied to the resource. - - @param idExecutionIdProject Name of the project the resource belongs to. - - @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idExecutionIdName User or system provided value for the resource. - - @param idNodeId + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idExecutionIdOrg Optional, org key applied to the resource. + * @param idExecutionIdProject Name of the project the resource belongs to. + * @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idExecutionIdName User or system provided value for the resource. + * @param idNodeId @return AdminNodeExecutionGetDataResponse */ func (a *AdminServiceApiService) GetNodeExecutionData2(ctx context.Context, idExecutionIdOrg string, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string) (AdminNodeExecutionGetDataResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionGetDataResponse ) @@ -3839,36 +3839,36 @@ func (a *AdminServiceApiService) GetNodeExecutionData2(ctx context.Context, idEx if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionGetDataResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Unique project id which this set of attributes references. +required @@ -3879,17 +3879,17 @@ AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAtt @return AdminProjectAttributesGetResponse */ -type GetProjectAttributesOpts struct { +type GetProjectAttributesOpts struct { ResourceType optional.String - Org optional.String + Org optional.String } func (a *AdminServiceApiService) GetProjectAttributes(ctx context.Context, project string, localVarOptionals *GetProjectAttributesOpts) (AdminProjectAttributesGetResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectAttributesGetResponse ) @@ -3942,36 +3942,36 @@ func (a *AdminServiceApiService) GetProjectAttributes(ctx context.Context, proje if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectAttributesGetResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param org Optional, org key applied to the project. @@ -3982,16 +3982,16 @@ AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAtt @return AdminProjectAttributesGetResponse */ -type GetProjectAttributes2Opts struct { +type GetProjectAttributes2Opts struct { ResourceType optional.String } func (a *AdminServiceApiService) GetProjectAttributes2(ctx context.Context, org string, project string, localVarOptionals *GetProjectAttributes2Opts) (AdminProjectAttributesGetResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectAttributesGetResponse ) @@ -4042,36 +4042,36 @@ func (a *AdminServiceApiService) GetProjectAttributes2(ctx context.Context, org if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectAttributesGetResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Unique project id which this set of attributes references. +required @@ -4083,17 +4083,17 @@ AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAtt @return AdminProjectDomainAttributesGetResponse */ -type GetProjectDomainAttributesOpts struct { +type GetProjectDomainAttributesOpts struct { ResourceType optional.String - Org optional.String + Org optional.String } func (a *AdminServiceApiService) GetProjectDomainAttributes(ctx context.Context, project string, domain string, localVarOptionals *GetProjectDomainAttributesOpts) (AdminProjectDomainAttributesGetResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectDomainAttributesGetResponse ) @@ -4147,36 +4147,36 @@ func (a *AdminServiceApiService) GetProjectDomainAttributes(ctx context.Context, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectDomainAttributesGetResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param org Optional, org key applied to the attributes. @@ -4188,16 +4188,16 @@ AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAtt @return AdminProjectDomainAttributesGetResponse */ -type GetProjectDomainAttributes2Opts struct { +type GetProjectDomainAttributes2Opts struct { ResourceType optional.String } func (a *AdminServiceApiService) GetProjectDomainAttributes2(ctx context.Context, org string, project string, domain string, localVarOptionals *GetProjectDomainAttributes2Opts) (AdminProjectDomainAttributesGetResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectDomainAttributesGetResponse ) @@ -4249,36 +4249,36 @@ func (a *AdminServiceApiService) GetProjectDomainAttributes2(ctx context.Context if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectDomainAttributesGetResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Task` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -4292,17 +4292,17 @@ AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Task` definiti @return AdminTask */ -type GetTaskOpts struct { +type GetTaskOpts struct { IdResourceType optional.String - IdOrg optional.String + IdOrg optional.String } func (a *AdminServiceApiService) GetTask(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetTaskOpts) (AdminTask, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTask ) @@ -4358,36 +4358,36 @@ func (a *AdminServiceApiService) GetTask(ctx context.Context, idProject string, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTask - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Task` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idOrg Optional, org key applied to the resource. @@ -4401,16 +4401,16 @@ AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Task` definiti @return AdminTask */ -type GetTask2Opts struct { +type GetTask2Opts struct { IdResourceType optional.String } func (a *AdminServiceApiService) GetTask2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetTask2Opts) (AdminTask, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTask ) @@ -4464,36 +4464,36 @@ func (a *AdminServiceApiService) GetTask2(ctx context.Context, idOrg string, idP if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTask - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. @@ -4513,18 +4513,18 @@ AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.TaskExecution @return FlyteidladminTaskExecution */ -type GetTaskExecutionOpts struct { - IdTaskIdResourceType optional.String - IdTaskIdOrg optional.String +type GetTaskExecutionOpts struct { + IdTaskIdResourceType optional.String + IdTaskIdOrg optional.String IdNodeExecutionIdExecutionIdOrg optional.String } func (a *AdminServiceApiService) GetTaskExecution(ctx context.Context, idNodeExecutionIdExecutionIdProject string, idNodeExecutionIdExecutionIdDomain string, idNodeExecutionIdExecutionIdName string, idNodeExecutionIdNodeId string, idTaskIdProject string, idTaskIdDomain string, idTaskIdName string, idTaskIdVersion string, idRetryAttempt int64, localVarOptionals *GetTaskExecutionOpts) (FlyteidladminTaskExecution, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue FlyteidladminTaskExecution ) @@ -4588,36 +4588,36 @@ func (a *AdminServiceApiService) GetTaskExecution(ctx context.Context, idNodeExe if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v FlyteidladminTaskExecution - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idNodeExecutionIdExecutionIdOrg Optional, org key applied to the resource. @@ -4637,17 +4637,17 @@ AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.TaskExecution @return FlyteidladminTaskExecution */ -type GetTaskExecution2Opts struct { +type GetTaskExecution2Opts struct { IdTaskIdResourceType optional.String - IdTaskIdOrg optional.String + IdTaskIdOrg optional.String } func (a *AdminServiceApiService) GetTaskExecution2(ctx context.Context, idNodeExecutionIdExecutionIdOrg string, idNodeExecutionIdExecutionIdProject string, idNodeExecutionIdExecutionIdDomain string, idNodeExecutionIdExecutionIdName string, idNodeExecutionIdNodeId string, idTaskIdProject string, idTaskIdDomain string, idTaskIdName string, idTaskIdVersion string, idRetryAttempt int64, localVarOptionals *GetTaskExecution2Opts) (FlyteidladminTaskExecution, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue FlyteidladminTaskExecution ) @@ -4709,36 +4709,36 @@ func (a *AdminServiceApiService) GetTaskExecution2(ctx context.Context, idNodeEx if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v FlyteidladminTaskExecution - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. @@ -4758,18 +4758,18 @@ AdminServiceApiService Fetches input and output data for a :ref:`ref_flytei @return AdminTaskExecutionGetDataResponse */ -type GetTaskExecutionDataOpts struct { - IdTaskIdResourceType optional.String - IdTaskIdOrg optional.String +type GetTaskExecutionDataOpts struct { + IdTaskIdResourceType optional.String + IdTaskIdOrg optional.String IdNodeExecutionIdExecutionIdOrg optional.String } func (a *AdminServiceApiService) GetTaskExecutionData(ctx context.Context, idNodeExecutionIdExecutionIdProject string, idNodeExecutionIdExecutionIdDomain string, idNodeExecutionIdExecutionIdName string, idNodeExecutionIdNodeId string, idTaskIdProject string, idTaskIdDomain string, idTaskIdName string, idTaskIdVersion string, idRetryAttempt int64, localVarOptionals *GetTaskExecutionDataOpts) (AdminTaskExecutionGetDataResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskExecutionGetDataResponse ) @@ -4833,36 +4833,36 @@ func (a *AdminServiceApiService) GetTaskExecutionData(ctx context.Context, idNod if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskExecutionGetDataResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idNodeExecutionIdExecutionIdOrg Optional, org key applied to the resource. @@ -4882,17 +4882,17 @@ AdminServiceApiService Fetches input and output data for a :ref:`ref_flytei @return AdminTaskExecutionGetDataResponse */ -type GetTaskExecutionData2Opts struct { +type GetTaskExecutionData2Opts struct { IdTaskIdResourceType optional.String - IdTaskIdOrg optional.String + IdTaskIdOrg optional.String } func (a *AdminServiceApiService) GetTaskExecutionData2(ctx context.Context, idNodeExecutionIdExecutionIdOrg string, idNodeExecutionIdExecutionIdProject string, idNodeExecutionIdExecutionIdDomain string, idNodeExecutionIdExecutionIdName string, idNodeExecutionIdNodeId string, idTaskIdProject string, idTaskIdDomain string, idTaskIdName string, idTaskIdVersion string, idRetryAttempt int64, localVarOptionals *GetTaskExecutionData2Opts) (AdminTaskExecutionGetDataResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskExecutionGetDataResponse ) @@ -4954,47 +4954,47 @@ func (a *AdminServiceApiService) GetTaskExecutionData2(ctx context.Context, idNo if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskExecutionGetDataResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @return AdminGetVersionResponse */ func (a *AdminServiceApiService) GetVersion(ctx context.Context) (AdminGetVersionResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminGetVersionResponse ) @@ -5040,36 +5040,36 @@ func (a *AdminServiceApiService) GetVersion(ctx context.Context) (AdminGetVersio if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminGetVersionResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -5083,17 +5083,17 @@ AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Workflow` defi @return AdminWorkflow */ -type GetWorkflowOpts struct { +type GetWorkflowOpts struct { IdResourceType optional.String - IdOrg optional.String + IdOrg optional.String } func (a *AdminServiceApiService) GetWorkflow(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetWorkflowOpts) (AdminWorkflow, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflow ) @@ -5149,36 +5149,36 @@ func (a *AdminServiceApiService) GetWorkflow(ctx context.Context, idProject stri if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflow - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idOrg Optional, org key applied to the resource. @@ -5192,16 +5192,16 @@ AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Workflow` defi @return AdminWorkflow */ -type GetWorkflow2Opts struct { +type GetWorkflow2Opts struct { IdResourceType optional.String } func (a *AdminServiceApiService) GetWorkflow2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetWorkflow2Opts) (AdminWorkflow, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflow ) @@ -5255,36 +5255,36 @@ func (a *AdminServiceApiService) GetWorkflow2(ctx context.Context, idOrg string, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflow - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Unique project id which this set of attributes references. +required @@ -5297,17 +5297,17 @@ AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAtt @return AdminWorkflowAttributesGetResponse */ -type GetWorkflowAttributesOpts struct { +type GetWorkflowAttributesOpts struct { ResourceType optional.String - Org optional.String + Org optional.String } func (a *AdminServiceApiService) GetWorkflowAttributes(ctx context.Context, project string, domain string, workflow string, localVarOptionals *GetWorkflowAttributesOpts) (AdminWorkflowAttributesGetResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowAttributesGetResponse ) @@ -5362,36 +5362,36 @@ func (a *AdminServiceApiService) GetWorkflowAttributes(ctx context.Context, proj if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowAttributesGetResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param org Optional, org key applied to the attributes. @@ -5404,16 +5404,16 @@ AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAtt @return AdminWorkflowAttributesGetResponse */ -type GetWorkflowAttributes2Opts struct { +type GetWorkflowAttributes2Opts struct { ResourceType optional.String } func (a *AdminServiceApiService) GetWorkflowAttributes2(ctx context.Context, org string, project string, domain string, workflow string, localVarOptionals *GetWorkflowAttributes2Opts) (AdminWorkflowAttributesGetResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowAttributesGetResponse ) @@ -5466,36 +5466,36 @@ func (a *AdminServiceApiService) GetWorkflowAttributes2(ctx context.Context, org if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowAttributesGetResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService List active versions of :ref:`ref_flyteidl.admin.LaunchPlan`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Name of the project that contains the identifiers. +required. @@ -5510,20 +5510,20 @@ AdminServiceApiService List active versions of :ref:`ref_flyteidl.admin.Lau @return AdminLaunchPlanList */ -type ListActiveLaunchPlansOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListActiveLaunchPlansOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Org optional.String + Org optional.String } func (a *AdminServiceApiService) ListActiveLaunchPlans(ctx context.Context, project string, domain string, localVarOptionals *ListActiveLaunchPlansOpts) (AdminLaunchPlanList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanList ) @@ -5586,36 +5586,36 @@ func (a *AdminServiceApiService) ListActiveLaunchPlans(ctx context.Context, proj if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService List active versions of :ref:`ref_flyteidl.admin.LaunchPlan`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param org Optional, org key applied to the resource. @@ -5630,19 +5630,19 @@ AdminServiceApiService List active versions of :ref:`ref_flyteidl.admin.Lau @return AdminLaunchPlanList */ -type ListActiveLaunchPlans2Opts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListActiveLaunchPlans2Opts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListActiveLaunchPlans2(ctx context.Context, org string, project string, domain string, localVarOptionals *ListActiveLaunchPlans2Opts) (AdminLaunchPlanList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanList ) @@ -5703,36 +5703,36 @@ func (a *AdminServiceApiService) ListActiveLaunchPlans2(ctx context.Context, org if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param resourceType Identifies the specific type of resource that this identifier corresponds to. @@ -5750,21 +5750,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Description @return AdminDescriptionEntityList */ -type ListDescriptionEntitiesOpts struct { - IdOrg optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListDescriptionEntitiesOpts struct { + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListDescriptionEntities(ctx context.Context, resourceType string, idProject string, idDomain string, idName string, localVarOptionals *ListDescriptionEntitiesOpts) (AdminDescriptionEntityList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminDescriptionEntityList ) @@ -5832,36 +5832,36 @@ func (a *AdminServiceApiService) ListDescriptionEntities(ctx context.Context, re if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminDescriptionEntityList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param resourceType Identifies the specific type of resource that this identifier corresponds to. @@ -5879,20 +5879,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Description @return AdminDescriptionEntityList */ -type ListDescriptionEntities2Opts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListDescriptionEntities2Opts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListDescriptionEntities2(ctx context.Context, resourceType string, idOrg string, idProject string, idDomain string, idName string, localVarOptionals *ListDescriptionEntities2Opts) (AdminDescriptionEntityList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminDescriptionEntityList ) @@ -5958,36 +5958,36 @@ func (a *AdminServiceApiService) ListDescriptionEntities2(ctx context.Context, r if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminDescriptionEntityList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param resourceType Identifies the specific type of resource that this identifier corresponds to. @@ -6005,22 +6005,22 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Description @return AdminDescriptionEntityList */ -type ListDescriptionEntities3Opts struct { - IdName optional.String - IdOrg optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListDescriptionEntities3Opts struct { + IdName optional.String + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListDescriptionEntities3(ctx context.Context, resourceType string, idProject string, idDomain string, localVarOptionals *ListDescriptionEntities3Opts) (AdminDescriptionEntityList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminDescriptionEntityList ) @@ -6090,36 +6090,36 @@ func (a *AdminServiceApiService) ListDescriptionEntities3(ctx context.Context, r if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminDescriptionEntityList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param resourceType Identifies the specific type of resource that this identifier corresponds to. @@ -6137,21 +6137,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Description @return AdminDescriptionEntityList */ -type ListDescriptionEntities4Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListDescriptionEntities4Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListDescriptionEntities4(ctx context.Context, resourceType string, idOrg string, idProject string, idDomain string, localVarOptionals *ListDescriptionEntities4Opts) (AdminDescriptionEntityList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminDescriptionEntityList ) @@ -6219,36 +6219,36 @@ func (a *AdminServiceApiService) ListDescriptionEntities4(ctx context.Context, r if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminDescriptionEntityList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -6265,22 +6265,22 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Execution&# @return AdminExecutionList */ -type ListExecutionsOpts struct { - IdName optional.String - IdOrg optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListExecutionsOpts struct { + IdName optional.String + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListExecutions(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListExecutionsOpts) (AdminExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionList ) @@ -6349,36 +6349,36 @@ func (a *AdminServiceApiService) ListExecutions(ctx context.Context, idProject s if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idOrg Optional, org key applied to the resource. @@ -6395,21 +6395,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Execution&# @return AdminExecutionList */ -type ListExecutions2Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListExecutions2Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListExecutions2(ctx context.Context, idOrg string, idProject string, idDomain string, localVarOptionals *ListExecutions2Opts) (AdminExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionList ) @@ -6476,36 +6476,36 @@ func (a *AdminServiceApiService) ListExecutions2(ctx context.Context, idOrg stri if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Name of the project that contains the identifiers. +required @@ -6521,21 +6521,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntity @return AdminNamedEntityIdentifierList */ -type ListLaunchPlanIdsOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListLaunchPlanIdsOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String - Org optional.String + Filters optional.String + Org optional.String } func (a *AdminServiceApiService) ListLaunchPlanIds(ctx context.Context, project string, domain string, localVarOptionals *ListLaunchPlanIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityIdentifierList ) @@ -6601,36 +6601,36 @@ func (a *AdminServiceApiService) ListLaunchPlanIds(ctx context.Context, project if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityIdentifierList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param org Optional, org key applied to the resource. @@ -6646,20 +6646,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntity @return AdminNamedEntityIdentifierList */ -type ListLaunchPlanIds2Opts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListLaunchPlanIds2Opts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String + Filters optional.String } func (a *AdminServiceApiService) ListLaunchPlanIds2(ctx context.Context, org string, project string, domain string, localVarOptionals *ListLaunchPlanIds2Opts) (AdminNamedEntityIdentifierList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityIdentifierList ) @@ -6723,36 +6723,36 @@ func (a *AdminServiceApiService) ListLaunchPlanIds2(ctx context.Context, org str if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityIdentifierList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -6769,21 +6769,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan& @return AdminLaunchPlanList */ -type ListLaunchPlansOpts struct { - IdOrg optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListLaunchPlansOpts struct { + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListLaunchPlans(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListLaunchPlansOpts) (AdminLaunchPlanList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanList ) @@ -6850,36 +6850,36 @@ func (a *AdminServiceApiService) ListLaunchPlans(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idOrg Optional, org key applied to the resource. @@ -6896,20 +6896,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan& @return AdminLaunchPlanList */ -type ListLaunchPlans2Opts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListLaunchPlans2Opts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListLaunchPlans2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, localVarOptionals *ListLaunchPlans2Opts) (AdminLaunchPlanList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanList ) @@ -6974,36 +6974,36 @@ func (a *AdminServiceApiService) ListLaunchPlans2(ctx context.Context, idOrg str if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -7020,22 +7020,22 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan& @return AdminLaunchPlanList */ -type ListLaunchPlans3Opts struct { - IdName optional.String - IdOrg optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListLaunchPlans3Opts struct { + IdName optional.String + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListLaunchPlans3(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListLaunchPlans3Opts) (AdminLaunchPlanList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanList ) @@ -7104,36 +7104,36 @@ func (a *AdminServiceApiService) ListLaunchPlans3(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idOrg Optional, org key applied to the resource. @@ -7150,21 +7150,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan& @return AdminLaunchPlanList */ -type ListLaunchPlans4Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListLaunchPlans4Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListLaunchPlans4(ctx context.Context, idOrg string, idProject string, idDomain string, localVarOptionals *ListLaunchPlans4Opts) (AdminLaunchPlanList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanList ) @@ -7231,36 +7231,36 @@ func (a *AdminServiceApiService) ListLaunchPlans4(ctx context.Context, idOrg str if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param optional nil or *ListMatchableAttributesOpts - Optional Parameters: @@ -7270,17 +7270,17 @@ AdminServiceApiService Lists custom :ref:`ref_flyteidl.admin.MatchableAttri @return AdminListMatchableAttributesResponse */ -type ListMatchableAttributesOpts struct { +type ListMatchableAttributesOpts struct { ResourceType optional.String - Org optional.String + Org optional.String } func (a *AdminServiceApiService) ListMatchableAttributes(ctx context.Context, localVarOptionals *ListMatchableAttributesOpts) (AdminListMatchableAttributesResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminListMatchableAttributesResponse ) @@ -7332,36 +7332,36 @@ func (a *AdminServiceApiService) ListMatchableAttributes(ctx context.Context, lo if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminListMatchableAttributesResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param org Optional, org filter applied to list project requests. @@ -7371,16 +7371,16 @@ AdminServiceApiService Lists custom :ref:`ref_flyteidl.admin.MatchableAttri @return AdminListMatchableAttributesResponse */ -type ListMatchableAttributes2Opts struct { +type ListMatchableAttributes2Opts struct { ResourceType optional.String } func (a *AdminServiceApiService) ListMatchableAttributes2(ctx context.Context, org string, localVarOptionals *ListMatchableAttributes2Opts) (AdminListMatchableAttributesResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminListMatchableAttributesResponse ) @@ -7430,36 +7430,36 @@ func (a *AdminServiceApiService) ListMatchableAttributes2(ctx context.Context, o if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminListMatchableAttributesResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param resourceType Resource type of the metadata to query. One of Task, Workflow or LaunchPlan. +required @@ -7476,21 +7476,21 @@ AdminServiceApiService Returns a list of :ref:`ref_flyteidl.admin.NamedEnti @return AdminNamedEntityList */ -type ListNamedEntitiesOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListNamedEntitiesOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String - Org optional.String + Filters optional.String + Org optional.String } func (a *AdminServiceApiService) ListNamedEntities(ctx context.Context, resourceType string, project string, domain string, localVarOptionals *ListNamedEntitiesOpts) (AdminNamedEntityList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityList ) @@ -7557,36 +7557,36 @@ func (a *AdminServiceApiService) ListNamedEntities(ctx context.Context, resource if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param resourceType Resource type of the metadata to query. One of Task, Workflow or LaunchPlan. +required @@ -7603,20 +7603,20 @@ AdminServiceApiService Returns a list of :ref:`ref_flyteidl.admin.NamedEnti @return AdminNamedEntityList */ -type ListNamedEntities2Opts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListNamedEntities2Opts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String + Filters optional.String } func (a *AdminServiceApiService) ListNamedEntities2(ctx context.Context, resourceType string, org string, project string, domain string, localVarOptionals *ListNamedEntities2Opts) (AdminNamedEntityList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityList ) @@ -7681,36 +7681,36 @@ func (a *AdminServiceApiService) ListNamedEntities2(ctx context.Context, resourc if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param workflowExecutionIdProject Name of the project the resource belongs to. @@ -7719,7 +7719,7 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecuti * @param optional nil or *ListNodeExecutionsOpts - Optional Parameters: * @param "WorkflowExecutionIdOrg" (optional.String) - Optional, org key applied to the resource. * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - + * @param "Token" (optional.String) - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. @@ -7728,22 +7728,22 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecuti @return AdminNodeExecutionList */ -type ListNodeExecutionsOpts struct { +type ListNodeExecutionsOpts struct { WorkflowExecutionIdOrg optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String - UniqueParentId optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String + UniqueParentId optional.String } func (a *AdminServiceApiService) ListNodeExecutions(ctx context.Context, workflowExecutionIdProject string, workflowExecutionIdDomain string, workflowExecutionIdName string, localVarOptionals *ListNodeExecutionsOpts) (AdminNodeExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionList ) @@ -7813,36 +7813,36 @@ func (a *AdminServiceApiService) ListNodeExecutions(ctx context.Context, workflo if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param workflowExecutionIdOrg Optional, org key applied to the resource. @@ -7851,7 +7851,7 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecuti * @param workflowExecutionIdName User or system provided value for the resource. * @param optional nil or *ListNodeExecutions2Opts - Optional Parameters: * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - + * @param "Token" (optional.String) - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. @@ -7860,21 +7860,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecuti @return AdminNodeExecutionList */ -type ListNodeExecutions2Opts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListNodeExecutions2Opts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String - UniqueParentId optional.String + UniqueParentId optional.String } func (a *AdminServiceApiService) ListNodeExecutions2(ctx context.Context, workflowExecutionIdOrg string, workflowExecutionIdProject string, workflowExecutionIdDomain string, workflowExecutionIdName string, localVarOptionals *ListNodeExecutions2Opts) (AdminNodeExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionList ) @@ -7942,36 +7942,36 @@ func (a *AdminServiceApiService) ListNodeExecutions2(ctx context.Context, workfl if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param taskExecutionIdNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. @@ -7996,23 +7996,23 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecuti @return AdminNodeExecutionList */ -type ListNodeExecutionsForTaskOpts struct { - TaskExecutionIdTaskIdResourceType optional.String - TaskExecutionIdTaskIdOrg optional.String +type ListNodeExecutionsForTaskOpts struct { + TaskExecutionIdTaskIdResourceType optional.String + TaskExecutionIdTaskIdOrg optional.String TaskExecutionIdNodeExecutionIdExecutionIdOrg optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String } func (a *AdminServiceApiService) ListNodeExecutionsForTask(ctx context.Context, taskExecutionIdNodeExecutionIdExecutionIdProject string, taskExecutionIdNodeExecutionIdExecutionIdDomain string, taskExecutionIdNodeExecutionIdExecutionIdName string, taskExecutionIdNodeExecutionIdNodeId string, taskExecutionIdTaskIdProject string, taskExecutionIdTaskIdDomain string, taskExecutionIdTaskIdName string, taskExecutionIdTaskIdVersion string, taskExecutionIdRetryAttempt int64, localVarOptionals *ListNodeExecutionsForTaskOpts) (AdminNodeExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionList ) @@ -8091,36 +8091,36 @@ func (a *AdminServiceApiService) ListNodeExecutionsForTask(ctx context.Context, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param taskExecutionIdNodeExecutionIdExecutionIdOrg Optional, org key applied to the resource. @@ -8145,22 +8145,22 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecuti @return AdminNodeExecutionList */ -type ListNodeExecutionsForTask2Opts struct { +type ListNodeExecutionsForTask2Opts struct { TaskExecutionIdTaskIdResourceType optional.String - TaskExecutionIdTaskIdOrg optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String + TaskExecutionIdTaskIdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String } func (a *AdminServiceApiService) ListNodeExecutionsForTask2(ctx context.Context, taskExecutionIdNodeExecutionIdExecutionIdOrg string, taskExecutionIdNodeExecutionIdExecutionIdProject string, taskExecutionIdNodeExecutionIdExecutionIdDomain string, taskExecutionIdNodeExecutionIdExecutionIdName string, taskExecutionIdNodeExecutionIdNodeId string, taskExecutionIdTaskIdProject string, taskExecutionIdTaskIdDomain string, taskExecutionIdTaskIdName string, taskExecutionIdTaskIdVersion string, taskExecutionIdRetryAttempt int64, localVarOptionals *ListNodeExecutionsForTask2Opts) (AdminNodeExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionList ) @@ -8237,36 +8237,36 @@ func (a *AdminServiceApiService) ListNodeExecutionsForTask2(ctx context.Context, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.Project` * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param optional nil or *ListProjectsOpts - Optional Parameters: @@ -8280,21 +8280,21 @@ AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.Project&# @return AdminProjects */ -type ListProjectsOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListProjectsOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String - Org optional.String + Org optional.String } func (a *AdminServiceApiService) ListProjects(ctx context.Context, localVarOptionals *ListProjectsOpts) (AdminProjects, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjects ) @@ -8358,36 +8358,36 @@ func (a *AdminServiceApiService) ListProjects(ctx context.Context, localVarOptio if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjects - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.Project` * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param org Optional, org filter applied to list project requests. @@ -8401,20 +8401,20 @@ AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.Project&# @return AdminProjects */ -type ListProjects2Opts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListProjects2Opts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListProjects2(ctx context.Context, org string, localVarOptionals *ListProjects2Opts) (AdminProjects, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjects ) @@ -8476,36 +8476,36 @@ func (a *AdminServiceApiService) ListProjects2(ctx context.Context, org string, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjects - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param nodeExecutionIdExecutionIdProject Name of the project the resource belongs to. @@ -8523,21 +8523,21 @@ AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.TaskExecu @return AdminTaskExecutionList */ -type ListTaskExecutionsOpts struct { +type ListTaskExecutionsOpts struct { NodeExecutionIdExecutionIdOrg optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String } func (a *AdminServiceApiService) ListTaskExecutions(ctx context.Context, nodeExecutionIdExecutionIdProject string, nodeExecutionIdExecutionIdDomain string, nodeExecutionIdExecutionIdName string, nodeExecutionIdNodeId string, localVarOptionals *ListTaskExecutionsOpts) (AdminTaskExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskExecutionList ) @@ -8605,36 +8605,36 @@ func (a *AdminServiceApiService) ListTaskExecutions(ctx context.Context, nodeExe if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param nodeExecutionIdExecutionIdOrg Optional, org key applied to the resource. @@ -8652,20 +8652,20 @@ AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.TaskExecu @return AdminTaskExecutionList */ -type ListTaskExecutions2Opts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListTaskExecutions2Opts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListTaskExecutions2(ctx context.Context, nodeExecutionIdExecutionIdOrg string, nodeExecutionIdExecutionIdProject string, nodeExecutionIdExecutionIdDomain string, nodeExecutionIdExecutionIdName string, nodeExecutionIdNodeId string, localVarOptionals *ListTaskExecutions2Opts) (AdminTaskExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskExecutionList ) @@ -8731,36 +8731,36 @@ func (a *AdminServiceApiService) ListTaskExecutions2(ctx context.Context, nodeEx if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Name of the project that contains the identifiers. +required @@ -8776,21 +8776,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntity @return AdminNamedEntityIdentifierList */ -type ListTaskIdsOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListTaskIdsOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String - Org optional.String + Filters optional.String + Org optional.String } func (a *AdminServiceApiService) ListTaskIds(ctx context.Context, project string, domain string, localVarOptionals *ListTaskIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityIdentifierList ) @@ -8856,36 +8856,36 @@ func (a *AdminServiceApiService) ListTaskIds(ctx context.Context, project string if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityIdentifierList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param org Optional, org key applied to the resource. @@ -8901,20 +8901,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntity @return AdminNamedEntityIdentifierList */ -type ListTaskIds2Opts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListTaskIds2Opts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String + Filters optional.String } func (a *AdminServiceApiService) ListTaskIds2(ctx context.Context, org string, project string, domain string, localVarOptionals *ListTaskIds2Opts) (AdminNamedEntityIdentifierList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityIdentifierList ) @@ -8978,36 +8978,36 @@ func (a *AdminServiceApiService) ListTaskIds2(ctx context.Context, org string, p if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityIdentifierList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -9024,21 +9024,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` @return AdminTaskList */ -type ListTasksOpts struct { - IdOrg optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListTasksOpts struct { + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListTasks(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListTasksOpts) (AdminTaskList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskList ) @@ -9105,36 +9105,36 @@ func (a *AdminServiceApiService) ListTasks(ctx context.Context, idProject string if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idOrg Optional, org key applied to the resource. @@ -9151,20 +9151,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` @return AdminTaskList */ -type ListTasks2Opts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListTasks2Opts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListTasks2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, localVarOptionals *ListTasks2Opts) (AdminTaskList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskList ) @@ -9229,36 +9229,36 @@ func (a *AdminServiceApiService) ListTasks2(ctx context.Context, idOrg string, i if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -9275,22 +9275,22 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` @return AdminTaskList */ -type ListTasks3Opts struct { - IdName optional.String - IdOrg optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListTasks3Opts struct { + IdName optional.String + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListTasks3(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListTasks3Opts) (AdminTaskList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskList ) @@ -9359,36 +9359,36 @@ func (a *AdminServiceApiService) ListTasks3(ctx context.Context, idProject strin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idOrg Optional, org key applied to the resource. @@ -9405,21 +9405,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` @return AdminTaskList */ -type ListTasks4Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListTasks4Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListTasks4(ctx context.Context, idOrg string, idProject string, idDomain string, localVarOptionals *ListTasks4Opts) (AdminTaskList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskList ) @@ -9486,36 +9486,36 @@ func (a *AdminServiceApiService) ListTasks4(ctx context.Context, idOrg string, i if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Name of the project that contains the identifiers. +required @@ -9531,21 +9531,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntity @return AdminNamedEntityIdentifierList */ -type ListWorkflowIdsOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListWorkflowIdsOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String - Org optional.String + Filters optional.String + Org optional.String } func (a *AdminServiceApiService) ListWorkflowIds(ctx context.Context, project string, domain string, localVarOptionals *ListWorkflowIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityIdentifierList ) @@ -9611,36 +9611,36 @@ func (a *AdminServiceApiService) ListWorkflowIds(ctx context.Context, project st if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityIdentifierList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param org Optional, org key applied to the resource. @@ -9656,20 +9656,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntity @return AdminNamedEntityIdentifierList */ -type ListWorkflowIds2Opts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListWorkflowIds2Opts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String + Filters optional.String } func (a *AdminServiceApiService) ListWorkflowIds2(ctx context.Context, org string, project string, domain string, localVarOptionals *ListWorkflowIds2Opts) (AdminNamedEntityIdentifierList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityIdentifierList ) @@ -9733,36 +9733,36 @@ func (a *AdminServiceApiService) ListWorkflowIds2(ctx context.Context, org strin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityIdentifierList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -9779,21 +9779,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow&#x @return AdminWorkflowList */ -type ListWorkflowsOpts struct { - IdOrg optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListWorkflowsOpts struct { + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListWorkflows(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListWorkflowsOpts) (AdminWorkflowList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowList ) @@ -9860,36 +9860,36 @@ func (a *AdminServiceApiService) ListWorkflows(ctx context.Context, idProject st if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idOrg Optional, org key applied to the resource. @@ -9906,20 +9906,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow&#x @return AdminWorkflowList */ -type ListWorkflows2Opts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListWorkflows2Opts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListWorkflows2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, localVarOptionals *ListWorkflows2Opts) (AdminWorkflowList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowList ) @@ -9984,36 +9984,36 @@ func (a *AdminServiceApiService) ListWorkflows2(ctx context.Context, idOrg strin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -10030,22 +10030,22 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow&#x @return AdminWorkflowList */ -type ListWorkflows3Opts struct { - IdName optional.String - IdOrg optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListWorkflows3Opts struct { + IdName optional.String + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListWorkflows3(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListWorkflows3Opts) (AdminWorkflowList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowList ) @@ -10114,36 +10114,36 @@ func (a *AdminServiceApiService) ListWorkflows3(ctx context.Context, idProject s if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idOrg Optional, org key applied to the resource. @@ -10160,21 +10160,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow&#x @return AdminWorkflowList */ -type ListWorkflows4Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListWorkflows4Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListWorkflows4(ctx context.Context, idOrg string, idProject string, idDomain string, localVarOptionals *ListWorkflows4Opts) (AdminWorkflowList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowList ) @@ -10241,48 +10241,48 @@ func (a *AdminServiceApiService) ListWorkflows4(ctx context.Context, idOrg strin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Recreates a previously-run workflow execution that will only start executing from the last known failure point. In Recover mode, users cannot change any input parameters or update the version of the execution. This is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures, downstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again. See :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminExecutionCreateResponse */ func (a *AdminServiceApiService) RecoverExecution(ctx context.Context, body AdminExecutionRecoverRequest) (AdminExecutionCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionCreateResponse ) @@ -10330,49 +10330,49 @@ func (a *AdminServiceApiService) RecoverExecution(ctx context.Context, body Admi if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Recreates a previously-run workflow execution that will only start executing from the last known failure point. In Recover mode, users cannot change any input parameters or update the version of the execution. This is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures, downstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again. See :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idOrg Optional, org key applied to the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param body @return AdminExecutionCreateResponse */ func (a *AdminServiceApiService) RecoverExecution2(ctx context.Context, idOrg string, body AdminExecutionRecoverRequest) (AdminExecutionCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionCreateResponse ) @@ -10421,48 +10421,48 @@ func (a *AdminServiceApiService) RecoverExecution2(ctx context.Context, idOrg st if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminProjectRegisterResponse */ func (a *AdminServiceApiService) RegisterProject(ctx context.Context, body AdminProjectRegisterRequest) (AdminProjectRegisterResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectRegisterResponse ) @@ -10510,49 +10510,49 @@ func (a *AdminServiceApiService) RegisterProject(ctx context.Context, body Admin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectRegisterResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param projectOrg Optional, org key applied to the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param projectOrg Optional, org key applied to the resource. + * @param body @return AdminProjectRegisterResponse */ func (a *AdminServiceApiService) RegisterProject2(ctx context.Context, projectOrg string, body AdminProjectRegisterRequest) (AdminProjectRegisterResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectRegisterResponse ) @@ -10601,48 +10601,48 @@ func (a *AdminServiceApiService) RegisterProject2(ctx context.Context, projectOr if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectRegisterResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution` - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminExecutionCreateResponse */ func (a *AdminServiceApiService) RelaunchExecution(ctx context.Context, body AdminExecutionRelaunchRequest) (AdminExecutionCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionCreateResponse ) @@ -10690,49 +10690,49 @@ func (a *AdminServiceApiService) RelaunchExecution(ctx context.Context, body Adm if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution` - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idOrg Optional, org key applied to the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param body @return AdminExecutionCreateResponse */ func (a *AdminServiceApiService) RelaunchExecution2(ctx context.Context, idOrg string, body AdminExecutionRelaunchRequest) (AdminExecutionCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionCreateResponse ) @@ -10781,51 +10781,51 @@ func (a *AdminServiceApiService) RelaunchExecution2(ctx context.Context, idOrg s if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User or system provided value for the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. + * @param body @return AdminExecutionTerminateResponse */ func (a *AdminServiceApiService) TerminateExecution(ctx context.Context, idProject string, idDomain string, idName string, body AdminExecutionTerminateRequest) (AdminExecutionTerminateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionTerminateResponse ) @@ -10876,52 +10876,52 @@ func (a *AdminServiceApiService) TerminateExecution(ctx context.Context, idProje if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionTerminateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idOrg Optional, org key applied to the resource. - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User or system provided value for the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. + * @param body @return AdminExecutionTerminateResponse */ func (a *AdminServiceApiService) TerminateExecution2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, body AdminExecutionTerminateRequest) (AdminExecutionTerminateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionTerminateResponse ) @@ -10973,51 +10973,51 @@ func (a *AdminServiceApiService) TerminateExecution2(ctx context.Context, idOrg if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionTerminateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User or system provided value for the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. + * @param body @return AdminExecutionUpdateResponse */ func (a *AdminServiceApiService) UpdateExecution(ctx context.Context, idProject string, idDomain string, idName string, body AdminExecutionUpdateRequest) (AdminExecutionUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionUpdateResponse ) @@ -11068,52 +11068,52 @@ func (a *AdminServiceApiService) UpdateExecution(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idOrg Optional, org key applied to the resource. - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User or system provided value for the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. + * @param body @return AdminExecutionUpdateResponse */ func (a *AdminServiceApiService) UpdateExecution2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, body AdminExecutionUpdateRequest) (AdminExecutionUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionUpdateResponse ) @@ -11165,52 +11165,52 @@ func (a *AdminServiceApiService) UpdateExecution2(ctx context.Context, idOrg str if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User provided value for the resource. - - @param idVersion Specific version of the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. + * @param idVersion Specific version of the resource. + * @param body @return AdminLaunchPlanUpdateResponse */ func (a *AdminServiceApiService) UpdateLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, body AdminLaunchPlanUpdateRequest) (AdminLaunchPlanUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanUpdateResponse ) @@ -11262,52 +11262,52 @@ func (a *AdminServiceApiService) UpdateLaunchPlan(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idOrg Optional, org key applied to the resource. - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User provided value for the resource. - - @param idVersion Specific version of the resource. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. + * @param idVersion Specific version of the resource. @return AdminLaunchPlanUpdateResponse */ func (a *AdminServiceApiService) UpdateLaunchPlan2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, idVersion string) (AdminLaunchPlanUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanUpdateResponse ) @@ -11358,52 +11358,52 @@ func (a *AdminServiceApiService) UpdateLaunchPlan2(ctx context.Context, idOrg st if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param resourceType Resource type of the metadata to update +required - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param resourceType Resource type of the metadata to update +required + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param body @return AdminNamedEntityUpdateResponse */ func (a *AdminServiceApiService) UpdateNamedEntity(ctx context.Context, resourceType string, idProject string, idDomain string, idName string, body AdminNamedEntityUpdateRequest) (AdminNamedEntityUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityUpdateResponse ) @@ -11455,53 +11455,53 @@ func (a *AdminServiceApiService) UpdateNamedEntity(ctx context.Context, resource if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param resourceType Resource type of the metadata to update +required - - @param idOrg Optional, org key applied to the resource. - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param resourceType Resource type of the metadata to update +required + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param body @return AdminNamedEntityUpdateResponse */ func (a *AdminServiceApiService) UpdateNamedEntity2(ctx context.Context, resourceType string, idOrg string, idProject string, idDomain string, idName string, body AdminNamedEntityUpdateRequest) (AdminNamedEntityUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityUpdateResponse ) @@ -11554,49 +11554,49 @@ func (a *AdminServiceApiService) UpdateNamedEntity2(ctx context.Context, resourc if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param id Globally unique project name. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param id Globally unique project name. + * @param body @return AdminProjectUpdateResponse */ func (a *AdminServiceApiService) UpdateProject(ctx context.Context, id string, body AdminProject) (AdminProjectUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectUpdateResponse ) @@ -11645,50 +11645,50 @@ func (a *AdminServiceApiService) UpdateProject(ctx context.Context, id string, b if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param org Optional, org key applied to the resource. - - @param id Globally unique project name. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param org Optional, org key applied to the resource. + * @param id Globally unique project name. + * @param body @return AdminProjectUpdateResponse */ func (a *AdminServiceApiService) UpdateProject2(ctx context.Context, org string, id string, body AdminProject) (AdminProjectUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectUpdateResponse ) @@ -11738,49 +11738,49 @@ func (a *AdminServiceApiService) UpdateProject2(ctx context.Context, org string, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param attributesProject Unique project id for which this set of attributes will be applied. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param attributesProject Unique project id for which this set of attributes will be applied. + * @param body @return AdminProjectAttributesUpdateResponse */ func (a *AdminServiceApiService) UpdateProjectAttributes(ctx context.Context, attributesProject string, body AdminProjectAttributesUpdateRequest) (AdminProjectAttributesUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectAttributesUpdateResponse ) @@ -11829,50 +11829,50 @@ func (a *AdminServiceApiService) UpdateProjectAttributes(ctx context.Context, at if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectAttributesUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param attributesOrg Optional, org key applied to the project. - - @param attributesProject Unique project id for which this set of attributes will be applied. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param attributesOrg Optional, org key applied to the project. + * @param attributesProject Unique project id for which this set of attributes will be applied. + * @param body @return AdminProjectAttributesUpdateResponse */ func (a *AdminServiceApiService) UpdateProjectAttributes2(ctx context.Context, attributesOrg string, attributesProject string, body AdminProjectAttributesUpdateRequest) (AdminProjectAttributesUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectAttributesUpdateResponse ) @@ -11922,50 +11922,50 @@ func (a *AdminServiceApiService) UpdateProjectAttributes2(ctx context.Context, a if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectAttributesUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param attributesProject Unique project id for which this set of attributes will be applied. - - @param attributesDomain Unique domain id for which this set of attributes will be applied. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param attributesProject Unique project id for which this set of attributes will be applied. + * @param attributesDomain Unique domain id for which this set of attributes will be applied. + * @param body @return AdminProjectDomainAttributesUpdateResponse */ func (a *AdminServiceApiService) UpdateProjectDomainAttributes(ctx context.Context, attributesProject string, attributesDomain string, body AdminProjectDomainAttributesUpdateRequest) (AdminProjectDomainAttributesUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectDomainAttributesUpdateResponse ) @@ -12015,51 +12015,51 @@ func (a *AdminServiceApiService) UpdateProjectDomainAttributes(ctx context.Conte if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectDomainAttributesUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param attributesOrg Optional, org key applied to the attributes. - - @param attributesProject Unique project id for which this set of attributes will be applied. - - @param attributesDomain Unique domain id for which this set of attributes will be applied. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param attributesOrg Optional, org key applied to the attributes. + * @param attributesProject Unique project id for which this set of attributes will be applied. + * @param attributesDomain Unique domain id for which this set of attributes will be applied. + * @param body @return AdminProjectDomainAttributesUpdateResponse */ func (a *AdminServiceApiService) UpdateProjectDomainAttributes2(ctx context.Context, attributesOrg string, attributesProject string, attributesDomain string, body AdminProjectDomainAttributesUpdateRequest) (AdminProjectDomainAttributesUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectDomainAttributesUpdateResponse ) @@ -12110,51 +12110,51 @@ func (a *AdminServiceApiService) UpdateProjectDomainAttributes2(ctx context.Cont if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectDomainAttributesUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param attributesProject Unique project id for which this set of attributes will be applied. - - @param attributesDomain Unique domain id for which this set of attributes will be applied. - - @param attributesWorkflow Workflow name for which this set of attributes will be applied. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param attributesProject Unique project id for which this set of attributes will be applied. + * @param attributesDomain Unique domain id for which this set of attributes will be applied. + * @param attributesWorkflow Workflow name for which this set of attributes will be applied. + * @param body @return AdminWorkflowAttributesUpdateResponse */ func (a *AdminServiceApiService) UpdateWorkflowAttributes(ctx context.Context, attributesProject string, attributesDomain string, attributesWorkflow string, body AdminWorkflowAttributesUpdateRequest) (AdminWorkflowAttributesUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowAttributesUpdateResponse ) @@ -12205,52 +12205,52 @@ func (a *AdminServiceApiService) UpdateWorkflowAttributes(ctx context.Context, a if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowAttributesUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param attributesOrg Optional, org key applied to the attributes. - - @param attributesProject Unique project id for which this set of attributes will be applied. - - @param attributesDomain Unique domain id for which this set of attributes will be applied. - - @param attributesWorkflow Workflow name for which this set of attributes will be applied. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param attributesOrg Optional, org key applied to the attributes. + * @param attributesProject Unique project id for which this set of attributes will be applied. + * @param attributesDomain Unique domain id for which this set of attributes will be applied. + * @param attributesWorkflow Workflow name for which this set of attributes will be applied. + * @param body @return AdminWorkflowAttributesUpdateResponse */ func (a *AdminServiceApiService) UpdateWorkflowAttributes2(ctx context.Context, attributesOrg string, attributesProject string, attributesDomain string, attributesWorkflow string, body AdminWorkflowAttributesUpdateRequest) (AdminWorkflowAttributesUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowAttributesUpdateResponse ) @@ -12302,29 +12302,29 @@ func (a *AdminServiceApiService) UpdateWorkflowAttributes2(ctx context.Context, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowAttributesUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go index bbcb4f1c9a..c7eff0aded 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go @@ -11,11 +11,11 @@ package flyteadmin // Request to launch an execution with the given project, domain and optionally-assigned name. type AdminExecutionCreateRequest struct { - Project string `json:"project,omitempty"` - Domain string `json:"domain,omitempty"` - Name string `json:"name,omitempty"` - Spec *AdminExecutionSpec `json:"spec,omitempty"` - Inputs *CoreLiteralMap `json:"inputs,omitempty"` + Project string `json:"project,omitempty"` + Domain string `json:"domain,omitempty"` + Name string `json:"name,omitempty"` + Spec *AdminExecutionSpec `json:"spec,omitempty"` + Inputs *CoreLiteralMap `json:"inputs,omitempty"` // Optional, org key applied to the resource. Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go index 59dde4b013..a9381abc9b 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go @@ -12,10 +12,10 @@ package flyteadmin // Represents a custom set of attributes applied for either a domain (and optional org); a domain and project (and optional org); or domain, project and workflow name (and optional org). These are used to override system level defaults for kubernetes cluster resource management, default execution values, and more all across different levels of specificity. type AdminMatchableAttributesConfiguration struct { Attributes *AdminMatchingAttributes `json:"attributes,omitempty"` - Domain string `json:"domain,omitempty"` - Project string `json:"project,omitempty"` - Workflow string `json:"workflow,omitempty"` - LaunchPlan string `json:"launch_plan,omitempty"` + Domain string `json:"domain,omitempty"` + Project string `json:"project,omitempty"` + Workflow string `json:"workflow,omitempty"` + LaunchPlan string `json:"launch_plan,omitempty"` // Optional, org key applied to the resource. Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go index 6cf6c21ef4..ac55ee330b 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go @@ -15,7 +15,7 @@ type AdminNamedEntityIdentifier struct { Project string `json:"project,omitempty"` // Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. Domain string `json:"domain,omitempty"` - Name string `json:"name,omitempty"` + Name string `json:"name,omitempty"` // Optional, org key applied to the resource. Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go index 9e8bfb1d68..fafa42e708 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go @@ -14,12 +14,12 @@ type AdminProject struct { // Globally unique project name. Id string `json:"id,omitempty"` // Display name. - Name string `json:"name,omitempty"` - Domains []AdminDomain `json:"domains,omitempty"` - Description string `json:"description,omitempty"` + Name string `json:"name,omitempty"` + Domains []AdminDomain `json:"domains,omitempty"` + Description string `json:"description,omitempty"` // Leverage Labels from flyteidl.admin.common.proto to tag projects with ownership information. - Labels *AdminLabels `json:"labels,omitempty"` - State *ProjectProjectState `json:"state,omitempty"` + Labels *AdminLabels `json:"labels,omitempty"` + State *ProjectProjectState `json:"state,omitempty"` // Optional, org key applied to the resource. Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go index d12a58bb99..7772a1b781 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go @@ -11,7 +11,7 @@ package flyteadmin type AdminProjectAttributes struct { // Unique project id for which this set of attributes will be applied. - Project string `json:"project,omitempty"` + Project string `json:"project,omitempty"` MatchingAttributes *AdminMatchingAttributes `json:"matching_attributes,omitempty"` // Optional, org key applied to the project. Org string `json:"org,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go index 6d444fb2c2..c94bdf8d78 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go @@ -10,7 +10,7 @@ package flyteadmin type AdminProjectAttributesDeleteRequest struct { - Project string `json:"project,omitempty"` + Project string `json:"project,omitempty"` ResourceType *AdminMatchableResource `json:"resource_type,omitempty"` // Optional, org key applied to the project. Org string `json:"org,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go index 66b4f292b5..7f25ab536c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go @@ -13,7 +13,7 @@ type AdminProjectDomainAttributes struct { // Unique project id for which this set of attributes will be applied. Project string `json:"project,omitempty"` // Unique domain id for which this set of attributes will be applied. - Domain string `json:"domain,omitempty"` + Domain string `json:"domain,omitempty"` MatchingAttributes *AdminMatchingAttributes `json:"matching_attributes,omitempty"` // Optional, org key applied to the attributes. Org string `json:"org,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go index 1fe2b26dd3..6431b0ffc9 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go @@ -10,8 +10,8 @@ package flyteadmin type AdminProjectDomainAttributesDeleteRequest struct { - Project string `json:"project,omitempty"` - Domain string `json:"domain,omitempty"` + Project string `json:"project,omitempty"` + Domain string `json:"domain,omitempty"` ResourceType *AdminMatchableResource `json:"resource_type,omitempty"` // Optional, org key applied to the attributes. Org string `json:"org,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go index ac58d13889..f8fdf30748 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go @@ -15,7 +15,7 @@ type AdminWorkflowAttributes struct { // Unique domain id for which this set of attributes will be applied. Domain string `json:"domain,omitempty"` // Workflow name for which this set of attributes will be applied. - Workflow string `json:"workflow,omitempty"` + Workflow string `json:"workflow,omitempty"` MatchingAttributes *AdminMatchingAttributes `json:"matching_attributes,omitempty"` // Optional, org key applied to the attributes. Org string `json:"org,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go index 0a25a0afd5..26df12fc94 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go @@ -10,9 +10,9 @@ package flyteadmin type AdminWorkflowAttributesDeleteRequest struct { - Project string `json:"project,omitempty"` - Domain string `json:"domain,omitempty"` - Workflow string `json:"workflow,omitempty"` + Project string `json:"project,omitempty"` + Domain string `json:"domain,omitempty"` + Workflow string `json:"workflow,omitempty"` ResourceType *AdminMatchableResource `json:"resource_type,omitempty"` // Optional, org key applied to the attributes. Org string `json:"org,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_artifact_binding_data.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_artifact_binding_data.go index fe0083167e..e9df809c3b 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_artifact_binding_data.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_artifact_binding_data.go @@ -12,5 +12,6 @@ package flyteadmin type CoreArtifactBindingData struct { Index int64 `json:"index,omitempty"` PartitionKey string `json:"partition_key,omitempty"` + BindToTimePartition bool `json:"bind_to_time_partition,omitempty"` Transform string `json:"transform,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_artifact_id.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_artifact_id.go index 13c054e25a..701466b9c3 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_artifact_id.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_artifact_id.go @@ -12,5 +12,8 @@ package flyteadmin type CoreArtifactId struct { ArtifactKey *CoreArtifactKey `json:"artifact_key,omitempty"` Version string `json:"version,omitempty"` + // Think of a partition as a tag on an Artifact, except it's a key-value pair. Different partitions naturally have different versions (execution ids). Partitions *CorePartitions `json:"partitions,omitempty"` + // There is no such thing as an empty time partition - if it's not set, then there is no time partition. + TimePartition *CoreTimePartition `json:"time_partition,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_cache_status.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_cache_status.go index 62eb9ba85a..855a733fbc 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_cache_status.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_cache_status.go @@ -8,18 +8,17 @@ */ package flyteadmin - // CoreCatalogCacheStatus : - CACHE_DISABLED: Used to indicate that caching was disabled - CACHE_MISS: Used to indicate that the cache lookup resulted in no matches - CACHE_HIT: used to indicate that the associated artifact was a result of a previous execution - CACHE_POPULATED: used to indicate that the resultant artifact was added to the cache - CACHE_LOOKUP_FAILURE: Used to indicate that cache lookup failed because of an error - CACHE_PUT_FAILURE: Used to indicate that cache lookup failed because of an error - CACHE_SKIPPED: Used to indicate the cache lookup was skipped - CACHE_EVICTED: Used to indicate that the cache was evicted type CoreCatalogCacheStatus string // List of coreCatalogCacheStatus const ( - CoreCatalogCacheStatusDISABLED CoreCatalogCacheStatus = "CACHE_DISABLED" - CoreCatalogCacheStatusMISS CoreCatalogCacheStatus = "CACHE_MISS" - CoreCatalogCacheStatusHIT CoreCatalogCacheStatus = "CACHE_HIT" - CoreCatalogCacheStatusPOPULATED CoreCatalogCacheStatus = "CACHE_POPULATED" + CoreCatalogCacheStatusDISABLED CoreCatalogCacheStatus = "CACHE_DISABLED" + CoreCatalogCacheStatusMISS CoreCatalogCacheStatus = "CACHE_MISS" + CoreCatalogCacheStatusHIT CoreCatalogCacheStatus = "CACHE_HIT" + CoreCatalogCacheStatusPOPULATED CoreCatalogCacheStatus = "CACHE_POPULATED" CoreCatalogCacheStatusLOOKUP_FAILURE CoreCatalogCacheStatus = "CACHE_LOOKUP_FAILURE" - CoreCatalogCacheStatusPUT_FAILURE CoreCatalogCacheStatus = "CACHE_PUT_FAILURE" - CoreCatalogCacheStatusSKIPPED CoreCatalogCacheStatus = "CACHE_SKIPPED" - CoreCatalogCacheStatusEVICTED CoreCatalogCacheStatus = "CACHE_EVICTED" + CoreCatalogCacheStatusPUT_FAILURE CoreCatalogCacheStatus = "CACHE_PUT_FAILURE" + CoreCatalogCacheStatusSKIPPED CoreCatalogCacheStatus = "CACHE_SKIPPED" + CoreCatalogCacheStatusEVICTED CoreCatalogCacheStatus = "CACHE_EVICTED" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_label_value.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_label_value.go index 772c27188e..12e4783cfd 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_label_value.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_label_value.go @@ -9,8 +9,13 @@ package flyteadmin +import ( + "time" +) + type CoreLabelValue struct { StaticValue string `json:"static_value,omitempty"` + TimeValue time.Time `json:"time_value,omitempty"` TriggeredBinding *CoreArtifactBindingData `json:"triggered_binding,omitempty"` InputBinding *CoreInputBindingData `json:"input_binding,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_time_partition.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_time_partition.go new file mode 100644 index 0000000000..ea4002a6f0 --- /dev/null +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_time_partition.go @@ -0,0 +1,14 @@ +/* + * 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 + +type CoreTimePartition struct { + Value *CoreLabelValue `json:"value,omitempty"` +} diff --git a/flyteidl/gen/pb-go/flyteidl/service/openapi.go b/flyteidl/gen/pb-go/flyteidl/service/openapi.go index 22404a1679..224f5b0225 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/openapi.go +++ b/flyteidl/gen/pb-go/flyteidl/service/openapi.go @@ -1,6 +1,6 @@ // Code generated by go-bindata. (@generated) DO NOT EDIT. -//Package service generated by go-bindata.// sources: + //Package service generated by go-bindata.// sources: // ../service/admin.swagger.json package service @@ -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\xfd\x73\xe3\xb8\x95\x2f\x8c\xff\xbe\x7f\x05\xaa\xf7\x5b\xd5\x99\xc4\x76\x4f\x32\xb9\xfb\x4d\x79\xeb\xd6\xf3\x68\x6c\x75\x8f\xee\xb8\x6d\x8f\x2d\xcf\x64\xea\x7a\x4b\x03\x91\x90\x84\x98\x02\x34\x00\x68\xb7\x92\xca\xff\xfe\x14\x0e\x00\x12\xa4\x48\x89\x7a\x35\xe5\xc6\x6c\xd5\xc6\x2d\x92\x78\x39\x00\x0e\xce\xeb\xe7\xfc\xeb\x3f\x10\x7a\x27\x5f\xf0\x78\x4c\xc4\xbb\x73\xf4\xee\x2f\x67\xdf\xbe\x3b\xd1\xbf\x51\x36\xe2\xef\xce\x91\x7e\x8e\xd0\x3b\x45\x55\x42\xf4\xf3\x51\x32\x57\x84\xc6\xc9\x07\x49\xc4\x33\x8d\xc8\x07\x1c\x4f\x29\x3b\x9b\x09\xae\x38\x7c\x88\xd0\xbb\x67\x22\x24\xe5\x4c\xbf\x6e\xff\x44\x8c\x2b\x24\x89\x7a\xf7\x1f\x08\xfd\x1b\x9a\x97\xd1\x84\x4c\x89\x7c\x77\x8e\xfe\xaf\xf9\x68\xa2\xd4\xcc\x35\xa0\xff\x96\xfa\xdd\xff\x81\x77\x23\xce\x64\x5a\x78\x19\xcf\x66\x09\x8d\xb0\xa2\x9c\x7d\xf8\x87\xe4\x2c\x7f\x77\x26\x78\x9c\x46\x0d\xdf\xc5\x6a\x22\xf3\x39\x7e\xc0\x33\xfa\xe1\xf9\xcf\x1f\x70\xa4\xe8\x33\x19\x24\x38\x65\xd1\x64\x30\x4b\x30\x93\x1f\xb8\x18\x7f\xf8\x17\x8d\xcf\xb8\x18\xff\x1b\xfe\x98\x09\xfe\x0f\x12\x29\xf3\x8f\x98\x4f\x31\x65\xe6\x6f\x86\xa7\xe4\xdf\x59\xa3\x08\xbd\x1b\x13\xe5\xfd\x53\x4f\x3d\x9d\x4e\xb1\x98\x6b\xf2\x7c\x24\x2a\x9a\x20\x35\x21\xc8\x74\x8a\x1c\xbd\xf8\x08\x61\x74\x2e\xc8\xe8\xfc\x37\x41\x46\x03\x47\xf5\x33\x43\xed\x2b\x18\xda\x6d\x82\xd9\x6f\x67\x96\x66\xd0\x32\x9f\x11\x01\x13\xed\xc5\xba\xf5\x4f\x44\x75\xa0\xd9\xfc\xfd\xbf\xf8\xaf\x0b\x22\x67\x9c\x49\x22\x0b\xe3\x43\xe8\xdd\x5f\xbe\xfd\xb6\xf4\x13\x42\xef\x62\x22\x23\x41\x67\xca\xae\x6c\x07\xc9\x34\x8a\x88\x94\xa3\x34\x41\xae\x25\x7f\x34\x66\xae\x7a\x99\xf1\x42\x63\x08\xbd\xfb\xff\x09\x32\xd2\xed\xfc\xe7\x87\x98\x8c\x28\xa3\xba\x5d\x69\x76\x53\x3e\xdc\x77\x85\xaf\xfe\xfd\x1f\x55\x7f\xff\xdb\x9b\xd1\x0c\x0b\x3c\x25\x8a\x88\x7c\xfd\xcd\x7f\xa5\xb9\xe8\x45\xd2\x9d\x9b\x15\x2d\x0f\xba\x34\xd3\x1b\xf8\x0b\x27\x27\x88\x8b\x31\x7a\x22\x73\x04\x5b\x8a\xc4\x48\x71\x58\x3b\x41\x24\x4f\x45\xb4\x38\x7b\x0a\xdf\xeb\x6d\x56\x7e\x22\xc8\xef\x29\x15\x44\x2f\x93\x12\x29\x29\x3d\x55\xf3\x19\x0c\x4f\x2a\x41\xd9\xd8\x27\xc2\xbf\x4f\x1a\x4d\xca\xee\xce\x15\x13\xbb\xc6\x53\xa2\x77\x9a\x9e\x83\xfd\xa2\x30\x1f\x34\x24\x09\x67\x63\x89\x14\x6f\xcf\xd4\xcc\x59\x5b\x63\x66\xe6\x83\xda\x89\x3d\xb2\x8e\x7b\x25\xc2\x0c\x0d\x09\xd2\xec\x86\xc6\x44\x90\x18\x61\x89\x30\x92\xe9\x50\x12\x85\x5e\xa8\x9a\x50\xa6\xff\x3d\x23\x11\x1d\xd1\xc8\xd1\xac\x3d\xb4\x81\x3f\x97\x53\xe6\x41\x12\xa1\x07\xfe\x4c\x63\x12\xa3\x67\x9c\xa4\x04\x8d\xb8\x28\xee\xe3\x47\xd6\x9f\x68\x3a\x4c\x87\x94\x01\x3f\xd1\xb4\x74\x3b\xe4\x4f\x8e\x5c\x7f\x42\xba\x3f\x94\x32\xfa\x7b\x4a\x92\x39\xa2\x31\x61\x8a\x8e\x28\x91\xe5\xd6\xfe\xc4\xed\x11\x42\xa7\x48\xd3\x99\x08\x05\xf4\xe6\x4c\x91\x2f\x4a\xa2\x53\x94\xd0\x27\x82\xde\x5f\x51\xa9\x50\xe7\xb6\xf7\xfe\x04\xbd\x37\x4c\x00\x01\xfb\x7d\x7f\x00\x0a\x67\x7f\xff\x8f\xc7\x4f\x14\x1e\x97\x39\xc9\xbb\x8e\x66\x51\xf7\xe6\xf6\xcb\x5b\xf8\x9f\xff\xf0\xdb\xb1\xeb\xb5\xfa\x4a\x31\xf7\x49\x7e\x99\xd8\x9b\xa4\xe9\xfd\x01\x04\x2b\x5e\x1d\x52\xaf\xd5\xb6\x37\x87\x6e\xb7\x7c\x75\xc8\x23\xbb\x3b\xf4\x1c\xf6\x7d\x7f\xbc\xbd\xcb\x63\x9b\x9b\x03\x2b\x38\xd2\x98\x32\xc3\x01\x32\x86\x20\xa4\x66\x02\x6e\xd8\x2d\x99\xe9\x36\x17\x89\x37\x33\xef\x2e\x71\x57\x84\x47\x95\x16\xce\x3b\xa1\x53\xba\x6a\x7d\x7b\x2c\xd6\x22\xb3\xe5\xe4\x2c\x9d\x0e\x89\xd0\x64\x70\x9b\x15\x66\x3b\xd4\x9b\x57\xa5\x82\x91\xb8\xc1\x34\x7f\x4f\x89\x98\x2f\x99\xe7\x08\x27\xb2\x6e\xa2\x94\x29\xa2\xf5\x93\xd2\xe3\x11\x17\x53\xac\xec\x0b\xff\xf5\xd7\x75\x09\xa1\xf8\x13\x59\xb5\xfe\x3d\xb3\x9a\x11\x96\xb0\x0d\xa6\x69\xa2\xe8\x2c\x21\x68\x86\xc7\x44\x5a\x8a\xa4\x89\x92\x27\xf0\x9a\xd6\x89\x88\x38\xcd\xae\x57\xe8\xc1\x89\x15\xa9\x34\x87\x7e\x94\xc9\xfc\x8c\x7c\x51\xd0\xd2\x23\x03\xc1\x02\x48\xe4\x5f\x97\x7b\x20\xe5\x66\x7b\x46\x72\xa1\x06\xc3\xf9\xd9\x13\x59\xe8\xb7\x76\xe7\x60\x86\xb0\x52\x82\x0e\x53\x45\xf4\xbc\x75\x1b\x8e\xe3\x01\xc3\x37\xd2\x47\x13\xd6\xf0\x7a\x13\x8e\xa9\x20\x11\xcc\x6d\x9d\x03\x93\x7d\xa5\xe7\xad\xf9\xfd\xdc\xcc\x5e\xb3\x7f\x2d\x6c\x55\x50\x20\x5b\xf2\x47\xf6\xc8\xd0\x29\xba\xec\xde\x5f\x74\xaf\x2f\x7b\xd7\x9f\xce\xd1\xf7\x73\x14\x93\x11\x4e\x13\x75\x82\x46\x94\x24\xb1\x44\x58\x10\x68\x92\xc4\x5a\xa0\xd2\x83\x21\x2c\xa6\x6c\x8c\xb8\x88\x89\xd8\x1f\x19\x4b\x4f\x09\x4b\xa7\xa5\x9b\x12\x7e\xcf\x47\x5f\xfa\x42\xcb\x4f\xd9\xa3\xc2\x93\xff\x59\x20\x30\xcc\x58\xf7\xed\xb5\xf6\xaa\x12\xdb\x11\xeb\xfd\xc7\x25\xba\x1d\x40\xed\x0f\x1a\x72\xd0\x90\xab\x29\x13\x34\xe4\xad\x28\xbc\x7f\x95\x68\xc7\xd2\xc0\xe1\xaf\x91\xe3\x50\xf7\x8f\xeb\xca\x38\x84\xb6\x1f\x74\xe3\xa0\x1b\x07\xdd\x38\xe8\xc6\x45\x52\x05\xdd\x38\xe8\xc6\xad\xd3\x8d\x1b\x2c\x63\x10\xd4\x7c\x41\x2d\x9a\xd0\x24\x16\x84\x7d\x50\x58\x3e\x0d\xc8\x17\x12\xa5\x46\xce\x00\x37\x4d\xf1\xc7\x81\x56\x24\x78\x4c\x8a\xbf\x14\xfe\x61\xfc\x3a\x6b\x7f\x96\x4b\x86\x6b\x7f\x9a\xd9\x22\xd6\xfe\x12\x2c\x17\xcd\xbe\x83\x5f\x68\x5c\xf9\x36\xfc\xb2\x62\x0e\xee\x9d\x25\x83\x75\xaf\xd4\x8e\xca\xbd\x60\x05\xe0\xca\x77\x04\x51\x62\x3e\xc0\x4a\x91\xe9\x4c\xad\x69\x95\xc1\x28\xd1\x62\xf6\x32\xb1\xfa\x9a\xc7\xa4\xeb\xfa\xfb\x0d\x19\xe9\x9e\xc4\x68\x38\xb7\xc7\x62\x44\x04\x61\x11\xa9\x6f\xa1\x8f\xe5\x53\xde\xc2\x2a\xd9\xbc\xd0\x9f\xfc\xc8\x85\xfe\xfc\x28\xdc\x71\x85\x91\x1f\x42\x46\xdf\xe4\xa4\xbe\x31\x17\xde\xa6\x5c\xe7\xcd\xd9\xc2\x36\xe4\xa1\xc1\x72\xb6\x3d\x25\x9b\xda\xd9\xb8\x40\x72\x2e\x15\x99\xae\xb4\xb8\x1d\x0f\x21\xec\x25\xd9\xd6\x01\x97\xee\xe9\xaf\xe0\xd4\x17\xa5\x8e\x70\xbc\xd7\x20\xd9\xae\xec\xe5\x6d\x9f\xa7\x0b\x59\x5e\x3e\xd5\x7b\xb7\x7c\x9e\xbb\xee\x28\xa6\x59\x90\x87\x77\x3d\xc8\x3d\x59\xa0\x6a\xd7\xca\x51\x7b\x00\x03\x58\x61\x7b\x28\x7a\x5c\xb2\xf3\xa7\x3f\xf5\x8d\x76\xc6\x42\xab\x26\x54\x7a\xf6\x4b\x14\x71\x61\xc4\xe1\xd8\x9e\x77\x63\x7e\xe8\xf4\x3b\xf7\xdd\xfe\x39\xea\xa0\x18\x2b\xac\x0f\xb8\x20\x33\x41\x24\x61\x0a\x4c\x3b\xfa\x7b\x35\x47\x53\x1e\x93\xc4\x18\x21\x3e\x6a\xe9\x1f\x5d\x62\x85\x2f\xb0\xc2\x09\x1f\x9f\xa1\x0e\xfc\x53\x7f\x4c\x25\xc2\x89\xe4\x08\xbb\x6d\x45\x62\xd7\x04\x66\xb1\x63\x2d\x18\x45\x7c\x3a\xa3\x49\xe6\x6d\xca\xec\x6d\x94\xc5\xf4\x99\xc6\x29\x4e\x10\x1f\x6a\xae\x22\xcf\x1e\x59\xf7\x99\x30\x95\xe2\x24\x99\x23\x9c\x24\xc8\x76\xeb\x5e\x40\x72\xc2\xd3\x24\xd6\xed\xba\x51\x4a\x3a\xa5\x09\x16\x5a\xa6\x35\xa3\xbd\xb1\x6d\xa1\xfe\x84\x64\x63\x85\x71\x69\x6a\x4e\xf1\x13\x91\x88\x2a\x34\xe3\x52\xd2\x61\x92\x9f\xf9\x87\x1e\x82\x71\x5f\x5c\xf5\xc0\xc4\x13\x29\xc4\x0d\x0f\x75\x9d\x5b\x93\x9e\xeb\x71\x8a\x19\x23\xd0\x31\x57\x13\x22\x6c\xf7\xf6\xe5\xd7\xb6\xd6\x3c\x5c\xdf\xdf\x76\x2f\x7a\x1f\x7b\xdd\xcb\x45\x73\x4d\xbf\x73\xff\xe3\xe2\xaf\xbf\xdc\xdc\xfd\xf8\xf1\xea\xe6\x97\xc5\x27\x57\x9d\x87\xeb\x8b\x1f\x06\xb7\x57\x9d\xeb\xc5\x87\x76\x5b\x35\xb6\xfc\xf8\x23\xdb\xd9\xd9\x3a\x3a\xa3\x50\x30\xea\xaf\xb1\xec\xbb\x36\xea\x9f\xbc\x5d\xab\xfe\x88\x26\x60\x74\x68\x6c\xd1\xcf\xac\x46\xf6\x4b\x34\xc3\x52\x1a\x39\xd0\x8c\xe0\xec\x91\x7d\xe6\x42\xb3\xeb\x11\xd7\x1c\x51\xcb\x8a\x4a\xa4\x91\xa2\x6c\x9c\x7d\x74\x8e\x1e\xd3\x6f\xbf\xfd\x2e\xba\xa2\xec\x09\xfe\x22\x6d\x24\x4e\x70\x79\x04\x97\x47\xeb\x5c\x1e\xff\x51\xf1\xe9\xfe\xdd\x03\xc1\xc6\x1f\x6c\xfc\xfb\xb3\xf1\x07\x13\xbf\x37\x86\x60\xdf\xde\x96\x10\xc1\x00\x16\xec\xdb\xdb\x13\x22\xd8\xb7\x5b\x3a\xe3\x70\xbc\x83\x7d\x3b\xd8\xb7\x83\x7d\x3b\xd8\xb7\x83\x7d\x3b\xd8\xb7\xbf\x1a\xfb\x76\x0b\x43\x9e\x82\x91\x3f\x18\xf9\x83\x91\x3f\x18\xf9\x83\x91\x3f\x18\xf9\x8f\xc7\xc8\xaf\xa5\xdd\x0f\xe5\xd0\xff\x3d\x81\xfe\x69\xe1\x92\xcd\x52\x05\xa2\x24\x4f\x95\xfe\x53\xf7\x0f\x7b\x65\x09\x04\x40\x33\x83\xf2\x27\xa2\xb2\x17\xb5\x68\x7b\x14\xb1\xe2\xbf\x70\xf1\x34\x4a\xf8\x4b\x36\xf2\x4f\x44\xe9\xc1\xdf\xd9\x5e\x02\x18\x60\x00\x03\x44\x01\xea\x60\xd7\x50\x07\xad\x32\x51\x1f\x94\xbf\x1f\x35\x4b\x0f\x1c\x3d\x30\xbf\xc0\xfc\xea\x68\x73\x94\xcc\xaf\xd9\xd4\x8e\xce\x7a\xb3\x7f\x9e\x5e\xb4\x77\xe5\x82\x7b\x45\x4a\x6e\x7d\x34\x4e\x6d\xb0\x4d\x4d\x2c\x8d\x17\x2a\x73\x90\x6b\xa2\x18\x90\xb2\xe2\xaa\x28\xbc\x7c\x34\x1a\x40\x61\xd4\x87\xbf\x2b\xde\x78\x5e\xe8\xd7\x12\x16\x13\xa2\x5e\x36\x24\xd4\x1b\xbe\x34\x0f\x17\xb3\x72\xf8\xdb\xee\xab\xbd\xd3\xc2\x95\x66\xff\x0b\x0c\x3f\x30\xfc\xc0\xf0\x5f\x89\xe1\x6f\x40\xf7\xa0\xc2\x2d\x5c\x6a\x95\xb0\x4b\x4d\x71\x96\xd6\x49\xba\x58\x23\xcb\xa2\x71\x5a\xc5\x8a\x3c\x8a\xca\xc4\x89\xaa\x4c\x89\xc5\xd4\x88\xca\x5c\x88\xed\x92\x1f\x36\xbd\xab\x9b\xa7\x33\x7c\x22\xaa\xf0\xf2\xd1\xe8\x9f\x85\x51\x1f\xfe\xb2\x7e\xf5\xb0\x9d\xd7\xe2\xd3\x5f\x5f\xea\x46\xc8\xd5\xd8\x23\xe9\xde\xba\x58\xd3\xde\x6c\x8c\xaf\x20\xfd\x22\xe4\x5b\xac\x45\xa3\xb7\x95\x60\xf1\x56\x33\x2a\x8e\x33\x85\x22\xe4\x4c\x84\x9c\x89\x9d\xaa\xbc\xa5\xa7\x5f\x55\xce\xc4\x31\x27\x49\x1c\xde\x3c\x11\x4c\x0e\xed\x37\x39\x04\x8b\x83\xfd\x2f\x68\xdf\x6b\xcf\x3c\x88\xf6\x41\xfb\x6e\x32\xf3\xa0\x7d\x07\xed\xbb\x85\x47\x34\x68\xdf\x41\xfb\x0e\xda\x77\xd0\xbe\x83\xf6\x8d\x82\xf6\xed\x35\xf4\x5a\xa9\xb5\x6d\x70\x6e\x1e\x95\xcd\x21\x9f\xfa\xc0\x1d\xf0\xc5\x74\xd4\x02\xdb\x6d\x92\xa1\x0a\x7f\x39\xa5\x7e\x5d\xc4\xc4\x5a\x2d\xfd\x32\x1f\x6c\x17\x98\xe4\x6f\x96\x55\xac\x50\xd8\x17\xbe\x3b\x8a\x18\x81\x85\x51\x87\xb4\xd4\x4d\x45\x9e\x57\x12\x1a\xf6\x44\x81\x23\xb9\xbe\xd6\x5f\xa8\x37\xac\x4b\x06\x1d\x72\xfb\x14\xba\xa3\xd1\x1d\x8f\x47\x67\x3c\xbc\x6c\xf1\x16\xc5\x89\x20\x4d\x78\x63\x08\x17\x6f\xb8\x78\xc3\xc5\x1b\x2e\xde\x70\xf1\x86\x0c\x7c\xfb\xfe\x5e\xe5\x89\x92\x30\xd1\x08\x4a\x6b\xe7\x35\x1c\x2a\x44\x09\xef\x06\x5e\x55\x91\xa1\xfc\x35\x25\xf2\xaf\x47\x29\x53\x1c\xa2\x28\x43\x10\x2a\x8e\x44\xa8\x78\x93\xb6\xa4\x20\x29\x05\x49\xa9\x9a\x32\x8d\x24\xa5\x47\xd6\x9f\x68\x3a\x4c\x87\x94\x65\xde\x3c\xb7\x43\xfe\xe4\xc8\xf5\x27\xa4\xfb\x43\x29\xa3\xbf\xa7\x24\x99\xe7\x3c\x49\x96\x5b\xcb\x90\x3d\xd1\x29\xd2\x74\x26\x42\x01\xbd\x39\x53\xe4\x8b\x92\xe8\x14\x25\xf4\x89\xa0\xf7\x9a\x31\xa3\xce\x6d\xef\xfd\x09\x7a\x7f\x05\x05\x86\xd0\x2c\xc1\x4c\xbe\x6f\x8d\xe3\x26\xc0\x2a\xef\x0b\x56\x39\xa0\x2a\x07\x54\xe5\xa6\x04\x0a\xa8\xca\x01\x55\xf9\x78\x51\x95\x77\xa6\x1f\x6e\x88\xcb\xf9\x2a\x9a\xe2\x71\xfa\xb2\x83\xa6\x88\x82\xa6\x18\x34\xc5\xa0\x29\x06\x4d\xf1\x48\x34\xc5\x76\x50\x38\xa8\x89\x41\x4d\x0c\x6a\xe2\x0e\x89\x13\xd4\xc4\xa0\x26\x06\x35\x71\x41\x4d\x3c\x5e\xcf\xe1\x77\x41\x1f\x0c\xfa\xa0\xff\xfb\xf1\xe9\x83\x41\x75\x0a\xaa\x53\x35\x65\x8e\x53\x75\x6a\x8d\xec\x73\x8c\x21\x45\x41\x29\x6c\x4e\x88\xa0\x14\x36\x26\x55\x50\x0a\x97\x10\x27\x28\x85\x41\x29\x0c\x4a\x61\x63\xa5\xf0\x98\xdc\x85\x41\x3b\x0c\xda\xa1\xff\x7b\xd0\x0e\x83\x76\x18\xb4\xc3\xe0\x58\x0b\xaa\x61\x50\x0d\x83\x6a\x18\x54\xc3\x55\xc4\x09\xaa\x61\x50\x0d\xbf\x2e\xd5\x90\x3c\x13\xa6\x24\x14\x43\xf4\x15\xa5\x77\x33\x2e\xeb\x15\x3c\x9f\x3b\x54\x28\x77\xd0\x66\xb1\x28\x21\xa0\xb6\xfd\x86\x26\x58\x22\x1e\x45\xa9\x28\x9d\x81\xb2\x7a\x77\x21\x08\x56\x04\x5a\xd0\x1f\x1e\x83\x5a\xb7\x38\xdd\x43\x01\x10\x0f\x79\xbc\xb0\xdb\xcd\x41\xa8\x7a\xb2\x5c\xcc\xda\xd9\xd4\x7f\x4f\x49\x33\xad\x76\x8f\x9b\x1a\xa2\xa1\xcd\x66\x5c\xac\x76\xf6\x62\x8b\xea\xef\x78\xd7\x2f\xd4\xea\xdf\x68\xe7\x67\xad\xe8\x8f\x8f\x22\x06\xba\x7a\xde\x87\x3a\x02\xd5\x8b\xfc\xc6\xc2\x6e\x5f\xfd\x9c\xd7\xad\x71\xcb\xce\x7a\x65\x71\xc3\x76\x5f\x70\x47\x71\xc4\x5f\xef\x86\xab\x5d\xd7\x70\xc2\xbf\xba\x9b\x7c\x86\x05\x61\x6a\xd0\xa4\xa0\xa9\xc2\xf2\x69\xc7\x67\xbe\x50\x68\x62\xa3\x33\x0f\x2d\x1c\xcd\x99\x5f\x9c\xef\x61\xcf\x7c\xe3\xd5\x0e\x9c\x60\xb7\x9c\xa0\x6a\xe1\xdb\xc0\x09\xda\x7d\xa6\xc3\x91\x86\xff\xc2\xa6\x5e\x6f\x53\x1f\x8f\x2e\x7a\x0c\x1b\xfc\x75\x55\xd1\x57\xdf\xe4\xed\xd4\xd2\xb2\x9a\x6f\x8d\xb7\x78\x5f\xd0\xf1\x98\x08\x63\x69\x8e\xf4\x56\xb4\xee\xcc\x25\xa0\xa7\x79\x95\xb3\x95\xdb\x3a\x7b\xf5\x18\xb6\x74\x36\x58\x33\xf6\xaf\x66\x2f\x2f\xcc\xbb\x25\x9b\xb8\x08\xb4\x20\x48\xc4\x9f\x89\x68\xbc\xb3\xef\x08\x6c\x67\x60\xde\x33\x41\x9e\x29\x4f\x65\x32\x3f\x15\x29\x43\xee\x26\x40\x59\x5f\x26\xca\xe6\x85\x26\x09\xe2\x2c\x99\x23\xa9\xb0\x50\xee\x31\x1b\xa3\x91\xe0\x53\x38\x22\x09\x96\x0a\x3d\x31\xfe\xc2\xd0\x08\xd3\x24\x15\x04\xcd\x38\x65\xea\xec\x91\xf5\x18\xba\x33\x63\x84\xaa\x28\x27\x28\x95\xfa\x60\x45\x98\x31\xae\x50\x34\xc1\x6c\x4c\x10\x66\x73\x5b\x5e\x30\xdf\x26\x88\x0b\x94\xce\x62\xac\x08\x74\x51\x82\x94\xcc\xc6\x08\x61\x07\x54\x22\x2a\x11\xf9\xa2\x04\x99\x92\x64\xae\xfb\xd0\x07\x41\x71\x64\xe9\x63\x86\x6a\x8b\x95\x11\x21\xb8\x90\x50\x4f\x65\x38\xff\x27\x66\x8a\x32\x82\xc0\x13\x22\x4d\x48\xc1\x29\xba\xe2\x12\xfc\xb2\x3f\xfe\x4d\xa2\x28\x49\xa5\x22\xe2\x04\x0d\xd3\xb1\x44\x94\xa1\x59\x82\xd5\x88\x8b\xa9\x1e\x21\x65\x52\xe1\x21\x4d\xa8\x9a\x9f\xa0\x29\x8e\x26\xa6\x2d\xa0\x81\x3c\x79\x64\x31\x7f\x61\x52\x09\x82\xb3\xde\xdd\x43\xf4\x07\xff\x99\xd9\x0d\xf2\x9b\x13\x28\xaa\x46\xa7\xb3\x64\xee\x0f\x3f\x5f\x7e\xb3\x26\xba\x11\x12\xa3\x21\x89\x70\x2a\x6d\x64\x94\x12\x73\x44\xbe\x4c\x70\x2a\x61\xed\xf4\xf4\x6c\x45\x9a\x88\x4f\x67\x09\x51\x04\xd1\x11\x52\x42\x6b\x1e\x78\x8c\xa9\x26\xdd\x3d\x21\x0d\x38\x9a\x5d\x40\x7b\x04\x7e\x03\xff\xda\x94\x0b\x82\x62\xa2\x30\x4d\x96\x46\xcb\xd9\x6f\xb3\xb6\x8e\x42\xf5\x7c\x25\x9e\x17\xd4\xc9\xbd\x32\xf2\xe2\x36\x6e\x1f\x27\x4f\x20\x78\x69\x07\x42\x0a\xb3\x51\x55\x11\x4e\xb6\x94\x57\xee\xec\xa0\xc2\xf1\x0d\xc7\xb7\x3c\x92\xc3\x1f\x5f\xb3\x17\x5b\x7a\x7e\x0f\x96\xd8\xdc\xac\x9c\xf2\x15\x95\x2a\x7b\xf3\x38\xb0\xac\xb2\xe1\x1e\x22\x2a\xfd\x4d\x1e\xd6\x10\xc4\x1d\x82\xb8\x6b\x29\x73\x9c\x41\xdc\xad\x09\x57\x0c\x01\xcf\x7b\x0a\x78\xa6\x32\x44\x3c\x87\x88\xe7\xa6\x04\x0a\x11\xcf\x21\xe2\xf9\x78\x23\x9e\xd7\xd4\x1d\x36\xcc\x7f\xad\x73\xcd\xad\xa3\x3f\x7c\x22\xea\x48\x95\xfe\xa0\x39\x04\xcd\x21\x68\x0e\x3b\xd7\x1c\xb8\x70\x1e\x8c\x16\x54\x2d\xdb\x15\x97\x76\x5f\xbf\x8b\x49\x42\x14\xa9\xb7\xb5\x12\x31\xd5\x0a\x91\x91\x40\x28\xd3\xa2\xea\x58\x10\x29\xb7\x65\xb3\x59\xc3\x47\xca\x6c\xb3\xf1\x07\x23\x6b\xe0\xbe\x35\x53\x0b\xdc\xf7\x8d\x71\xdf\xa3\x72\x1b\x78\x1c\xea\x50\x7e\x83\xec\x56\x99\xa5\xf5\x92\xfa\x83\x89\x6d\xc8\x83\x2d\xcc\x0e\xd7\xea\x96\xe2\xd9\xe1\xb6\xfb\x7c\xcb\x5b\xc6\xf4\x75\xa4\x57\x8c\x19\x7c\xb8\x5f\xc2\xfd\x52\x33\xb5\x70\xbf\x84\xfb\xe5\xf5\xee\x17\xc7\x9e\x5a\xe5\x94\xe6\x62\x5c\x30\x19\x2d\xbb\x88\x0e\x15\xec\x7a\x5c\xb7\xce\x61\x43\x47\xde\xde\x95\xd3\x9e\x03\xda\xb6\xf8\xdd\x10\xb2\x1b\x42\x76\x8f\x2a\x64\x37\xf0\xed\x23\xe0\x72\xad\x0b\x6e\x3d\x8e\x78\xd6\xb0\xb7\x8f\x62\x6f\xb7\x2d\xf2\xb3\xd5\xc1\x9e\x47\xb5\xa7\x0f\x14\xeb\x19\xcc\x1f\xc1\xfc\x51\x4d\x99\x10\x16\x19\xe0\x6d\x17\xa7\x15\xa2\x3d\x43\xb4\x67\x88\xf6\xdc\x25\x71\x42\xb4\x67\x88\xf6\xfc\x6a\xa3\x3d\x5b\x1e\xe0\x79\x54\x1a\x43\xd0\x16\x82\xb6\x10\x9c\xa5\x6b\x4e\xed\xe8\x64\xf4\x5d\x71\x66\xf7\x75\x8b\x22\x3c\x8f\x8a\xdb\xbe\x46\x80\x67\x60\xbf\x81\xfd\x56\x53\xe6\x28\xd9\x6f\x7b\x0c\xe9\x21\x16\x72\x21\x16\xf2\xa8\x98\xf1\xc1\x43\x21\x03\x27\x0e\x9c\xb8\x9a\x32\x81\x13\x1f\x7f\xd4\xa0\xf1\xaa\x0e\x66\x09\x66\x03\x1a\x7b\xa1\x83\x1f\xfe\x95\x1b\x2b\xf6\xe5\xd9\xd4\x47\x2b\x36\x55\x48\xb3\xaa\x9f\xe2\x37\xfd\x49\x92\x3b\x3a\x10\x1f\xea\x61\xac\xac\xc7\x6a\x7c\x23\xb7\x09\x66\xbd\xf8\x38\xc0\x6e\x2a\xa7\x7f\x08\x67\xe8\xdb\x0b\x35\xdc\xe6\x92\xc2\x0a\x9c\x6e\x98\x32\x63\x76\xcd\xab\xc9\x16\x8c\xca\xed\x98\xe8\x36\x57\x96\x37\x31\xef\xd6\x72\x97\x91\x47\x94\xf6\x4d\x3b\xf8\xe2\x42\xa9\xc9\xe0\x6d\x6a\x38\xe1\xe0\x6d\x6a\xaf\xb7\xa9\xc1\x32\xee\xc5\x85\x7c\xe0\xe3\x79\x50\x99\xf5\xa8\x25\xd5\x20\xa8\xa2\x20\xd6\x05\xb1\xae\x7e\xd6\x41\xac\x0b\x62\x5d\x10\xeb\x82\x58\x17\xc4\xba\xd7\x17\xeb\x1a\x4c\xf3\xab\x8d\x32\x58\x25\xaa\x36\x2f\x3d\x64\x72\x7c\x20\x15\x30\x9d\x25\x1c\xc7\xcb\x22\xbd\x72\x61\xf2\x37\x94\x0b\x6e\x4b\x24\x50\xd3\x7a\xfe\xd9\x31\x08\xa0\xf9\x68\xbf\xb2\xfc\xa7\xc5\x89\xb7\xc5\x5b\x50\x84\xaf\x6c\xe9\xde\x3e\x0a\x37\xc0\x6b\x6d\xee\x37\x09\x73\x13\x4e\x6c\xc3\x13\x7b\xb8\xfc\xc5\xea\x53\xbc\x86\x95\x44\xfe\xf5\xb8\x8e\x71\xa8\x5d\x11\x30\xaa\x2a\xa6\x16\xa2\x4d\x42\x92\x66\xc8\x66\x7c\x73\xa6\xb6\x90\xcd\x18\xb2\x19\x83\x21\x72\xf9\xb4\x83\x21\xf2\x4d\x64\x33\xae\xaf\x4c\x6c\x98\xdc\x78\x18\xb5\xe2\xc8\xac\x03\x41\xad\x08\x6a\x45\xc5\xd4\x82\x5a\xf1\x15\xaa\x15\xed\xa0\x70\xd0\x29\x82\x4e\x11\x74\x8a\xa0\x53\x04\x9d\x62\xe7\x64\x0c\x3a\x45\x03\x9d\x02\xfe\xb2\x10\xc3\x6b\x2b\x18\x6b\x2a\x16\x2b\x70\x54\x8e\xd6\xe7\x18\x34\x8a\xa0\x51\x04\x8d\xe2\xe0\x1a\x45\x6b\x26\x64\xd9\xe7\x8a\x39\xdd\xbb\x05\x29\x01\xba\xb7\x6f\x3e\x6e\x44\x03\x68\x69\x85\x30\x51\x54\xd0\xb2\x5d\xa7\x3f\xf5\x75\x14\x13\x4d\x0e\x62\x79\x1e\x6c\x8d\x22\x2e\x0c\x53\x8e\xed\x2e\x37\xf2\x44\xa7\xdf\xb9\xef\xf6\xcf\x51\x07\xc5\x58\x61\xbd\xad\x05\x99\x09\x22\x09\x53\x20\xab\x11\x88\xa3\x07\x58\xfd\xc4\x48\x15\x1f\xf5\xfd\x83\x2e\xb1\xc2\x17\x58\xe1\x84\x8f\xcf\x50\x07\xfe\xa9\x3f\xa6\x12\xe1\x44\x72\x84\x1d\xe9\x49\xec\x9a\xc0\x2c\x76\x07\x0a\x03\x5a\x3c\x4d\x32\xe5\x34\x53\x2f\x28\x8b\xe9\x33\x8d\x53\x9c\x64\xe9\x09\x8f\xac\xfb\x4c\x98\x4a\x71\x92\xcc\x11\x4e\x12\x64\xbb\x75\x2f\x38\x00\xfa\x21\xc9\x46\x29\xe9\x94\x26\x58\x68\x76\x6c\x46\x7b\x63\xdb\x42\x5a\x31\x76\x63\x85\x71\x69\x6a\x4e\xf1\x13\x91\x88\x2a\x34\xe3\x52\xd2\x61\x92\x1f\x80\x87\x1e\x82\x71\x5f\x5c\xf5\x40\x66\x8b\x14\xe2\x86\x73\xb8\xce\xad\x02\xe3\x7a\x9c\x62\xc6\x08\x74\xcc\xd5\x84\x08\xdb\xbd\x7d\xf9\xb5\xc5\xaf\x87\xeb\xfb\xdb\xee\x45\xef\x63\xaf\x7b\xb9\x28\x7f\xf5\x3b\xf7\x3f\x2e\xfe\xfa\xcb\xcd\xdd\x8f\x1f\xaf\x6e\x7e\x59\x7c\x72\xd5\x79\xb8\xbe\xf8\x61\x70\x7b\xd5\xb9\x5e\x7c\x68\xb7\x55\x63\x51\xce\x1f\xd9\x3e\x64\x39\xf7\x75\x03\x4c\x0f\x7b\xb8\x14\x56\xa9\x34\x35\x65\x04\x19\x53\xa9\x80\xfd\x37\x91\xc2\x56\x43\x79\x1c\xad\xf4\x15\x0a\x9b\x05\x59\x2c\xc8\x62\x41\x16\x3b\x36\x59\xec\x70\x26\x81\x23\x0a\x53\xfc\xee\xb8\xee\x9e\x50\x76\x21\x30\xe7\xf6\x33\xe7\xd6\xb9\xde\x5a\x63\x3a\x3f\x46\x48\xd7\xe0\x54\x6c\x4e\x88\xe0\x54\x6c\x4e\xab\xe0\x54\x5c\x42\x9c\xe0\x54\x0c\x4e\xc5\xaf\xd8\xa9\x78\x94\xb1\x89\x41\x95\x70\xef\x05\x55\x22\xa8\x12\x6f\x54\x95\x68\x0d\x85\x83\x1e\x11\xf4\x88\xa0\x47\x04\x3d\x62\x39\x71\x82\x1e\x11\xf4\x88\xa0\x47\x1c\x5b\x3c\xe2\x71\x69\x12\x41\x8b\x08\x5a\x44\xbb\xb5\x88\xd6\x4c\xe8\x78\xbc\xc5\xcd\xe6\x13\x22\xf7\x42\xe4\x5e\x88\xdc\xab\x8d\xdc\x7b\xa3\x9a\xfc\xae\xe4\x37\xf7\x75\xdb\x02\x12\x8f\x4b\xfc\x0a\xd5\xc5\xb2\xa7\x41\x18\x0b\xc2\xd8\x57\x2a\x8c\xb5\x08\x44\xb1\x15\x45\xd2\xa6\x58\x45\x13\x3c\x4c\xc8\x20\xb3\x65\xc9\xa6\xea\xfd\x15\x95\x4a\xa2\x28\x95\x8a\x4f\xeb\x2f\x97\xcf\xae\x87\x4e\xd6\xc1\x05\x67\x23\x3a\x4e\xcd\xdd\xf2\x1b\x6c\x7d\xef\x44\xe7\x02\xee\x7c\x46\x56\xf9\x15\x2b\x5a\x3f\x8a\x6b\xa9\x7a\xe8\x87\xba\x9d\xd6\xd1\x47\x72\xdb\xa5\x55\x26\xb4\x08\x39\xb8\xeb\xde\xdf\x3c\xdc\x5d\x74\xcf\x51\x07\x44\x2c\x70\x27\x98\xad\x40\xff\xa9\x27\x85\x14\x96\x4f\xf9\x5a\x0a\xb3\xcd\x25\xc8\xd9\xe0\xbf\xd0\x22\x3f\x3a\x45\x17\x57\x0f\xf7\xfd\xee\x5d\x4d\x83\x76\xa3\x40\xa9\x54\x32\x9d\x25\x58\x91\x18\x3d\xa5\x43\x22\x18\xd1\xd2\x4e\x94\xa4\x5a\xb8\xc9\xbd\x1a\xa6\xd1\xee\xdf\xbb\x17\x0f\xfd\xde\xcd\xf5\xe0\xa7\x87\xee\x43\xf7\x1c\xb9\x1d\xa7\x9b\xd5\xe3\xd2\xa3\x88\xe7\x0c\x4f\xb5\x62\xa5\x7f\xc8\x8b\xb3\xfe\x9e\x92\x94\x20\x2c\x25\x1d\xb3\x29\x61\xaa\xdc\xa2\x1b\xf0\x55\xe7\xfb\xee\x55\xb1\xe5\x09\x41\x3f\xfe\x2d\x1f\x54\x82\x87\x24\xb1\x6e\x16\xf0\x1c\xe8\x8d\x9e\x77\x64\xfd\x2f\xa9\xa1\xea\x4f\x0f\x9d\xab\x5e\xff\xd7\xc1\xcd\xc7\xc1\x7d\xf7\xee\xe7\xde\x45\x77\x60\x85\xe5\x8b\x8e\xee\xb7\xd0\x93\x95\xa9\xd1\xef\x29\x4e\xb4\xd2\xc5\x47\xe0\xb7\xa0\x11\x41\x2f\x13\xc2\x50\xca\x60\xc7\x19\x4d\x4e\xab\x77\x59\xa7\xfa\x94\x99\x19\xdd\x5e\x3d\x7c\xea\x5d\x0f\x6e\x7e\xee\xde\xdd\xf5\x2e\xbb\xe7\xe8\x9e\x24\xa0\xeb\x38\xa2\xc3\x2a\xce\x92\x74\x4c\x19\xa2\xd3\x59\x42\x34\x35\x8c\x2e\x37\x24\x13\xfc\x4c\xb9\xb0\x47\x77\x4c\x9f\x09\x33\x74\x84\x33\x0b\xed\x3b\x9d\x62\xe0\x91\xee\xe6\xfa\x63\xef\xd3\x39\xea\xc4\x71\x36\x07\x09\x6d\x14\x76\xce\x0b\x17\x4f\xa3\x84\xbf\x9c\x16\x87\xad\x99\x03\x74\x6f\x36\x11\x7f\x26\x42\xd0\x98\x94\xf6\x51\xe7\xfe\xbe\xf7\xe9\xfa\x73\xf7\xba\x0f\x14\x53\x82\x27\x12\x4d\xf8\x0b\x58\xe8\x61\x86\x60\xb8\x7f\xc6\x34\x81\xce\xdc\x62\x71\x86\x5e\x26\x14\xbc\x3a\x54\xfa\x04\x33\x6a\xa7\x48\xd9\xab\x1b\x9d\x0b\x07\x6f\x51\x1b\x2b\x9f\xa4\xc5\x37\x4a\xc7\x62\xd9\x0b\x85\x5d\xbe\xf8\xe2\xaa\xdd\xba\xf8\x45\x69\xbb\xd5\xeb\xa0\x0b\xfb\xa5\x7e\xa6\xf9\x5a\x37\x56\x41\x8b\x34\x5c\x53\x78\x58\x57\x03\x35\x3e\x30\x5f\x09\x05\x97\x9a\x13\xf3\x1d\x4f\x3c\x2e\x6d\xb4\xb1\x18\x91\x17\x5c\x3d\x72\x81\xe2\x38\x12\xef\x5e\x57\xa2\x38\xec\xd1\x38\xb4\xd6\x10\xe4\xa5\x20\x2f\x05\x79\x29\xc8\x4b\x41\x5e\xca\xfe\xdb\xb3\x3c\x41\x94\xa0\x91\xfc\x90\xed\xab\xfd\x82\xb2\x12\xa9\x37\xac\xa2\x53\x82\x6c\xcf\xf6\xa4\xd6\x0a\x21\x59\xa9\xfb\xa5\x16\xf3\x4f\x44\x65\x2f\x7e\x36\x0d\x1f\x85\x30\xf1\x8b\xe5\x28\xd9\xe0\x3f\x11\x65\xc7\x1f\x12\xfa\x43\x42\x7f\xcd\xd4\x82\x57\x60\x7b\xaf\x00\x17\x48\xce\xa5\x22\xd3\x23\xf1\x0f\xc4\x64\xb6\xd8\x61\x69\x62\xf0\x8e\x89\xef\x5a\x08\x47\x36\x9e\x73\x1b\x3b\x90\x90\x67\x92\x80\x20\xab\x04\x7e\x26\x42\x5a\xf1\x6c\x28\x08\x7e\xd2\x32\x6d\xcc\x5f\x7c\xe1\x2c\x26\x0a\xd3\x64\x1f\xfa\x73\x93\x70\xe5\xef\xfe\xf2\xaa\xf7\xe1\xf1\x5e\x81\xe1\x06\x0c\x2e\xe4\x70\x59\x7c\x85\x97\xc5\x31\x06\xf1\x84\x3b\xb0\x2d\x77\xa0\x26\x77\x3c\x70\xe1\x7c\x1f\xfe\x55\x30\xca\xfd\x7b\x5f\xfa\xe1\x1d\xe4\x47\xc9\x65\x17\xa1\xe6\x52\x71\x17\x96\xef\x37\x1b\x04\xb8\xe2\x46\xf4\xbe\x38\x0a\x7d\xd0\x1b\x6f\x9b\x5c\xd3\x77\xbe\x61\xdf\xdd\x13\x53\xa2\x70\x8c\x15\xd6\x47\x68\x4c\xd4\x19\xba\x61\xf0\xac\x8f\xe5\xd3\x09\x72\xf7\xba\xe6\x9d\x79\x28\x86\x9f\xa2\xb3\x27\x56\xd9\xd0\x66\xf5\xda\xc1\x9b\x6d\xe4\xe8\x41\x4b\xdf\xe5\xd4\x82\xe0\x15\xd2\xb1\xdb\x8c\x9b\xe7\xbe\x6e\x14\xed\xbc\xbb\x5b\xd9\xb4\x78\xc4\x17\xf3\x61\xe3\x9b\x77\x7a\x4d\xa7\x30\xf4\x70\x07\x9b\xff\xc2\x1d\x1c\xee\xe0\x70\x07\x2f\xa3\x4c\xb8\x83\x8f\x38\x00\xbe\xe2\xca\x7a\xd5\x08\xf8\x26\x66\x05\x63\x53\xc8\x0d\x0a\x6b\x02\xf5\xe6\x36\x84\x95\xf0\x5a\x15\x52\xcb\x4a\x6c\xad\xfc\x1b\x7a\x24\xc1\x6a\xde\x2c\x0f\x81\xaf\xb5\x53\x61\xc5\x20\xbc\x04\xab\xc2\x1e\x25\x9a\xb7\x27\xce\x6c\x23\xcb\x60\x05\x97\x0c\xa6\xcc\xdc\x49\x79\xb6\xb7\x3c\xc0\x0e\x5b\x73\xa2\xdb\x48\x36\xde\xc4\x3c\xe1\xc6\xc9\x2c\x1e\x51\x5a\xb2\xa8\x7b\x81\xe1\x7a\x1d\x3b\xfe\xeb\x43\x6f\x91\xb7\x8b\xbc\x15\xc0\xa5\xd6\x3a\x24\x01\x5c\xea\x10\xe0\x52\x0d\x96\x71\x2f\x88\x71\x07\x3e\x9e\xaf\xa9\x3a\x1c\x8f\x13\xf2\xc8\x74\x86\xa3\xd2\x17\x82\x0f\x72\xff\xf6\xcf\x60\x2a\x0c\xa6\xc2\x6a\xca\x04\x53\xe1\xd7\x15\xae\xb5\xab\xfb\xde\x7d\xfd\xda\x5e\xc8\x23\xbb\x99\x83\x13\x32\x5c\xc2\xe1\x12\x0e\x97\x70\xb8\x84\x77\x45\xe1\xe0\xaf\x5b\x53\xe9\x3e\x0a\x2f\xdd\x91\x5d\xeb\xc1\x49\x17\x6e\x7c\xf7\x71\x70\x69\xad\x9a\x67\x70\x69\x05\x97\x56\x70\x69\x05\x97\x56\x70\x69\x65\xbf\x07\x97\xd6\x41\x77\xeb\x57\x6b\xb6\xab\xd6\x18\x78\x4c\x06\x15\x48\x32\xd9\x4f\x03\x3f\x6d\xb0\xf0\x6b\xc1\x7d\x57\x78\xe2\xfb\xf2\x0a\x0f\xf2\x72\x39\xd0\x2f\x8d\xd7\xce\xc3\x5f\x66\x4e\xe4\x31\x69\x9c\x77\x5f\x78\xb9\xed\x71\x81\x6e\xa2\x46\xf5\xf0\x47\x7e\x80\x3c\xfb\xf2\x4e\x78\x63\xd1\x67\x35\xbb\xfa\x2d\x5a\xea\x2a\xce\x68\x30\xdb\xad\x24\xd4\x1b\x06\x1c\xb0\x4c\xf8\x00\xe3\x79\xd3\x77\xd8\x07\x8b\xfe\x38\x70\x60\x83\x3b\xbc\xd4\x2e\x4d\xd3\x9a\xe9\x3b\x1b\x8d\xf3\x20\xad\xba\xe2\x2a\x3e\x6d\xfb\x45\x07\x73\x5e\x32\xe5\x70\xdd\x85\xeb\x2e\x5c\x77\xe1\xba\x0b\xd7\x5d\xf9\xba\x73\x57\xcf\xa0\xe2\xd2\xab\x7e\x96\x5f\x7d\xd5\xcf\xb3\x0b\xb0\xfa\xf1\xfa\x28\x6a\x8d\x9c\x47\x8d\x75\x38\x70\x1b\xf9\x6f\x1f\x49\x76\x97\x3f\xe4\x43\xb8\x8e\x6a\x37\xc6\x1b\xbb\xd8\x96\x6e\xf2\x37\x77\xbd\x2d\x3b\xb2\xe1\x92\x6b\x48\xae\xb7\x7a\xd5\xed\xc5\x51\xb5\x5f\xc7\xc3\x01\x9d\x56\xaf\x65\x77\xde\x8b\x79\xfd\x33\x17\x04\x51\x36\xe2\x88\x43\xf8\x8e\x54\x22\x8d\x14\x65\xe3\xec\xa3\x73\xf4\x98\x7e\xfb\xed\x77\xd1\x15\x65\x4f\xf0\x17\x69\xa3\x51\x3e\xf8\xcc\x82\xcf\xec\x18\x7d\x66\x26\xd6\x6e\x30\xc3\x82\x30\x55\xa1\x5b\x94\xaf\x13\x78\xdd\xaf\x49\xed\xa4\x0e\x68\x00\x69\xd1\x1e\xd9\x0b\x39\xbb\xaa\xde\x58\x5e\x58\x49\x7b\x79\xc3\x6e\xa5\x96\xeb\x23\xed\xf1\x2a\xbd\x55\x29\x3d\x18\xa1\x82\x11\xaa\x3c\xcf\xc3\x19\xa1\x36\xa0\x7b\x88\x8d\x38\xfc\x55\x75\x3c\xde\xa3\x96\xdf\x67\x6d\x73\x1e\x85\x5b\x2d\xdc\x6a\xe1\x56\x6b\x01\xdd\xc3\xad\xb6\xf4\x56\xfb\x4a\xdc\x43\xc7\x70\x7b\xb5\xc4\x3b\xf4\x56\x6f\xae\xe0\x35\xd9\x01\xb9\xde\xea\x2d\xf6\x5a\x8e\xd2\xc3\xdb\x9e\x83\x7f\x28\xf8\x87\x82\x7f\x28\xf8\x87\x82\x7f\xc8\xff\x3d\xf8\x87\x96\xd1\xfd\x60\xea\x89\x15\x81\x06\xd9\xd1\x95\x1f\xfe\x95\xff\x9d\xa9\x25\xbe\x6a\xb1\x0c\x86\xe8\x42\x10\x38\x15\x5c\x58\x10\x1b\x69\xeb\xc3\xd7\x2b\x19\x9f\xb1\x8a\x26\x78\x98\x90\x4e\xd6\xad\x2b\x97\x0f\x0a\xc6\x6f\x08\xab\x82\xd0\x0b\x65\xe9\x96\xe8\x22\x06\x1a\xe2\xd6\xbc\x9d\x37\x7a\x0c\x0a\xc9\xc2\xa0\x0f\x0b\x62\xb4\xb8\xf0\xcd\x0e\x90\x5b\x19\x1a\x03\xbb\xf3\x8a\xf1\x6b\xb9\x9b\x8f\xf2\x8b\x41\xa2\x17\x9a\x24\x5a\x92\xb1\x52\x5b\x4b\xa4\xd1\x57\x87\x36\xa9\x5d\xf9\x57\x05\x38\xa9\xe2\x0e\x55\x2c\xa1\x89\xdd\x7c\x7b\x3e\x60\x8a\x00\xbb\xcd\x86\x59\x6c\xf5\xbe\x15\xa6\xf5\xb7\xc1\x09\x3e\x11\x75\x28\x36\xb0\xe9\xd9\x5f\x7a\xee\x05\x19\x11\x41\x58\x44\x5a\x08\xab\xb1\x0e\xde\xcb\x2f\x66\x92\x16\xec\x65\xea\x36\xad\x3f\x55\xc5\xad\x9e\x56\x10\x75\xad\xa0\xd7\xef\xdc\xff\x38\xb8\xeb\xde\xdf\x3c\xdc\x5d\x74\xcf\x51\x07\xd8\x20\x7c\x63\x0e\x08\xfd\x27\x34\xa7\xb0\x7c\xca\xcd\x1d\xc2\xb0\x01\x09\x9b\x1e\xf4\x49\x4d\x45\x74\x8a\x2e\xae\x1e\xee\xfb\xdd\xbb\x9a\x06\xed\xf1\xd1\x72\xa2\x22\xd3\x59\x82\xb5\xfc\xf8\x94\x0e\x89\x60\x04\xae\xe6\x24\x95\x8a\x88\x5c\xcb\x34\x8d\x76\xff\xde\xbd\x78\xe8\xf7\x6e\xae\x07\x3f\x3d\x74\x1f\xba\xe7\xc8\x9d\x43\xdd\xac\x1e\x17\x1c\x3d\xe3\xf9\x31\x3f\xe4\x35\x60\x7f\x4f\x49\x4a\x10\x96\x92\x8e\xd9\x94\x30\x55\x6e\xd1\x0d\xf8\xaa\xf3\x7d\xf7\xaa\xd8\xf2\x84\xa0\x1f\xff\x96\x0f\x2a\xc1\x43\x92\x58\xb5\x17\xf0\x29\xf4\xf1\xcf\x3b\xb2\xfa\x70\x6a\xa8\xfa\xd3\x43\xe7\xaa\xd7\xff\x75\x70\xf3\x71\x70\xdf\xbd\xfb\xb9\x77\xd1\x1d\x58\x04\x9b\x8b\x8e\xee\xb7\xd0\x93\x15\x35\xd1\xef\x29\x4e\xa8\x9a\xeb\x75\x94\x86\x2f\x9a\xfa\xb6\x29\x33\xc5\x71\x41\xd6\xc6\x7e\x85\x5b\x39\x23\x91\x99\xd1\xed\xd5\xc3\xa7\xde\xf5\xe0\xe6\xe7\xee\xdd\x5d\xef\xb2\x7b\x8e\xee\x49\x42\x22\x25\x33\xa2\xc3\x2a\xce\x92\x74\x4c\x19\xa2\xd3\x59\x42\x34\x35\x0c\x98\xd8\x90\x4c\xf0\x33\xe5\xc2\x32\xb4\x31\x7d\x26\xcc\xd0\x51\x6f\x2b\xd3\xbe\x83\xd3\x19\x78\xa4\xbb\xb9\xfe\xd8\xfb\x74\x8e\x3a\x71\x9c\xcd\xc1\x54\x46\x2f\xec\x1c\x67\x58\x39\x2d\x0e\x9b\x8e\xb4\xc2\xa2\x19\x0c\x2c\x1f\x7f\x26\x42\xd0\x98\x94\xf6\x51\xe7\xfe\xbe\xf7\xe9\xfa\x73\xf7\xba\x0f\x14\x53\x82\x27\x12\x4d\xf8\x0b\x28\x74\x30\x43\xd0\xf3\x9e\x31\x4d\xa0\x33\xb7\x58\x9c\xf9\xa7\xdf\xeb\x79\xc2\xd3\x24\xd6\xcb\xf4\xea\x3a\x4a\xe1\xe0\x2d\xaa\x29\xe5\x93\xb4\xf8\x46\xe9\x58\x2c\x7b\xa1\xb0\xcb\x17\x5f\x5c\xb5\x5b\x17\xbf\x28\x6d\xb7\xc5\x17\x6a\xf7\x4b\xfd\x4c\xf3\xb5\x6e\xac\x99\x15\x69\xb8\x26\x97\xdd\x81\x6d\x6f\xb9\xc1\xb6\xa5\x7a\x97\xfb\xfa\x5d\x4c\x12\xa2\x48\xad\xa0\x74\x09\x8f\x5f\x4b\x50\x32\xbd\xbf\x0d\x59\xc9\xcc\x25\x88\x4b\x5f\x8d\xb2\xe4\x16\xbc\x15\xca\x92\x39\x6b\xbe\xce\x04\x29\x83\x9e\x72\x6d\xf2\x04\xdf\xa6\x99\xe5\x28\xd2\x02\xdb\x63\x67\xd9\xfb\xa5\x78\x68\xe6\x10\x6c\x48\x8b\x23\x09\x36\xa4\xed\xd8\x62\xe1\xc7\x0a\x28\xdd\x83\xb3\xca\x4d\x04\xac\x02\xbf\xbc\x84\xd7\x8f\x93\x6b\x96\xc7\x7e\xcc\xbc\xd3\x6b\xad\x1d\x4c\xe4\xeb\x65\x9f\x0b\x47\xbc\xd9\xc4\x6d\xe8\xcf\xf1\xce\xbb\x2d\xd7\x46\xdd\xb1\x6e\xf3\xe5\x51\x2c\x86\x7c\xbc\x1e\x89\x63\x62\xff\xaf\xe2\x92\x78\x73\x62\xf2\x57\x67\x34\x08\x3e\x96\xe0\x63\x09\x3e\x96\xe0\x63\x09\x3e\x16\xb4\xa9\x8f\x65\x57\x92\xd6\x51\x3b\x24\x8e\x53\x54\x3a\xac\x47\x22\x48\x4b\xc7\x2e\x2d\xb5\x45\x29\x3c\x2e\x17\x4b\x51\x1d\x5c\xbb\xea\x56\x5b\xf4\xc2\xb7\x64\x1c\x3c\x2e\x1d\xb1\x75\xe6\xc0\xaf\x8e\xf1\x6d\x66\xfa\x3b\xda\xe9\x06\xad\x38\x68\xc5\x41\x2b\x0e\x5a\x71\xd0\x8a\x51\xd0\x8a\xd7\xd6\x8a\xdf\x92\xa0\x78\x74\x1a\x72\x90\x15\x5f\x7b\xc2\x5f\x99\xac\xd8\x16\x9b\x40\xdd\xc9\x6d\xa9\x65\xe0\xeb\x0c\x28\x3a\xe2\x9b\x20\xe4\xbc\x22\x6f\xe9\x42\xc0\xcd\xd7\xc2\x47\x5b\x1e\x70\xf3\xf6\xec\xaa\x47\xcc\x23\x43\x36\x70\x10\x2b\x77\x34\xdd\x60\x82\x0c\x26\xc8\x60\x82\x0c\x26\xc8\x60\x82\x44\xed\x4e\x7e\x5e\x69\x70\x0a\xf9\xcf\xfb\x32\xac\x1e\xb1\xa4\x18\x72\xa1\x83\xb0\xb8\xbb\xe9\xb6\x55\x77\x6e\x93\x0d\x52\xae\x5f\x51\x62\x25\x12\xb7\x9d\xf6\x6f\x4b\x18\xd8\x15\x95\x4e\xd1\x3d\x26\x7e\x25\xf7\xcd\x92\xb6\x81\xdf\x75\x2b\xfa\x66\xd1\x77\x17\xe8\x00\x04\x88\xb0\x34\x0a\x5e\x9a\x28\x3a\xd3\xa2\x3c\x1e\x13\x69\xf1\x88\xb5\xe0\x7d\xe2\x78\x97\x78\x26\xe2\x34\x03\x9c\x86\x2e\x1c\x0a\x37\xa8\x2d\x8a\xa3\x11\xa0\xcd\x03\x5d\xc9\x17\x05\x4d\x3d\x32\xc0\xe1\x06\x1a\x9d\xb5\x11\xff\x36\x80\x03\x2f\x21\x4e\x00\x07\x5e\x8b\x9b\x04\x70\xe0\x96\x80\x03\xaf\xab\x82\x99\x53\xe9\x6b\x61\x70\xc8\x9d\xd4\xea\xcc\x52\x47\xaa\x8c\xcd\xb8\xac\x97\x4c\xee\xc8\x98\x4a\x60\x49\x4b\xaa\x5d\x39\x99\x04\x0a\x2b\xc0\x56\xff\xa8\x5f\x40\x31\x99\x25\x7c\x0e\xf6\xaf\x25\xe2\x8a\xeb\xe2\x76\x41\x63\x68\xbb\xc4\xe2\x46\x7e\x28\x9d\xaa\x2d\x32\x77\x3e\xef\x56\x48\xd9\x79\xc8\xff\xeb\xcb\xdb\xc7\x14\x78\xb5\x77\x81\xfb\xb0\x7c\xf6\x98\xaa\xbd\x07\x75\x22\xa8\x13\x4d\x76\x4d\x50\x27\x56\x11\x28\xa8\x13\x41\x9d\xd8\xa7\x3a\x71\x60\x09\xe6\xc3\xbf\x4a\x45\xd4\x97\x05\x20\x3e\xd8\xa8\x43\x70\xce\x52\x09\x47\x7e\xa5\x20\xf3\xc8\xaa\x1f\x38\x27\xe5\x90\x38\x1e\x33\x4c\x95\x57\x76\x4d\xea\x4b\x6b\x46\x84\x9a\x7b\x6f\x92\xe9\x4c\xcd\xff\xfb\x91\x51\x95\x85\x78\xd1\x31\xe3\xc2\xec\x18\xfd\xf1\x04\xb3\x38\xd1\x97\xba\xcc\xda\x89\x30\x63\x5c\x01\x2b\x87\x09\xc4\xe8\x99\x62\xc3\xf8\x3b\xb7\xbd\xc6\x81\x8e\xc7\x24\x6a\x1d\x36\x92\x71\xff\xb5\xd3\x0e\x5f\x59\x74\xc5\x84\x3e\x25\x7c\x88\x93\x64\x8e\xd2\xa2\x47\x49\x37\xd0\x92\x39\xb4\x45\x7b\x6b\x87\xba\xe6\x60\x05\xca\x6a\x5b\xcb\xac\x11\xc7\xc4\x64\x0e\x6d\x8e\xf0\x96\xf0\x8d\xb1\x9b\xb6\x1c\xd5\xb6\x19\x5a\x82\x70\xd2\x54\x38\x39\x22\xb6\x71\x58\xd9\x24\xdc\xe4\xc7\x7f\x93\x2b\x2c\x9f\xfc\x4a\xe6\x70\xa1\xbb\x62\xf4\x85\x2a\xbe\xe5\x92\xbe\xff\x6e\xf2\x5e\x9e\x5e\xb0\xfa\xdd\xac\x1a\xfa\xea\x57\xa1\x32\x7a\xcd\x8b\xb6\x8c\xbe\x79\x0c\xd3\x2b\x8f\xc3\xfd\xe8\x77\xe8\x7e\xcb\x5b\x76\xbf\x3c\x13\x21\x29\xb7\xaf\x09\xa2\xc4\x7c\x80\x95\xd2\x0c\x69\x03\x1b\x75\x2d\xd7\xec\x63\xf9\xd4\xac\x2a\xfb\x27\xa2\x0a\x2f\xb7\x5d\xac\x71\x13\x85\x79\x16\x46\xbe\x7f\xfe\xd4\x60\x1b\xbf\x31\x71\xa7\xf1\x91\x5c\x31\xef\xe3\x2b\x4c\xdf\x94\xc1\xac\x31\xf1\xaf\xa5\x48\x7d\x33\x86\xbb\x2a\x1e\xf2\x18\x0b\xd6\x2f\xbb\x41\x5a\x33\xc2\xd2\x25\xf6\x16\x4f\x6e\xf1\x4a\x0e\x47\x74\x19\x8d\x9a\x9e\xc5\xa3\x39\x81\x25\x49\x6b\xc5\xdc\xee\xdd\x02\xd9\xd7\xdd\x4e\x68\xdf\xbc\x0a\xc2\xe2\xae\x47\xb5\x1f\x07\xb0\xb7\x1a\xeb\xa4\x10\xf6\x5c\xb1\x75\xe3\xce\xca\xce\x90\x4b\x2a\xcc\x8e\xa6\x9a\x40\x41\x2a\x2a\xfd\xfa\xec\x11\x17\x46\xda\x8c\xed\x99\x35\x0e\xad\x4e\xbf\x73\xdf\xed\x9f\xa3\x0e\x8a\xb1\xc2\xfa\x90\x0a\x32\x13\x44\x12\xa6\x8c\x29\x82\x29\xaa\xe6\x68\xca\x63\x92\x18\x3b\x80\x31\x0e\x5e\x62\x85\x2f\xb0\xc2\x09\x1f\x9f\xa1\x0e\xfc\x53\x7f\x4c\x25\xc2\x89\xe4\x08\xbb\x8d\x43\x62\xd7\x04\x66\xb1\x63\x0f\x18\x45\x7c\x3a\xa3\x89\xc9\x6b\xf3\xfd\xdb\x94\xc5\xf4\x99\xc6\x29\x4e\x10\x1f\x82\x0d\xe5\xec\x91\x75\x9f\x09\x53\x29\xe8\xb8\x38\x49\x90\xed\xd6\xbd\xe0\x19\x30\xdc\x28\x25\x9d\xd2\x04\x0b\x2d\x3d\x9a\xd1\xde\xd8\xb6\x50\x7f\x42\xb2\xb1\xc2\xb8\x34\x35\xa7\xf8\x89\x48\x44\x15\x9a\x71\x29\xe9\x30\xc9\x8f\xf1\x43\x0f\xc1\xb8\x2f\xae\x7a\xe0\x34\x8c\x14\xe2\x86\x0f\xba\xce\xad\x07\xdd\xf5\x38\xc5\x8c\x11\xe8\x98\xab\x09\x11\xb6\x7b\xfb\xf2\x6b\xfb\xff\x1e\xae\x6d\xba\x58\xf7\x72\xd1\x01\xd8\xef\xdc\xff\xb8\xf8\xab\xcb\x0f\x5b\x7c\x72\xd5\x79\xb8\xbe\xf8\x61\x70\x7b\xd5\xa9\xc8\x3b\xb3\xdb\xaa\xb1\x2f\xd1\x1f\xd9\xe6\x87\x69\xff\x8a\x46\x4b\x43\x13\x9b\x1b\x1d\x1a\x59\x1c\x1a\x9b\x1b\x9a\xda\x1a\x9a\x19\x1a\xea\xad\x0c\x7b\x08\x53\x6b\x6e\x0a\xb8\xa2\xb2\x68\x0b\x38\x8e\x98\xb5\xc2\x90\xf5\x1c\xf6\x6d\x08\xf8\xea\xac\x00\x5f\xa9\x09\x20\xe8\xff\x7b\xa1\xdb\x5b\x55\xfe\x5b\xae\xf9\x6f\x13\x94\x9a\xe1\x5f\x84\xa8\xd4\xc5\xa8\x54\x12\x82\x52\x43\x50\x6a\x53\x02\x85\xa0\xd4\x10\x94\x7a\xb4\x41\xa9\x65\x45\x2b\x78\x6c\xdb\xe0\xb1\x6d\xb9\x8e\xd6\x66\x87\xed\x5b\xd5\x5c\x82\xf3\x32\x38\x2f\x83\xf3\xf2\x48\x4f\x6e\x70\x5e\x36\xa7\x51\x70\x5e\x06\xe7\x65\x70\x5e\x06\xe7\x65\x70\x5e\x06\xe7\xe5\x6b\x9a\x46\xda\x10\x1b\x7a\xcc\x2e\xdb\xe0\x89\x5d\xe1\x89\x6d\xb9\x92\xdf\x4a\x47\xec\x5b\xd5\x11\x82\x6a\x1f\xfc\x92\x5b\x4d\xbb\x55\x4a\xfd\x5b\xbb\x37\x83\x2b\xb6\x39\x21\x82\x2b\xb6\x31\xa9\x82\x2b\x76\x09\x71\x82\x2b\x36\xb8\x62\xbf\x42\x57\x2c\x8d\xb7\x2e\xb9\xd5\x44\x6f\xd1\xb2\x62\xdc\x05\xf3\x50\x66\xdc\x12\xbf\x81\xf4\x88\xe5\x53\x66\x01\x6a\xa0\xcf\xf4\xe2\xa3\x50\x64\x2a\x27\x7c\x08\x85\x66\x1b\x8d\x05\x2b\xcd\xc1\x15\x40\x15\xe8\x27\xb9\x51\xb1\x85\x35\x02\xb6\xd1\x51\xbc\x89\x79\x6a\x8a\xd3\x3e\x3c\xa2\xb4\x6f\xda\x41\xf0\x0b\x82\x5f\x90\x6d\x1a\x4e\x38\xc8\x36\xed\x95\x6d\x5e\x4b\x61\x69\xdf\xf1\x3c\x3a\xfb\xc4\xde\xc5\x52\xd9\x18\xb4\xcd\x94\xc9\x06\xd7\x5d\x3a\x4b\x38\x8e\x57\x05\xc8\xfd\x86\x72\x59\x6d\x89\xb8\x69\xda\xd5\x1f\xb4\x5c\xda\x5c\x88\x8d\x33\x23\xff\x1a\x50\xe3\x6b\xa7\xfe\xaa\x78\x66\xb0\x7f\x33\xd4\xa2\xb5\x10\x08\xf7\xbf\x99\xdb\x9e\x8d\xf7\xca\xbb\xf9\x4d\xa6\xde\x85\x23\xba\xfa\x88\xc2\x1f\x85\x00\xef\x7d\x59\x42\xca\xc7\xb6\x91\xd1\x43\xfe\xb5\xe5\xe7\x36\x5b\xdf\x43\x98\x38\xde\xe4\x29\x7d\xc3\xce\xe6\xe0\x50\x5e\x1e\xf5\xb3\xa3\x00\xd4\x47\xd6\x9f\x68\x3a\x4c\x87\x94\x65\xf1\x76\x6e\x87\xfc\xc9\x91\xeb\x4f\x80\x75\x69\xf1\x2f\x93\x79\x6e\x0a\x93\xe5\xd6\x32\x45\x09\x9d\x6a\x2d\x35\x22\x42\x01\xbd\x39\x53\xe4\x8b\x92\xe8\x14\x25\xf4\x89\xa0\xf7\xfa\xc8\xa3\xce\x6d\xef\xfd\x09\x7a\x7f\x85\x53\x16\x4d\xd0\x2c\xc1\x4c\xbe\x6f\x8d\x82\x15\x6c\x66\xa1\x9a\x4a\xf0\x96\xee\x92\x38\xc1\xa2\x18\x2c\x8a\xad\xb3\x28\xb6\x45\x67\x30\x49\xa5\x78\x4a\xda\xa2\x3d\xb4\x5d\xeb\x0f\xda\x43\xd0\x1e\x82\xf6\x10\xb4\x87\x82\xf6\xd0\x0e\x0a\x07\xd5\x21\xa8\x0e\x41\x75\x08\xaa\x43\x50\x1d\x76\x4e\xc6\xa0\x3a\x2c\x53\x1d\xe0\x2f\x87\x1b\xb3\xae\x1e\xd1\x58\x7f\x68\x00\x12\x73\x34\xca\x43\x50\x1c\x82\xe2\x10\x14\x87\x83\x2b\x0e\xad\x99\xd0\xdb\xc3\xbb\x08\x88\x11\x01\x31\x22\x20\x46\xd4\x20\x46\x1c\x4a\x64\x33\xf2\xda\x91\xa5\xc8\x1c\x85\xd0\xf6\x6a\x39\x32\x6f\x4f\x8c\x0b\x59\x3f\x21\xeb\x27\x98\x21\x43\xd6\x4f\x30\xb4\x05\x43\x5b\xab\x0d\x6d\xaf\x65\x3d\x3f\xf0\xf1\x3c\x80\x70\xda\xf2\x88\xe5\xef\x8e\x41\x02\x3d\x60\xcc\x41\xb0\xb2\x05\x2b\x5b\x35\x65\x8e\xd3\x3d\xdf\x9a\x5b\x3f\x00\x3c\x05\x89\x3f\x04\x1e\x84\xc0\x83\x95\xc4\x09\xfa\x50\xd0\x87\x5a\xa7\x0f\xbd\xa2\xa2\xd0\xba\x30\xe5\xa0\x31\x04\x8d\x21\x68\x0c\x6f\x56\x63\x68\x0d\x85\x83\xba\x10\xd4\x85\xa0\x2e\x04\x75\x61\x39\x71\x82\xba\x10\xd4\x85\xa0\x2e\xb4\x3a\x34\xf9\x58\x14\x86\xa0\x2c\x04\x65\xa1\xdd\xca\x42\x6b\x26\x14\x82\x78\x43\x10\x6f\x08\xe2\xfd\x6a\x82\x78\xdf\xa8\xc2\xbe\x57\x31\xcd\xb1\xc8\x65\x82\xd7\xa2\xbc\xf4\xf3\x02\x63\x6d\xad\xc8\x94\x8f\x76\x53\xdc\xc7\x5d\x91\xfa\x85\x8b\xa7\x51\xc2\x5f\x06\x99\x56\x67\x83\xc2\xf3\x7f\xdb\x7c\x3e\xef\x87\x5c\x78\xf6\x7e\xcc\x84\x68\xef\x37\xd7\x7a\x11\x20\x34\x5d\x85\x0f\x2a\x11\x17\x28\x9d\xc5\xf0\x67\x94\x4a\xc5\xa7\xf5\x52\xf5\x67\xac\xa2\x09\x1e\x26\xa4\x93\xf5\x7b\xc1\xd9\x88\x8e\x53\xb3\x3f\x7e\x03\x56\x88\x9d\x64\x73\xe2\x24\x23\xcd\x14\xdd\xf8\x96\x49\xe2\x0f\x30\x8e\x5f\xec\x9b\x79\x27\x47\x11\x80\xbe\x38\x6c\x33\x9d\x43\xc1\x8d\x16\x77\xd1\xb6\x2c\xce\x6b\xad\x1d\xe2\xcf\xe2\x99\x58\x25\xaa\x82\x15\x3a\xd3\x4c\x68\x0c\x9b\xf3\x65\x42\xc1\xb2\x06\x96\x38\xb0\x3e\xe5\x0d\xa3\x17\x9a\x24\x20\x71\x18\x5a\xb4\x6f\xe6\x8d\xb4\x17\x3b\x71\x7b\xf6\xde\xc4\xbc\x1d\xf3\x58\x31\x73\x77\x04\x8d\x1b\xe2\x48\xa7\xfd\x9a\x08\xbb\x2b\x18\xd9\xab\xe2\xec\xd6\x5e\x9f\x35\x39\x55\x1f\xfe\x55\x79\x25\x36\xa9\x9d\xfa\xda\xf7\xe0\x27\xa2\xde\xcc\x25\xf8\x89\xa8\x43\xdd\x80\x6f\xf1\xda\xdb\xf4\xae\x5b\xca\xf8\x04\x19\x11\x41\x58\x44\x8e\x35\x27\x6b\xe1\x8a\x3b\xda\xe9\x6e\x74\xb3\x1d\xed\x6c\xd7\x31\x60\xfd\x62\x26\x69\xcd\x55\x53\xc7\x72\xfd\xa9\x2a\x6e\xdd\xcb\x05\x17\x98\x35\x56\xf5\x3b\xf7\x3f\x0e\xee\xba\xf7\x37\x0f\x77\x17\xdd\x73\xd4\x81\x83\x0e\xdf\x18\xf6\x4e\xff\x09\xcd\x41\x3e\x6c\x66\x0c\x13\xe6\x8e\x93\xc0\xaa\xc1\x0d\xae\xa9\x88\x4e\xd1\xc5\xd5\xc3\x7d\xbf\x7b\x57\xd3\xa0\x65\xfe\x94\x8d\x91\x22\xd3\x59\x82\x15\x89\xd1\x53\x3a\x24\x82\x11\x50\xac\x92\x54\x2a\x22\x72\xe7\xb8\x69\xb4\xfb\xf7\xee\xc5\x43\xbf\x77\x73\x3d\xf8\xe9\xa1\xfb\xd0\x3d\x47\xee\x16\xd1\xcd\xea\x71\xe9\x51\xc4\x73\x86\xa7\x34\x32\x3f\x64\xa5\x68\xd1\xef\x29\x49\x09\xc2\x52\xd2\x31\x9b\x12\xa6\xca\x2d\xba\x01\x5f\x75\xbe\xef\x5e\x15\x5b\x9e\x10\xf4\xe3\xdf\xf2\x41\x25\x78\x48\x12\xeb\xad\x07\x07\xb4\xbe\xbc\xf2\x8e\xac\x1b\x3f\x35\x54\xfd\xe9\xa1\x73\xd5\xeb\xff\x3a\xb8\xf9\x38\xb8\xef\xde\xfd\xdc\xbb\xe8\x0e\xac\x31\xe6\xa2\xa3\xfb\x2d\xf4\x64\x6d\x36\xe8\xf7\x14\x27\x54\xcd\xf5\x3a\x4a\x73\xe9\xa3\x97\x09\x61\x28\x65\x70\x81\x18\x4b\x21\x66\x5e\xa7\x72\x46\x22\x33\xa3\xdb\xab\x87\x4f\xbd\xeb\xc1\xcd\xcf\xdd\xbb\xbb\xde\x65\xf7\x1c\xdd\x93\x04\x6c\x69\x8e\xe8\xb0\x8a\xb3\x24\x1d\x6b\x4e\x30\x9d\x25\x44\x53\xc3\xd8\x0a\x87\x64\x82\x9f\x29\x17\xf6\x3a\x1e\xd3\x67\xc2\x0c\x1d\xf5\xb6\x32\xed\x3b\x9b\xd5\xc0\x23\xdd\xcd\xf5\xc7\xde\xa7\x73\xd4\x89\xe3\x6c\x0e\x12\xda\x28\xec\x1c\x77\x74\x4f\x8b\xc3\xa6\x23\x1a\x41\xf7\x66\x13\xf1\x67\x22\x04\x8d\x49\x69\x1f\x75\xee\xef\x7b\x9f\xae\x3f\x77\xaf\xfb\x40\x31\x25\x78\x22\xd1\x84\xbf\x80\xa3\x17\x66\x08\xfe\xdf\x67\x4c\x13\xe8\xcc\x2d\x16\x67\xfe\xe9\xf7\x7a\x36\x66\x4d\x91\xb2\x57\xf7\x5d\x16\x0e\xde\xa2\xb5\xaf\x7c\x92\x16\xdf\x28\x1d\x8b\x65\x2f\x14\x76\xf9\xe2\x8b\xab\x76\xeb\xe2\x17\xa5\xed\x56\x6f\xe3\x5c\xd8\x2f\xf5\x33\xcd\xd7\xba\xb1\x89\xb3\x48\xc3\x7d\xc8\xd8\xee\xeb\x77\x31\x49\x88\x22\xb5\x32\xf1\x25\x3c\x7e\x7d\x99\xd8\x8c\xe3\xcd\x88\xc5\x66\x3a\x41\x32\x0e\x92\x71\xe3\x09\x07\xc9\xb8\x6a\xc2\x6f\x44\x32\x6e\xa1\xd5\xc7\xb1\xa8\xd6\x59\x7d\x82\x7f\xa4\xb4\x52\xc7\x79\x05\xbe\x9a\x7b\x24\xf8\x0f\xd6\xbb\x42\x8e\x7f\xde\xc1\x7f\x10\xfc\x07\x95\x37\xc9\x9b\xf7\x1a\x1c\xe7\xd5\x70\x40\xa7\x41\x50\x23\x96\xcc\x37\xa8\x11\x47\x36\xdb\x60\x60\x0f\x06\xf6\x60\x60\x0f\x06\xf6\x60\x60\x47\x9b\x1a\xd8\x1b\x70\xd9\x43\x98\x53\x5b\x1a\x44\xfc\x56\xdc\x06\xc7\x29\x17\x1f\xd6\x6b\x10\x44\xe3\x25\xf3\x0d\xa2\xf1\x91\xcd\xb6\x85\x76\x91\x76\x59\xd8\x69\x5c\x65\x10\x39\x20\x34\xbd\x1b\x49\x53\x78\x7a\x47\xd0\x5e\x7c\x14\xec\xfc\xd5\x10\xea\x03\x9e\x7b\xc0\x73\x0f\x70\x2d\x01\xcf\x1d\x05\x40\x92\x00\x48\xd2\x66\x40\x92\x06\xcb\xf8\x16\xf0\xdc\x0f\x63\x61\x78\x43\x49\xca\x4e\x30\x94\x85\xd8\x0d\x2e\x57\x05\x6f\x80\x95\x20\x9d\x25\x1c\xc7\xcb\xc0\x62\x9c\x1c\xe9\x03\xc6\x2c\x11\x3d\x4d\xdb\xbf\x2c\x2a\x4f\xad\x95\x3c\xdd\x58\xcd\xc8\x0f\x65\x3e\x68\x8d\xc2\xe5\xa6\xdd\x0a\x35\xab\x58\xbb\xb5\x85\x1b\xfa\xa8\x02\x6a\x0f\xbb\xa3\xdf\x64\xd1\xd6\x70\x4c\x57\x1f\xd3\xc3\xd5\x47\xa9\x3a\xba\x8d\x0d\x21\xf2\xaf\xc7\x74\x76\x0f\x84\x7c\xfc\xf6\x4e\x6c\x40\x68\x0b\x08\x6d\xb5\x94\x39\x4e\x38\xe7\xd6\x28\x5e\xc1\x96\x16\xa0\x8f\x03\xf4\xf1\x2e\x89\x13\x2c\x8d\xc1\xd2\xd8\x3a\x4b\x63\x9b\x74\x88\x3d\x96\x4e\xd9\x4e\x9b\x38\x2a\x4b\x40\xd0\x26\x82\x36\x51\x31\xb5\xa0\x4d\x7c\x85\xda\x44\x3b\x28\x1c\x54\x89\xa0\x4a\x04\x55\x22\xa8\x12\x41\x95\xd8\x39\x19\x83\x2a\xf1\x3a\x65\x55\xaa\xf4\x89\x86\x29\xa9\x47\xa5\x4c\x04\x45\x22\x28\x12\x41\x91\x08\x85\x63\x96\xcf\x29\x14\x8e\x09\x85\x63\x42\xe1\x98\x37\x50\x38\xe6\x90\x22\x5c\x0d\x5a\xf9\x71\xa4\xd9\x1c\x85\x10\xf7\x6a\x79\x36\x6f\x4f\xa4\x0b\x99\x43\x21\x73\x28\x98\x28\x43\xe6\x50\x30\xc2\x05\x23\x5c\xab\x8d\x70\xaf\x65\x59\x3f\xf0\xf1\x3c\x90\xa0\x7a\x24\xd1\xce\xdf\x1d\x83\x34\x7a\xe0\xf8\x84\x60\x81\x0b\x16\xb8\x6a\xca\x1c\xa7\x2b\xbf\x35\x52\xc0\x31\x56\x8e\x0d\x1a\x40\x73\x42\x84\x20\x85\xe6\xb4\x0a\x41\x0a\x4b\x88\x13\xf4\xa3\xa0\x1f\xb5\x4e\x3f\x7a\x65\xc5\xa1\xb5\x21\xce\x41\x83\x30\xef\x05\x0d\x22\x68\x10\x6f\x54\x83\x68\x0d\x85\x83\xfa\x10\xd4\x87\xa0\x3e\x04\xf5\x61\x39\x71\x82\xfa\x10\xd4\x87\xa0\x3e\x1c\x4d\x58\xf3\x31\x29\x10\x41\x79\x08\xca\x43\xbb\x95\x87\xd6\x4c\x28\x04\x00\x87\x00\xe0\x10\x00\xfc\xd5\x04\x00\xbf\x51\x05\x7e\xb7\x62\xdb\x7f\x58\x42\xbd\xf3\x04\x8c\x4c\x12\x79\xf7\x7d\xc2\x87\xfd\xf9\x8c\xe8\xff\xbd\xa4\x53\xc2\x24\x50\x82\xaa\xb9\x2f\xa6\xd5\x6c\xa8\xc5\xad\xf4\xee\xbe\x77\xfd\xe9\xca\x2f\x0f\xf4\xee\xf3\xc3\x55\xbf\x77\xdb\xb9\xcb\x96\x3b\x9b\x95\xbf\xc4\xf6\xbb\x82\xa4\x69\x4f\xf2\x1d\xd1\x2a\x35\x30\x83\x7b\x85\x55\x2a\x37\x1b\xd9\x5d\xf7\xbe\x7b\xf7\x33\x94\x37\x1a\x5c\xf6\xee\x3b\xdf\x5f\x15\xf6\x79\xe1\x79\xe7\xe2\xa7\x87\xde\x5d\xfd\xf3\xee\xdf\x7b\xf7\xfd\xfb\xba\xa7\x77\xdd\xab\x6e\xe7\xbe\xfe\xeb\x8f\x9d\xde\xd5\xc3\x5d\x77\x29\x3d\x96\x8e\x76\xb9\x6e\x25\x81\x48\x50\xe2\x03\x45\x96\x19\x8a\x9c\x86\x28\x93\x8a\x1d\x97\xaf\xea\xeb\x1c\x3d\x58\x53\x05\xb5\x8d\x9b\x7b\xc3\x6b\xc8\xe8\x58\x31\x95\x78\x98\x90\x78\xa1\x25\x47\xc3\xba\x96\x70\x61\x50\x2f\x58\x7a\x92\xb4\x66\xe5\x91\x39\x3e\x08\x8a\xae\x29\xc2\xe2\x8a\x3e\xcc\x3a\xd4\xf6\xc0\x34\x4b\xa6\xcf\xa4\xd0\x53\x94\x0a\x41\x98\x4a\xe6\x88\x7c\xa1\x52\xc9\x85\x46\xdd\xf2\xd5\x35\x6b\x19\x42\xd6\xe0\x04\x4b\x34\x24\x84\x15\xc7\x2f\x48\x42\xb0\xac\x18\xb3\x5d\xfd\x66\x64\xc9\xd6\xca\x1a\x99\xcc\x1d\x3b\xc2\x34\x49\x05\x29\x9d\x16\x3e\x9d\x61\x41\x25\x67\xdd\x2f\xfa\x8a\xd6\x07\xf9\x06\x3e\xe7\x62\xb3\x13\xd3\xfd\xc9\xdf\xc1\xd7\xc5\x7f\x7e\xea\x17\xff\x55\x38\xf3\x57\xfd\xe2\xbf\x96\xef\x75\xaf\xe1\xf2\xce\x3e\x45\x9f\xfa\xe7\xe8\x13\x40\x8c\x0a\xd4\x9f\x60\xb3\x63\xaf\xfa\xe7\xe8\x8a\x48\x09\xbf\xe4\x1f\x2b\xaa\x12\x98\xdb\xf7\x94\x61\x31\x47\x6e\xfa\xa6\x72\x1f\x8e\x26\x88\x64\xa4\x29\x13\x8f\xfd\x23\x65\x60\x91\xc8\xa9\x77\xc5\xc7\x34\xc2\xc9\x76\x44\xec\x5c\x17\xf8\xc0\xcd\xdd\x52\x52\xf8\x6f\x2f\xd2\xa2\x73\x7d\x09\x55\xf1\xdc\x50\x2b\x66\x7e\x4d\xa4\xde\x24\x11\x67\xb1\xf5\xa9\x69\xa1\x66\xee\xe9\x2a\xff\xe0\x50\x59\x30\x95\x94\x8d\x75\x8b\xe8\x03\xba\xb9\x7b\x64\x37\x22\x36\xf6\x5d\xa2\x85\x7c\xb3\xe7\xa8\x44\x8c\x2b\x44\xa7\x33\x2e\x14\x66\x4a\xeb\x37\x20\xdd\x58\x8a\x18\x0e\x70\xc1\xa7\xd3\x54\x61\x7d\xd0\x16\x88\xca\x8c\x95\xe7\x9e\xa8\x5e\x0c\x8e\xb0\x0a\x1a\x1a\xf1\x27\x9f\xcb\x4c\xe8\xf6\xb5\xe8\x55\x34\x0d\xd0\x78\x41\x43\x77\x4d\x60\x21\x70\xf1\x02\x7e\x47\x15\x99\x96\xdf\x6f\x78\xed\xfe\xbb\xd2\xee\x71\x61\xb2\x22\x88\xe8\x88\x68\x42\x15\x89\x94\x3e\x82\x1b\xed\x89\x87\xeb\x1f\xaf\x6f\x7e\xf1\x05\xa3\x77\x9d\xcf\x97\xff\x55\x80\x81\xed\xdc\x7d\x5e\xf8\x61\xf0\xf3\x7f\x2d\xfc\xf2\xff\x5f\xba\x9f\xca\x3d\x2d\x98\x2f\xbc\xb9\x9c\x82\xa6\x00\xa6\x6e\x37\x55\x44\xa7\x78\x4c\x90\x4c\x67\x7a\x07\xc8\xb3\xe2\xfa\x6a\x49\xf9\x8a\xe3\x98\xb2\xb1\x29\xfe\x76\x45\x15\x11\x38\xf9\x8c\x67\x1f\x9d\x59\x7e\x03\xea\xfc\x9f\xfb\x42\x01\xc2\x77\xbf\x76\x3e\xfb\x25\x0c\xdf\xdd\xde\xdd\xf4\x6f\x96\xce\xba\xd0\xc2\xe2\x31\xd2\x8f\xcf\xe1\xff\xa3\x0f\x48\xb7\x9e\x09\xf4\x53\xa2\xb0\x56\x74\xd0\x1f\x4c\xbd\xac\x2c\x13\x86\xb2\x04\x4e\xcd\x4c\xd0\x29\x85\x2b\xc5\x18\x26\xbf\x31\x3a\x43\xa6\x14\x65\xe7\xc6\x7c\x00\x46\x00\x77\x29\xb3\x18\x8b\x18\xfd\x43\x96\xeb\x61\x82\x3d\xdc\xfc\x40\x62\x74\x8a\x26\x4a\xcd\xe4\xf9\x87\x0f\x2f\x2f\x2f\x67\xfa\x6d\x2d\xc0\x7e\xd0\x7f\x9c\x12\x76\x36\x51\xd3\xc4\xd4\xff\xd4\x54\x38\x47\xb7\x82\xeb\x2b\x04\xec\x0e\x44\x50\x9c\xd0\x7f\x92\x18\x0d\x0d\xff\xe3\x23\xf4\x5b\xc4\x05\x39\xcb\x17\xc6\xda\xca\xec\x3d\x62\xed\x69\x1f\xf4\x4b\x15\xcc\xa4\xbc\x9e\x28\x26\x11\x8d\xad\x98\x41\x58\xc4\xc1\xa0\x6a\x5c\x30\xba\x3d\x57\x64\x4c\x2b\x6a\xb3\x54\xe5\xe4\xf4\x74\x30\x1c\x13\xaf\x7c\xa7\x95\xaf\xb3\x0d\xa7\xf5\xb9\x9e\xd1\xc6\x53\x49\x04\xdc\xad\x18\x6e\x55\xf7\xea\x4c\x4f\x38\xe2\x09\x1a\xa6\xa3\x11\x11\x7e\xf8\xc0\x89\x56\xd2\xa8\x44\x82\x44\x7c\x3a\x05\x89\x41\x7f\x95\x4a\xb3\xab\x81\x62\x76\xb4\x67\x8f\x0c\xd6\x5f\x6b\x6f\xb0\x03\x62\x0e\xac\x8e\x11\x12\x23\xcc\xe6\xa6\x9b\x61\x3a\xf2\xdb\x37\x75\x75\x71\x8c\xa8\x7a\x64\x9d\x24\x41\x82\x4c\xb9\x22\x5e\xf9\x34\x70\x75\x16\x09\x0e\x2c\x52\x90\x59\x82\x23\x12\x9b\xfd\x90\xf0\x08\x27\x68\x44\x13\x22\xe7\x52\x91\xa9\xdf\xc0\x1f\xc0\x04\xa5\x69\x46\x25\x8a\xf9\x0b\x4b\x38\xb6\xf3\x28\x7f\xf6\x4d\xf1\x34\x76\x5d\xcd\xd3\xae\x10\x5c\xc0\xff\xfb\x91\xb2\x78\x67\x1c\xea\xe1\xbe\x7b\xe7\xff\xfb\xfe\xd7\xfb\x7e\xf7\xf3\x7a\xdc\x27\xdb\x59\x30\x3c\x30\x4d\x9c\xa3\x7b\x43\x04\x2e\xb4\x44\x24\x6a\x26\xf5\xd9\x6e\xa5\xfc\x07\x1e\x6f\xc8\x7d\x3f\x77\xae\x1f\x3a\x05\x8e\x72\x7f\xf1\x43\xf7\xf2\xa1\xa4\x0f\xd8\xf9\x15\x64\x78\xa3\xd5\xfa\xbf\x5d\xfc\xd0\xbb\xba\x1c\x54\xe8\xc1\xef\xee\xba\x17\x37\x3f\x77\xef\x72\x95\xb5\x92\x44\xa5\xc1\x94\x99\x55\xdf\x30\xa5\x09\x8f\xd1\x70\x5e\x5d\xe1\x56\x4b\xce\x09\x78\xce\xf3\x1a\xcf\xa6\xd5\x73\xe0\x4d\xae\xd8\x70\xfe\xc5\x94\xc7\xe4\xc4\xbe\x03\xa5\x81\x8d\xcd\xc8\x48\xcc\xd5\x0d\xeb\xde\x31\xf3\xec\x2f\xa6\x6a\x6f\x46\xb8\x73\xd4\x41\x52\xbf\x98\xea\x43\x2d\xe8\x78\x0c\xf6\xd0\xd2\x50\x4d\x6b\xf6\x53\x20\x2f\x7c\x67\xd6\x7f\x26\x38\x9c\x73\xdd\xad\x35\xa4\x67\xc6\x16\xf3\x21\x94\x91\x2e\xb6\x28\x30\xd8\x51\x2a\x86\xe6\x16\x4b\x13\xa1\x96\x5e\xe6\x3c\x1a\x33\x98\x3e\x5c\xc0\xb6\xa4\x31\xe3\xce\x04\x79\xa6\x3c\xf5\x3e\xb5\x95\x8a\x0b\x2b\x5e\xd9\x7c\x4e\x00\x20\x9b\xb1\xf5\x94\x9a\xc9\xb6\x47\x65\x0b\x9a\x85\x3d\x43\x0b\x23\xc1\xa7\x15\x6d\x14\x8f\x49\xef\xe6\x5e\x09\xac\xc8\x78\x7e\x69\x59\xc6\xe6\xc7\xe3\xf2\xe6\x97\xeb\xab\x9b\xce\xe5\xa0\xdb\xf9\x54\x3c\xf1\xd9\x93\xfb\xfe\x5d\xb7\xf3\xb9\xf8\x68\x70\x7d\xd3\x1f\xb8\x37\x96\x6e\xf9\x9a\x0e\x16\xef\xe9\xe2\x8b\xe7\x48\xb3\x5c\x60\x8d\x2f\x34\x49\xf4\x65\xe2\xf1\xc7\x21\x19\x71\x61\xf8\xfc\xd4\x05\x9a\x58\x11\xc6\xd1\xd6\xea\x62\xa5\x59\x9c\x83\xc1\xaf\xaa\x49\x63\xcc\x57\x82\xe0\x29\xdc\x13\x98\xa1\x2e\x8b\x4f\x6f\x46\xa7\xf7\xe6\xc7\x29\x16\x4f\x44\x64\x9f\xbe\x08\xaa\x14\x61\x05\x95\x0e\xbb\x21\x67\x4a\x62\xde\xc1\x19\xba\xd3\x7c\x5f\xbf\x9f\x5d\x6a\x7a\xb3\xc7\x44\x61\x9a\x48\x3b\xd8\x02\x5d\xcf\xd1\x15\x16\xe3\xdc\xbc\xf8\x07\x3e\x1a\x99\xc6\xbe\x31\xc3\xd0\x77\x58\x61\x16\x15\xbc\x57\x6f\x0d\x77\x2f\x42\x7f\xf6\xe5\x4c\x1e\x5e\xdc\x55\x0f\xb3\xed\xf6\xd4\xc3\x2d\x50\xdc\x68\xec\x05\xdd\xd0\x3e\xa9\xd8\x6b\x30\x71\xf3\x78\xf9\x25\x53\xdd\xf6\xe2\x76\x2a\xbe\x58\xb1\x9d\x4c\x85\x16\xbd\xf2\x23\xad\x6d\x56\xec\x25\xf2\x85\x5a\x83\x81\x3f\xee\xd2\x16\xca\x9b\x01\xab\x31\x9e\xcd\x08\x16\xb2\x6a\xb5\x8b\x62\x60\xcd\xda\x9b\x9e\xfc\x3e\xec\x22\xbb\x7e\x4e\x10\x67\x60\x70\xc8\x84\x88\xd2\x8e\x6c\xb0\x07\x4c\x5b\x0b\x3b\xe0\x16\xca\xc7\xdf\xd8\x52\xed\x9f\xa9\xd4\x4a\xa3\xf9\xf1\x7b\x5b\x43\x7e\xb3\x0d\xf1\xb1\xd3\xbb\x2a\x09\x17\x83\xcb\xee\xc7\xce\xc3\xd5\x72\x33\x61\xe1\xbb\xf2\x12\xa3\x53\xa4\x9f\x17\xc3\x01\xe8\xc8\xdc\x19\xae\x12\xbe\x51\x69\x09\x03\xa3\x95\xad\x52\x6d\xcc\xf0\x31\x99\x25\x7c\x3e\x25\x0c\x4c\x3c\x85\x9b\x50\xd3\x73\x84\xa9\xbd\x5a\xbc\xc1\x82\x15\xc7\x9a\xdd\xe0\x1a\x3b\x75\xe5\xf7\x49\x9c\xdd\xbc\xc5\xea\xfb\x25\xd6\x7d\x6b\x9c\x82\xf6\x7f\xee\x15\x56\x1b\x9e\xb1\xce\x45\xbf\xf7\x73\xb7\xa8\x1f\x5e\xfc\xd0\xfb\xb9\x4a\xaa\x19\x7c\xea\x5e\x77\xef\x3a\xfd\x15\xc2\x49\xa9\xc9\x2a\xe1\x44\xea\x01\x97\x9d\xc2\x54\x66\x81\x4e\x91\xa9\xe1\x8f\xa8\x92\xe8\x99\x4a\x3a\xa4\x09\x55\x73\x64\x1d\xac\x0f\x3d\xe0\xac\xcf\x38\xa1\x31\x55\x73\x27\xbe\x98\x7e\x8b\xeb\xa8\x39\xa9\x6d\xdf\x98\x1d\x7c\xb7\x2b\x58\xf9\xcc\xe2\xb8\x49\x9f\x23\xd0\x6d\x9f\x41\x69\xf3\x3e\x63\x5a\x90\x66\x63\x22\xcc\x70\xc0\xa9\xe4\x8f\xc5\x7b\xae\x47\xe5\x0b\x2b\x39\xd5\x32\xa1\x75\x4c\x18\xd1\x2c\xd2\xeb\xc4\x08\x52\x82\xb0\xf7\x5a\xe6\x9a\x25\x34\xa2\x2a\x99\xa3\x08\x6c\x58\x60\xce\x9c\x62\x86\xc7\x56\x38\x00\x35\xa7\xb4\x25\x7e\x4a\xc1\x00\x7f\x33\xb2\xa6\xfd\x3e\x25\x1b\x1e\xb3\x87\xeb\xcb\xee\xc7\xde\x75\x71\x0b\xfc\xd0\xfb\x54\x10\x61\x3f\x77\x2f\x7b\x0f\x85\xdb\x5c\x4b\xb2\xcb\xe5\xfa\x72\xb3\x15\x47\x31\x7b\xe9\x1c\x5d\x9a\x4f\xcf\x35\x71\x7f\x37\x93\xd3\x5b\x46\x9a\xe9\xe5\xca\x6f\x89\x0e\x77\x2e\xd2\xd0\xfd\xd1\x65\x4a\x54\xfa\x25\x9a\x9a\x90\xac\x57\xa8\x60\x43\xaa\x8e\xc0\x58\xe8\xfb\xba\xec\x2b\x2f\x4f\xd9\xbd\x08\x21\xb2\x67\xb9\x65\xc9\x0f\xcd\x00\xa3\x41\x9d\x11\xab\xc2\x5b\x97\x33\xec\x9f\xc1\xf3\x3e\x4d\xa5\x32\x1e\x52\xd8\x9c\xe8\xe9\x6f\x52\x13\x14\x3c\xa8\x67\xe8\x9e\x90\x47\xe6\xac\x07\x63\xaa\x26\xe9\xf0\x2c\xe2\xd3\x0f\x4f\xe9\x90\x08\x46\x14\x91\x1f\xf0\x8c\x4e\xb1\x96\xa4\x89\x98\x7f\x18\x26\x7c\xf8\x61\x8a\xa5\x22\xe2\xc3\xec\x69\x0c\x81\x3d\xce\xd3\xf5\x21\x6b\x76\xcc\xff\xf3\xea\xbb\x6f\x4f\xaf\xfe\xf6\xed\xbb\x45\x0b\x59\xdd\xfa\x77\x59\x84\x67\x32\x4d\x6c\x20\xa0\xf0\x69\xe3\x8e\x7c\x4a\x56\xad\xf7\x75\x71\xb9\xb6\xd3\x5f\x2f\x6e\x1f\x0a\x16\xeb\xe2\x3f\x3f\x77\x3f\xdf\xdc\xfd\x5a\xe0\x94\xfd\x9b\xbb\xce\xa7\x02\x43\xed\xde\xfe\xd0\xfd\xdc\xbd\xeb\x5c\x0d\xdc\xc3\x6d\x6c\x6f\x3f\x32\xfe\xc2\x8a\xa4\x91\x8e\x03\x2e\xf4\x74\x8e\x3e\x72\x81\x7e\xcc\x56\xf2\x74\x88\x25\x5c\x31\xee\xce\x92\x27\x68\xc6\x63\x60\xbc\x88\xcc\x26\x64\x4a\x04\x4e\xac\xcd\x40\x2a\x2e\xf0\xd8\xdc\xf4\x32\x12\x58\x45\x13\x24\x67\x38\x22\x27\x28\x82\xdd\x30\x3e\x81\x45\x01\x55\x8b\x8f\xcb\x76\xbe\xbb\x94\x29\x3a\x25\x4e\x05\xb7\xff\xec\x9b\xc5\xd8\x60\x71\x6e\xfa\x3f\x14\x85\xbd\x8f\x57\xbf\xf6\xbb\x83\xfb\xcb\x1f\x97\xd2\xd3\x7c\x56\x18\xd9\x3d\xc4\x55\x5d\xf0\x24\x9d\x32\xff\xef\xcd\xc7\xd6\xbb\xee\x77\x3f\x95\x47\x77\xd3\xe9\x17\x77\xc6\x5d\x31\x6e\xef\xdd\xf7\x37\x37\x57\xdd\x82\xa7\xfb\xdd\x65\xa7\xdf\xed\xf7\x3e\x17\xf6\xcf\xe5\xc3\x1d\xf8\x80\x96\x4e\xd3\x8d\xa0\x62\xa2\x7a\x5a\xfe\x34\x77\xcd\x0a\x1b\x71\xa2\x8e\x0d\xff\x37\x67\xf9\xd4\xc3\xcb\x31\x51\x6e\x60\xd5\x39\xcd\x4c\xaa\x91\x19\x69\x25\x3b\x54\xc5\x65\x42\xf5\xec\x78\xe9\x42\x2f\xe3\xca\xfd\x6c\x08\x30\xae\x33\xa3\x6c\xe3\x24\xe1\x2f\x26\x42\x79\x4a\xf5\xad\x2c\x09\x04\x2a\xeb\x57\x64\xee\x21\x3c\xab\xe0\x78\xc5\x65\x21\x91\x20\xea\x33\x4f\x99\xda\x7c\xcb\x75\xae\x0b\x7c\xa7\x7b\xfd\xf3\xe0\xe7\x4e\x71\x07\xf6\xae\x96\xb3\x1a\xbf\x89\x8a\xab\xb8\x73\xfd\x6b\x76\x09\x43\x1c\xfb\x49\xa6\xa1\x1a\xd9\x35\x4a\xa8\x16\x7b\x23\xac\xb5\xd7\x04\x24\x1a\x44\x28\x98\x1c\xa6\x7a\x72\x10\x37\x3b\x33\xfe\x24\xc3\x9f\xcc\x20\xcf\xdd\x1f\xa5\xf6\x24\xd0\x05\xac\xa9\x2e\x4d\x00\xda\xb1\x5a\x35\x43\x84\x3d\x53\xc1\x19\x08\xdb\xcf\x58\x50\x2d\x8d\x9b\x96\xf5\x5c\xcf\xe1\xff\xaf\xd7\x26\x18\x46\x4b\x8c\xeb\x9e\x0b\x75\x99\xc5\x27\x6f\x66\x0d\xa9\x8a\xd3\x5d\x8c\xd0\xad\x36\x74\x2c\x7e\x5b\xb1\x38\x5b\xc6\x31\x17\x27\xfc\x7b\x72\x49\x71\xa2\x19\xc0\xee\xe4\xc5\xce\xf5\x7d\xaf\x28\x3f\x16\xd5\x0c\x8f\x2f\x6f\x2c\x2f\x82\xa1\xd2\x8c\xdc\x29\x13\xf7\x3f\x5d\x19\xed\x42\x6f\x12\x7b\x6e\x3d\xc5\x02\x04\x20\x57\x5b\x75\x86\x85\x2c\x7d\x21\x11\x20\x99\xe5\x71\x64\xfa\xce\x82\x28\xad\x67\x4e\xe3\x47\x46\xbe\xcc\x08\x93\x10\x1c\x60\xee\xb3\xdc\xd7\x2e\xcf\x50\x6f\x04\x2c\x41\xbf\xce\x50\xca\xac\x03\x4c\x5f\xb8\x66\x90\x27\x5a\x94\xb5\x43\xc8\x34\x44\x30\xbc\x30\xe2\x62\xc0\xf2\xc1\x3f\xb2\x5f\x32\x27\x1a\x3c\x1a\x71\xcd\x80\xf4\x2a\xda\xf6\xce\x11\x66\x92\x9e\x20\xad\xb0\x94\xd7\x14\x32\x22\xb4\x42\x69\x23\xd3\x34\xa7\xb1\x7f\x1e\xfe\x1a\x58\x08\x7f\xf6\x2f\x83\xea\xbb\xa0\x74\x15\xd4\x88\xc6\x89\xf1\x98\x0c\x9a\xdf\x09\x11\x17\xc4\xfa\x59\xd6\xbe\x06\x56\x31\xf6\x3e\x96\x4f\x0b\xbe\x87\x1e\x93\x0a\xb3\x88\x5c\x24\x58\x6e\x18\x84\xe4\x6c\x1c\x27\x45\x89\xe3\xee\xee\xe1\xb6\xdf\xfb\x7e\x05\x97\x2f\x7f\xbc\x18\x06\x14\x25\xa9\x73\xcf\x0d\x05\xc7\x31\xd2\xec\x73\xcc\x8d\x2b\xd0\x0a\xfe\xe6\x04\x99\x35\xa1\xd2\x8b\x13\xc5\xf2\xa9\x60\xa4\xb6\x59\x16\xd6\xce\xe1\xbb\x12\xa8\x25\x04\x8a\x34\x25\x90\x67\xf2\x70\x4b\x0d\x9e\x45\x13\x45\x67\xad\x5b\xb3\x04\xab\x11\x17\x53\xc3\xe5\x0b\x93\x36\x8d\x2f\x6f\x94\x32\x45\x84\x48\x67\x0a\x54\x76\x3d\xd6\xb2\x94\xaa\x97\xec\x8a\x8f\x3f\x13\x29\xf1\x98\x6c\xe3\x80\xae\x52\x1e\xee\x7f\xf6\xff\x09\x0e\xe6\x26\xb2\x7f\x61\x84\x2e\xa0\xdf\xed\xa7\x1b\xf6\xd1\x04\xf2\xdc\xf2\x84\x46\x1b\x06\xdc\x7d\xec\xf4\xae\x06\xbd\xcf\x5a\x89\xef\xf4\xbb\x57\x05\x51\x02\x9e\x75\x3e\xf6\xbb\x77\x83\xee\xdf\xbb\x17\x0f\xfd\xce\xf7\x57\xdd\xc1\xf5\xcd\x65\xf7\x7e\x70\x71\xf3\xf9\xf6\xaa\xbb\x22\x32\xa7\xb6\xf1\x45\xeb\x6a\xf9\xd5\xf3\x85\x5f\x60\x85\x35\x2f\xf3\xed\x65\x90\x0c\x87\x69\x02\x4e\x70\x6e\x9c\xe1\x18\x31\x1e\x13\xf8\x59\x3a\xeb\x8c\xcb\x36\x39\x43\x3d\xf5\x3e\x49\x10\x4e\x15\x9f\x62\xf0\xda\x24\xf3\x47\x86\x87\x9a\xb5\xe2\x24\xf1\xc2\xbb\x44\xca\x98\x66\xb1\xba\x31\x69\xe2\x8b\x13\xa2\xd9\xf9\xcc\xcb\x61\xb4\x7e\x83\x11\x65\x10\x40\x3c\xc5\xe2\xc9\xb8\x99\xf2\x2e\xf3\x43\x21\x11\x96\x8f\x4c\x8f\x8b\x58\xc3\x50\x13\x0a\x9f\x37\x7a\xab\x96\x3a\x53\xfc\x44\x34\x55\xa6\x69\x34\x41\x33\xc1\xc7\x82\x48\x69\x6d\xcb\x11\x66\x26\x00\xc1\xbe\xae\xaf\xa1\x47\xc6\xb8\x26\x85\x33\x61\xc7\x64\x46\x58\x4c\x58\x44\x4d\xb6\x22\xf8\xee\x33\xd3\xe6\x58\xe0\xd9\x04\x49\x0e\x4e\x6f\x20\x3b\xd8\xaf\xcc\x47\xee\x26\x33\x33\x36\x8f\x7d\x0b\xb4\x48\x35\x9f\xb8\x01\x39\xd1\x50\x19\x3e\x76\x97\xa1\x73\xbb\x18\x3b\xe0\x74\x96\x10\xe8\xd2\x92\x1c\x16\x43\xd3\xba\xb0\x1e\x7a\x99\xaa\x16\x41\x5f\xd8\x6e\xcc\x58\xda\x11\x9d\x55\x58\xb6\xed\x91\x42\x3f\x60\x16\x27\xba\x15\xe7\xc3\x28\x9e\x45\xc8\xb0\xe9\xe8\x5d\xe3\x4e\xe3\x36\xb7\x68\x84\x53\xb9\xcd\x35\x5a\x4a\x31\x35\x56\xc1\xd3\x3c\x28\x04\xb6\xb7\xcd\x2f\x05\xea\xce\x34\x8b\xc4\x09\xb7\x54\x32\xaf\xa7\x36\x68\x19\x46\x53\x73\xcd\xce\x04\x65\x11\x9d\xe1\x64\x23\xdd\xaf\x94\x63\x60\x43\xf7\xff\x40\x47\x7a\xfb\x7c\xb3\xe0\xb6\x55\x44\x4c\x21\x9d\xdc\x0e\x33\x5b\xc2\x35\x2c\x49\x36\x59\x83\xc8\x3c\x9a\x04\x0b\x9e\x1a\x7f\x1c\xd0\x85\xc4\x15\x47\xf5\xac\x6a\xb9\xf5\xc9\xc0\xc5\x00\xe8\x0d\x16\xdb\x44\xfe\xd4\xd1\xaf\xd4\x8a\xed\xdd\x04\xe3\xe1\xe4\xb6\xba\xcd\xaa\x15\xf0\x1e\xfe\x7b\xd9\xde\xf9\x8c\x67\x7a\xcf\x44\xa9\x54\xe0\x29\xce\xe6\x68\x95\xa4\x52\x28\xbb\xe7\x3b\xcf\x82\xda\x9b\xaf\x46\x4e\x42\x1b\x00\xb5\xd8\x49\x21\x86\xc0\x43\x04\xb0\x7b\x7c\x94\x6a\x59\x16\x61\x88\x42\x40\x7f\x20\x67\xe3\x33\x74\xf3\x73\xf7\xee\xae\x77\xd9\x3d\x41\x9d\xdb\xdb\xee\xf5\xe5\x09\x22\x2a\xfa\xc6\xc5\x2c\xda\x80\xa5\x47\xa6\xb8\x95\x56\xe6\x68\xc2\x5f\x80\x37\x12\x31\x26\x85\x39\xbb\xe8\x26\x08\x55\x1e\x53\xa9\x6c\xf8\xac\xe6\x2b\xf9\xb0\xb4\xbc\x5f\xb9\x43\x52\x35\xd9\x66\x6b\x60\x29\xd3\xa9\xd6\x65\x07\x14\x4f\x07\x82\x27\xdb\x30\x85\x4b\x98\x0a\xa8\xcb\x19\x98\x02\xc5\x53\xa4\x9b\xb5\xa1\x20\x99\xcb\x31\x13\xe9\xb4\x60\xa4\xf9\xb2\xbe\x37\xbd\x7b\xcb\x79\x1f\x6c\x3c\x1a\x75\x21\x10\x00\xb6\x50\xc3\x2a\x72\xb3\xf1\xc0\x5a\xea\x07\x38\x8a\xb4\xca\xbd\xe3\x49\xe5\x1d\x65\x2e\x01\xdb\xd1\xde\xa6\xb9\x6a\x9f\xbb\x61\xce\x34\x07\x83\x60\x60\x7d\xe5\x4a\x1e\xd1\xbc\xfd\x8a\x7e\x87\xf3\x85\x5e\x61\xcb\x9e\x3d\xb2\x07\x99\x99\x54\xcc\x25\x2c\x09\xac\xa4\x44\x2f\x13\x02\x47\x63\x8e\x26\xf8\x99\x14\xba\x74\x39\x24\xba\xe1\x39\x4f\x45\x15\xa3\x7b\x64\x97\x64\x26\x88\x96\xf4\xcb\x0e\x94\x6c\x4f\xdf\x15\x77\x62\xd8\xd7\x61\x5f\x1f\xfd\xbe\xbe\x48\x52\xa9\x88\xe8\x48\x49\xc7\x60\x48\xdc\x4a\x80\x33\x8d\x0d\x66\x9c\x27\x83\x06\x36\x91\xe6\x14\x2f\x78\xc2\x0a\x01\x1f\xd2\x20\x1d\xf0\x14\xe4\xa3\xc2\xb5\xc9\xf5\x5d\xe7\x65\x0e\xdb\xe1\x2d\x21\x83\x73\x99\x75\x1c\xa0\xc4\x56\x22\x0e\xae\x6a\x65\x59\x4b\x68\xef\x62\xce\x85\x91\x6f\x32\x77\x59\x3e\xc4\xd2\x61\x72\xa2\x08\x65\x8e\x6c\xf9\x47\xb0\x9f\x35\x81\x8d\xdc\xf1\x7b\xca\x15\x96\xdf\x9c\x3d\x32\x2d\x44\x3d\x91\xb9\x31\xb7\x6a\x31\xe5\x8f\x5a\x16\x3f\x95\x84\x49\x08\xf7\xfe\xa3\x71\xcf\xe9\x2d\xee\xcc\xd5\x46\x35\x25\xd3\x59\x82\x15\x04\x5d\x67\xbd\x40\x88\xae\x6d\xd4\x4a\x49\x79\x00\x34\xc8\xf9\x66\x2e\xf6\x99\x19\xfe\x98\x28\xc8\x1c\x57\x54\x81\xce\x14\xa7\x9a\x3c\x8b\x43\x5f\x69\xba\x32\xbb\x42\x70\xf0\x93\xc4\xe9\x76\x8c\x5f\x2e\xb6\xb1\x92\x33\x66\xda\xc2\xbd\x8d\x79\xff\xe0\xec\x46\x91\xe0\xac\x14\x0d\xa3\x95\x39\xb3\xd2\x43\xc3\x0e\x9c\xff\x9a\xb0\xb3\x17\xfa\x44\x67\x24\xa6\x18\x22\xe0\xf5\xbf\x3e\xe8\x79\xfd\xe7\xc5\xdd\xcd\xf5\x20\xcf\xe4\xf9\xef\x47\xd6\x49\x24\xcf\xb2\x14\x10\xe3\x2c\x0b\xb7\x9f\x09\xe2\x44\x42\x3b\x17\xb0\xba\xe6\x66\xc4\x47\x56\x37\x82\x98\x47\xf2\x0c\xbf\xc8\x33\x3c\xc5\xff\xe4\x0c\x5c\xe9\x1d\xf8\xf3\x22\xe1\x69\xfc\x0b\x56\xd1\xe4\x03\x9c\x6b\xf5\x81\x3c\x13\xa6\x8c\x9b\x4a\x93\x2b\x86\x9c\x64\x09\xd1\xfa\xff\xa9\xc7\x9c\x27\x15\x49\xad\xc9\x46\x64\xa6\xd0\xff\x2b\xc8\x90\x73\x55\x7d\x49\xf1\xd1\x48\x92\xb5\x2e\xa4\x5c\x49\xbb\xbf\x41\x7f\xfb\xaf\x6f\xff\xac\xb7\xd0\x26\x34\xee\xdd\xdf\x0c\xf4\xf7\xff\x79\x69\xbf\x97\x6b\xb0\x3b\x93\x4a\x2b\xad\xab\xd9\x50\xc3\x04\xce\xa7\x0c\x6e\x3f\x01\xce\x0b\x60\x6f\xb0\x1d\xf2\x75\xac\xe2\x6e\x97\x85\xd6\xb7\x53\xd9\x36\x22\x26\xa8\xd8\xde\x1c\xd1\x29\x62\x1c\x4d\x4d\xac\x29\x66\xe8\xaf\x3f\x7e\x5f\xbd\x80\xa9\xa0\x1b\x75\x48\x2d\x0a\x85\xd7\xa5\xa4\xff\x24\x12\xe9\x5d\xa3\x77\x31\x9f\xea\xae\x05\x91\x13\x9e\xc4\xe8\x85\x80\x9a\x64\xe3\x40\x33\xad\x5c\x90\x47\xe6\x37\x01\x21\x87\x08\x27\x8a\x8f\x09\xdc\xd5\x4e\x51\x53\x44\x68\x51\xc5\x64\x69\x28\x2e\xc8\x89\x01\x66\xbb\xff\xce\xc5\x56\xc3\x34\xe1\x91\x4b\x6a\xb1\x26\xb9\x78\x58\x3d\xf3\x51\xd9\xf4\x8a\xea\x6d\xf8\xe5\x45\xb6\x66\xdb\x6a\xd2\xd8\x24\x14\x6b\xc3\x2a\xaf\x4c\xf5\x60\x68\xc4\xd9\x20\xa1\xec\x69\xa3\xc5\x70\x89\xe1\x48\xb7\x60\x69\xa6\x5b\xcc\xec\xdc\xc6\x02\xb2\xc6\xf9\xf8\x98\x26\x89\x49\x6d\xf1\x97\x07\xe4\x2e\x43\x37\x10\x06\x66\x26\x07\x94\xc4\xd6\xef\x65\x35\x61\x41\x18\x04\xbc\x3d\xb2\xe1\xdc\xfa\x6c\xe5\x09\x92\x69\x34\x71\x99\x79\x11\x67\x52\x8b\xd1\x5c\xa0\x88\x4f\xa7\x5a\xeb\x85\x25\x53\x9c\x27\xd2\x46\xbb\xb3\x53\x85\x23\xf5\xc8\xf2\xfe\x56\x9c\x3c\x53\x94\x69\xbb\xd4\xbd\xe6\x2e\x9d\xbc\xf8\xd3\x52\x81\x9b\xc6\x3e\x14\x05\x18\xc1\x8c\x27\xca\x03\xb5\xe0\x8b\x67\xc9\x2c\x58\x8d\x66\x20\x27\x5c\xa8\x41\x5c\xc9\x73\x56\x6e\x9a\x32\x23\x64\xe4\x34\x81\xa0\x61\xfe\xac\x85\x7f\xf2\x92\x19\x5f\x97\x0d\x41\xef\xea\x65\x23\x68\x76\x8c\x96\x8e\x6c\xdd\x2d\x58\x43\x2b\x03\x4c\x12\x15\x63\xc2\x57\x8d\xf1\x1e\xbe\xba\xd0\x1f\x2d\x25\x5e\xf9\xdc\x39\x21\x88\xc7\x39\x86\x9e\xb9\xd7\x6d\x46\xc8\x32\x9a\x5a\xe8\x84\xfd\x65\x8e\x2e\x9b\xca\x43\xd1\x92\xab\xc7\x02\x26\x7b\x49\x40\xd6\xc4\x62\x48\x95\xc0\xa2\x00\x80\x92\xe9\x83\x92\x60\x01\xf1\x59\x8f\xcc\xc0\xe1\x19\x4d\x21\x46\x31\x95\x90\x20\x02\x77\xa9\xe7\x0c\x43\xcd\x94\xc0\xd2\xd1\xce\xf3\x1c\x4d\xfc\x39\x04\x96\xe5\x5b\xc3\x31\x3b\xdd\x51\x06\xfb\xa5\xf5\x33\x1e\xa5\xb9\x20\x17\x81\x84\x6b\xa1\x82\x10\x65\x92\x8e\x27\x0a\x51\x66\xed\x8e\x38\x19\x73\x41\xd5\x64\x2a\x4f\xd0\x30\x95\x5a\x0b\x35\xc1\x6a\x26\x1e\x85\xa8\xa8\x11\x17\xda\x36\x89\x38\x2e\x35\xb8\xa8\xa2\x6c\xb0\x35\x9a\x1d\xca\x6e\xe9\xae\x58\xb1\x71\x3a\x19\x7c\x62\xb9\x0d\x4a\x64\x86\xba\x89\x4c\x1c\x20\x77\x80\x55\xbf\xa7\x44\xaa\xba\x73\x00\x60\x97\x3b\xf3\x52\x1c\xa2\x92\x16\x32\xc9\xa0\x82\xb8\xd8\x6d\x90\xbc\x8a\x80\x9b\x06\x94\x2a\x73\x3a\x4d\x67\xaa\x32\x70\x6b\xd1\x55\x74\xe7\x41\x19\x35\x23\x36\x24\x63\xc1\x6e\x06\x00\xba\x47\x76\x4f\x48\x3d\x3e\xdd\xc2\xda\xff\x06\x47\x09\xa6\x60\x13\x3d\x96\x6f\xf9\x6d\x9c\xd8\x97\xdd\xfb\x8b\xbb\xde\xad\x81\x9c\xb8\xb9\xfb\xdc\xe9\x0f\x2a\xfc\xda\x15\x6f\x7d\xee\xdc\xfd\x78\xb9\xfa\xb5\x1f\xfa\xc5\xac\xec\x8a\x57\xee\xee\x97\x27\x73\x34\x18\x62\x45\x52\x58\x65\x3f\xe7\x68\x36\x57\x13\xce\xb2\x10\x85\xb8\xc0\x9b\x4e\x91\xc9\x08\x56\x10\x42\x24\xa4\xaa\x70\x1c\xf6\x21\x2e\x67\xb5\x84\x59\x5c\x2c\x83\x2e\xb7\x53\xd1\x68\x8d\x13\xf9\x29\xe1\x43\xf0\x5b\x5b\xd9\xc7\x02\xd3\x2d\x89\x40\xdf\x32\xde\xe7\x92\xca\x59\x82\xe7\x0b\x3d\xac\xba\x72\xae\xf1\x94\x40\xc4\x71\x0e\x8b\xe7\x92\x45\xf4\xca\x40\x02\x53\x76\xaf\xd3\x11\x64\x32\x29\x8a\x15\x41\x43\xa2\x5e\x20\x6f\xce\xfd\x9a\xd9\x52\x5d\xc0\x88\x3c\x7b\x64\x60\xce\x79\xd4\x44\x8e\x53\x88\xf6\x7b\x7c\x77\x82\x1e\xdf\xc5\xe4\x99\x24\x7c\xa6\x57\x5e\xff\x50\x77\xc9\xcc\x19\x9e\xd2\xe8\x9a\xc7\xc4\x85\x68\xdc\x59\x24\xc7\xad\x6c\x8a\x10\x7c\x46\xe2\x81\xbb\x32\x9b\xcb\xc0\x17\xf6\x53\x37\x9c\x8b\x84\xcb\x0c\xf0\x05\x2d\x37\xfd\x74\xa7\x98\x26\xd7\x5c\x65\x76\xc6\x6d\xe6\x20\x48\x44\x67\xa0\x67\x0c\x88\x6e\xf7\x70\x62\x54\xe1\x5c\x3a\xe6\x0c\x63\x40\x38\x8e\x05\x91\x12\x18\xb3\x1b\x5e\x1e\xd0\xc4\xbc\xa9\x17\x4a\x77\xae\x23\x20\x65\xc6\x7c\xd3\xa3\xdf\x66\xd1\x88\x5b\xb5\x9f\xba\xec\x79\x8f\x0e\xe6\x6d\xc5\x12\xbd\xbf\x7e\x24\x73\x48\x28\xb9\xc5\x54\x6c\xe8\x68\xae\x8a\xe0\xdd\x8b\xcb\xb9\x5b\xd1\x51\x8b\x9c\xcf\xd5\x74\xd8\xce\x0d\x9d\x45\x1e\x1e\x4a\xe7\x76\x7c\x26\xeb\xb8\xa1\x12\xfe\x50\xa7\x72\xd7\x06\x64\xa0\xb2\x1a\x39\x23\xd1\x1a\xfa\x63\x36\xc0\x7b\xfd\xdd\x4a\xbd\x2b\x13\x3e\x5d\x34\x61\xbe\x0a\x36\xd5\xbf\x8c\x2e\x40\x56\x8e\x38\xb2\xbc\x78\x83\x41\x3b\x36\xbe\x6c\xdc\x5d\x7f\xfb\x6a\x29\x77\xad\xf0\x8c\x0a\xc2\x97\x10\x3b\xcd\xad\xa9\xac\xbf\xcf\xbe\x7d\x82\x28\xc4\x8e\x82\x7a\x99\xe4\x38\x08\x2c\x46\xb9\x53\xe7\x91\xe5\x11\x38\x12\xbd\x90\x04\x82\xf6\xf4\x2d\x07\x0e\x0b\x3b\x5c\xdb\x12\x89\x4d\xfc\xf3\x09\xe2\xa9\xd2\x8d\x99\x0c\x23\x67\x92\xb6\xe9\x4b\xb9\x13\xc7\x78\x12\x6d\x28\x7f\x86\xfe\x6d\xf6\xba\x91\x0c\x28\x43\x9f\x88\x82\x56\xa0\x68\x84\x3f\x41\xd0\x7a\xca\x01\xa1\xd5\xb4\xdf\xe2\x44\xd9\x99\xac\xb1\xf2\x39\x0c\xcc\xf7\x09\x1f\x2e\x37\x79\x40\xe3\xe8\xe1\xae\xe7\xec\xab\x79\x34\x98\x07\x31\x5d\xf0\x8f\x76\x6f\xef\xba\x17\x9d\x7e\xf7\xf2\x0c\x3d\x48\xa2\xc9\x93\x4d\x17\xb2\xc5\x33\x05\xcb\x8c\xdc\xe2\xca\x30\xa9\x08\xae\x33\xeb\x10\x21\x0a\x39\xdd\x2b\x18\x47\x11\x74\x66\xf9\xc6\x06\xc8\x17\x6a\xcd\x8e\x00\x93\x54\x9e\xa7\x8d\x33\x5c\x75\x02\x21\xea\x6b\x70\x3c\x31\x77\x66\xbc\xd3\xc5\x38\xc3\x55\xdb\xa7\x18\x9f\xb8\xef\xc9\xc0\xd1\x52\x13\x42\x05\x6a\x34\x2d\xb3\xa9\x06\xcd\xe7\xe4\x05\xec\x7f\xc6\xb3\xe5\xc9\xb4\xf8\xa5\xb0\x69\x8d\x60\xef\x45\x22\xec\xfb\x1c\x38\xb6\x36\x30\xac\x70\xfb\x09\xe6\xee\x39\xc3\x5b\x33\xbe\x69\xf2\x57\xa4\x33\xf9\xf9\x13\x2b\x0d\xc2\x46\xe5\x4a\x04\x67\x07\x7e\xa1\x0c\x15\xae\xc4\x13\x34\xa2\x5f\x6c\xa3\x79\xb4\xbe\x7b\xd5\x0b\xdf\xa8\x89\x0e\x9d\xe0\xc5\x33\xb5\x86\xd8\x70\x0b\xdf\x2f\x15\x22\xb9\xd4\x22\x51\xa4\xc5\x25\x41\x22\x2e\xf4\x4d\x01\xdd\xe6\x3e\x95\x55\x22\x83\xc2\x42\x13\x65\xd1\xc7\xb4\xec\xf4\xe7\x85\x62\x62\xac\xc8\xa9\x16\xbd\x56\xa4\x73\xdb\x8c\x1f\xc8\x0d\xc2\xca\x03\x37\xcb\x6f\x9e\x21\x19\x63\xe6\x02\xcd\x6b\x86\xeb\xae\xbc\x2d\x58\x95\x56\x81\x30\x24\xbb\x81\x7c\x05\x89\x4c\x85\x71\xc8\x19\xd0\x73\xe9\x38\x6c\x2c\x4f\x1b\xc8\xf6\x82\xb3\xd0\xa2\x9a\xc1\xa6\xb3\xb8\x4d\x83\x4d\xb0\x54\xc8\x8e\xa9\xce\xb0\xe2\xa9\x88\xfb\x35\x29\x17\x74\xfb\xa6\xca\x9b\xde\x42\x45\x2d\x96\x80\x9f\x47\x3a\x14\x18\x83\x79\xa3\x75\x1a\x27\x08\x5f\xc0\x0a\x65\x67\xfb\xce\x48\x59\xee\x96\xf0\x99\x09\xa4\x1c\x2c\x36\x7d\x86\x3a\x6c\x01\xfd\xcb\x45\x99\x15\xe8\x65\xee\x24\x9c\xbc\xe0\xb9\x44\x33\x61\x80\x72\x4c\x1e\x82\x9b\x3c\x68\x60\xc5\x8f\xb2\xc0\x0e\xe5\x12\x41\x10\x58\x96\x56\x87\x00\x3a\xb9\x77\xb0\x07\xc7\x64\x29\x46\x3e\x13\xc8\xf3\xe6\x72\x5b\x45\x03\x56\xa7\xc8\x20\x9a\x60\x36\x26\x03\x67\x32\xde\x44\x5b\xd2\xed\x5c\x40\x33\x97\xb6\x95\xea\xcb\xe9\xd6\x28\x4c\xb6\x48\x8f\x79\x35\x33\x87\xea\x43\x20\x15\x1e\x13\x64\x46\xd4\xc8\xc8\x5e\x88\x7f\xb3\xd0\xc9\xa0\x27\xd8\x56\xbb\xc5\x9c\x80\x3a\xe1\x1d\x02\xb9\xae\xf0\x90\x24\xaf\x13\x07\x02\x5d\x5b\x57\x03\xf8\x1e\x4d\x6e\x03\x41\x2f\xe0\x9d\x28\xb1\x0c\xeb\x8b\x10\x69\x55\xa6\xc3\xb2\x79\xc2\x91\xb3\x27\x6d\x9b\x89\xba\x82\x2e\x9b\x4c\xb5\xae\xcc\x8b\x7f\xed\x79\xe5\x50\xaa\x0c\x6c\xfe\xf5\x57\xb6\x90\x6f\x36\x10\xaf\x2a\x4b\xcd\x38\xb6\x2e\xcb\xb2\x72\x2a\x1b\x43\x26\x34\xac\xc0\xd8\x1b\x21\xc6\x19\x41\x54\xe6\x2f\xab\x62\x72\x57\x06\x38\xa4\x45\x7c\x63\x7c\xc9\x4a\xa9\x65\x15\xb2\xf6\x6d\x69\xc9\xa1\x20\x32\xdb\x80\xcb\x56\x67\x44\x2b\xaa\x58\xcc\x01\xb0\xd4\xf0\xe1\xa2\x4c\xb7\x72\x9c\x3b\x17\xb8\xfb\x0e\x8f\xd6\x8b\x3b\x56\x1c\x81\x18\x59\x1a\x1c\x32\xa8\xae\xf6\x25\xfb\x91\x05\xdd\x79\x64\x99\x65\x03\x36\x22\x95\x68\x8a\x67\xe0\xa1\x64\x5c\xe5\x5f\x19\x10\x29\x95\x2d\xe1\x89\x13\xc4\xa5\x29\x74\xb6\x9a\x02\x5c\x8c\xb7\x09\x3c\x69\x5e\xcc\xa2\xb9\x61\xc9\x5d\xfe\xf9\xaa\x16\xa1\x42\x1d\xcc\xf1\x98\x3e\x13\xe6\x4e\xd4\x89\x3b\x91\x9a\x24\x6e\xca\xc9\xfc\x14\x43\xc8\x36\x89\x7d\x2f\xd2\x72\x7e\xb8\xbd\x33\x66\x57\xd6\xd0\xe6\x24\xeb\x57\x86\x24\x19\xc0\xb9\x42\xa5\x00\x17\x64\xef\x9f\x11\x8b\x81\x6c\xb2\xea\xb1\x44\x7f\x64\x5c\xfd\xd1\x43\x89\x76\xa6\x13\xf8\xd4\x19\xc0\x4e\x16\xaa\xfa\x00\xcb\xb0\xdb\x16\x61\x0f\xad\x6c\x25\xe5\xb7\x8d\xb3\xc8\x93\x08\xf6\x2a\x0b\x77\x17\x33\x0a\xeb\xca\xa2\x85\xe8\x07\x54\xbe\x94\xca\xe6\x56\x53\x79\x31\x3f\xe9\x05\x33\xab\x5c\x15\xee\x90\xad\x45\xa3\x30\x87\x05\x74\x85\x6d\x76\xdb\xb4\x71\x14\xda\x0a\x40\xe9\x6a\xab\xc8\x26\x39\xb3\x75\x5a\x81\x28\x86\x01\xda\x92\x22\x35\x88\xc9\x67\x8f\xec\x23\x17\x56\x00\x90\xb6\x66\xc3\x10\x47\x4f\xa7\x84\xc5\x08\xa7\x6a\x62\x90\x8b\xad\x57\x63\x6e\x77\x83\x96\x73\x60\xdb\x64\xb0\x24\x54\x46\x58\xc4\xae\x7a\xc8\x33\x77\xa3\x78\x64\x5e\x23\x50\x15\x02\x6a\x81\x41\x91\xe6\x3a\x45\x97\x48\xad\xdd\xd5\xd1\xa2\xaa\x4e\xef\x42\x95\xde\xe5\xe7\xac\x50\x77\x18\xea\x59\x40\xb0\x18\x1f\x2d\x52\xa7\xe7\x6c\x9d\x4e\xbb\xd4\xfb\x79\xd1\x07\x72\x62\xf5\x19\x63\x10\xb3\x33\xd0\x72\xd6\xb7\x8e\xd7\x16\x10\x98\x47\xa9\x80\xd0\xe7\xaa\x36\xff\x10\x4d\x68\x92\x7b\x4e\xbe\x39\xc9\x86\xa9\x9b\x4c\xc8\x33\x49\x0c\xfe\x7f\x24\x20\xcb\xc1\xd8\x2c\xbf\x45\xff\xdb\xd4\xae\x45\x7f\x7e\x64\x9f\x80\x0d\x27\xc9\x1c\xd0\x49\xb3\x96\xb1\x2a\x35\xf3\x54\x39\x00\x65\xd3\xaa\x50\x71\x20\x66\xad\x27\xf8\x99\x3c\x32\xd7\xcc\xff\x46\x4f\xe8\x4f\xe8\xcf\x75\xca\xa5\x4b\x56\xd8\xb3\x95\xe5\xa3\x97\x0a\xe0\xdd\x72\x96\x51\x5a\x7e\xe3\x8c\x30\x05\x13\x68\x05\x4a\x49\x06\x32\x4e\xd9\x33\x8f\x16\x32\x62\xfc\x53\x8b\x05\x61\x6a\xc0\x78\x4c\x06\xa4\xc2\xa1\xba\x84\x49\x68\x21\xe0\x9a\xc7\x64\xa5\x3b\x34\x63\xa6\xbf\x80\xe1\x48\xa6\xc3\x6c\x39\x00\x2c\x21\xcb\x8c\xcf\x6c\x1f\xc5\x9d\x56\x3d\xf2\x0c\xc9\x77\x93\x71\x6f\xea\xca\xcd\xc5\x46\x9c\x43\x09\x57\xbb\x13\x13\xac\x9c\x34\x59\x3e\x8e\x65\x37\x84\x7e\x59\xcf\xdc\x5e\x56\x1e\x46\x31\xd4\x91\x11\x74\x4c\xb5\xf6\xd0\xdc\x5d\x0c\x9c\x70\x13\x5f\x8a\x01\x6c\x6d\xe4\x4c\xc9\x49\xe1\x40\x6b\x4e\xb3\xfd\x97\xbb\x40\x87\x3c\x2d\xab\x0f\x96\x00\x54\xfa\xc1\x06\x56\x53\x98\x6b\x3e\x3c\x36\xd9\x94\x64\x42\x0d\x7e\x41\xe7\xe2\x0a\xe9\xd3\xc1\xa7\x06\xe4\x0b\x88\x96\xaa\x09\x17\xf4\x9f\xcb\xf6\x36\x16\x8a\x8e\x70\xa4\x06\x3b\xa9\x89\x53\xbf\x99\x3a\xb6\x9f\x5e\x7d\xdd\xbd\x05\xbc\x06\xfc\x4c\xbc\x70\x4a\x08\x96\xb4\xad\xc8\xcc\x91\x5b\xe6\xb7\x5c\x20\xc6\x5f\x72\x90\x2f\xf7\x3d\xe0\x5a\x7b\x69\x28\x58\xab\x5c\x33\x88\x87\x96\x14\xf6\x27\x40\x6e\xbd\x57\x26\xc5\x14\xe0\xda\x0d\x58\x96\xde\x9e\x13\xcc\xe2\xc4\x5d\x21\x88\x9b\x88\x9e\xf9\x0b\x9e\xaf\xe5\x53\xf7\xa3\x44\xf3\x9c\x43\xb3\xfc\x45\x25\x08\x78\x80\x91\xd4\x54\x41\xd5\xac\x52\x84\xd1\x30\x05\x98\x60\x4d\x93\x51\x9a\x98\xda\x22\x11\x17\xf1\xd9\x23\xb3\xe1\xe1\x5e\x6f\x5a\x04\x74\x5a\x13\x56\x59\x83\xd4\xa2\xa9\xda\xea\x25\xc6\x2c\xb7\x54\xae\xff\x29\x25\xe9\x8e\x92\x44\x5f\x35\xac\xbe\x8f\xc7\x32\x8f\x93\x37\xb4\xd1\x57\x5e\x4e\xdf\xdf\xf5\x4c\xa5\x97\x56\xed\xcc\xc5\x19\x4a\x99\xb1\xb3\x98\x92\xbc\x6b\x99\xe9\xee\x4c\x75\x86\x1d\xd8\xe9\x0e\x11\xa4\xb3\x28\x7a\x56\x70\x75\xbb\xfd\x9e\xb3\x24\x63\x74\x18\xe3\x97\x2b\x73\x51\x12\xea\xf6\x68\x07\xdb\xe0\xee\x58\xd4\x55\x96\x06\xee\xe7\x56\xb1\xec\xb6\xa8\xc8\xf7\x57\x1c\x32\x83\x5e\x04\x05\x10\xc3\x79\xfe\x72\x56\x7d\xda\xdd\xc2\x3e\x8f\xd1\xc2\x9f\xd1\x16\x20\x58\xc7\x91\x70\x5e\x7d\x75\xae\x61\xd7\xb1\x0d\x15\xbb\x5e\x0c\xc6\xa8\x3b\x11\x86\x25\xb5\xf5\x48\x2c\x22\x18\xad\x3c\x0c\x59\xb1\x9a\xd7\xb1\x0a\x67\x12\xe3\xe1\x4e\x46\xb6\x1d\x07\x11\x8e\x26\xb5\x93\x1a\x72\x9e\x10\xcc\xea\x94\x82\xca\xc7\xe5\x23\x62\xf0\x77\x81\x75\x27\x09\x80\x50\x3b\x12\xd8\xc2\xa5\xb9\x56\xc4\x62\x28\x1e\x60\x78\xb8\x09\xf8\x74\x03\x55\x84\x39\x83\x1a\x65\xe3\x84\x94\x69\x65\xab\x3c\x9c\xd8\x4e\x92\x28\x4d\xbc\xca\xa5\x33\x22\xf4\xa8\x35\x89\x9f\x09\xd3\xaa\x98\x1d\x87\xf3\x50\xbd\xb8\x9c\xfd\xac\x5e\xd9\x49\xd6\xb5\x73\x92\x42\x62\x6c\xfc\xc8\xe0\xe0\xf2\xe2\x61\xd5\x7b\x55\x6a\xed\xcd\x37\xf7\x6d\x7c\x3a\x3d\x21\x62\xed\xe3\x79\x5f\xb4\xfd\xaf\x7d\x26\x4d\xdf\x03\x08\x1c\xd9\xda\x5f\xea\xf9\xd4\x72\x34\x11\xb3\xb0\x0e\x31\xee\x40\x9e\x01\x08\xc5\x29\xc6\x12\x7b\x91\x38\x75\x88\x65\x7b\xbd\x4b\xf2\x0a\x2d\xee\x36\x68\x38\x94\xa5\xf1\x07\x0d\xa3\x09\xc0\xe8\xbb\xec\xdc\x5e\x59\xa9\xbe\xe8\x87\xcf\x52\xd0\xf2\xd8\x55\x5b\x83\x58\x09\x0c\x00\x1a\x00\x7b\xf0\x8b\x31\x5c\x50\x69\x84\x7b\x57\x89\x65\x3a\x53\x73\x5b\xb8\x0f\xee\xc5\x82\xbc\x0f\xa0\x84\x55\x3e\xff\xf2\x1d\x19\x17\xbc\xfe\x55\x9d\x41\x47\xd6\x5a\x53\xd9\xa4\x23\xb4\x0f\x72\x53\x02\x15\xa9\x0b\xf1\x31\x35\x90\x07\x38\xa9\x35\x11\xee\x80\x69\x82\x72\x94\x03\x89\x58\x7c\x62\x25\x52\xa2\x79\x17\x4e\x92\xd2\xbc\x30\x64\xec\xab\xac\x0e\xe2\x30\x2f\xd6\xdc\x3c\x02\x21\xc1\x43\xb2\x56\xcc\xc1\x95\xf9\x60\xe9\x2e\x82\x57\x20\x5c\x7f\x36\x4b\xe6\xcd\xd2\x04\x7c\xed\xb7\x12\xc7\x6f\xd5\xc0\x7c\xf4\xbf\xa5\x77\x53\x11\x41\x6f\xb3\x21\x4a\x12\xa5\x82\xaa\xf9\xc0\xda\x52\x9b\x33\xad\x7b\xfb\xe5\x85\xfd\xb0\x89\xa1\xe2\x1c\xb9\xfe\x9c\xed\x16\xee\x29\x41\x4d\x91\x27\x3b\x85\x26\xcb\x8d\x53\x35\xa9\xc4\xf7\x5a\x46\x58\x07\x30\xd6\x6c\xa8\xba\x8b\x4d\x87\x67\x8b\xc7\x0c\xf8\xc8\x41\x77\x35\x27\x6c\xb9\xaa\xce\x1a\x46\x68\x87\x10\x3e\x13\x94\x0b\x5b\xbc\xa6\x49\xa4\xe2\x14\x7f\x19\xcc\xb0\xc0\x49\x42\x12\x2a\xa7\x9b\x9b\xcc\xbf\xfb\xcb\xd2\xd1\x5e\x98\x22\x4b\x66\xb0\x53\xfc\x85\x4e\xd3\x29\x62\xe9\x74\x68\xa5\x5c\x2c\x9f\x7c\x7c\x56\x87\x26\x61\x60\xc6\xdc\x00\x0b\x98\x16\xc2\x43\xdc\x7d\x64\x1e\xf6\xba\x35\x55\xe0\x68\x42\xc9\x33\x20\xc3\x0a\x46\xa4\x3c\x43\xd7\x5c\x91\x73\xf4\x19\xcf\xfa\x20\xa8\x99\xaa\xa7\x63\xe3\x74\xc0\x12\x69\xa9\x35\x65\x54\x9d\x3c\x32\x0b\xd8\xee\xa8\xf2\x21\xe2\xcc\x80\xf6\x46\x40\xd8\xac\x09\xb0\xa2\x3b\xf4\x5a\xe5\x72\x6f\xa9\xac\x21\xb6\xc0\x2f\x03\x2f\x24\x79\x60\x52\x3e\xd6\xd8\xc7\x77\xf8\xc5\x04\xe1\x5f\x62\x85\x4d\x41\xe3\x65\x92\xbb\x8d\x72\xb3\x45\xae\x0c\x56\xb5\x8b\x06\xe2\x16\x30\x25\x2b\xcf\x67\x42\x8e\xff\x40\xcf\xc8\x19\xfa\x3e\xe1\x43\x79\x92\x9b\xaa\xcc\x43\x49\x94\x3c\x31\x7e\x3f\xf8\xb7\xc9\x56\xfc\xc6\x51\x3f\xe7\xfb\x50\x99\x72\x44\xbf\x18\x9c\x16\xf9\xdd\xf9\x87\x0f\xd3\xf9\xe9\x30\x8d\x9e\x88\xd2\x7f\x81\x4c\x51\x49\x21\x07\x72\x86\xab\x20\xd3\x56\x51\x67\x11\x6e\xad\xd1\x8e\xb4\xb9\x52\x92\x00\xb4\xbf\xbe\xd2\xb3\xda\xbf\x0e\x9d\x8b\xb3\xea\xc2\xa6\x76\xca\x22\xad\x3b\x5e\x05\x4c\xf0\xc3\x68\x2b\xa6\xb6\xb1\x0f\x45\x3e\x4a\xf0\xb8\xa4\xb2\xac\xa1\xa4\xdc\x4c\xa9\xdd\x45\x7a\xee\x10\x44\xa3\x4f\x59\x31\x74\xf0\xbd\xf3\xf2\x82\xb7\xd6\x7a\xb1\xce\x1e\x59\x47\xa2\x17\x62\x4a\x16\x43\xda\x2c\x38\x7d\x52\x2a\x27\x59\xd2\x2c\x98\xa1\xa1\x51\x83\xd8\x6c\x80\x3d\xac\xe2\xe8\x34\x2b\xe7\x16\xb3\x1a\x28\x4e\x24\x39\xd1\x0d\x83\x49\xd5\x45\x87\xa2\x17\x81\x67\x33\x22\x1e\x99\x45\xdf\x05\x8c\x79\xce\x6d\xe4\x4f\x5d\x8a\x40\xd0\x28\x0f\xab\x51\x7a\xb4\x27\xc5\x2c\xd4\x55\xe7\x1b\x92\x56\x97\x51\xb8\x2a\x0f\xd3\x91\x4f\xcb\xa2\x4d\xc3\xf7\x5f\xdf\x6c\xdc\x70\xcc\xab\xb4\xf3\x4e\x29\xf7\x02\x2a\xa2\x4f\x41\x81\x94\x79\xe1\x57\x67\xeb\xcb\xd4\xf7\x82\x98\x03\xe0\xed\xf0\x71\xcc\x89\xf4\x8c\xf8\x28\xb3\xc5\x25\x74\x44\xb4\xf4\xf1\xc8\xf4\x36\xf6\x1d\x0e\x06\x03\xde\x41\xc2\xeb\x4e\x23\xc1\xa5\xb4\xe9\x14\xa6\x9d\xe5\x49\x71\x5b\x94\x9b\x34\x40\xf6\xbd\x9b\xeb\xc1\x62\xe1\x49\xef\x99\x2b\x41\x69\x1f\x56\xe2\x40\xd4\x36\xb5\xb2\xe0\x64\x4e\x8b\x35\x4a\x4e\x7e\xb8\xb8\xea\x65\x75\xd6\x4a\x5d\x2f\xd6\x9c\xf4\xc1\xff\xeb\xab\x4e\x2e\xce\xd8\xab\x3f\x59\x6a\x62\x49\x05\xca\xd5\x8b\x55\x0c\xe2\xde\x06\xd9\xb1\xb4\xf4\x2b\xf9\x43\x71\xcf\xac\xca\x35\xd8\xd1\x32\xd5\x5c\x2b\x11\x08\x8c\xfb\x0e\x5c\x00\xc1\x4b\xbf\x25\x15\x9e\xce\xfc\x3c\x5a\x07\x6d\x6b\xa7\x69\x8e\x5a\xdd\x25\x78\x50\xc8\xfd\x08\x9b\x20\xa1\xf2\xe0\x16\x96\x62\x3d\x8f\x57\xdf\x22\xf9\xef\x22\x36\xfd\x70\x89\xe9\xc9\x3c\x0f\x86\x94\x56\x76\x73\x55\xe2\x6b\xec\xfe\x43\x92\x55\x2d\xa8\x5d\xd0\x6d\x33\x4f\x33\x74\x33\x41\xb0\xb4\xee\x6f\x48\xd0\x2c\x25\x6f\xad\x61\x1e\xce\xc6\x6c\x52\xbc\x4f\xb3\x3a\x21\xde\x55\x63\x4b\xdf\x45\xee\x20\x52\x21\xc8\x33\x11\xb0\x77\x6c\x28\x15\x2b\x1e\x55\x9c\x08\x82\xe3\xb9\x47\x91\x2c\x8e\xc3\xf4\x0c\xe6\x31\x49\xa7\x5a\x81\x07\xd5\x84\xf1\x53\x3e\x73\x3a\x4b\xe1\x2d\x28\xf2\x42\x47\xfa\xc6\xf2\xa2\x40\xf4\x17\xec\x94\x7c\xa1\x52\x69\xb9\xa2\x22\x04\xd6\x35\x02\x12\x0f\x94\x7e\x9b\x10\x7b\xc3\x3d\xbe\xeb\x7c\x7f\x73\xd7\xef\x5e\x3e\xbe\xcb\x53\x2e\x5c\x4e\x61\x06\x5a\xe6\x6a\x50\x70\xf6\xc8\xb2\x38\xe5\x0c\xa3\x1b\xd6\x12\xe1\x38\xce\xe3\xa3\xad\x12\x69\x64\xb6\xa5\x1c\xd9\x3b\x15\x2b\x23\x94\x97\x34\xf3\x00\x89\x65\x6d\x3d\x59\x4b\x5c\x67\x85\x93\x63\xd2\xe3\x96\xe4\x31\xed\xe8\xb2\xf1\xe1\x85\x95\xd1\xb5\x89\x72\xf8\x97\x8c\xbc\x38\x5d\x09\x6e\xe7\x0f\xd8\x5c\xc2\xeb\x71\x3b\xb7\x20\x1b\x2c\xea\x47\xfa\x85\xc4\x77\x35\x52\xd5\x4e\xd2\x94\x1a\x05\x58\x56\xae\x42\xca\xe8\x3a\x1a\x7f\x36\x95\x07\xfd\x5d\x73\xb6\x74\x93\xa3\x06\xe6\x08\xc0\x00\xff\xab\x10\x46\x11\x11\x0a\x53\x86\x46\x70\xb0\x59\x34\x47\x80\xc2\x42\xc0\x87\xfd\x17\x34\xa5\x0c\xe0\x20\x96\x91\xf6\xa1\x38\x8f\x35\x84\xd6\xcf\xbd\xeb\x87\x7e\x41\x54\xfd\xe1\xe6\xa1\x50\x6a\xf3\xb2\xf3\xeb\x52\x59\xb5\xd4\xc2\xb2\x60\x21\x6f\x8a\x79\x6a\xa9\x05\x42\xce\x28\x53\x39\xd1\x64\xae\xc8\xc3\xdd\xd5\x56\xf2\x5d\xb5\xb3\xac\x16\xc6\xde\x97\xae\xaa\x61\x2e\x9a\x7c\x1a\x93\x68\x15\xd0\x6e\xf3\x7d\x64\xa2\xa0\x34\x1d\xac\x35\xd1\x82\xf0\x61\x89\x66\x58\x58\x3f\x54\x6c\x02\xa0\x8a\xc5\xeb\x8c\xe6\xb5\x0c\x16\xe4\x13\x51\x3f\xeb\xab\x8f\xb3\xdd\x20\x7d\x81\x28\x0b\xfe\x51\x32\x78\x36\x0d\xaf\x71\xd2\xec\x50\x96\xe4\x2f\x39\x61\x19\x7a\x40\xb6\x07\x1f\x4c\xe3\x0c\xc1\xae\xe9\xe8\xe6\x80\x22\x2e\x4c\x53\xab\xa4\x9c\xe9\x1d\x69\x10\x7f\x1d\x4c\xb0\xd7\x1c\x1f\x99\x8f\x1b\x82\x26\x7a\xc9\x02\xba\xad\x9c\x94\xa8\x73\xdb\xab\xa0\xf5\x55\xd9\x85\xf4\xb6\x2a\x2e\x25\x99\x37\x6b\xd7\xc8\x57\x5e\xce\x69\x2b\xa0\xae\xec\x4c\xb7\xc3\xb6\x32\x4e\xff\xdb\x62\x24\x41\x1b\x00\xa5\xab\x54\x86\x42\x2e\xf9\x0a\xec\xe8\xf5\xd2\x2b\x73\x32\xac\x89\x64\xe5\x0f\xc8\x66\xd7\xf8\xe8\x4d\x8b\xa1\xdb\x27\x3e\x9a\x13\x37\x35\x9d\x6d\x6c\xc1\xce\x10\xae\xf2\xd9\x34\x81\xb8\xfa\xd9\xec\xe8\x0c\x01\x05\x30\x5d\x5c\xcd\x50\x17\x72\x6d\x01\x09\xfc\xe9\xfa\xbb\x6d\x3d\x54\xac\x7c\x7c\xce\xfc\x6d\xe1\xd2\xf1\x0c\x5b\xbb\x03\x28\x51\xae\x98\x47\x55\xed\xc7\xb3\x47\xe6\x05\xac\x48\xa3\xf6\xe8\x33\xe2\xea\xe7\x40\x51\x66\x06\xd8\xeb\x90\xfb\x94\x09\x3f\x85\x15\x28\xe3\x1e\xa8\x49\xb1\x02\xce\x42\x3f\xf6\x74\xca\x09\x76\xd9\xa5\xce\x82\x62\xe3\x00\x7d\xfb\x12\xb4\xe7\xd5\xbc\xb0\x1d\x83\x39\x1a\x8c\x16\xd8\xab\xa8\xe8\x21\x12\xc4\x9c\x48\xf6\x5e\x65\xf9\xbb\x34\x99\xbb\x90\xea\x92\x7b\x40\x4b\x75\x98\xda\x96\x97\x1f\xf0\x1d\x40\x6e\xad\xab\x38\x78\xc7\x6a\xa5\x99\xca\xf9\x78\x61\x27\xf8\xb1\x48\xd0\x69\x9d\x55\xfd\xcb\x8c\x44\x9b\xe0\x02\xdd\x62\x81\xa7\x44\x11\xb1\x2c\x1c\xa9\x58\xef\x1c\x44\x1c\xb7\x82\xb6\x5f\xb3\x8a\xa6\x18\x4c\xb9\x6a\x50\xa6\xdd\x5e\xad\xc2\xf9\xc9\x66\xb1\x16\xa4\x99\x9e\xc6\xcf\xd6\xf2\xbf\xe6\x2c\x6c\x3f\xf9\x34\x6c\xb4\x95\x07\xeb\xb4\xed\x9c\x0e\x83\x6f\xd3\x5f\x40\x8a\x29\x84\x0b\xb5\x04\xd8\x66\xf5\x28\xeb\x10\x6d\x56\xf1\xd2\x9d\xf0\x6e\x97\xe1\xe0\x32\x93\x4b\x87\xaa\x90\x3b\x01\xbb\x04\x54\x2a\x03\xee\x52\x8d\x4a\x03\x42\x4b\x55\x84\xa4\xe7\xf6\xb3\x98\x85\xb9\x41\xd7\x4a\x56\xe5\xfa\x67\x25\x72\xad\xe0\x71\xbb\x42\xec\x08\x12\xcd\xae\x25\x9a\x55\x5b\xb9\x10\x5d\xab\x77\x27\x11\x25\xf0\x20\x5b\x97\xdc\xa2\x3e\x14\x27\x08\x29\x5d\xf6\x8a\xb4\xc5\x8d\xe1\xea\xa7\x2c\xfb\x57\x91\x83\xbb\x4d\xed\x6f\xd5\xaa\x5c\xd5\x33\xcf\x05\x05\x1e\xa8\xc4\x97\x06\x6c\x5c\x0d\x8c\xd6\x84\x41\x1a\x2b\x7f\xef\xda\x38\xb0\x20\x67\x7c\xce\x53\xf4\x42\xe5\x04\x29\xfe\xc8\x20\x4e\x30\xf3\x06\x28\x8e\xcc\x8b\x27\xf0\x16\x60\x5b\xc8\x74\x38\xa5\x0a\x61\x6f\x86\x05\x93\xe4\x89\x3d\xcf\xfa\x03\x98\x71\x25\x7c\x41\x15\xee\xd2\x8a\x43\xb3\x81\x7d\x2d\x6f\x64\x5b\x84\x02\x2f\xa6\x79\xbf\x18\x05\x9e\xc6\xe3\x6b\x98\x95\x67\x2e\x80\x14\xa0\x6a\x6b\x83\x45\x82\x05\xb8\x5e\x2a\x55\xe9\x6e\xb1\x86\x9e\x15\x00\x05\xf9\x42\x34\x42\x28\xc8\x5f\xdf\x05\x44\x41\x5d\x25\xbd\x65\x29\xab\xee\x93\x1a\xfb\xb7\x4b\x85\x56\xdc\x05\xce\xfb\x92\xd2\x6d\xad\xa4\xd4\x36\xa8\xba\x3c\x21\x60\xf3\xf0\xf2\xba\xe8\x65\x38\xe3\x11\x67\x31\x5d\x23\x5e\x18\xaa\xa5\x0d\xd3\x51\x87\xcd\x57\x23\x1f\x4d\xfd\x40\x7d\x6b\x2f\xf1\x24\x91\x6a\xcc\xcd\x95\x2a\x6b\xde\xbe\xbf\xd3\xbd\x94\xd0\x22\x18\x11\x29\xdf\x4e\x8c\x2b\xc8\xfb\x89\x54\x32\xaf\xc8\x45\x7d\x64\xd5\x52\xd2\x72\xbe\xbd\x6d\x1a\xc9\x4e\x61\xf7\x3c\x1e\xe1\x66\x61\xad\x6e\xbf\x64\x81\x78\x46\xa1\x27\x16\x64\xa3\x24\x06\xe7\x6e\xc8\xba\x00\x2a\x2d\x1c\x6d\x92\x6b\x5e\xc1\x39\xaa\x87\xbe\x90\xe4\xb1\xf2\xec\x5a\xc1\x60\x87\xea\xe7\xc2\x0d\xd2\x38\x27\x26\x93\xe3\xed\x8d\x61\x83\xba\xe3\xcc\xd6\x50\x72\x27\x6f\x52\xac\x19\xe0\x6c\x77\x06\xc2\x5b\x46\xa6\xd0\x8d\x9f\x80\x0b\xda\x8e\x1d\x9b\x70\x9c\x0c\x1a\xbe\xb4\x26\x85\x19\x9b\x90\xca\xbd\xcc\x7a\xdd\x0a\xdb\x9e\x4f\x54\xd8\x98\x64\xea\x5b\x37\xa0\xb4\xb6\x0d\xe5\x2c\xdd\x16\x99\x00\x9a\xb2\x98\x08\x46\xb0\x9a\x1c\x2e\x13\xe4\x62\x5b\x13\xba\x37\xbe\xfd\x66\x85\xd8\x91\xe2\x62\x72\xc8\x36\xc3\x4d\xd5\x64\xcd\x24\x8b\x35\x32\x16\xf2\x62\xdb\x0b\xea\x6d\x85\x69\xd3\xc3\x1f\x5a\x67\x97\x6e\x95\x2c\x52\xad\x72\xee\x27\x6d\xa6\xc2\x36\xb5\x90\x30\xa3\x4f\xbb\x5f\xa2\x7c\x05\x49\xde\x44\x7e\xca\xfe\x53\x26\x96\x15\x43\x4f\xbd\x2c\x0a\xa8\x48\xaf\x30\x65\x96\x7b\x2d\x4b\x9c\xd0\x72\xef\x14\x57\xe5\x4a\xb4\x3e\x0b\xe7\xcd\x27\xe1\x84\x94\x8c\x90\x92\x51\xb1\x46\x21\x25\x03\xa1\xb6\xa5\x64\xac\x52\x41\x97\x19\x69\x33\xbf\x21\x14\xad\x2d\xd4\x56\x32\xeb\xbb\x42\x8f\xdc\x3c\xed\xc0\xd9\x39\xfd\x98\x2d\xfb\x8b\xfd\xa1\x32\x6c\x6b\xe1\xb3\xf2\x6c\x7d\x9b\x2b\x9b\x97\x5d\x17\x58\xc4\x89\x85\x20\xb4\x41\xd5\x45\x1b\xd9\x32\x73\xee\x23\xfb\x81\xbf\x90\x67\x22\x4e\x10\x56\x68\xca\x01\xd7\x2a\x8f\xe1\x81\x83\x50\xc0\xd2\x37\xb1\x1a\x18\x5d\xe3\x29\x89\x4d\xe1\x50\x2f\xf4\xd2\x1a\x95\xad\x3b\xb8\x0a\x69\x17\x40\x63\xcd\x32\xb8\xd8\x8e\x47\x66\xc2\x21\x4d\x08\x1e\xc8\x0a\xd4\x4d\x0c\x36\xcc\x1f\x33\x67\xf5\x1f\xcf\x50\x5f\xdf\x4f\x54\x16\xc7\xeb\x01\xef\xd5\x8d\xed\x91\x8d\x05\x4f\x67\x99\x9d\x8f\x0f\x4d\x05\x69\x13\xa1\xb5\xe8\xac\x86\xc1\x38\x4f\x75\x84\x63\xad\x8b\x2f\xdf\x38\xaf\x12\x29\xbb\x11\xcc\x92\xbf\x81\xf4\x31\xcc\xc2\xff\x6c\x38\xbe\xf1\x31\x7b\xe0\x32\xcb\x2a\x00\xec\xc9\x01\x7e\x49\x24\x58\x85\x32\xcf\x40\x21\xd7\xbd\x88\xa7\x50\x39\xce\x65\x76\xdb\xcc\xb7\xe2\xfc\x0f\xd5\x50\x0d\x79\xe7\x36\x2e\xcd\x24\xd2\xda\x7b\x62\x6f\x16\xdd\xc6\x11\xbe\x75\xfc\xe2\x36\x15\x33\x0e\x92\x58\x32\x77\xd0\x12\x16\xe4\x6f\xc6\x67\xa9\x89\xbd\xa3\x7e\x28\x56\xe5\xce\xa6\x52\x7d\xc6\x2a\x9a\x68\xce\x9d\xa3\xb2\xed\x28\x26\x31\xe7\xca\xfb\xb5\xf2\x56\xcc\xe0\xc2\xef\xbd\xc6\xed\xb1\x6c\xf7\x78\x31\x86\x59\x20\x67\x26\x49\x4c\x75\x7f\xc6\x35\x68\xeb\xc2\x7b\x76\x51\xf7\x89\x7d\xa2\x27\xba\x6a\x17\xad\x1a\x7f\xb3\xbd\x55\x2c\xf5\xb6\xf3\x68\xc7\x2d\x60\x6e\x2e\x2d\xa8\x58\xfe\xa2\x2d\x74\x5c\x13\xa2\x20\xe8\x66\x99\x4a\xb6\x3c\xc3\xb3\x16\x47\x32\x8b\xeb\x14\xcf\xb4\x12\xa1\xb8\xbe\x25\xc5\xd8\xc8\xb1\x26\x96\x17\x61\x94\x0a\xea\xce\x7e\x29\x6f\xbd\x7e\x77\x80\x85\xf2\x83\x5f\xca\x2b\xc2\x5e\x95\x43\x13\x94\x80\x23\x95\xe2\x2c\x78\x12\xf6\x44\x42\xd9\x93\xee\xcc\xe4\xe8\x3b\xe7\xbf\x70\xe2\x5d\xc5\x9a\xae\xdc\xd8\x5b\xac\x32\xae\xc2\x60\x6c\x74\xd2\x28\x1b\x7b\x00\x8e\xd5\x56\xe2\x26\x45\x37\x2a\xbf\x6c\x56\x38\xa4\xf2\xd3\xba\x32\xc7\x4d\xbe\x5d\x02\x30\xd5\x28\x64\xbd\x8d\x15\x13\xbc\x4c\x00\x1b\x2a\x6c\x65\x37\x1f\xd8\xd3\x76\x04\xb0\xc7\x14\x42\x19\xb0\x93\xe5\xfe\xe0\x97\x4d\xd0\x43\xfb\xe6\xbf\xf3\x87\xa0\xbf\xdb\xe2\x2c\x15\x2f\x3e\x32\x2e\xec\xab\x27\xd9\x7b\xfa\xb5\x1c\x9f\x58\x4b\x89\x8b\x5f\xe6\xe8\xa3\xa2\x88\x53\x08\x68\x2d\x16\x67\xce\xc0\x53\x67\x65\x2d\xf4\xe0\x9f\xd2\x21\x11\x8c\xe8\x39\x39\x5c\x87\x8c\x07\x4f\x31\xc3\x63\x00\xc3\x3e\x81\xa0\x43\x90\xb2\x73\x0d\xca\x9c\x44\x53\x1f\x14\x98\xac\xe6\xf1\x36\x95\x39\xaf\xfa\x0d\x7d\x1a\x09\xdc\x62\xf1\xe6\x91\x2b\xd5\x87\xf6\xce\xf6\xbf\x99\xa2\xd1\xef\xdc\xff\x38\xb8\xeb\xde\xdf\x3c\xdc\x5d\x14\xb4\x8d\x8b\xab\x87\xfb\x7e\xf7\xae\xf2\x59\x9e\x06\xfc\xd3\x43\xf7\xa1\xe6\x91\x6b\xe0\xaa\xf3\x7d\xb7\x50\x42\xff\xa7\x87\xce\x55\xaf\xff\xeb\xe0\xe6\xe3\xe0\xbe\x7b\xf7\x73\xef\xa2\x3b\xb8\xbf\xed\x5e\xf4\x3e\xf6\x2e\x3a\xfa\x4b\xff\xdd\xdb\xab\x87\x4f\xbd\xeb\x81\x8b\xe8\xf6\x1f\xfd\x72\x73\xf7\xe3\xc7\xab\x9b\x5f\x06\x5e\x97\x37\xd7\x1f\x7b\x9f\xaa\x66\xd1\xb9\xbf\xef\x7d\xba\xfe\xdc\xbd\x5e\x5e\xaa\xbf\x9a\x1a\xb5\x75\xb3\xbd\xfb\xd7\xb3\x75\x79\xd2\xdd\x70\x6e\xcf\x04\xfd\x27\xb8\x5c\x6e\xcd\x16\x3d\x3d\x71\x7f\x99\xc2\xfa\xa7\x9a\x73\x3b\x77\x5e\xce\xf4\x1e\x59\xe6\x13\xce\x64\x01\x85\xc7\xd2\x65\x75\x17\x46\x7b\x8e\x3a\x70\xc8\x40\xcf\x29\x74\x0a\x49\x23\xd9\x48\x5d\x14\x01\xec\xc3\x84\x4e\x29\x04\x14\xa0\x53\x54\x5e\xf0\x62\x83\x76\x4e\x30\x04\xeb\x6e\x8c\x97\x9d\x06\x59\x4e\x18\x87\x9d\x72\x8e\xdc\xc5\x42\x8c\x15\xc4\xc0\xfa\x9a\xc2\xf4\xe5\xec\x16\x40\xb6\x45\x39\x8a\x4b\xb9\xc5\xc2\x06\x2b\xb6\x3c\x21\xe8\xc7\xbf\xe5\x83\x02\xc7\x8b\x35\x18\xa4\x0b\x15\x28\xed\x03\x91\x1a\xaa\xae\xda\x9e\x85\x9e\xdc\x31\xb7\x16\x71\x38\xb7\xb6\x6e\x3f\x78\xc9\x52\xe6\x21\xb9\x15\x5c\x66\xfa\x78\x9b\x19\x95\xf6\xf8\x39\xba\x07\x14\x19\x99\x5b\x1c\xf4\x2a\xce\x92\x74\x4c\x19\xa2\xd3\x59\x02\x3c\xc6\x98\x21\x86\x64\x82\x9f\x29\x77\x05\x57\x4c\x5d\x1a\xa0\xa3\x95\x08\xd1\x29\xaa\x3d\x28\xe7\xa8\x13\xc7\xb2\xc8\xe0\x0a\x3b\xc7\x71\xd1\xd3\xe2\xb0\x7d\xf0\x35\xcd\x58\x2d\xdb\x2c\xed\xa3\xfc\xc8\x01\xc5\x76\x8f\x93\xb3\xc8\x0e\x8b\x22\xc3\x16\x52\x8b\xa6\xe0\xc0\x6d\xe5\xc1\x46\x32\x4c\x1f\xcb\x27\xc7\x9a\x57\xc9\x31\x0e\xb1\x68\xbb\x1e\x2d\x74\x51\xd3\x4e\x33\xca\x0e\xe0\xa0\x6d\xd6\x67\x2d\xe0\xf6\x8a\x2e\xdd\x8c\x93\x52\xa9\xbb\xc6\xfd\x15\x4a\xe5\x55\x76\xb6\x53\x27\x55\xb5\x10\x09\x47\x72\x90\xed\xff\x35\xe6\x71\x0b\x9f\xde\x64\x5f\x2e\x95\x34\x07\x1e\xdd\xd6\x75\x5d\x2d\xe4\x3f\x5b\xf7\xd5\xd2\x7d\xb8\x23\xe4\xac\xe6\x52\x24\x94\x0a\xa1\x11\x78\x29\x31\x65\xb6\x80\x14\xc9\xdc\x68\xae\x60\xbb\x3e\xc7\x59\x49\x45\x3c\xe4\xcf\x05\x9d\x78\x4a\xa4\xc4\x35\x58\x30\x9e\x25\x6f\x1b\xc6\x90\x9d\x50\xfb\x61\xc3\xfd\xe4\xce\x64\x5f\x7f\xb5\x4c\x46\xbf\xf3\x15\x7a\x37\x51\x2d\xc3\xc6\x2e\x88\x19\xdd\x98\x54\x46\xcd\x5f\x4e\xf2\x18\x20\x2e\xbc\xd0\xa8\x3a\xaf\x55\x43\x6b\x60\x99\x60\x95\x75\xc1\x7c\xcf\xe3\xfa\xa1\x43\x5e\xeb\x1b\x83\x8d\x5b\x77\x10\x2e\xd2\x67\x8d\x5d\x57\x70\xd3\xfa\x15\xdb\x23\x3e\x9d\x1a\xb9\xa0\x60\x02\x3e\x41\xd8\x64\x90\xe6\xd2\x94\x4c\xa3\x89\x71\x8e\xe9\x2b\xe3\xe4\x91\xbd\x78\x0b\x52\x88\xb1\xee\xf8\x2d\x01\x50\xeb\x17\x7d\xdc\xe8\x73\x21\x72\x1d\x44\x46\x0a\x61\xd4\xde\x46\x30\x7e\xcc\xbc\xe0\xd9\x8a\x0d\xee\xad\xd7\x16\x5b\x7d\x83\xda\x9a\x25\xfa\xd6\x55\xd8\xcc\xe6\xe6\x15\xb6\xdc\x42\xc1\x6f\x3a\x04\xaf\xb6\x66\xd5\x08\x76\x50\x5a\xf3\xa0\xc8\xe9\x59\x26\xac\x49\x9c\x9e\x0e\x2d\xfc\x87\x9e\xae\xa3\xf6\x9f\xdc\x8c\xfe\x64\x14\xe1\xb4\x06\x2f\xc6\x6b\x2d\x03\x4f\x47\xa7\x5a\x66\x75\x38\x06\x36\x7e\x44\xa2\x53\x03\xc8\xf8\x1e\x82\x58\x3b\xb7\xbd\xf7\x27\xe8\xbd\x9f\xc8\xf7\xfe\x68\x4c\x17\xf9\xf1\xb7\x54\xb3\xc5\x3d\x41\x97\x2b\xe4\x92\x14\x0f\x3d\xec\x94\x12\x1f\xb0\x3b\xc6\xb2\x01\x54\xc7\x05\xf4\x97\x85\x6f\xc0\xa3\x0f\xe5\x22\x8d\xd3\x3b\x8b\x64\xb7\x7e\x33\x23\x61\x53\x59\xb1\x72\xf1\x23\x1b\xce\xcb\x9e\xb1\x93\xcc\x35\xd6\x98\x47\x6c\x5d\x02\x51\xb7\xb7\x98\x77\xbe\xe3\x08\xeb\xe5\xb7\xd1\x8a\x4c\xf6\x4e\x56\xa7\x27\xe7\xa1\x75\xa1\x1d\x21\x35\xa1\x6a\x56\x05\x33\x9f\x23\x66\xe5\xa2\xac\x92\xbe\x8e\x6d\xbb\x35\x88\xe7\xef\x54\x51\xc4\xa6\x72\xd4\x88\xf6\x61\x97\xed\x77\x97\xed\x22\x95\xa5\x38\xb8\xf5\xaf\xef\x0b\x23\x45\x7a\xcd\x38\x73\xaf\x56\x65\x32\x06\x5f\xa8\x93\xb9\xba\xbc\xf5\x9a\x8e\x72\x8f\x26\xab\x3d\xe5\xf7\x26\xda\xc2\xf8\xaa\x17\xc7\x5a\x1e\x6a\x47\xd9\xea\x52\x9c\x9a\xb4\x55\x45\xa7\xe4\xc4\x94\x33\xcb\x23\x44\xec\x79\x85\xed\x66\x02\xbb\x26\x84\x0a\xd7\x89\x05\x8f\x5c\x0b\xe7\x60\x4d\x5d\xa0\x6e\x8f\x6c\x11\x9e\x73\xdd\xf9\xdc\xbd\x1c\x74\xaf\xfb\xbd\xfe\xaf\x15\xc0\xa0\xc5\xc7\x0e\x1b\xd4\x7b\xe1\xfe\xd7\xfb\x7e\xf7\xf3\xe0\x53\xf7\xba\x7b\xd7\xe9\xaf\xc0\x0d\x5d\xd6\x59\x1d\x26\x65\x2a\xab\x94\xc7\x75\x70\x29\x9d\x91\xb9\xa2\xf7\x45\xf4\x50\xaf\x13\x4a\x6a\x10\x44\x0d\xa6\x03\x8b\x89\x40\x31\x79\x26\x09\x9f\xe5\x46\xdd\x4a\x82\x79\xd0\xa2\x15\xed\x2f\x83\x17\x85\x36\xcb\x34\x3e\x47\xa6\x36\xa2\x57\x1e\x3a\x6b\x10\x44\x3e\x2c\x08\x7b\xaf\x10\xf9\x32\x4b\x68\x44\x95\x97\xf3\xc9\x85\x75\xee\x18\x9f\x2b\x84\xf4\xae\xd8\x5c\x3b\x0b\xe1\xd9\xb9\xc5\xc1\x0f\x3f\x58\xb4\x35\x64\x27\x2a\x83\xba\x5b\x59\x19\x6a\x07\x66\x85\x1a\x4f\xfb\x02\x12\xdf\x06\xa3\xdb\x87\x71\x62\x31\xb1\xc9\xe6\x6d\xd6\xa0\xf4\x55\x0f\x72\xf5\x6d\xb8\x2c\xb8\xa8\x70\xae\x97\x47\x17\x35\xdb\xa9\xaf\x1c\x23\x54\x28\x44\xbb\x03\x48\x15\x1b\xf0\xbf\x66\x94\xc7\x42\x21\x20\x66\x02\x75\x31\x12\x64\xca\x95\x56\xc0\x4c\x18\xc5\x89\x16\xaa\x28\x4e\xe8\x3f\x01\x7c\x4c\x90\x33\x2f\xec\xc4\x41\xb6\xe5\xce\x0b\x0b\x0c\x72\xf6\xc8\x2e\xbb\xb7\x77\xdd\x0b\xcd\x90\xce\xd0\x83\x04\x5c\xb1\xc2\xd4\x2f\xed\xf6\x36\xe2\x98\x1f\xfe\x41\x99\x54\x04\xd7\x45\xd0\x11\x21\xb8\x68\xce\x1f\xb2\xfe\xba\xf0\x5d\xf5\xf6\x86\x67\x05\xcb\x98\x33\x3f\x5c\xd7\x56\x11\xf7\x12\x2d\x76\x9e\xc8\x76\x87\x5f\x0a\x14\xf1\x71\x55\x40\x12\x29\x52\x7d\x8f\xd4\x06\x64\xd6\xe6\xf3\x2b\xf4\x79\x0b\xdf\x2e\x9b\x67\x1f\xe2\x12\xa5\xca\x61\x5e\x0d\x12\x6c\x56\xce\xa8\x34\xcf\x5a\x51\x51\xbc\x06\x06\x4b\x69\xeb\x0f\xc9\x18\x33\x24\x52\xc6\x4a\xb8\xbf\xbe\x9d\x6f\x31\xd2\x68\xdd\xa3\xaa\x69\x86\xa7\x3c\x65\xa6\x1e\xaf\x1e\x55\xc5\x60\xe4\x8c\x30\xb5\x62\x30\xaf\x85\xb0\x53\x1a\x6a\x7b\x41\x76\x2a\x06\x5a\x87\xb3\x53\xe5\xcd\x82\x52\xe5\xeb\x5d\xcb\x2e\x92\xb1\xe0\xd2\xd2\x87\x2a\xbb\x9f\xab\xb5\x6c\x2c\x9f\xb6\xee\xae\x8f\xe5\xd3\xea\xae\x62\x12\x3d\xad\x7b\xd9\x94\xd3\x59\x13\x5b\xe9\x7d\xc1\xd8\x37\xd7\x4f\x6d\xcd\x1d\x28\xf0\x1f\x3d\xa1\x1f\xfa\x9f\xaf\xd0\x88\x6a\xb9\x57\x5f\x2b\xd7\x58\xcb\xd8\x0f\x22\x71\x56\x69\x6b\xd9\x4d\x45\x92\xdd\xbd\xb0\xf0\x4e\x94\xf2\xa4\x04\x7d\xa3\xe1\x31\x71\xa6\x66\x61\x61\x14\x4b\x35\x77\x04\x66\x31\x9f\x9a\x79\x7c\x90\xe9\x68\x44\xbf\x9c\x29\x2c\xbe\xa9\xa1\x87\x89\xe9\x18\xfc\x83\x0f\x07\x7a\x44\x5b\x5e\xc4\x55\xcd\x21\x5b\x80\x3c\x23\x9b\x9d\xd9\xa5\x79\xf7\xff\xf0\x21\x40\x04\x00\xca\x81\xf3\x0d\xda\x38\x09\xfb\x8a\xdb\x49\x79\x45\xee\x02\x7a\x4d\xc4\x85\x20\x16\x59\xc0\x14\x8d\x9d\x61\xa1\x28\x58\x6b\x1d\xfa\x4d\xa1\xec\x41\xbe\x44\x7e\x89\xfc\x09\xce\x21\xc6\x87\x84\x80\x7b\x69\x46\x93\xf5\x94\xde\x8b\x82\x67\xb4\x74\x02\x6d\xb8\xae\x05\x44\x05\x83\xcc\x4a\x11\xab\xfb\x4c\x98\xda\x89\x7e\x02\x4d\x54\x60\x1d\x34\xf3\x71\x98\xda\xad\xbd\xcb\xfc\x72\x73\x71\xd0\x7e\x4c\x95\x12\x18\xee\x79\x9b\x5d\x66\x1d\xfa\x75\x61\x06\xcf\x8d\x3d\xd7\xf0\xea\x22\x5d\x56\xe4\x13\x58\x6a\xe7\xa5\xf1\xf3\x58\x60\x57\xb3\x61\x43\x84\x26\x49\x8c\x15\xc3\x43\x06\xb1\xca\x69\x79\xcd\x4d\x9f\x7a\x6f\x95\xba\x5c\xb9\xe4\x1b\xc0\x11\x15\x9a\xf9\x44\x20\x0f\x76\x17\xd1\xfb\xeb\x00\x1e\xc0\x40\x1e\x44\x02\x71\xe7\x4b\xad\x58\xa6\x7e\xbc\xe6\x7c\x99\x64\x87\x1b\xc8\xe8\x66\x30\x5a\x68\x24\x33\x41\x22\x7d\x95\x9d\xa3\xdb\x84\x68\xc9\x2b\xd5\xd2\x57\x9a\x24\x0e\xba\x6d\xb9\x74\xb8\x16\xdc\xe0\xde\xe7\xe5\xe9\x1e\x4b\x26\xe6\xa0\x0b\x97\xcf\xcc\xa3\xc1\xee\x61\x2a\x3c\xfa\x82\x09\x19\x0c\x89\x45\x2d\x12\x38\xfc\xdc\x44\xed\x82\x29\x09\x17\x2e\x32\xfa\x4f\xcd\x7e\x05\x91\x13\x5e\x9b\x19\xea\xcf\x76\x3f\x73\x70\xa4\xdc\xe3\x24\xdc\x7d\x58\x17\x8c\xde\x40\xae\x29\xdd\x81\x05\x11\xa7\x89\x2f\x36\x8f\x3d\xb1\x40\xba\xf6\x6e\xb5\x43\x83\x5b\x32\x37\xb5\xf9\xa0\x76\xb9\xeb\x22\x57\x66\xe6\xc6\xf7\x9a\x7d\x9e\x1b\x90\xf3\x3c\x0a\xaa\x64\x5e\x4e\x10\xe9\xbb\xb6\x6e\x89\xf5\x3c\x07\xa9\x58\x0b\xc7\x23\x87\xa3\x5f\x87\x73\xdb\x0c\x9e\x7c\x58\x9a\x08\xd5\xec\xd2\x56\x09\x01\x31\xda\x06\x3a\xc9\x02\xc4\x9f\xdd\x36\x86\x8c\x95\x2a\x5e\x3d\x53\xde\xd6\xad\x06\x52\x72\x2e\xca\xec\xcb\xbb\x56\xd8\x81\x85\x09\x04\xd0\xb8\xf5\x41\xe3\x6c\xc9\x98\x6c\xef\x01\xc4\xa3\x12\x80\x96\x90\x3b\xd0\xca\x82\x83\x35\x7a\xaf\x4a\x17\x2b\xac\x4e\xa3\xdc\xb0\xc2\x17\x9a\x97\x5c\x6e\xe9\x81\xd3\x93\x99\x0f\x20\xdb\x76\x9b\x18\xa0\xc2\xfc\x8d\xf7\x00\xda\x24\x31\x32\x90\x0f\x06\xd2\xda\xd2\x2e\xf3\x9c\xcc\xb0\x20\x4c\x3d\xb2\x3b\x3d\x0a\xf3\x45\x1e\x89\xe1\xa2\x80\x5c\x99\x01\x28\x46\x3c\x42\xd8\x7e\x05\x44\xaf\x0b\xc3\x93\x03\xf3\x12\xa8\xa6\x7b\x44\x26\xf8\xde\xbc\x63\x80\x22\x2c\x50\x92\x9e\x2a\x1d\xe5\x6a\xbc\x16\x20\xa3\x09\x05\x9c\x86\x98\x48\x7b\x21\x51\x65\x81\x38\x32\xf1\x3b\x25\x0e\x58\x1b\x3e\xcb\xf8\x57\x15\xc3\x76\x86\x02\xe6\x0c\x74\xf2\x91\x79\x7d\x2c\xc1\x61\x35\xca\xfa\x86\xaa\x04\xac\x33\x8d\x33\xc7\x17\xfc\xd3\xac\x10\x17\x74\x4c\x99\x57\x0d\xcb\x4e\x6f\x8a\x67\x60\xde\x35\x67\x90\x8f\xb2\x3b\xad\x6f\x73\x1c\xce\x60\xc4\xff\xf7\xef\xff\x73\x46\xeb\xbc\x1f\x72\x60\x29\xd0\x86\x95\x5c\x6f\x59\xfc\x95\xf7\xa0\x57\x6a\x20\x3d\x3c\x9d\x56\x16\xf2\x36\xf2\x5f\xed\xe5\xa6\x37\x0d\x57\x13\xe3\xee\x2d\x6e\x77\xf0\x8d\x88\x74\xc9\xd9\x30\x57\xcc\xeb\xd2\x92\x4a\xc8\x4d\xd0\x23\x31\x27\x39\x33\x10\xf8\x95\xe6\x17\xcc\x34\x8f\x2c\xff\x44\x1a\x10\x19\x83\xdb\x6b\x7e\xc8\xa9\xd3\x90\x30\xcb\x78\x7f\x1e\x29\x91\xbb\xc3\xbd\x58\x68\x57\x17\xc5\xc4\xb0\xea\xf6\x4b\x37\x6d\x89\x73\x7b\x00\x96\xdb\xc4\x8c\x4e\xb0\xdc\x5f\x68\x4e\x65\x3d\x2f\x63\x4d\xf7\x85\x87\x55\x41\x3a\x66\x90\x26\x45\x56\x2f\x48\x2a\x89\x30\x9c\x2e\xc3\x10\xb3\x3b\xc1\x87\xe7\x84\x08\xd1\x15\xbe\x46\x32\xc5\x74\xad\x6c\x06\xfd\x7e\x35\x78\x68\xc1\xd9\x80\xc7\x44\x0c\xe2\x54\x2d\x1c\x8b\x65\x19\x06\xfa\xa3\xcb\x54\xcd\x57\xb7\x2f\x13\xbc\x58\xcf\x68\x19\x60\xab\x7e\xbf\xa6\xd9\xd5\x12\xb3\x17\xe2\x53\x94\x9a\x6b\xe0\x50\x49\x09\x0e\xd5\x46\xbc\x16\x4c\x24\x70\x03\x33\x05\x38\x84\xb9\x26\x65\xaf\x68\x03\xda\x0e\x23\x47\xc3\x34\x37\x29\x65\x65\x30\xe2\xb3\x47\xf6\xd1\xd4\x91\x01\x2d\xcf\x0c\x20\x82\x74\x23\xf2\x65\xc6\x25\x29\xe4\xbf\x55\x94\xb6\xb0\x89\xaf\x76\x18\xd5\xc2\x7a\xfe\xd1\xf6\xb2\xfa\xab\x03\xdb\x2e\x2e\xf8\xe2\x94\xab\x77\xe0\x56\xe2\x60\x44\x67\x54\xef\x9d\x41\xe5\x49\xdb\x5f\x79\xe5\x3c\xa6\x0b\xc0\xc3\x54\x32\x3f\x41\xd9\xf4\x4a\x1b\x22\x21\xcf\x04\xcc\xe9\x30\x46\xbf\x80\x49\xd1\xae\x57\xc3\x4e\x56\x1d\xa0\x3c\xf9\x14\xd8\x02\x8a\xcb\x23\x28\xa6\xe8\x55\xed\xc5\x62\xf2\xd1\xd6\x79\x72\x55\x81\x29\x6b\x88\xe7\x1d\xbf\x90\xcb\x9c\x28\x44\xbe\x28\x62\x4b\xbd\xf6\x5d\x26\xe3\x62\xf2\x03\xaa\x4e\xc6\xaa\x97\x1d\xf7\x5e\x74\xbb\xe3\x12\xdf\x5d\xaa\x66\xec\xae\x7c\x9b\xba\x38\xc1\x2c\xb6\xf9\xb8\x56\xc9\xd0\xc2\x16\xcc\xce\x18\xdd\xb2\x4c\x05\x9b\x55\xea\x21\xe0\x9b\x36\x0d\x54\x3f\x5c\x64\x4e\x61\xd4\x2a\x0b\x84\x57\x70\xa1\x25\xf7\x94\x29\x9a\xe8\xcd\x61\xc7\x20\xd1\x08\x22\xe3\x2c\xba\x23\x44\xb6\xd7\x01\x08\x52\x29\x29\x1b\x0f\x2c\x25\x5d\x6a\x69\xb3\x8b\xa1\xb8\xa7\x3e\x9b\xa6\xcc\x8f\xdf\xbb\x86\x96\x1b\xd5\xcd\xb6\x06\x70\x37\x97\xd4\x0a\x1a\x07\xe3\x6e\x32\x16\x95\xcf\xe5\xc2\x0e\x68\x6c\x48\x41\x4d\x45\x71\x98\xe8\x3a\x76\x77\x90\xe9\x16\xc1\x2f\xf2\x2b\x44\xda\x44\x55\x93\x7e\x06\x91\xfa\xaa\x26\x13\x57\xd6\x66\xe0\xf6\x58\x26\xa2\xd9\x7a\x66\x19\xce\x40\x29\x99\x17\xbb\xee\x6c\x3a\x02\x4e\x92\x21\x8e\x9e\x32\x2d\x2c\xb3\x45\x70\xe1\xea\x41\x68\xb9\x12\x0a\xde\x99\xcd\xa5\x07\x1a\x81\x74\xe3\x7b\x0b\x0d\xfc\x91\x1d\x76\xde\xb9\xa1\x9a\xc5\x95\x33\x78\x57\x66\xf4\x26\xb7\x21\x26\xb3\x84\xcf\xa7\x35\xf7\x59\x39\x81\x71\x9b\x48\x9d\xba\xfc\xc9\x9d\x5e\x65\x25\xa6\xb7\xf6\x65\xb6\x90\x0d\xb5\x03\x30\xae\x35\xb8\xe4\xa7\x84\x0f\xc1\xa4\x6a\xcd\x0f\x2e\xc3\xc7\x4b\xf5\x28\x9f\xe7\x75\xf3\x8e\xca\x27\x92\xca\x59\xa2\x95\x99\xfa\x1e\x4c\xce\xc9\x7e\xd7\xcd\x20\x24\xac\xb6\x0e\x36\x8f\xd6\xae\xfc\x7c\x1f\xb0\xcf\x57\x4e\x12\x30\xef\x1a\xfe\x55\xb2\xb2\x99\x54\xc3\x33\xe3\xa4\x56\xfc\x91\x29\x3c\x76\x8b\x6b\x85\x4b\xfe\xc2\x88\x90\x13\x3a\x2b\x14\xc2\xdc\x3a\x3c\xdc\xee\x68\xfb\x3f\x26\x18\xba\xb2\xcd\x16\xa6\x6e\xf5\xf9\xec\xd4\xa0\xb3\xe8\xdd\x29\x67\x38\xca\x6d\xb2\x51\x82\xa5\xa4\xa3\xb9\x07\xaa\x92\xc5\xf9\x42\xea\x5a\xd1\x88\xe1\x55\xbe\xab\x62\x73\x86\x3a\xbb\x41\x15\xd8\x3e\xa3\xf2\xa1\x78\xf8\x69\xec\x83\xee\xe9\xdb\x6c\x11\x7a\xc7\xc9\x09\x96\xea\xb5\xe0\xc1\x06\x3e\x61\x33\x14\x80\xa6\x78\x4d\x7b\xde\x49\x15\x69\x98\x0b\x1b\x29\x47\x0b\xcb\xe4\x68\x4b\x33\xab\xc3\x65\x48\x2b\x3e\x7c\x91\x2a\xe4\xb0\xc2\xce\xd3\x3a\xa3\x33\x89\xeb\x73\x99\xa1\xb4\x00\x98\x45\xfe\xf1\x09\x92\x5b\x81\xb2\x35\xd9\x94\x97\x24\x21\x3b\x09\x36\xdf\x60\x87\x96\x23\x39\xbc\xbd\xb9\x74\x5f\xe6\x65\x29\x56\xdb\x55\x36\x88\x81\xaf\xc1\x48\xaa\x1e\xfa\x2f\x66\xa0\x36\x0c\xbe\x6a\x15\xc1\x26\x0a\x54\x5e\x3d\xda\x36\xed\x72\x2f\xb4\xc4\x0c\xdf\xee\xf7\x7c\x8e\x85\x4d\x9d\xcf\x38\x93\x13\xdb\xb8\xcf\x5f\x39\x54\x7d\x61\x5c\x9f\x48\x93\xb0\x9a\x95\xa7\x6f\x23\xde\xbb\x78\x43\x35\xdb\x17\xd6\x71\xad\x38\x1a\x13\x40\xe2\xa1\x2c\xa6\xcf\x34\x4e\x71\x72\x54\x7b\x62\x67\x89\x36\x3b\xa2\x7e\x35\x87\x69\x64\xe9\xc9\xe3\x41\x89\x92\xee\x3e\x5a\xc0\xfc\xb4\x8b\xd3\xc2\x25\x68\xc7\xb1\x34\x0a\xc3\x9b\x97\xd8\xb6\x86\xc6\xb0\x23\xb3\x00\x11\x41\x94\x2c\x5c\xb2\xf9\xd8\x77\x2f\x4d\x1a\x1a\xc7\xf6\x8b\x0c\x0e\xa2\x00\xc3\x86\x0b\x68\x96\x66\x8d\x5e\x9f\xeb\x96\x8f\xd6\x5b\x97\x3b\xd7\x3f\x63\xe5\x51\xe5\xa7\x2b\x08\xc3\x6d\x38\xa7\xcd\xe5\x61\x07\x40\xdb\x42\xe1\xa7\xee\x18\xb6\xf3\xfe\x6d\x81\x70\xbc\x20\x12\xec\x4e\x44\x3e\xa2\x6d\xd2\x0a\x49\x79\x61\x29\x0e\x25\x2f\x9f\x3a\x6c\xaf\x1c\x29\xab\xbd\x4b\xd4\x8e\x93\x7c\x67\xdd\x8f\xfb\xbb\xe0\x57\xef\x97\x9d\xec\x0f\x80\xb9\xc5\x90\x8f\x9f\xda\x72\x3f\x70\x78\xbd\x18\xce\x05\x9f\xd7\x8a\xe8\x58\x3b\xbc\x46\x71\xb1\x0b\xe4\xdc\xc7\xf2\xda\xe4\xcb\xc6\x8b\xbb\xcf\xad\xb6\xee\x58\x76\xa1\xa3\xed\xd9\x7b\x68\x77\xa3\xf7\x41\x08\x52\x6f\x76\x8b\x56\x40\x3a\xb9\x25\xdb\xe5\x21\xab\xaa\xd1\xb8\x3d\x7c\x84\xcb\x2d\x1d\xcc\x04\x19\xd1\x2f\x1b\xa9\x02\xb7\xf0\xa9\x55\xaf\x35\x99\x4b\x55\x1f\xc1\x2d\x08\x55\x22\xbd\x40\x5a\x4b\x69\x5b\x19\xee\x91\xe5\x19\xb9\x36\x1d\x57\x0b\xc3\x5c\x14\x7e\xda\x14\xfa\x74\xf7\x15\x2a\xcd\xba\x4e\x94\x9a\xc9\xf3\x0f\x1f\xc6\x54\x4d\xd2\xe1\x59\xc4\xa7\x26\xff\x83\x8b\xb1\xf9\xe3\x03\x95\x32\x25\xf2\xc3\x5f\xfe\xfc\xe7\x7c\x89\x87\x38\x7a\x1a\x1b\x38\xa7\x45\x7f\x67\x71\xc9\x09\x96\xdb\x45\x94\xb9\xd4\xc9\x3d\xa7\xd0\x7b\xdd\xb8\xa4\x65\xfd\x8d\x54\x78\x3a\xf3\x43\x90\x4d\x8d\x47\xa9\x70\x5e\x59\x06\xf2\x61\xf5\x34\xd1\x04\xcf\x66\x84\xd5\x9b\x5d\x4c\x82\xf3\x16\xac\xc7\xa5\x48\xdb\x11\x92\x2f\xb3\x04\xb3\x22\xec\x07\x94\x49\x13\x24\x22\x4c\x59\x48\x8a\xbc\x36\x3d\xec\x46\x03\x3d\x65\xf8\xff\x7a\x29\xb0\x30\x47\x2a\xf3\xfa\x87\x6e\x38\xb6\x16\xb1\xab\x50\x8b\x3d\xd2\x95\xeb\x3f\xe7\xb4\x23\x8e\x6a\xcb\x92\x63\xef\x6d\xad\xb7\x6d\x76\x50\x24\x38\x1b\x90\x2f\x9a\xc9\xc9\x4d\x81\xe2\x1e\x24\x91\xa8\xf3\xcb\x3d\x92\x73\xa6\xf0\x97\x73\xf4\x99\x32\x10\x60\x7f\xe0\xa9\x90\xe8\x12\xcf\x4f\xf9\xe8\x74\xca\x99\x9a\xa0\xcf\xf0\xff\xed\x4f\x2f\x84\x3c\xa1\x5f\x09\x16\x96\x3f\xd8\xfa\x91\xae\x84\x1d\x6c\x21\x91\x32\x89\xc8\xb3\x3e\xa1\x7f\xfe\x5f\x68\x6a\x5a\x3e\x47\xdf\x7e\xf8\xf3\xff\x42\x7f\x84\xff\xfb\x7f\xd0\x1f\x6b\x2c\x0d\xeb\x41\xcd\x41\x99\xf1\xbb\xda\x30\x02\xa0\x94\x5c\x24\xf9\xaa\x66\x2f\x04\xcf\x57\xaa\xb2\xe5\x27\x1a\x3d\xf1\xd1\x68\xa0\x37\x86\x49\x20\x1d\xe0\xad\xcc\x0e\x3e\x6a\x30\xb5\x85\xe2\x4d\xd9\xc9\xbc\xe0\x93\xed\xd4\x20\x8d\x38\x76\x2d\xd3\xdc\x3c\x01\xc1\x6b\x85\xd2\xe3\x54\xc2\x57\x24\xd6\x5c\x75\x9d\xd3\xe1\xac\x8b\x0e\x74\xc0\x59\x90\x7c\x64\x1e\x27\x10\x17\x02\x4e\xfd\xe8\x69\x13\x60\x66\x09\x59\x79\x1c\x16\xc2\xba\xdf\x4c\xac\x2e\x4c\xed\xb5\xe2\x74\xe5\x42\xe7\xab\x43\x74\xef\xb9\xd8\x4a\xdf\x7a\x22\xb5\x29\x34\x2b\x8a\x9b\xb9\x82\xdb\xd8\x37\x6a\x28\x8e\x24\x17\x19\x7a\xb7\xb1\x8b\xd8\x12\xa8\xab\xad\xa8\x54\x98\xa0\xc6\x66\x87\x5e\x4f\xfd\x32\xfb\x64\xd5\x30\x21\xc2\xd1\xbd\x9d\x17\x77\x84\xd1\x6a\x11\x49\xb3\xc4\x8a\x11\x57\x80\x6c\xae\x5a\xd0\xfb\x0c\x57\x05\x1a\x87\x70\x5b\xc8\x1b\x62\x4e\xb2\xb5\xc0\x15\xd5\xeb\x99\x8a\x88\x5c\xf0\xed\xc2\xad\x13\xca\x16\xf2\x34\x6a\x83\xdb\xea\x65\xf2\x2b\x5b\x21\xce\xe1\x50\xf3\x38\x57\x16\x8c\x5b\xc2\xd6\x5e\xf1\x00\x70\x8b\xb3\x01\x20\xc5\x5d\x60\xac\x2e\x54\x04\xd9\x82\x6b\x1b\xc3\x75\xce\xf0\x5c\x41\x99\x52\x1d\x19\x81\x35\x2f\x5c\x12\x33\x09\xe1\x64\x5b\x8f\xc3\xab\x8d\x94\xc7\xa8\x15\xaa\x14\xc3\x48\x20\xdf\x72\x43\x8c\x5c\x53\xa6\xec\x04\x09\x0c\xc1\xc0\x6a\xa2\xdb\x93\x44\x9c\x8e\x70\x44\xd9\xf8\xc4\x83\x47\x05\xa8\x12\xff\x3a\xa8\xda\xa4\x7d\x2c\x9f\x76\x1b\xe0\xba\x75\xb5\x59\x1a\xe7\x15\x0f\x2d\xa0\x91\x71\xac\xd0\x05\x6c\x48\x85\xe5\x53\x1d\xa2\xd7\x02\x9c\xe0\x92\xd1\x65\xa4\x70\x20\x84\xcb\xc6\xe7\xa0\x0f\x88\xaf\x4f\x41\xa5\x12\x57\xff\xdc\x82\x8b\xba\x4c\x53\x9c\xa1\xff\x94\x51\x75\x97\x8c\x5f\x4e\xb8\x50\x83\x0d\xf1\x88\xcb\x2e\x15\x46\x4e\x13\x00\x12\xe2\xcf\x44\x3c\x53\xf2\x52\x84\xf5\x5d\x67\x2f\x1a\xa3\x99\x17\x4f\x09\xb8\xaf\xd3\x19\x87\xd4\xad\x11\x9a\x62\x36\x37\x8c\x52\x33\x17\x2c\x9f\x64\x56\x75\x19\xc9\x29\x4e\x92\x13\x24\x48\x2a\x4d\x35\x72\x49\x92\xd1\xa9\x2b\x00\x13\xa3\x84\x8f\x69\x84\x13\x34\x4c\x78\xf4\x24\x4d\x66\x25\x1b\x1b\x26\x35\x13\x3c\x22\x52\x7a\x92\x55\x8e\xa2\x60\x73\x5b\xa1\xe4\xb2\x22\x62\x4a\x19\x95\x8a\x46\x4e\x64\xca\xc1\x50\x4c\xe1\xff\x08\x83\x49\x18\x32\x85\x61\xb8\x5a\xd2\x23\x06\x14\x36\x65\xb6\x54\x18\x5c\xd7\x16\xeb\xd1\x25\x27\xd4\x1d\xa0\x1d\x40\x57\xba\x1d\x32\x50\xc5\x03\xb9\xe2\x48\x5d\xd8\xcf\xe0\x18\x2f\xdb\x02\x77\xc5\x13\x95\x6d\xc8\xec\xa4\x15\xe0\xb4\x20\x97\x21\x4b\xbd\x28\x48\x2e\x59\x46\x42\xcb\x90\xf4\x60\xc8\x35\xf8\x79\xab\xf6\xb4\xa6\x22\x88\x3c\x50\x9d\xae\xec\xb5\xa7\x2c\x4a\xd2\x38\x2b\xab\xaa\x45\x80\x67\xbd\x49\x1c\x79\x34\xed\xb5\xa0\x70\x82\xb0\x44\x2f\x24\x49\xf4\xff\x9a\xcc\x8b\xd3\xac\x5c\x88\x66\xc9\xa6\xa4\x0b\x74\xe2\xb8\x74\xdd\x8e\x6a\x1d\x2a\xea\x2d\x56\x13\x83\x35\x31\xe5\xca\x54\xb4\x35\xa8\xa8\xce\xbe\x65\x60\x34\x87\x09\x1f\xc2\x49\x07\xc0\x54\x97\x5f\xed\xa5\x73\xa6\x51\x44\x48\x4c\x62\x53\x9f\x33\x03\xf3\xb4\x47\xf4\x9b\x6a\xf8\xce\x02\x45\x5a\x00\x96\x5a\x36\xac\xd5\x42\xa6\x16\xab\x1b\x9e\xa1\xdb\x12\x20\x90\x47\x99\x11\x2e\xc3\xc3\x9d\x2c\x2c\xe1\xeb\x00\xac\x96\x26\xb1\xbf\x15\x5a\x13\x60\xb5\xd0\xe7\x0e\x00\x56\x4b\xf3\xac\xc9\x19\xe1\xe3\xbd\xe6\xba\xeb\x49\x5d\xf1\xe6\x09\x88\x06\x98\xce\xdc\x9d\x85\x2d\xe8\x0e\xe4\xbc\x6a\x23\xb6\x0b\x3c\xb6\x54\x03\xf4\x75\xc1\x63\x4b\x83\x69\x33\x78\x6c\x69\xa8\xed\x05\x8f\xad\x18\x68\x03\xf0\x58\xe3\xdc\x1f\xe8\x4d\xdd\x8c\x29\x40\x42\xd5\x30\x1d\xdd\x03\xc4\xc0\xd2\x31\x5e\x98\xc0\x01\x73\x8d\xb9\x3b\xda\xc6\x17\xc1\x68\x6d\xee\x6d\x5d\x38\x56\xc9\x09\xb1\xee\xde\xcb\xbc\x6f\x06\x74\x64\x5d\xb3\xfb\x89\x6f\xed\x06\x3b\x64\x84\x67\x16\xcb\xa0\xae\xc4\x51\x7b\xb2\xb6\x37\xc3\xe5\x05\xec\xcb\x02\xcb\x6f\x84\x5c\xf7\xb9\x54\x2d\x64\xc2\x5f\x6c\xc5\x2e\xd8\x86\x66\x53\xd6\x6e\x41\xe8\x74\x60\x95\xb6\x3a\xca\x51\xa6\xc8\xb8\xac\xd3\xe6\x87\x86\x32\xf5\xdd\x5f\x56\x72\x22\x03\xed\xe9\xd4\x43\xaf\x66\x47\xe6\xec\xb0\xcf\x48\x8c\xa2\x89\xd6\x8a\xa4\x56\x5f\xf4\x74\xcc\xcd\x2a\xd1\x14\x53\xa7\x48\xa5\xd2\xb8\x96\xa8\x7c\x64\x05\x2c\xdc\x33\xf4\x11\xca\x20\xe3\xe9\x4c\xeb\x5f\xd9\xfc\xa8\xde\x49\x8f\xe9\xb7\xdf\x7e\x47\xd0\xb7\x68\x4a\x30\x2b\xe8\xb0\xa0\x36\xe9\xab\x0f\xb0\x23\xd5\x84\x3c\xb2\xca\xa5\x40\xdd\x2f\xa6\xb6\x99\x8b\x37\xec\xb1\x11\x77\x3a\x31\x94\xf7\xc4\xd1\x04\xc9\x74\x68\xea\x53\x7b\x36\x0c\x27\x48\x5f\xf1\x31\x38\xaa\xe1\x46\x76\x83\x5e\x76\x0a\xf7\x1b\x03\x60\xdd\x8d\x4d\x6f\xe3\x0e\xdc\x23\xa7\x92\x14\x30\xc5\x2a\x9c\x66\x86\xf3\xf9\x07\x5f\x1a\xbc\xa1\x13\xe3\x43\xd0\xfa\x19\xb6\x96\x7d\x2d\x4b\x43\x38\x31\x78\xc9\xd2\x04\x0b\x7b\xf4\x1f\x99\x56\x34\x04\x79\xa6\x3c\x95\xc9\x1c\xc5\x9c\x91\x13\xd8\x09\x69\x34\x31\x8e\x55\xad\xb3\x60\x5b\x28\xe5\x99\xca\x54\x2b\xb4\xd0\x96\xab\xcb\x22\x15\x36\x58\x68\x13\x0a\xfd\x68\xf5\x9b\xc0\x57\xca\xcb\x8f\x44\xcd\xb4\x28\x1f\xae\xb8\xc4\xf3\x1b\xc2\x15\x17\x76\x55\x80\x2b\xce\xe0\x8a\x17\xe9\xd2\x46\xb8\xe2\xd2\x9a\x37\x83\x2b\xae\x5a\xf2\x0d\xe0\x8a\x0b\xcd\xbc\x19\xb8\xe2\x12\x45\xdf\x0c\x5c\x71\x69\x5e\x01\xae\xf8\xed\xc1\x15\x6f\x09\xc8\x5b\xcd\x8b\x0d\xae\x97\xa2\x6c\xbe\xf6\x26\x7b\x2f\x51\xef\x46\x6f\xb0\xe8\xa9\x18\xd4\x96\x5d\x57\xdb\x83\x00\x57\x33\xa1\xf5\x40\x80\x2b\x55\xf5\x7a\x56\xb7\x2d\xb0\x18\x28\x06\x07\x06\x01\x2e\x4c\x20\xc4\x57\xae\x1f\x5f\x59\xb9\xf9\x6c\xdf\x7a\x78\x2e\xe8\xb2\x7c\x21\x37\x84\x01\x2e\xac\x4f\xa3\x48\x4c\x10\xdd\x77\xb0\x13\xf7\x2b\xcd\xf7\x0b\x87\x7c\xa5\x2c\xef\x53\x51\x5a\x40\x72\x2d\xe1\x39\x94\x42\xa3\x84\xfb\xfe\xff\xb0\x73\x37\x88\x0c\x2e\x91\x37\xf3\xab\x98\xbd\xd8\x60\xab\x36\xde\xa1\x4e\x2b\xdd\x4d\xa2\xb0\x4b\xde\x5c\xd3\xc5\xec\x06\x71\x3f\x23\x51\x8d\x8d\x99\x4e\xe9\xae\x9a\x5d\x75\x91\x65\x18\x6c\xa0\x90\x2f\xe4\xa5\xea\xeb\xc9\x0c\xc7\xc8\xf8\xa5\x74\x60\x40\x49\x31\x5f\x8e\xa9\x54\xa2\x36\xb6\x69\x61\x84\xdb\xb8\x4a\x67\x69\xe3\x80\x18\x8f\xaa\xe3\xcd\x3e\x9b\x92\x29\x17\xab\x02\xab\x2a\xbf\xb4\x25\x96\x36\xf9\x94\xcc\x26\x64\xaa\x25\x99\xc1\xba\x8d\x34\x5d\xef\x2c\x69\xd9\xe6\xae\x99\x40\xc7\xc2\x26\xf0\x1c\xa1\xfa\xdd\xd8\x20\xa1\x36\x5e\xee\x6d\x97\xd9\x62\xb5\xae\xe9\x10\x72\x20\xde\xcb\x0d\x6e\xf6\xa5\x82\xbb\x1b\xf6\x77\x65\x4c\x47\x16\x52\xb3\x3a\x6a\x63\x49\xbc\xc6\x32\xbc\xb3\xfc\x2b\x5b\x80\x7c\x0d\x57\x7e\xd1\x3b\xaf\x39\xa1\x5f\x7d\x7a\xfd\x00\x8f\x1a\xb4\xde\x45\xf2\x40\x64\x8e\x24\xe2\xd4\xd7\x0c\x0a\x83\x59\xa4\x57\x61\x97\x38\x8d\x72\x8b\x4d\x92\x8a\xda\x28\xd3\x26\x06\xed\x48\xa5\x38\x01\x4d\xc2\xaf\x9a\x5a\x5e\xd4\xe1\xbc\x22\xed\xb1\x99\xc7\x84\x32\xf5\x5f\x7f\x5d\x6b\x35\xb5\x6a\x65\xe9\x06\x95\xde\x70\x14\x11\x69\x6c\xec\x36\x0a\x19\x0f\xf9\x33\x14\x79\xdb\x66\x55\xf5\x51\xd6\xf3\xd6\x0c\x3e\x83\xc0\x8e\xf3\xad\x6e\xc4\x85\x89\xe0\xe9\x78\xe2\x6c\x48\xfa\xcc\xe8\xa9\x55\xad\xe5\xcf\x0b\x36\xf2\xb5\xd7\xf2\xfb\x94\x26\x9b\x59\xe8\xee\x0b\xe5\xef\x3e\xf5\xfa\x48\x4e\xb2\xd3\x3a\x84\x66\x2b\x17\x76\x71\xd0\xcd\xfb\xb4\xdf\x66\xfe\x1a\xe8\xe6\xc4\xc1\xbe\x8e\x78\x92\x80\xa7\x41\x92\xe9\x33\x11\xd5\xdd\xc3\x84\xfb\x74\x3d\xc4\xc6\x6c\x00\xf0\x75\x9e\x18\xd1\x48\xfe\xba\x35\xa2\xa1\x44\x6e\xf4\xe5\xa0\x05\x13\xaa\xc6\x19\x61\x55\x36\xb6\x5f\x16\x2b\x0f\x1d\x59\xc0\xa0\x8b\x1e\xdb\x59\xd0\xa0\x23\xc9\x81\x03\x07\x57\xcc\xa3\xad\xc1\x83\x25\x66\x97\xc5\xf2\xe5\xd7\x8c\x0b\x1c\x32\x8a\x4f\x47\x93\xf8\x91\x75\x0a\xf9\x14\xae\x42\xfb\x70\x9e\x07\x64\x1b\x1d\xc2\x67\x66\x50\xdf\xc5\x1a\x56\xc0\x8d\xa6\xff\x02\x4d\xc7\x80\x26\x9b\x90\x42\x17\x36\x08\xd1\xe4\x24\x3e\xc5\xd1\x3c\x4a\x68\xe4\xe9\xcc\x63\x81\x67\x93\x2a\x8e\xe7\x56\x3e\xa0\x0e\xbd\x16\xea\x50\x5d\x21\xb4\x75\xe2\xb6\xdd\xbe\x62\x78\x4a\x02\x1a\x52\x1b\xd1\x90\x4e\x32\xbc\x0d\x96\x97\x94\x7b\x45\x18\x87\xc5\x73\x1f\x20\x91\x5e\x01\x12\x69\x93\xc3\x9f\xe3\x1d\x15\x8e\x7d\x80\x69\x6a\x42\xbc\xd7\x87\x69\xca\x84\x80\x56\x21\xef\xd4\xf3\x83\x57\x46\x74\x59\x1c\xd8\x6b\xc2\x32\x55\x88\x4b\xeb\xc8\x8d\xcb\x70\x99\x96\xed\x8b\x46\x74\x79\x5d\x94\xa4\xf5\x28\xb3\x16\x00\x52\xe5\xdd\xd9\x12\x38\xa4\xfa\x65\x68\xc9\xb9\xd9\x65\x56\xcf\x7a\x35\x7b\xfd\xcc\x9e\x75\x14\xcc\xf5\x92\x7c\xb2\xfd\x70\x5c\x89\x3e\x79\x71\xc3\xcd\x92\x7d\x3a\xce\x07\x4f\x04\x9a\xf0\x24\x76\x20\x1c\x19\xb5\xb2\x0e\xb2\x4c\x88\x8c\x40\x6e\x31\xee\x67\x24\x32\xda\x66\x5e\x88\x6f\x59\x4a\x4f\xb6\x88\x30\xdc\x1d\x30\x9a\x5d\x58\x51\x32\x4e\xb2\x89\xfd\x64\xa5\x74\x21\x8b\xe6\xff\x25\x63\x2c\x50\x08\xbc\x06\xd5\xc3\x5c\x69\xf7\x5e\x31\xb8\x65\xa2\x87\x67\x1c\x15\x55\x25\x76\xcd\x3e\x83\xa7\xcf\xd4\x19\x62\xb0\xdf\xe3\x52\x2f\xa5\x9b\x5d\x23\x4f\x65\x79\xb3\x6c\x10\x0c\xb7\x50\x31\x71\x7b\x70\xa4\x29\xfe\x32\x98\x61\x81\x93\x84\x24\x54\x4e\xf7\x16\x0c\x7d\x51\x74\x57\xeb\xb3\x2a\xb8\x31\x91\xb1\x74\x3a\x34\x5b\xd1\x0d\xc4\x16\xd9\x54\x1c\x89\x94\xf9\xd0\x6e\xd9\xc2\x64\x45\x3c\x53\xb8\x17\xc0\xaa\x16\x4d\xa0\x5a\xf2\x08\x53\xc1\x88\xac\xad\x4d\x4b\xa2\x54\x50\x35\x1f\xd8\x52\xbf\xcd\x0f\xdc\xbd\xfd\xf2\xc2\x7e\xb8\xdc\xc3\xef\x50\x0d\x5c\x7f\x59\x69\xe1\x19\x11\x50\x9e\xcb\x15\x9a\xf2\xca\x19\x5b\xd4\x0a\x92\xd5\xf8\x82\xf0\xef\x85\x6b\xbb\x2e\x70\x1a\xbf\x0c\xbc\x8c\xb2\x41\x54\xde\x1c\xab\x0e\x6b\x15\xee\xd6\xb2\x49\xee\x19\x79\xaa\xc6\x8b\xbe\x87\xea\x3e\x36\x6d\xc4\x34\xad\x07\xec\xb9\xc2\xc1\x5e\x9b\x2f\x8c\x97\xf2\x5f\x51\xec\xc6\x1b\xa7\xc5\x3a\xaa\x0a\xbe\x5a\x32\xd8\x8e\xf7\x55\x83\x11\x7b\x9d\xec\x68\xd8\xfa\xa0\x0b\x91\xce\x14\x1d\x2e\x42\xfb\x38\x6e\xb0\x83\xd2\xbd\x9d\x04\xd2\xcc\x9d\x9b\xa5\xd0\xad\xa9\xe7\x5b\xe0\xc4\x76\x76\x5a\xfe\xb7\x38\x6a\x0e\x21\xc9\x20\x4c\xf9\x79\x8c\x37\x53\xaa\x94\x4b\x94\x30\x06\x78\xbd\x3b\x8b\xb6\xe9\xf7\x2e\xdc\x05\x43\x85\x65\x63\xa2\x3a\x7b\x64\x1d\x89\x5e\x08\x62\xc4\x42\x68\x54\xd4\x4e\xce\xac\xfa\x50\x73\x6d\x48\x74\x4f\x59\x6c\x8e\x16\x1e\xa8\x92\x59\xd9\x3f\xd3\xc7\x08\x27\x92\x9c\xe8\x86\xa1\x5a\xb0\xe2\x10\xfc\x8a\xd1\x8b\xc0\xb3\x19\x11\x8f\xcc\x66\xb1\x80\xc3\x89\xf3\xc4\xb4\x5f\x17\xe2\x6b\x69\x40\x06\x11\x8e\x26\x07\x5a\x23\x0c\xc9\x48\xd1\x84\xc4\x2e\x5f\xba\xb8\x3c\x6e\xde\xc6\x60\xbf\xc6\x62\xf5\x46\xae\x6c\xdd\x89\xed\x24\x89\x34\x47\xc9\xca\xbb\xcf\x88\xd0\xa3\xd6\x7b\xf8\x99\x30\x44\x47\x6e\x1c\x36\x76\x09\xbd\x80\x67\x4e\x6f\xfd\x67\x4c\x13\x03\x40\xe0\xba\x76\x42\xa0\x71\x3f\x3c\x32\xe3\xee\x67\x51\x21\x43\x97\x32\x2a\x27\x9a\x53\xa7\xe0\x93\x05\x35\xa3\x2e\x71\x88\x3d\xaf\x73\x9a\xbb\xfa\xf5\xe5\x1c\xf4\x99\x0a\xce\xa6\x90\x24\x64\x71\xa9\x1c\xf9\x24\x51\xd9\xf1\xa8\x4c\xf1\x5c\x29\x11\xc7\xb1\x2c\x1a\x5f\x8d\x5a\x49\xff\x59\x30\xbb\x9c\x16\xb2\x22\x23\x0f\x56\x09\x82\x58\x5d\x45\xbf\x65\xf2\x6f\x48\xed\x58\x4c\xed\xa8\xa6\x4d\x1b\xd3\x3b\xb2\x43\xbc\x6e\x8a\x47\xdd\xf2\xef\x42\xb2\xdd\x61\xaa\xc7\x2b\xe7\x44\xec\x27\x1d\xe2\x75\xf3\x57\xf6\x91\xba\x12\x12\x3c\x5e\x31\xc1\xa3\xb1\xa5\xb6\x18\x9b\x5e\x7f\x6c\xd7\x4a\x8e\x58\x01\x66\x55\xd5\xcb\x67\xa2\x04\x8d\xe4\x2e\xf8\x83\x9c\xe1\x86\x51\x7d\xa0\x05\xce\x56\x48\x4d\xfa\x85\xcc\x09\x0a\x71\x72\x59\x85\xcb\xa1\x20\xf8\x29\xe6\x2f\x0b\xb6\x3a\xe9\xa3\x89\x7c\xe6\x5a\xec\x11\x24\xa2\x92\x14\x22\x79\xa8\x44\x8c\x48\x6b\xec\xc4\x8f\x6c\x42\x89\xc0\x22\x9a\x40\x76\x67\xbe\x30\x26\x4b\xd8\x00\x3a\x99\x58\x0e\xdf\xdb\xb5\xc6\xa2\x37\xa0\x7b\xd9\xc2\x94\xe1\xf3\xd9\x35\xd7\x23\x99\x9a\x4f\x32\x61\xc6\x4a\x19\xbe\x49\xae\xd1\xf2\x6f\x9b\x88\x90\x11\x7b\xaf\xc9\x08\x59\x30\x95\xf7\x45\xc3\x84\x84\x7c\x37\x84\xa4\x84\x3d\x25\x25\x54\x90\x78\xbd\xc4\x84\x8d\x4c\x7e\x87\x8f\x99\x76\x3d\x1f\x22\x6e\x7a\x55\xd0\x5a\x3a\x1c\xec\xfd\xe8\x55\xce\xb9\xe9\x09\xfc\x25\xdb\x14\x46\x22\x16\x7a\x9f\x0d\x49\x1c\x03\xa7\x55\xdc\x56\x68\xcf\xf7\x8e\x33\x0f\xe8\xbb\x17\x4b\xbd\xd9\x71\xc2\xd9\x58\xd2\xd8\x80\xcd\xcc\x30\xd4\x2a\xf6\x8d\x17\x00\xae\x00\xeb\x9b\x24\x44\x38\xaf\x84\x40\x7f\x90\x94\x59\x34\xc9\xec\xb7\x98\x13\xc9\xde\x2b\x63\x2c\xc0\x6c\x8e\x9e\x18\x7f\x49\x48\x3c\x86\x15\x2a\x0f\xe6\x14\x51\x72\x82\xa8\xca\x3e\x13\x80\xc6\xc0\x53\xf5\xa8\xc7\x0e\xb1\x76\x46\x03\x20\xf6\x5b\x61\xab\x57\x78\x1c\x58\x7e\x73\x86\x50\x8f\xa1\x11\x8e\xd4\x09\x92\xe9\x30\x6f\x3f\xe6\xa6\xb8\xbc\xd6\xbe\xbd\x89\xe7\x8d\x84\x98\xf9\x8a\xce\xab\xcf\x86\xe3\x0e\x7a\xbb\x76\x12\x8a\xb7\x8a\x2d\x7c\xc6\xdb\x40\xac\x7e\x4e\xa5\x0d\xc2\x40\x9c\x65\x47\xdf\xc2\x4b\x65\x18\xd9\x80\x77\x6a\xf0\xa6\x19\x8f\x6b\x6d\x9d\xa5\xa9\xac\x3b\x96\x3c\x10\xd4\x0a\x4a\xd6\x51\x05\xed\x1a\x72\x6b\xa9\x49\x2a\x41\xf0\xd4\x3a\x07\xf4\x55\x03\x62\x8d\x09\x03\xd5\xa3\xa7\xc2\x48\x98\xeb\x2c\xf1\x15\x65\x4f\x7a\x75\x73\x54\x70\x0e\x78\xc9\xba\xe7\xaa\x45\x9b\xe9\x1b\x8f\x5c\x70\x66\x1c\x84\x5b\xc9\x9d\x74\xcc\x70\xb2\xa6\x8d\x63\x81\x72\x8b\x3e\x3d\x27\x67\x59\x71\x41\x4b\x11\xc6\xd8\x87\x4c\x8f\x6b\xd9\x90\x4a\xf3\xf5\xe5\x3d\x8c\x62\x32\x23\x2c\x26\x2c\x9a\xc3\x16\x61\x80\x1c\x24\x18\x4e\x10\x86\xef\x70\x72\x86\x2e\x4d\x7e\x51\x26\xe1\xd9\x6b\x1d\x2e\xf4\x29\x66\x74\xa4\xf5\x04\x30\xc2\xda\x51\x3e\x32\x33\x4c\xe7\x03\x21\xb9\x75\x35\xa3\x58\xd5\xca\xe8\x1b\xe4\x7a\x4b\x54\x66\x56\xfc\x1e\x2d\xbf\x70\xa0\xb7\x65\xab\xa3\x9b\x73\x35\x18\x64\x3a\x3c\x85\x7f\x17\x12\xee\x1c\x50\x51\x8e\xa2\x43\x12\x02\xe6\x40\xeb\xf1\x82\x8b\xb1\x0e\x58\x6f\x17\x7e\xbb\x15\x79\x2c\x5e\x1f\x05\xa5\x66\x4a\x19\x9d\xa6\x53\xcf\x79\x67\x2a\x36\x44\xd6\x7e\x69\x32\x51\x66\x5a\x0f\x88\x1c\x78\x3b\xd2\x97\x2b\x9b\xa3\x31\x7d\x26\xec\x91\xcd\x38\x65\xea\x0c\x5d\x73\x45\xbc\x12\x19\x06\x3a\x8b\xcf\x14\x9d\x1a\xb4\x57\x41\xf4\x39\x30\xa0\xe0\x00\xb4\x39\xc1\xea\x04\xc5\x29\x1c\x55\x46\x94\x66\x1d\xfa\xc6\x55\xb0\x32\x10\x1f\x2e\x1e\x99\xb9\xe9\x46\x98\x26\xa9\x20\x56\x66\xc5\x26\x2f\x28\x1f\x72\x3e\x32\x8b\x04\xe7\x4d\x62\x4a\xc7\x13\xa5\x97\x48\xcb\x78\xd6\xdf\x38\xd1\xdc\x88\x3f\xb2\x21\x41\x18\xcd\xb8\xa4\x8a\x3e\x67\xfe\x4b\x3a\x42\x58\x4a\xb0\xa0\x9c\xa1\xcb\x82\xfd\x9f\x4a\x50\xbd\xeb\xe2\x8a\x29\x1b\x58\xdb\x73\x7d\x3e\xd2\xd6\x0b\x59\xe8\xc5\x52\x19\x0f\x25\x4f\x52\xe5\xbb\x60\xab\xd7\x36\x37\x8d\xbb\xc2\x05\x60\x20\xe6\xa3\x47\xe6\xf6\xb5\x3c\x43\x1d\x89\x24\xd7\xab\x24\xcd\x52\x46\x82\x2a\x22\xa8\x41\xb1\x22\xca\x2c\x42\x76\x4e\xb3\x33\x30\xc5\xe2\x49\x8b\x50\xbe\x05\xde\x60\xaa\x16\xac\x1d\x43\x23\x21\x01\xac\x97\xbf\x1c\x60\xfa\x47\x8c\xb3\x53\x46\xc6\x78\xd5\x8a\x3c\xb2\xc2\x92\xa0\x3f\xd0\x51\xae\x90\xd6\xf9\x1c\x3d\xda\x0d\x20\xf2\xa9\x6e\x95\x4c\xc7\x75\x8b\x34\x4a\x38\x5e\xe1\x36\x1e\xe5\x87\x1e\xfd\x83\x0f\xcd\x18\xb5\xde\xcf\x15\x48\x81\x5a\xbd\x1a\x71\x41\x26\xff\x1f\x7b\xef\xda\xdc\xc8\x91\x9c\x0b\x7f\xf7\xaf\x28\xcb\x6f\xc4\x0c\x8f\x41\x50\xa3\x3d\x76\xc8\x74\x28\xe2\xe5\x90\x1c\x09\x2b\x0e\xc9\xe5\x45\x5a\x9f\xc5\x06\xa6\xd0\x5d\x00\x7a\xd9\xa8\x6a\x75\x75\x93\x83\xb5\xf7\xbf\x9f\xa8\xcc\xac\x4b\xdf\x80\x6e\x82\x1c\xc9\x3e\xfb\xc1\x5e\x0d\xd1\x5d\x55\x5d\x97\xac\xbc\x3c\xf9\x24\x97\xf1\xc8\x2e\x56\x75\x6c\x70\x33\x92\xab\xcd\x1a\x63\xa0\x09\x5a\x12\x65\x81\x5c\x54\x5c\x06\x6b\x41\x86\x1b\x2d\x85\x5f\x87\x41\x77\x85\x6b\x0d\x6a\xbf\xa0\x03\x02\x45\xde\x26\xa3\x23\xae\x93\x75\x96\xfa\x9c\xae\xc0\x37\xba\x30\x2a\x96\x95\x91\xea\x11\x5c\x57\xd6\x6a\x83\x5b\x9d\x56\xce\xec\xb3\x96\x91\x3b\x41\x0a\xb7\x86\xf5\x79\x61\x19\xd0\x40\x84\xbd\xd5\xc2\xfc\xb3\x10\xde\xec\x43\x65\x7d\x2a\xad\x0a\x72\x00\x52\x86\x9a\x0d\x9c\x67\x46\x85\x46\x9a\x5b\x9a\x3f\x16\x61\x90\xbb\x72\x4e\xe8\x30\xd8\x47\x5b\x2f\xaa\x22\x31\x6a\xf6\xfb\x04\x18\xba\xce\xf6\xa4\xdd\x4f\x64\x2c\x3a\x8b\x59\xf5\x92\x1a\x5d\x77\x0b\x0a\xd4\xd9\x73\xeb\x4f\xdc\xad\x84\x16\xac\x78\x72\x44\x71\xc6\xae\x02\x97\x65\x2e\x52\xf1\xc8\xfd\x1d\xe7\xfa\x22\x71\x19\x71\xdd\x51\x1e\x06\xd8\xd6\xcc\xf8\x9f\x9f\x38\xed\xc6\x77\x65\x86\xf2\xc8\x53\x4a\x5c\xa1\x58\xb9\xee\x5e\xb0\xc9\xd9\x5e\x18\x52\x6a\xa5\x6d\x3e\xbb\x55\x0c\xdb\xf7\x8f\x62\xd3\x3e\x23\x3b\x48\x0c\xb7\x65\xa3\xbb\x69\x1f\xe0\xab\xbe\xf6\xef\x34\xe7\xb8\x73\xe6\x7e\xac\x7c\xf2\xaf\x90\x44\x75\xdd\xa8\xc0\x0d\xff\xa9\xcb\xc5\x22\xf9\x0c\x56\xad\xbd\x49\xac\xe5\x11\xe5\x4a\x1b\x29\x06\xba\x0a\xb3\x8b\x87\x81\xe4\x7d\x12\xaa\x5a\xdf\x34\x56\xd6\xe0\x1d\xdd\x39\xdb\x7f\x28\x45\xbe\xd7\x7c\xbb\xad\x3a\x04\x8e\x18\x9c\x92\x76\x1b\xd1\x36\x5a\xf0\x9e\x98\xa4\xb0\xd5\x3b\xde\x31\x75\xbb\xe9\xcf\x5b\x5f\x9b\xa3\xf0\x1d\x3e\x90\x50\x6a\x6f\xf5\xa9\x79\x7c\x9a\xc3\x26\xdb\xa2\x44\x46\xbe\x8d\x88\x60\x9d\x13\x70\xca\xa5\x3a\x73\x8b\x19\xc1\xc0\x08\xd6\xac\x2a\xa8\xd2\x42\x60\xa9\x53\x63\x89\x5c\x4e\xa5\x9d\x5b\x3d\x62\x08\x13\xaf\x09\xd4\x0a\xb7\x3d\x0f\x5e\x75\x1b\xbb\x9f\x4b\x15\xe3\xea\x52\x68\x6d\x2e\x46\x5d\xe4\x3c\x91\x14\xc3\xb1\xf3\xa3\xa7\x92\x1d\xd6\x71\xea\x23\xf0\x23\x8c\x6c\xb6\xeb\xc8\x0f\x50\x4f\x25\x66\x9c\xb0\x6f\xd8\xdb\x82\x2f\xf1\x96\x00\xf6\x4a\x9e\x02\xef\x25\x58\x09\x64\x95\x07\xc9\x01\xee\x44\x26\xf1\xc1\xf1\xb6\x3e\xd1\x87\xf0\x16\x9a\x81\x43\x6e\xe6\xd0\x4f\x50\xb2\xf0\xff\x10\xf1\xc1\xb6\x96\xfc\x4b\x0f\x62\x33\xaa\x4f\x72\xf7\xbd\x71\xc7\xf7\x42\x68\xbe\xd6\xc5\x01\x83\xee\x1f\xa4\xe4\x73\x91\xfe\xe4\x3f\x94\x6d\x15\x45\xef\x13\xc9\xf7\x93\x41\xad\xc3\xeb\x87\x40\x9f\x6f\xba\xea\xd6\xb5\x88\x9e\x67\x33\xae\x9c\xa0\x2e\x2b\x98\xe9\x8e\x34\x76\x5b\xd5\x90\x03\xea\x71\x25\xd2\x8c\xc5\xc9\x02\x42\x6f\x05\xec\x17\x47\x1e\x8b\xf5\x7e\x8c\x41\xb3\x2e\x25\x12\x01\x23\xea\xe3\x89\x4e\x3a\x89\x0c\xdf\xf8\x78\x2a\x27\xc5\x1b\xcd\x74\x91\x2b\xb9\x34\xc6\x74\xfc\x98\x68\x5f\xc8\xce\x1c\xc8\x72\x2d\x72\xea\x22\xd1\xa8\x75\x53\x11\x28\x6e\x2f\x36\x33\x36\x73\xf5\x81\xe2\x63\x8b\x2d\x9a\x3f\xa2\x5d\x61\x46\xa9\x2d\x6a\xaa\x05\xf6\x4e\x8b\x5b\x93\x9d\x5f\xd8\x75\xf9\x53\xe8\x9d\x64\x6b\xef\xc8\xb4\xf2\xf2\xa8\xee\xc6\xa4\x59\xdf\xe2\xc2\x1c\x7c\x21\xf4\xbd\x08\x6c\xd5\x84\x12\xd3\x9c\x4c\x3f\x36\xb0\x85\x83\x1b\x64\x62\xd5\x3e\x90\x46\x8d\xd6\x53\xe8\xc2\x14\x09\xf8\x3f\x74\xc1\x8b\x24\xa2\x5b\x40\xe5\xe4\xc5\x25\xbb\xba\x7b\x69\xf7\xb5\x49\x74\xc4\xd3\xe6\x0a\x6f\x89\xa9\xe3\xf3\xdb\x1d\x9d\x74\xdc\xb0\xed\xad\xc4\x2e\x91\x4a\xd3\x21\x65\xea\x6a\x5f\x7e\xea\x5f\xdf\x3e\x22\xdf\x8f\x59\x00\xbb\x16\x70\x6a\xd0\x41\xc1\x53\x0a\x17\xe9\x82\x56\x29\x7c\x08\x2f\xb5\x0d\x99\x8f\x53\xa9\x16\x50\xc8\x30\xed\x42\xae\x67\xb9\x5a\x27\x43\x2a\x69\x20\x98\xfb\xc6\xc6\xfe\x77\x44\x52\x2c\x42\x00\xdc\x6f\xb8\xbd\xa8\x47\xe0\x64\xe0\xe4\x52\xdb\x72\x86\xd6\x3c\x7b\xd6\x84\xef\x42\xbe\x9c\xb0\x35\xc2\x8e\x68\xf6\x80\x53\x5b\x40\x72\x2a\x4c\xf2\x13\xdf\x78\xfa\x9b\xae\x1a\x09\x72\xd0\x76\xb8\x37\x8f\x4f\xe4\x42\x0d\x38\x9c\x9e\xae\x86\x4e\x1f\xb7\x7b\x36\x38\x7f\x0e\x89\x81\xab\x8f\x73\xda\xe7\x3c\x9e\xb6\x6d\xea\xc1\x27\xd3\xce\xe0\x6b\xc6\x61\x43\x21\x12\xbc\xf3\xb7\x21\x77\x6b\xf5\x68\x05\x2d\x32\x18\xce\xf6\xa9\xfa\x58\xd9\x87\x2f\x3e\x47\xb5\x76\xe0\x37\x9f\x30\x76\xdd\xde\xea\x17\x98\x33\x3a\x24\xbd\x26\x6b\x4f\x7e\xae\x61\xb5\x1e\x6c\x8f\xae\xb2\xc3\xde\x96\xdc\xae\xc9\x00\x69\xa6\xc9\x6a\xf0\xd9\x27\x44\x03\xb0\x48\x52\xa1\xc7\x6c\xd2\x12\xc4\xb5\x49\xf8\x0e\x34\x8e\xe9\x80\x56\x7b\x2a\xf3\x24\x28\xfe\x6e\x75\x24\x96\x40\x11\xba\x10\xc8\x12\x04\x2d\x20\x7c\xba\x52\x4f\x98\x81\x97\x27\x46\x66\xa1\xb2\x5a\x40\x48\xcb\xc8\x82\x84\x22\x42\x18\x50\x73\x2f\x28\xcc\x8b\x30\x66\x8e\x0b\x86\x85\x1e\x88\xfa\x92\xbe\x44\x19\xcf\xfe\x1c\x07\xb6\xd7\x3b\xf3\x46\x1f\xa3\xc0\x3e\xbb\xc7\xe8\x9c\x96\x3f\xdc\x1f\xf9\x01\x5e\xb5\x8e\x5d\xce\x16\xb9\x00\x2b\x7b\xed\x78\xd3\xb0\x70\x82\x52\x70\xdf\xdd\x9e\xfd\x78\x74\x3f\x61\xa2\x88\x58\x9a\x3c\x88\xa9\x8c\xf4\x23\x18\x7d\xbf\x94\xa2\x30\x7f\xee\x70\x02\x25\x6b\x21\x35\x48\x82\xa4\xe8\x69\xaf\xd9\x89\x31\xff\x7b\x56\x7d\xbf\x8f\x55\xee\xb8\x3e\xcd\xde\xb5\x35\x0d\x61\x9b\x42\xd9\x36\x9c\xda\x16\xbf\xe6\x7b\x8c\xb7\x9e\xb7\x55\x3c\x7f\x46\x4a\xb4\xfc\x4b\x29\x07\x2a\x5d\xa7\xfe\xa5\x60\x14\x1d\x3a\xdd\x3a\xe3\x50\xcf\x64\x58\xae\x35\xbe\xd3\xda\xfa\x2e\x21\xe2\xa9\x6f\x6c\xfc\xdc\x17\x87\x67\x45\x2e\x04\x88\x10\xb7\x9f\xe8\xae\x27\xb6\x35\xf7\x61\xc1\x4b\xe3\xa9\xfc\x68\x51\x75\xfe\xaf\xda\xc7\x1a\xd6\xf3\xa0\xcc\x4b\xb5\x15\x68\x36\x4e\xb4\xfb\x03\x14\xed\xd3\x65\x5a\x60\xd5\xe2\x45\x22\x79\xea\x06\x8a\xbf\xb4\x49\x89\x9c\xcb\x68\xb5\x6f\x98\x3c\x59\xcc\x44\x3a\x44\x13\x9d\x2c\xce\x53\x6d\xf6\x77\xf4\xd0\x71\x3a\x9f\x53\x97\xdb\x7f\x0c\x46\x9c\xa8\xb6\x27\xf3\x61\x76\x9e\x62\xd5\x60\xc1\x00\x87\x55\xcf\x90\x47\x12\x30\xb3\x8a\xa4\xa9\x23\x0c\x0b\x53\x53\x5d\xda\x19\xf4\xc2\x78\x31\x95\x79\x29\xa1\xa0\x98\x43\x65\x72\xe6\x6b\xc2\x44\x16\x23\x41\x88\x95\xa5\x11\x13\x58\x72\x05\x1f\x36\xf6\x99\x2a\x35\xc4\xa3\xd6\xa2\x30\x17\xd4\x5b\xa8\xf5\x8f\xb0\xe8\x11\xcb\xf2\x64\x0d\x21\x65\x7d\xd0\xb2\x74\xa7\xbc\xe0\xa9\x5a\xbe\xb4\x57\xe9\x99\x29\x36\x76\x18\x6c\x72\x66\x26\x7f\x29\xa4\xc8\xe1\x43\xc1\x97\xdd\x7a\x84\x7b\x78\xb9\x3b\x24\x37\x44\x12\x29\xf8\xab\x9d\xc7\x82\x97\x85\x5a\x1b\xfb\x96\xa7\xe9\x66\x84\x51\x67\xc1\x56\x5c\xaf\xec\x42\x63\xc0\xb0\xcf\xdd\x44\x93\x7b\xca\xa3\x95\xb8\x2d\x78\x51\xb6\x22\xb3\x6a\xa3\xfc\x4a\xc8\x72\xfd\xd5\x31\xfb\x93\xff\xc6\xd3\x93\xd3\x1f\xce\x67\x67\x93\xdb\x93\xf7\x17\xe7\x67\xc1\xf7\xd0\x2f\x1f\x27\xb7\xb7\xcd\xbf\xfe\x30\xb9\x6b\xfe\xf1\xfa\xea\xfa\xfe\xe2\xe4\xae\xad\x95\x8b\xab\xab\x1f\xef\xaf\x67\x1f\x4e\x26\x17\xf7\x37\xe7\x2d\xaf\xde\xdf\x75\xff\x78\xfb\xe3\xe4\xfa\xba\xad\xd5\xf3\x9f\x26\xa7\xa6\x3b\xfa\xfb\x9f\x83\x63\x07\xa1\x73\x33\x03\x1d\xdf\x57\x3f\x99\x87\xac\xfa\xe0\x31\xbb\xaf\xd7\xbd\xa2\x44\x2c\x24\x11\x7b\xe2\xda\x08\x37\xc8\x03\x04\x17\xac\x9f\xad\xae\x57\x11\xab\x1c\xad\x04\x4b\x95\x7a\x28\x33\x92\x79\xe8\x6d\x97\x0a\x3d\x42\x42\x07\xad\xfd\x30\xb9\x3b\x6e\xd6\xdf\x72\x8d\x05\x74\xa9\xce\xb9\xfc\xc4\x91\x3a\x00\xe4\x2c\x38\x59\x6c\x5d\x26\x1f\xba\x0e\x7a\x70\x4b\xb6\xad\x1f\x6c\x8d\xcb\xa2\xd6\x4d\x1c\x7b\x92\x25\xf8\xb0\xa0\xe1\xea\x82\x6f\x9b\x4d\x37\x1d\x58\x78\x94\xcd\x45\xc4\x4b\x44\x74\x9b\x0b\x2c\xcf\x55\x1e\x0e\xd8\x6f\x94\x97\x6b\x94\x36\x58\x6b\x83\xb5\x35\x33\x1f\xae\x1f\x92\x2c\xab\x2c\x3b\x6d\xc4\xdd\x2b\x0f\xa5\xde\x1e\x93\xa8\x10\xf1\x57\x4d\xbd\xc8\xe7\xe0\xa3\xde\x6c\x4e\xb5\x19\x72\x70\xd6\x13\xb9\x44\x5f\x82\x2d\xba\xb7\xda\x38\x14\x12\x80\x5e\x3d\x0c\x18\x8a\x80\x98\xbb\xc6\x15\x45\x4b\x00\x56\xc4\x0b\xf6\x24\x80\x8e\xa6\xa4\xaa\xa3\x68\xd3\x1b\x99\x01\xdd\x21\x1e\xc0\xd6\x10\xae\xd0\xd4\x74\x0a\xf9\x97\x50\xe4\xcd\xfb\x5a\x0c\x0b\xe2\xed\xe4\x14\x39\xc3\x46\x41\xea\xdb\x7c\x01\x18\xf1\x4b\x06\xfd\x5a\x6e\xba\x1d\x97\x90\xb9\x0e\xfa\x8c\xc7\xf2\xb8\x55\x8a\xa3\xf4\x1f\x58\xa5\x80\xc6\xce\xb9\xba\x53\x31\xdf\x98\xcd\x01\xa0\x07\x5d\x66\x99\xca\x0b\xd6\xd1\x06\x42\x20\x71\x7c\x70\x97\xd1\x77\x38\x11\x09\x8d\x18\xcd\x45\xb7\xd4\x61\xeb\x47\x2d\x45\xf3\x1a\xc4\xce\x82\xe4\x22\x30\x30\x5d\xcd\xcc\x75\xc5\x54\xaf\xec\xd0\x36\xa5\x7a\x9f\xec\xcc\xcc\x28\x0e\x7d\x4b\x38\xb7\xf5\x7e\x65\x5b\x68\x5d\xf2\x54\x2c\x8a\xd9\xc0\x60\x17\xb4\x28\xbb\xd8\x00\x93\xe5\xea\x05\x5a\xec\x6f\x7d\x7c\x43\xa0\x68\x63\x72\x04\x9e\x87\x5c\xa9\x02\xf5\x5e\x6f\x1b\x31\x3b\x9b\xe0\xb6\xa0\x4e\x29\x8f\xde\x29\x97\xc6\x96\x40\x2c\x99\x4b\x39\x1f\x4f\xe5\x39\x80\x4f\xbd\x81\x63\xd3\xeb\xc1\xba\xd8\x69\x57\x54\x0a\xd6\x7f\xd1\x4c\x97\xee\xea\x00\x7e\xdf\x23\x64\x51\xa4\x1b\xc7\x11\x15\xb3\xca\x7b\x7d\x4e\x0f\x7a\xd3\xad\x6a\x89\x1f\x8c\x47\x47\x17\x22\x23\x8f\x3f\x7e\xa7\x47\x49\x43\xb4\xd9\x74\x35\x66\x3f\x5b\x8f\x12\x24\x0d\xb9\x24\x1a\x8b\x7b\x4d\xf9\xc6\x12\x8a\xb7\x4d\xec\x4b\x70\x74\xbf\x74\x1a\xd1\xf6\x09\x76\x64\x9c\x2d\xb3\x5c\x31\xec\xa5\x44\x4f\xef\x00\x18\xd2\xa9\x7b\xe9\x56\x6c\x47\x54\x7e\x80\x12\xee\x84\x4a\x07\x9d\x45\xa6\x9b\x7f\xc4\xc5\x42\x16\x0f\x0b\xd2\xa0\x92\xda\x14\x99\x35\xe7\x07\x22\x8b\x48\xf2\xc1\x16\x49\x9a\x82\x1e\x30\x66\x27\x72\x63\x49\x30\xcc\x55\x68\xc1\xa9\xc9\x52\xaa\x5d\xf9\xf9\x1d\x9b\x29\x0a\x36\xd3\x6d\xf7\x66\x42\xfc\x87\xe7\x40\x7a\x99\x1d\xf5\x02\x7c\x78\x46\xb6\xf0\x66\x35\x95\xfe\x2c\x78\x03\x9c\x02\xe1\x6d\xfe\xa5\x32\xcb\x1a\xc3\x0d\x5e\xfc\x5b\xfb\xd0\xbf\x2f\x79\xce\x65\x01\xf9\x52\xa4\xb4\xe6\x22\x48\xdb\x16\x9f\x01\xdb\x2a\xd1\xc1\x0c\x7f\x0a\x17\xd7\x42\x09\x10\x7e\x96\xc4\x23\x96\x8c\xc5\x18\x2a\xfb\xe6\x46\x97\x98\xfb\x27\x57\x46\x73\x98\xca\x46\x1e\xc8\x98\x9d\xa4\x5a\xd1\x1b\x42\x46\xa9\xd2\x00\xed\x9d\x87\xa4\xeb\xb0\xf3\x29\x5c\x35\xdf\x80\x7d\x03\x4b\xe9\x9b\x57\xf4\x43\xf0\x22\x14\xa8\x85\x58\x7b\x0a\x27\xdd\xff\xfd\x9f\x15\xd1\xc7\x76\xe1\x2f\x5e\xb1\x14\x58\xe3\x1a\x7a\xb5\x45\xc2\x32\xd3\xdb\x16\x08\x9e\x80\x85\xf1\xf9\x39\x01\x7b\x1d\x7b\xcb\x0b\x96\x0a\xae\x0b\xf6\xee\x60\x10\xe6\xc4\x7e\xa0\x97\xae\x74\x7c\x7d\x92\xbd\x4d\xd3\x0c\x95\x3b\xd7\x31\xd4\x1d\xe6\x79\xc1\x38\x93\xe2\x29\xcc\xca\x51\x90\x48\x65\x8b\x09\x8b\x80\x17\x04\xb1\xf8\xc8\x6a\x04\x99\xae\x68\x32\x75\xc8\x11\x5b\x2a\x83\xc2\xb2\x34\xac\x96\x9d\x35\x72\xa8\x36\x80\xb1\x9b\x87\x7c\xc2\xe4\x8a\x17\x53\x49\x92\xd5\xc2\x51\x82\x14\xf9\x93\x34\xad\x26\x29\x72\xc8\xc3\x95\xe6\x83\xcd\xe8\xe3\xb1\x9b\xa0\x4b\x30\xbf\x5c\xa6\x58\xc5\xff\xe7\x0f\x0b\xe6\x32\x38\xae\xc8\xb0\xed\x56\x6d\xa7\xcd\x6f\xfd\x05\x95\xe0\x96\xee\x2f\xd4\x32\x89\x78\xda\x43\x19\x16\x6d\x43\xde\x71\xb0\x9a\xb1\x82\x2d\xba\xf1\x4b\x77\xd0\x5f\x55\x6e\xf7\xbb\xc3\x35\xfb\xa4\x5a\xdc\xf8\x1d\x8b\x1b\xe8\x16\xfb\x18\xe0\x2e\x65\xf1\x4b\x45\x92\x2b\x43\x9f\xc4\x40\x98\xb0\x5b\x0a\x7a\x02\x02\x2b\x3a\x30\x6f\x2d\x0e\xf2\xa1\x83\xf4\x4b\x02\x91\xa2\xe0\xa3\x27\x3b\x22\xba\xd9\x7f\xef\xcf\x1f\xf9\xef\xb7\x9f\xe2\xc0\x75\xcd\x0f\xef\x56\xf6\x4e\xe2\xbf\xf0\x08\xb2\x24\xa1\x27\x9b\x9f\xd9\x24\xb3\xb4\x25\x50\x38\x04\x09\x5a\xd5\xc3\x2c\x57\x91\xd0\x7a\xcc\xce\xe1\xa2\xa1\x7f\x32\xbe\xb0\x81\x8e\xe0\xe1\xa9\x34\x96\x89\xe5\xbe\x0b\xda\xaf\x6e\xf1\xb6\x13\x80\x44\xba\x7b\xc5\x88\xd6\xbb\xeb\xdb\x75\x59\x13\x96\xc7\x17\xda\x80\x92\x58\xec\x7c\x79\xcc\x62\x15\x3d\x88\xfc\x28\x17\x71\xa2\x8f\x21\x66\x5f\x74\x06\x0b\xd7\xc6\xda\xde\x5b\xd3\xe8\x02\x20\xec\x20\x14\x38\xc5\xfe\x29\xa5\xc0\xa6\x26\x8d\x58\xb2\x00\x73\xc2\xe6\xb3\x62\x02\x97\xa5\x0a\x14\xb2\xc8\x37\x88\x76\xb6\xae\xac\xda\x44\x58\x4b\xc3\x28\x6d\x5d\x99\xd8\xf9\x4b\x60\x7b\x9e\xf9\xd9\x98\xf1\x43\x40\x06\xfc\xa8\x42\x51\x1e\x18\x8a\x8b\x8c\x17\x2b\x0d\xb4\x1f\xd5\x39\x20\xa3\x0b\x5e\x35\x33\xc4\x33\xc0\x41\xa0\x97\xc2\xbf\xe4\xc8\x29\x74\x91\xa4\xe9\x54\x62\xe2\x06\x30\x74\xbc\x69\x65\x17\x32\xaf\x8e\x18\x8f\x63\xf6\xff\xbd\xfd\x70\xf1\x1f\x77\xe7\xb3\xc9\x25\xf8\xbc\x27\x17\xe7\x07\x23\xf7\xc7\xab\xfb\x3b\xf7\x57\xf4\xb0\x3c\x8a\x9c\xad\xf9\x03\x98\x78\x52\x0b\x4a\x3c\x15\x53\x19\x8e\xd4\xf2\x2e\x99\x5f\xb4\xb0\x08\x5a\x52\x53\x1c\xfd\x34\xad\x61\x17\x69\x2b\xd1\x71\x0e\x30\x7e\x6f\xdc\x2b\xdb\xf7\xa0\xdd\x3c\xae\x0b\xab\x06\x42\x7e\x31\xd7\x01\x11\x0f\xd9\xbe\x7e\xc3\x09\xb9\x4c\x64\x17\xce\x4f\xc8\xc7\xd7\x54\xe2\x7f\x14\x1b\x00\x9a\x5f\xf3\x24\xef\xbd\xf7\xda\x99\x14\xed\x89\x31\x76\x3a\xd7\xf5\x43\xa5\x51\x17\xc6\x4c\xe5\x4e\x2c\x69\x1b\x89\xee\xaf\xfe\xb9\x44\xcd\x29\x3e\x17\xb9\x65\xf8\x72\xb9\xb0\x96\x06\xd3\x5d\x34\x7e\x0f\x4e\xe5\xdd\xd5\xd9\xd5\x31\x13\x29\x9f\x2b\x48\x83\x24\xa8\x91\x6d\x82\x26\x2c\x52\xeb\xa0\xa1\x0a\xbb\xdb\x88\x65\x9e\xdd\x2d\x74\xa2\x8d\xb1\x8d\x1d\x2c\x6f\x99\xca\x9b\xdc\x68\x2f\x6b\x02\xd2\xc7\x5e\xab\xbc\xcf\xf5\x6f\x1e\xc3\xbc\x90\xcc\x18\x72\x35\xc9\x4b\x77\xf3\x42\x70\x60\xfe\xa0\xb0\x10\xf9\xf2\x09\x18\x9b\xa6\x95\x5a\xdc\xe6\xe0\xe8\x31\x85\xf6\xfd\x93\x4a\xb2\x1f\xbf\xd5\x6c\x5e\x16\x53\x59\x6d\x43\x49\x76\xf2\xf3\x2d\x7b\xcf\x8b\x68\x75\x30\x95\x90\x97\xf8\xe3\xb7\x1d\x34\x94\x83\x99\x9d\xcd\x9c\x9c\xf1\x82\x5f\x28\x1e\x27\x72\xd9\x46\xeb\xec\x6b\x0f\x9e\xdf\x9d\x1c\x33\x5b\x02\xc6\x67\xd1\x16\x96\x4e\x25\x68\x08\x04\x32\x7c\x88\x95\x22\x20\xca\x65\x95\xfa\x16\x2d\x33\xb8\xb0\xa6\xf2\x0e\xf9\xac\x8d\x54\x4d\x0a\x96\x29\xaa\x7f\x69\xac\x32\x64\xfa\xe6\x36\xbb\x5c\xa4\x1b\x66\x66\x07\xb6\xb1\x5b\x0c\xd2\xc7\x40\x9f\x69\x0a\xfb\xa9\x04\x03\xdd\xe5\xf5\xa6\x2a\xe2\x29\x60\xfd\x0e\x03\x9f\x9e\x31\xdb\x55\x09\xdc\x3a\x00\xb2\x91\x9b\x2a\x24\xd7\xd1\x3d\x39\xa5\x2c\x5c\x28\x70\x00\xc0\x3a\x52\x1c\x72\xad\x8c\xc4\x41\x1e\x5b\x70\xbe\xa5\x38\x3b\xe6\x45\xc7\x6b\x8b\xd3\x62\x7e\x75\x29\xef\xaa\x94\x96\xc7\x2d\x02\xf7\xbd\xdc\x00\x2c\x1c\x0a\xd6\x29\x80\x94\x78\xe9\x4c\x9b\xb2\xb1\x8a\xee\x4e\x0c\x5e\x9b\x4a\x44\x20\x56\xd6\x25\x64\x3e\x0c\x7a\x57\x12\x00\x92\xcd\x3c\xfb\x32\x23\xc0\x24\xe9\xfa\x59\x2e\x0e\x5d\xf6\x78\x5c\x99\x53\x73\xc3\x8e\xd9\x4d\x68\x5e\xc7\x2a\x2a\xd7\xb6\x2a\x05\x64\x9e\x13\xb2\x8e\x2e\x51\xb7\x43\xf0\x62\xdf\xb5\xe3\x81\xe1\xae\x10\x40\xbd\xd3\xdb\x3e\xc6\x0d\x73\x12\xbe\xda\xd4\xd4\xbb\x15\x5f\x90\x1d\xfb\xa1\xe1\xb0\xa1\x59\x56\x6d\xa9\xd2\xda\xde\x9c\x0e\x97\x9e\x39\x5f\xe5\xa0\x6c\x89\xcf\x99\x02\x27\x37\x26\x56\xab\xf8\x8d\x66\x93\x6b\xa3\x01\x19\x8b\xd7\x9d\xc1\x52\x17\x08\x5a\xc3\xfc\x67\x78\x1b\xd3\x10\x46\xec\x6b\x36\x2d\xbf\xfe\xfa\x77\x11\xfb\x6c\xff\xe3\x5f\xff\xe5\x5f\x7e\xf7\xaf\x43\xd2\x54\xac\x41\x0e\xed\xfa\x39\x72\xa5\x48\xab\x2a\x51\xb8\x02\x4d\x49\xb5\xc7\x2a\xd0\x01\xec\x9a\xfe\xe7\x30\x64\x07\x98\x24\xbe\xa4\x13\xae\xc3\x93\xc9\x2a\x47\xd3\x23\x09\xb4\x28\x46\x55\x09\xe1\x94\x5d\xd2\xe8\xff\x71\x0b\xd1\xeb\xcc\x1c\x95\xe7\x61\xa7\x92\xd4\xa9\xd7\xa6\x11\xf6\x96\xfc\x7f\x05\x04\x10\x0f\xec\x05\xa7\xd2\x58\xe4\x38\x26\xe7\xb2\x73\x8e\x44\x10\x0e\xe2\x73\x96\xaa\xd8\x52\xcb\x7b\x1e\x85\x04\x14\x84\xf3\xcf\xdc\x48\xee\x11\x51\x90\x52\xde\x2a\x44\x5e\x16\x3c\x12\x94\x63\xfd\xf6\xf3\xb1\xf9\xdb\x88\x6d\x8e\x01\x9c\x3a\x62\x7f\x3d\x26\xa6\x41\x9e\x17\x33\xf3\xa7\x03\xab\x6b\x53\x13\x30\xe8\x44\xb3\x37\x47\x8f\x3c\x3f\x02\xf1\x7c\x84\x23\x7a\x43\x92\xd5\xd5\x54\x0e\x75\xf3\x54\xa9\x07\x02\xee\x36\x5e\x3c\xb2\xa4\xb5\xb0\xbd\x5d\xdc\x04\x97\xde\x91\x1a\x15\xec\x10\x1e\x10\x6c\x9c\xcd\xd9\xf8\x2f\x5a\x49\x36\xde\xf0\x75\x4a\x7f\xb5\xbf\x12\xae\x98\x6b\xca\xb5\x8b\x1d\x46\x28\xdd\xa0\xa7\xf4\x7d\xaa\xe6\xf0\x55\x1f\xed\x97\x22\x32\x17\x06\xea\x6f\x1f\x7f\x61\xd1\x87\x58\x12\x0f\xe0\x5e\x5c\xab\x02\x1f\xa1\xb4\xd9\xe6\x57\x7d\x76\x43\xfa\x23\xc6\x85\x61\x52\x6c\x72\x20\x3a\x87\x1d\x2a\xce\x34\xfa\x99\xbd\x25\x11\x74\x60\xee\x18\x82\x41\xe3\x34\xb4\x75\xb0\x71\x1d\xfc\x47\xd0\x41\x22\x19\xa6\x7b\x6e\x79\xf3\xaf\x47\xe3\xf1\xd8\xbd\x0d\x8c\x3f\xff\x87\x25\x85\x16\xe9\x02\x5b\xb2\x37\xd8\x66\x2a\x3f\xda\xa2\x55\xd6\x79\xed\xe9\xb0\xb3\x5c\x15\x2a\x52\x29\x3b\xf4\x0e\xdd\x58\x45\x9a\xfd\x93\x51\x6b\x83\xa9\x84\x3f\x1a\x3b\xae\x83\x42\x1f\xab\x64\x7c\xa1\x43\x45\x0e\xf1\xfa\xb1\x0a\x19\x70\x9d\x61\xcb\x75\x98\xe4\x0c\x7b\xc1\xec\x9c\x23\x62\xc9\xcd\x73\xf3\xb0\xf8\x5c\xc0\x4f\x1d\x24\xc4\xad\x10\xf9\xf6\x9b\xb2\x21\x6e\x3d\x17\x31\x6e\xeb\x8e\x09\x20\xae\x50\x92\x0c\xf8\x9d\xa3\x30\x7c\x62\x2e\x17\x19\x96\x51\xd2\xe5\x7a\xcd\xf3\xcd\x91\x3f\x6d\xcd\xcd\xe9\x59\x6a\x41\xc6\xa4\x76\x02\x20\x84\x9b\xd2\xd1\x22\x14\x03\xa9\x97\xf6\x46\x73\x67\x37\x82\x3a\xd8\x01\xdb\x93\x90\x91\x8a\x69\x5f\xfb\xac\xd6\xaa\xc6\xe2\x9e\x69\xea\x2a\x16\x11\xa3\xbd\x33\x4e\x16\x48\x7f\x46\x4f\xd8\x97\x3b\xc4\xb7\x9a\xe9\xc2\x08\xca\xe5\x80\xf0\xe8\xe4\xea\xd6\xbe\xd3\xff\xd2\x85\x79\xa8\xaa\xec\x3c\x0d\xb9\x85\xe5\x92\xe5\xfc\xc9\x5f\xbf\x80\xed\x40\xef\x4c\xe9\x72\x7e\xf1\xdf\xa7\xea\x3a\x49\xcd\xad\x05\x7b\x7c\x3c\x95\x95\x3f\x8f\x98\x48\x93\x75\x22\x1d\xb6\x0e\x85\xbb\x5a\xa0\xf6\xfc\x90\x14\x66\xc9\x74\xfc\x60\x24\x98\xe5\xc4\x0c\x4c\xaa\x13\xb9\xb1\x5b\xc7\x05\xa6\xc8\x03\x51\x6a\x33\x2e\x6f\xa3\x03\x1b\x40\x12\x8b\x43\x52\x48\x93\x60\xe3\xc1\xf9\x9d\x4a\xd3\x9a\x3d\x4b\x1e\x86\x1c\xb4\x17\x34\x77\x68\x8b\x09\x05\x12\x00\xfa\xa8\x60\x89\x9d\xfe\xdb\xa2\xa0\x9c\xcb\x72\xbd\x6f\x12\x0b\xc1\x92\x7f\x2d\x37\xdd\x75\x2e\xec\x4d\x45\x09\x51\x42\x96\x6b\x7b\xa0\x06\xec\xb8\x73\x52\x7f\x62\x11\xa5\x1c\x59\xfe\x4c\x43\x80\x7c\x1c\x61\x80\x34\x0b\xfa\xc2\xeb\x05\xbb\xc1\xfa\x84\xa9\x90\x6f\xf1\xdf\x07\x8c\xee\x86\xaf\x47\x74\x9f\xe7\xda\xb1\xa7\xe1\x9a\x43\x7d\x6f\x11\xa3\x0f\x1d\x2a\x3a\x2c\x79\x1e\xa3\xb7\x3c\xb4\x2a\x30\x33\xd8\xe8\x5f\x1b\x55\xb2\xa7\x44\xaf\xa6\xf2\x4e\x59\x87\x23\x93\xca\xd5\xc4\x18\x81\x31\xda\xe8\x8f\x6b\x10\x02\x30\xea\xb6\x1d\x60\x84\xf0\x5e\x39\x4c\x00\xa2\x9d\x49\x15\x8b\xfd\xc8\x1f\xef\x7c\xac\xc2\xc6\xaf\x73\x81\x79\x66\x70\x53\x74\xa5\xe9\x0a\xad\x07\xfa\xe6\xeb\x0b\x0f\xf7\x10\xb5\x63\x7a\x55\x4f\x83\x2a\x93\x84\xbc\xaa\xee\x56\x83\x56\xac\xc5\x19\x64\x19\x57\xe6\xde\x55\x9a\xd8\x77\x11\xa2\x16\xa6\xc7\x5e\x77\x3f\x7e\x7b\x04\xd3\xee\x00\xc6\x9c\x2d\x73\x55\x66\x2e\x15\xdf\xa6\x11\xe2\x32\x90\x4e\x33\x91\x0b\x75\x4c\x36\xd5\x45\x22\x1f\x70\xc7\xbf\xd6\x1a\x61\x31\x11\x11\x57\x28\x70\x6d\x85\x7f\xf8\x86\x43\x96\xc8\x28\x2d\xe1\xe2\xd3\x05\x8f\x1e\xb0\x20\x4a\x97\xd3\xd7\xbc\x33\xdb\x9d\xa4\xd9\xa1\x31\x95\x69\x4a\xdd\xfa\x0b\x14\x48\xe6\xc0\x05\xf4\x98\x70\xc6\xd9\xfd\xcd\xa4\xbd\xef\x87\xa4\x19\xcc\x69\xbf\x3d\xab\x1b\x04\xfe\xdf\x8f\xc9\x20\xdc\x65\x8d\x52\x58\x54\xb6\xba\x73\x2e\x75\x11\xd6\xe3\x26\x2d\x8c\x01\x11\xdf\xb4\xb8\xf6\x07\xef\xd3\x65\x56\xce\xcc\x44\xa5\x43\x00\x02\x66\x14\xdf\x5f\xdf\x9f\x04\xef\x6d\xdb\x2a\xdf\x5f\xdf\xb3\xa0\x0f\x24\x8b\x4e\x45\x54\x38\xa4\xf1\x98\x9d\xfa\x1a\x0e\x75\xcd\x3c\x16\x8f\x49\x84\xa9\xb3\x23\xa3\x15\x4d\x25\x50\xa3\x1b\x5b\xe7\xd0\xf2\x69\xb2\xef\xaf\xef\x89\x85\xd3\xf3\xe6\x60\x39\x0a\xa0\xc6\x18\x76\xed\xd4\x48\xc9\xa5\x92\x87\x48\x19\x94\xc7\x3e\xda\x31\x02\xe3\x3a\xe2\x59\x51\x92\x82\xf1\xf8\x6e\x6c\xd7\xe4\xc6\x47\x42\xcc\xb0\xd4\x54\x1a\x5d\x09\x73\x0c\xa0\x72\x9a\xf9\xe8\xe6\xd2\xd6\x26\x75\x1f\x70\x00\x4c\xda\x5e\xc2\x3f\x71\x99\x83\x5c\x6e\x18\xcf\xe7\x49\x91\x1b\x33\x0c\x5f\x1e\x21\xc3\xd9\xca\x56\xc7\xc2\x75\xf3\x9a\x11\x15\xbb\x83\x05\x4e\x64\xa1\xa7\x32\x48\x80\x71\xd9\xc6\x98\xbc\x90\x48\x06\x54\xc2\x80\xbd\xb1\xd4\xa6\x51\xaa\xca\xd8\x5e\xab\xb9\x2b\x9e\xb7\xc9\x50\x89\x9a\x4a\x60\x3c\x31\x77\xab\x32\x6a\xa8\xbf\xfb\x8f\xd9\x27\xf9\x98\xc4\x09\x3f\x2c\x84\x4e\xf9\x61\xf1\xbf\x3f\x8d\x6a\x7f\xe2\xef\xbe\xfe\xfa\x13\xd6\x01\xec\xa2\x73\x08\x58\x9b\xf6\x74\xf0\xb4\xc7\x29\x1c\xff\xa1\xd9\xa5\x7b\xac\xd3\x45\xf2\x20\xd8\x27\x5c\xee\x4f\x44\x7e\xfc\xbc\x65\x9b\xca\xb6\x75\x63\xcf\x59\x36\xa0\xa2\x6f\x5f\x37\xb6\x65\xd9\xde\x2d\xc7\xff\xb2\x9c\x9b\xd5\xfa\x66\x39\x7e\xf7\x35\xfc\x67\x6d\x8d\x76\x1d\x5e\x97\x3d\xd3\x36\xec\x16\x41\xd4\x72\x2c\x9d\x2c\x9a\xca\xdd\xc2\x88\x0d\x93\x45\xb0\x6b\xdb\x0e\x3e\x2f\xc4\xbe\x59\xb3\xc8\x89\x3d\x00\x7d\xdd\x20\x1b\xdf\x1a\x11\xdc\x93\xa9\xdb\xb3\x6c\x03\xdc\xb3\x9b\x32\x3c\x04\xe0\xc2\x8f\x03\x78\x7e\xe0\xf9\x7e\xdf\x53\x7b\x76\xc7\xe7\x6c\x1f\x66\x2a\xc4\x00\x66\x9a\x5b\xf3\x78\xcf\x41\x56\x1e\xdd\x36\xc6\x27\x8e\xd5\x08\x9b\x45\x70\x62\xb2\xd6\x87\x9c\x22\xbb\x1d\xd1\x65\xa2\x5d\xda\xa0\x1b\x89\x85\x56\x3a\xfb\xda\xf6\xbb\xa4\xb3\x14\x16\x3b\x74\x51\xb7\x96\x8d\x1f\xb8\x22\xf6\x84\xc2\x19\x93\x7a\xb6\xee\x4d\xb0\xee\x3b\x3e\xa3\x97\x3f\x36\xe8\xd6\x9d\x7a\xf9\x11\x32\xbe\x1d\xc9\xd6\x9a\x4b\xa3\xad\xd9\x5e\x3b\x02\x4b\x68\xe5\x3f\x6b\x48\xf7\xd9\xb3\x06\x84\x3d\xf6\x4b\xd6\xb2\x5d\xd9\x56\x9e\x30\xb6\xca\x53\x8c\x1d\x14\x2b\x70\x2b\xfb\xfa\xb9\x56\xcc\x79\xf7\x32\xd6\xda\x4d\x79\xbe\x44\xa7\x97\x16\x85\x3e\x68\x59\x61\x9f\xc7\xb6\xc7\x0a\x5b\xb5\x6b\x36\x8c\x3f\xc4\xea\x63\xe0\x52\xd9\x76\xd2\xdc\x28\xab\xc5\x36\x9c\xa5\x65\xfb\x0f\x99\xe4\x7d\x72\x5d\xa4\x72\xac\x4c\x05\x3c\xaf\xdd\xfc\x5a\x7b\xd2\xcc\x5e\xf2\xb5\x63\x8f\xa1\xd6\x6c\xca\x2f\x0e\x6e\x2e\xa0\x4e\x4c\xf7\x18\x7a\x71\xc8\xf6\x1d\x02\x31\xdd\x76\x8d\x60\x2a\x4f\xec\x23\x9e\xed\x5a\x27\xe8\x65\xc1\x74\xc4\x72\x8e\x19\x2e\xe0\x33\xe3\x7e\xd6\xe9\xe3\x3a\x3e\x62\x68\xa2\x7f\xed\x13\xee\xb5\xc8\xfd\x6d\xe4\xd9\x50\xc3\xef\xe8\xe8\xb9\x1f\x1b\xf2\x56\x89\x6e\x3f\x91\x9a\xb2\x73\xb9\xa3\x63\x95\xef\x62\x96\xdc\xd6\xa9\x45\x5c\x98\x53\xbc\x04\x5e\xb3\xa0\x8c\x73\x57\xef\xfd\xcd\x24\xfa\x0c\xa2\xe1\x46\x0c\x05\x64\x25\xa4\x1b\x7f\x48\x3c\x65\x7b\xad\xb3\xa6\xac\x28\xf6\xba\x0b\x12\xbe\x9e\xe5\xaa\xbb\xb8\x74\x8f\xf9\xb2\x4d\x54\x22\x06\x2b\x2c\x36\xb9\x61\xbf\x94\x3c\xc5\xab\x55\xd2\x61\xb0\xc3\x06\xe7\xcb\x37\xff\xca\x4e\xe0\xee\x63\x1f\x41\x2a\x03\x64\x0c\x5a\x2b\x14\x4b\xd6\x99\xc8\xb5\x92\xbc\xb3\xca\xfa\xc3\xb7\x7a\x46\x95\x62\x8d\x61\xae\xca\x66\x55\xd8\x01\x5f\xd2\xd2\x5a\xf8\x51\x9c\x3d\x94\x73\x91\x4b\x81\x95\xe4\xe1\x39\x66\x9f\xeb\x35\x5c\xc5\xcb\x62\xf5\xcd\x2c\x4a\x93\xde\xe5\x6b\x21\x5f\xf5\xc4\xbc\x76\x8a\x6f\x6d\xfb\x80\x4a\xfb\x95\xa1\x4b\x86\xbf\x31\xfc\x6d\xcc\xde\xf3\xe8\x41\xc8\x98\x65\x69\xb9\x4c\x88\xf6\x06\x8d\x8d\xa4\xea\x56\xa8\x7e\x18\x6a\x36\xd8\xbe\xb9\x04\xa7\x72\xcd\x1f\xb0\xa4\x0c\xa9\xb0\xc6\x6e\xe9\x22\x4d\x74\x8e\x9a\x59\xd2\xdc\xbb\x3b\x57\xcb\xdd\xc6\xcd\x66\xea\x7b\x4f\x97\x98\xad\xf7\xb4\x52\x84\x71\xaa\xf8\x89\x06\x1c\x5c\xb7\x5b\x1b\xec\x64\x96\x41\x46\x8b\xa8\xcc\xcd\x13\x34\x18\x3c\xbd\x10\x40\x84\xb2\x48\xa5\x64\x1c\x08\xce\xde\x68\x56\x66\x56\x88\x40\x64\x2b\x05\x9c\x11\x2e\x81\xf9\x21\x4b\xa2\x07\x44\xb6\x42\xee\x06\x73\x9f\xd7\x28\x3d\xcd\x84\x87\x58\xb6\x89\x86\x05\xd2\xfb\xec\x87\x9a\x69\x54\x55\xda\xb1\x4f\x7b\xe6\xa5\x14\x2b\x21\x67\xcf\x28\xee\xd3\x7f\xd1\x2a\x39\x28\xa4\x84\xbb\x08\xa1\x9b\xc2\x52\x26\x44\xe6\xed\x2d\x7c\x57\xb9\x22\x59\xd4\x94\xf8\x44\x33\xcd\x8b\x44\x1b\x59\xd6\x3a\xe3\x9e\x54\x69\x9f\x59\xe7\xc3\x98\x9c\x5a\x58\x9c\x6a\x73\xe1\xf2\xdc\xc6\xec\x03\xc4\x55\x02\xbb\x44\x39\x4e\xa4\x2e\x81\x55\xac\x44\x27\x39\xf0\x4b\x00\x44\xed\x17\x04\xcf\x6f\x0d\x97\xb9\x9c\xc6\x31\x3b\xf1\xf1\x6c\x64\x85\xc2\x48\xf5\x8e\x2f\x12\xa9\x16\xcf\xd9\x7c\xbd\x42\x3f\x80\xf9\x82\x0d\xc4\x40\x8f\xd3\xe6\xef\x9e\x25\xde\x0d\xf3\x09\x68\x03\xf8\x83\x90\xdb\xfc\xfb\xfd\x47\x88\x01\x98\xad\x0e\x09\x17\xd9\x51\x18\xdc\x79\xce\x00\xfb\x1f\x3b\x4f\xc4\x95\x2c\x8e\xcc\x94\x1b\x23\x28\x7a\xa0\x64\x45\x8c\xef\x11\x95\xd7\xd3\x4a\xe9\xf0\x9c\xd9\xf5\x43\x3b\x3a\x2f\x5d\xcd\x2e\x48\xf6\x74\x13\x8c\x28\x4f\xa9\x42\xa6\x2f\x18\xb5\x3b\xa4\xe8\x54\x72\xeb\xcd\xac\x08\x85\x69\x00\x5c\x84\x6d\xaa\xe5\x34\xcb\xac\x7c\xa9\x9a\x30\xbb\xe9\xb5\x9b\x33\xdc\x18\xd0\x8f\xdf\xea\x2b\xe8\xef\x25\xc8\x68\xd0\xcb\xf8\xf2\x89\x60\xcf\x0c\x81\x3b\x88\xb3\xf5\x7e\x2a\x48\x12\xa1\x8b\x32\x53\x31\xf3\xfb\xbd\x2b\xd3\x46\x4a\x85\x10\xd7\xdf\xe0\x67\x05\x83\xeb\xfd\x6d\xbb\x8e\xda\xc7\x00\x27\xc7\xe6\x65\x92\xc6\xc8\x52\x18\x68\xa8\xca\xaa\x40\x50\x1e\x09\xf4\x91\x44\xbb\x0b\xae\x65\xd3\xff\xf8\xad\xbe\x56\xf1\x3e\x1b\x6b\x38\x13\x6d\x73\x5f\xf7\x48\xa3\xd1\x21\x96\x69\xbd\x7b\x26\x32\xd5\x9d\x00\x11\xcf\x74\xb5\x1e\xf0\x96\x01\x03\xe2\x6d\x5e\x2e\x6e\xa1\xf8\x68\x17\x29\x53\x50\x97\xcf\x66\x59\x9b\x75\x36\xdd\xb8\x9c\xbf\xae\x45\x21\x00\x95\xd7\x47\x38\xfb\xfd\xed\xd5\xe5\xe1\x9a\xe7\x7a\xc5\x81\xf4\xc2\xb6\x35\xb2\xf5\xdc\xd1\x5b\x60\x81\x1d\x89\x9c\xca\x43\xb6\x54\x23\x84\x11\x1d\xb3\x55\x51\x64\xfa\xf8\xe8\x68\x99\x14\xab\x72\x3e\x8e\xd4\xfa\xc8\x4f\xcd\x11\xcf\x92\xa3\x79\xaa\xe6\x47\xb9\x80\x44\x92\xc3\x77\xe3\x6f\xde\xc1\xca\x1c\x3d\xbe\x3b\x02\xf0\xc8\x78\xa9\xfe\xe9\xe2\x9b\x7f\xfb\xdd\xbf\x9a\x86\xb3\x4d\xb1\x52\xf2\x98\x30\x4a\x5b\xdb\x3e\x44\x33\xe1\x08\x5f\xa9\xf5\xf2\x6f\xe3\xaf\xc3\x61\xd0\xa3\x6b\x15\x8b\x54\x1f\x3d\xbe\x9b\xd9\x85\x19\x67\x1d\x15\x33\xfe\x9e\x7a\xf1\x05\x52\x2f\x1e\x92\xe2\xef\xa9\x17\xbf\x6a\xea\x45\x7f\x95\xcb\xc9\x18\xe0\xc8\xf6\xf2\xd1\xfc\xdd\xc9\x48\x1b\x89\xd8\x25\x87\x5a\x2e\x87\x30\x31\x6e\x8f\x2b\x62\x60\x01\xbb\xda\xe7\x3a\x5b\xa6\xc3\xe3\x38\xb4\x4e\x4d\xa7\x75\x31\x88\x07\x04\x80\x8e\x49\x04\xbe\x42\xf4\x90\x66\x3c\x69\x4b\xa8\x08\xea\xf6\xec\x31\x85\x58\x47\xa4\x9d\xf4\xac\x4f\xb9\x2d\xaa\x38\x25\xe2\xd9\x8b\x14\xde\x6a\xed\x03\x31\xa1\x83\xdb\x6f\xe8\xdd\x3d\x54\x63\x42\x49\xef\x35\xa3\xaf\x58\x22\xe5\xa5\x6b\xa3\xd0\xe7\x3e\xb3\x2e\x4a\x8a\x6f\x5b\x4c\xb7\x7a\xb2\xf5\x50\x5e\xa2\x8a\x88\xc7\xab\xf7\xab\x20\x82\x9b\x14\xc6\x62\xc7\xd5\x31\x8c\x15\xd7\xcf\x4b\x0e\x38\x41\x0a\x62\x17\x0b\x46\x64\x75\xa2\x6d\x87\xf6\x36\xb6\xec\x4b\xe6\x72\xb7\x24\x8f\x59\x99\x67\x4a\x0b\x3d\x66\x1f\x54\x8e\xb4\x5e\xc4\xb9\xe3\x13\x1e\x6e\x3e\x9c\xb2\x77\xdf\xfe\xdb\xef\xa6\xf2\x6d\x8b\x32\x04\x97\xa8\xca\x97\x94\x7f\x01\x2a\xd0\x9a\xeb\x42\xe4\x47\xf9\x22\x3a\xc2\xab\xe3\xc8\xbc\x7f\x48\x9d\x1e\xaa\xc5\xa1\x2b\x91\x70\x48\x6c\xf1\xe3\x75\x7c\xd0\x85\x4c\x6c\x57\xb8\x7f\x35\xa3\xe7\xa4\x43\x31\x6f\x5b\xdf\xdd\x82\xb5\x72\x84\x50\x11\x21\x2d\x44\x83\xc6\x82\x54\x8c\x6a\xe1\x8a\xfa\x60\x9e\x2f\xd6\xff\x52\x8b\x96\xff\x78\x9f\xaa\xb9\x3e\x70\x04\xb0\x5c\xdb\x3e\x3c\x23\x63\x9b\xdc\x6e\x9c\xb9\x7d\xac\x6f\x9a\x8a\xd7\x74\xab\x59\x99\x18\x2e\xdb\x90\x89\x6f\x17\x1a\x5e\x17\x44\x3e\x2a\x9e\xab\x52\xda\xaa\x19\x4a\x0a\xb5\x00\x98\x13\x98\x49\x16\xa5\x09\x91\x05\xc0\xfe\x39\xee\xa9\x5c\x64\xa8\x7d\x40\x0c\xac\x7b\xba\xf7\xac\x1c\xb3\x6b\x9e\x5f\xa3\x72\xcc\xbe\xf3\x4e\x82\xf1\x57\x9a\xf0\x7d\x53\x29\xf0\x28\x0d\x41\x20\x99\xe7\x77\xa2\x0d\x9c\x1c\xf0\x95\xab\x7d\x91\x86\x8c\xe7\xa0\xc1\x8b\xc3\x42\x1d\x02\x69\x1f\x50\xc1\x61\x2d\xa7\x2e\x08\x12\xa0\x34\x86\x5c\xf7\xe6\xf9\x1e\xe3\x44\xab\xed\x73\x30\x50\x52\x58\x35\x32\xa0\x13\x24\x3d\x91\x52\xe4\x14\x01\xde\xa9\x19\x0c\xc4\x70\x84\x4b\xb9\x1d\x91\xee\xdd\x14\x61\x9d\x1d\x97\x8f\xc8\x03\x21\x30\x66\x60\x9a\xac\xd4\x5a\x19\x5d\x57\x95\x3a\xf8\x11\x4d\x5b\x50\x26\x3a\x15\xf3\x35\xcf\x50\x5f\xfd\xf5\xbe\xc6\x1c\x2d\xf3\x13\xba\xa0\xc3\x87\x06\x95\x2e\x9b\x57\x8b\x35\xed\x18\xbf\xab\xb2\xb3\x7d\xdf\x00\x42\x68\x0d\x21\xbf\x15\x7f\x14\xb6\x76\x46\xf2\x57\x63\xf4\x9a\x2d\xe5\xcc\x48\xa7\x81\x20\xa0\x0d\xb9\xa8\x43\xf8\xa6\xbd\x75\x3b\xd9\x62\xca\xf5\xc0\x35\x70\x49\x56\x7d\x16\x80\x4b\x4c\x3b\xb2\xf9\x46\x87\xad\x09\x47\x5d\xe7\x12\xfc\x6a\xa5\xb1\x4c\x2c\x5f\xfa\xb0\xa1\xde\xba\x06\x88\x1a\xbd\x39\x6e\x4f\x37\x09\xd9\x69\x38\xc7\x28\x10\xac\x6e\xd1\x05\x72\x1e\x7e\x18\xa1\x70\xdd\x90\xb9\x83\x4e\x70\x73\x36\x66\x30\x38\x0b\x5d\x13\x38\xcc\xff\xba\xcd\x9d\xd9\x86\x6f\x47\x86\x5e\x9f\xbd\x6c\x46\xd9\xf0\x2c\xb8\x17\x1f\x7d\x71\x64\x80\xff\xce\x4b\xf8\xfd\xf2\xea\x2e\x44\x36\x25\xf8\xb5\x87\xd1\x4a\x44\x0f\xe0\x4d\xc3\x2b\x0f\x0f\x03\x25\xe3\x03\xdc\xda\x97\x54\x2d\x94\x05\xca\x6c\x5c\x95\x19\x57\x69\x49\xe5\x2c\x4e\x74\x96\xf2\x0d\x40\x12\x24\xe6\x29\x7a\x38\x83\x4b\xf0\x35\xa2\x60\x57\x30\xa1\xff\x4a\x9b\x55\x39\xf1\xef\x0d\x9d\x4b\x0f\x3c\xf7\x93\xd9\x94\x07\x4c\x8b\x35\x97\x45\x12\x4d\xe5\x5a\x70\x19\x22\x58\x09\x92\x61\x26\x39\x56\x82\xea\x25\x2c\x16\x22\x2a\x3c\xe1\x32\x18\x21\x6e\xa6\x76\x9d\xc1\x61\xdf\xee\x4e\xde\xd6\x4f\xff\xc1\x96\x7d\x4e\xd6\x80\x8f\xa6\x3d\x44\x57\xe3\x33\x43\x8d\x50\x82\x97\xae\x5c\x6b\xd4\xc2\xbf\xec\x9e\x62\x73\x51\x3c\x09\xe0\x13\x22\x02\x84\x36\x1d\x7f\xef\x32\x4c\xfb\x24\x0f\x9e\x38\xfe\x41\xa2\x97\x6f\x10\x08\xd3\x01\x0b\x81\x97\x8e\xf8\x50\xd6\x18\x0c\xdf\x10\x25\x03\xb8\x02\xdf\x90\x53\xf3\x0d\x5c\xd3\xc6\x0a\xce\x1f\x45\x3c\x95\x55\x5a\x49\xd2\x19\xfd\x81\x63\xbe\xc0\xe8\xcb\x48\x1b\x3b\xc7\xbd\x02\x3d\xe7\x40\xa5\xe5\x49\xb4\x1d\xe9\xc0\x96\x82\xa7\xf8\xd1\xaf\x69\x55\xd9\x5a\xcb\x7d\x8d\x61\x5f\x83\x94\x0a\x08\x52\xbd\xe1\x0a\xfa\xc7\x6d\x4a\x47\x9a\x87\x8c\xba\x0e\x2c\x4e\x4e\xeb\x86\x1b\xbc\xad\x8d\xa9\xb4\x6c\x32\x8b\x32\x45\x96\xf4\xae\x9c\x1d\xe2\xd0\xb4\x99\xaf\xbf\x5e\x06\xb4\x73\xba\xb2\xa0\x66\xab\x03\xe9\x04\xc0\x7d\x94\x75\x76\xd7\x0b\xa9\x4b\x50\x29\x6c\xb9\x46\x88\x4a\x2c\x45\x01\xb7\x79\x5c\xa6\x08\xd8\x84\x70\x0a\xf0\x71\xf2\x34\x65\x49\xa1\xa7\xd2\xd1\x87\x62\x62\x0e\x48\x58\x1b\x6f\x89\xc9\xe4\x82\x2e\xa0\x59\xf8\x99\x4b\xd0\xc3\x92\x28\x29\x1a\xe9\x0e\x9b\xb0\xc4\x59\x96\x09\x8e\xb9\xfc\xb8\x6c\x53\x19\xda\x5c\xf5\x45\xa0\xc4\x77\xa8\x8a\xff\x12\x39\xe8\x5b\x1c\xb7\xa6\x8b\x67\xa1\x6c\xf0\xeb\x8c\xc1\x65\xab\x97\xe3\x68\x89\x3f\x88\x50\xc9\xc6\xaa\x29\xb4\x0d\xa0\x78\xbb\x15\x72\x7a\xa2\x32\xe5\x39\x26\x33\x2d\xca\x94\x25\x8b\xa0\x10\x3b\xac\x01\x92\x47\x9a\xe5\x8a\x14\xdc\xd5\x36\x84\xa2\xf9\x5a\x04\xbc\x35\xe4\xde\x49\x03\xc4\x0f\x56\xc4\x40\x28\x89\x69\xeb\x60\xcc\xce\x3c\x3d\x2e\xae\x30\x9c\x89\x80\x74\x3a\xd1\x28\xfe\xdc\x78\x03\xca\x05\xf8\x3a\x33\x44\x25\xcd\x89\x74\xa7\xae\x63\x05\xa1\x78\xcd\x30\x38\x91\x2d\x5d\xb4\x1d\x61\xdf\x4a\xb9\x62\x5e\xad\x81\x8c\xdc\x81\xe8\x18\xa0\xbd\x15\x06\x0e\x32\x24\xec\x7e\xc6\x40\x1d\x21\x7a\xcb\x60\xd7\x5b\xea\xbe\xc3\x3a\x0e\x1c\x6a\x50\x45\x71\xf8\x40\x83\x9d\x13\x82\xc7\xfa\xcc\xec\x92\x17\x43\x91\x64\x2e\x71\x6d\xf8\x40\x5b\x51\x7b\x7d\x86\x09\xd2\x63\xe0\x38\x4f\xcc\x3b\xcf\x1c\xa8\x2e\xe7\x87\x28\xa0\x5d\x3d\x24\x10\x15\x82\x47\xab\x2a\x87\x84\x65\x7a\x76\x5f\x00\x39\x84\x70\x1e\x87\xd3\x5f\x9c\xf8\x3d\x07\x85\x24\x99\x19\xfe\x98\x5d\x49\x81\x38\x4f\xb5\x08\x2e\x15\x1a\x00\x55\x9c\x84\x62\x3b\x4e\xca\xcd\xcd\xc0\xe4\x83\xa5\xd6\x32\x47\x6e\xc4\xb8\x6f\x1d\xa4\x1e\x6e\x1b\x94\x22\x1d\xba\x64\x5b\x69\xaa\x3d\xd4\xcb\x7e\x04\x15\xed\x36\x7f\x00\x97\x1e\x2e\x01\xda\xbe\xa3\xff\xb2\x6c\xcd\x7b\x70\x56\x9c\x4d\x76\xa8\xee\x1b\x86\xe0\xe7\x5d\xf3\x7b\xbd\xaa\x62\x66\x07\x14\x88\xbc\xbf\x3c\x3b\xff\x30\xb9\xac\xd6\x5f\xfc\xc3\xfd\xf9\x7d\xf5\x2f\x37\xf7\x97\x97\x93\xcb\xef\xc3\x3f\xdd\xde\x9f\x9e\x9e\x9f\x9f\x55\x9f\xfb\x70\x32\xb9\xa8\x3d\x67\xfe\x54\x7d\xe8\xe4\xfd\xd5\x4d\xad\x8e\x64\x4b\x11\xc8\xbb\xc9\xc7\xf3\xb3\xd9\xd5\x7d\xa5\x14\xe5\xd9\x7f\x5c\x9e\x7c\x9c\x9c\xce\x5a\xc6\x73\x73\x7e\x7a\xf5\xd3\xf9\xcd\x8e\x82\x91\xfe\x7b\x5b\xa7\xf4\x25\xb0\x85\xcf\xae\x2b\x7a\xc2\x16\x79\x22\x64\x9c\x6e\x30\x53\xc4\x5a\xb6\x35\xe8\x77\x78\xf7\x26\x6b\xa1\xca\x7d\x12\x3e\xee\x56\x82\xa9\x47\x91\x03\x0b\x18\xb6\x46\x94\x21\x9e\x71\xa0\xde\x6b\x2e\x8a\xbc\x19\x15\xd8\x9a\x55\x57\xe4\x1b\x97\xb7\xb9\x6d\x38\x9e\x41\x92\x3a\x61\x99\xc8\xb7\x8d\x05\x34\xa3\xbc\xcc\x8a\x64\xde\x9d\xc2\x33\x38\xf1\xbe\xaf\xed\x8d\x7c\xc7\xed\xe4\x70\x97\xed\x82\xb1\x92\xc9\xb2\x0f\x4c\x1e\x5a\x78\x6e\xb9\x5c\xf7\xb6\x85\x16\x67\xe5\x3c\x4d\x22\x96\xc4\x75\x7f\x0a\xf1\x61\x80\xcb\xb8\x4e\x8b\x9e\x89\x1c\x54\x55\x63\x01\x64\xb9\x38\xe4\x65\xb1\x42\x0a\x4f\x4a\x9c\xa1\x22\x36\x53\xa9\x45\x94\x0b\x8c\x05\x08\x0d\x4e\x5a\x2c\x87\x1a\xf4\x04\x83\x21\x06\x9b\x18\xc8\xf2\xc6\x41\x89\x9a\x8e\x18\x01\xbe\x89\xad\x0f\x70\x92\xe2\xf3\x5b\xa7\x86\x46\x9c\x60\xc1\xd5\x00\x16\x06\x37\x3c\xfe\x68\x8b\xaa\x9a\xef\x36\x92\xda\x15\x15\xc5\x45\xb6\x99\x46\xed\x9f\xb1\x6b\x8f\x85\x1b\xa5\x9a\x7a\x43\xad\xd3\x4f\xa7\xb9\x80\x4b\x84\x20\x0d\xd6\x7f\x01\xb8\x26\xca\x4c\x82\x84\x24\x63\xaa\xcd\xc5\x8a\xa7\x0b\xd4\x38\xcc\xd2\xb4\xb3\x8a\x60\xfb\x77\xea\x41\xc8\x1b\x5c\xb0\x5f\x45\x1c\x4a\xb4\x7c\x3c\xa7\x91\xf3\x08\x79\x17\xa6\x19\xa3\xdd\x55\x36\x2f\x14\x94\xa9\x02\xed\x84\xe0\x67\x4c\x40\xf2\x15\x0b\x6c\x4a\xe9\x62\x91\x7c\x36\x0d\x4e\xa5\x68\xe5\x6c\x07\x30\x99\x65\x97\x74\x72\x19\x80\x73\x48\xd1\xf7\x20\x24\xd4\x53\x05\x72\xc0\xdd\x7b\x76\x98\xff\xbc\xb9\x16\x5b\x1c\xfa\xe0\xf3\x4b\x2a\x65\x66\xc3\x28\x8f\x9d\xa7\x02\x33\xc2\x1c\x07\x07\xec\x9b\xd3\x8b\xc9\xf9\xe5\xdd\xec\xf4\xe6\xfc\xec\xfc\xf2\x6e\x72\x72\x71\xdb\xf7\xf8\xbd\x44\x16\x5f\xed\xf4\xd5\x93\xd9\x9c\x84\x38\xa2\x93\xe7\x53\xd9\xdd\x47\xf9\x63\x07\x4b\xb2\x7b\xf4\x49\x9c\xcd\xe2\x44\x47\xe6\xfa\xdb\xcc\x84\x8c\xa1\xd8\xc5\xb3\xb6\x6a\x7b\x53\xf5\xaf\x70\x4f\x30\xf7\x84\x95\x20\x78\xdb\x3d\xda\x1d\xed\x7e\x07\x48\x26\xb8\x21\x73\x61\x0e\x7f\x5c\xe1\x18\x19\xef\xae\x70\x66\x9a\xdb\xef\xdb\xaa\x4d\xd4\xbf\x09\xc7\x9b\x68\x5d\x02\x95\x89\x7d\x0c\xf0\xa8\x1d\xb3\x42\x0c\xc4\x61\xc5\x8d\x24\xa8\x42\xcf\x12\x3d\x95\x6b\x2e\x63\x5e\xa8\x7c\xd3\xf1\x89\xfd\x84\x67\x78\x6c\xaa\x22\x34\xbc\xb2\xa5\x10\xb1\x5d\x05\x7c\x94\xcb\xfa\x56\xc2\xba\x1c\x77\x57\x3f\x9e\x5f\xde\xce\xce\x2f\x7f\x9a\x5d\xdf\x9c\x7f\x98\xfc\xd1\xc1\x64\x33\xae\xdb\x8a\x4b\x67\xb9\x30\xd2\xc5\xd2\x9c\xb5\xca\x17\x2c\xd9\x6c\xdb\xa1\x32\x9d\xc9\x62\x2a\xad\x64\xc9\x7d\xf3\xab\x5c\x95\xcb\x55\x7b\x43\xf5\x51\x5e\x9f\xdc\xfd\xf0\xac\x61\x02\x09\x25\xd6\x75\xc5\xd3\xd6\x84\x0b\x27\x0b\x92\x7b\x88\x31\xae\x0d\x0f\xa8\x54\xe1\xd1\xb6\x28\x43\x87\x44\x7b\x96\xf5\xd2\x14\x5a\x5b\x95\xff\x96\xc7\xbb\x36\xd0\x5d\x20\x37\x2b\xd7\x08\xc0\xd7\xb1\x38\x78\xa3\xb5\xe3\x96\xbf\x55\x6e\xb0\x6f\x0e\x53\xb1\x5c\x8a\x18\xb7\x57\xbd\x61\xf2\xc1\x91\x08\x8c\xfc\xbd\xde\x36\x8b\x54\xc0\x77\x8f\x8b\xd9\xe1\xbd\xfa\x0b\xf0\x6b\xf7\x4a\xbb\xac\x38\x25\x22\x29\x88\x6f\x16\x5c\x76\x04\x92\x77\xe7\x83\xb5\x37\x7f\x95\x33\x97\xaa\x47\x0e\x13\x1b\x32\xf0\xe7\xa0\x0b\xf0\xb2\x3f\xbe\xd5\x8d\xe3\x46\x64\x29\x8f\x84\x4b\x70\x41\x06\x60\xb0\xeb\x9f\x13\xc0\xa3\x32\xc9\x92\xfc\x2d\x41\xf9\x64\x5f\x19\xae\x6d\x0b\x80\xe7\xf6\xc6\xca\xe3\xd7\x77\xad\x6c\x35\xdc\x88\xf7\x13\x1c\xcd\x58\xa7\x92\xf2\x22\xd0\x17\x05\xc5\x5f\x3b\x31\xeb\x83\xb6\x43\xad\xe7\x9f\x68\xe1\xd1\x66\xae\x3a\xba\xb9\x65\xd6\x75\xdb\xc3\xa9\x8e\xdb\xfc\x85\x45\x91\x6f\x25\xe3\x7e\x89\x70\xc4\x75\xae\xd6\x89\x16\x27\x45\x91\x27\xf3\x32\xac\x46\x3c\x10\x30\x57\x31\x4e\xfc\x07\x67\xb9\x8a\xcb\xc8\xd2\x67\xc1\xd7\x7a\xd8\x0f\x79\xf9\xac\xd6\x11\xb3\x43\xb3\xfb\xc8\x72\x13\xf1\x21\x64\x7b\x20\xbf\x5b\x5b\x8c\xcd\x0a\xc6\x0e\xdf\xdf\xb5\xbd\xca\x5f\x38\x67\xb4\x7b\x32\xed\x1e\xe8\x97\x06\xce\xec\xe3\xa0\x01\x77\xa0\xa6\x68\xbb\xcc\x39\x06\xd0\xab\x3a\x4a\x17\x5b\x8e\xbb\x6a\x86\x81\xbb\xfa\x61\x63\xaa\xe9\x54\xa8\x37\xac\xb8\x46\x75\xbe\x88\x56\xd5\x81\xc3\xd7\x54\x59\x83\xeb\xc3\x75\xea\xf1\x7e\x6e\x93\x5e\x61\xb4\x11\x3a\x1a\x12\x72\x6c\x57\x2a\xc0\xba\x72\xd6\x9d\xfe\x7b\x4c\xb9\x98\xfd\x52\x8a\x21\x55\x9d\x6d\xaa\xc6\x1f\xe0\xb5\x9d\x80\x94\x04\xb1\x5b\xce\xf7\x5a\x24\x6b\xa3\x01\xf1\x3c\x5a\xb1\x39\xd7\x44\x47\x18\xb2\x25\x60\xf9\x79\x96\x98\xb7\x78\x54\x50\x39\x5e\xdb\xad\x2d\xc9\x7b\x67\xa1\x90\x46\xad\xf5\x5e\x8f\xb6\xed\xb6\x6b\x02\x86\x78\xaf\xed\x30\x26\x67\x83\x62\x08\xa1\x1e\xee\xec\x64\xbc\x62\xe1\x76\x4a\x79\x29\xa3\x15\xcb\x52\x8e\x84\x12\x2b\xae\x51\x50\x58\x84\x0e\x9f\x27\x69\x52\x00\x4f\x18\x06\x8e\x6b\xfb\xd6\x18\xcf\x3c\x7f\xb0\xe5\x16\xb8\x27\x85\xdb\x26\x4a\xf6\x44\x42\xbb\xaf\xfa\xa2\x58\x68\x2f\x08\x43\xe1\xde\xef\xb0\x13\x0e\xda\x2f\x87\xb9\xde\xe0\xb0\xfb\x6f\x19\x16\x1d\xa2\x16\xaf\xeb\xaf\xd7\xe6\x1b\x09\x28\xf7\x22\x09\xde\x9a\x97\xf5\x2a\xa0\x73\x9f\x55\xb6\xfd\x1a\x6d\x7e\x70\x8b\x12\x3c\x1c\xf8\x44\x85\x93\x06\x28\x31\xf5\xb2\x4a\xad\xe7\x7e\x91\x2a\x5e\x6c\xcf\x72\xc3\x2a\x49\x5d\x6d\xc7\xaa\x9c\x77\xd5\xe5\xc0\x51\x3d\x3f\x87\xce\x8a\xff\x97\xf2\xb9\x87\xf7\x28\x2f\x84\x91\xbe\xcf\x9b\x50\xf3\xf6\x21\xbc\xde\xde\x38\x65\x31\x0f\x66\xa4\x70\xdb\xc0\xd7\xea\x73\xba\x3f\x40\x52\x5b\x8e\x53\x5d\xc9\xdb\x2b\xe7\x71\xbf\xf5\x4a\xe4\x8e\xad\xb4\xbb\xfc\xd7\xef\xbe\xe9\x93\x8d\xf8\x87\x92\x9b\x0b\xe0\x6a\x71\x8b\x04\x61\xfb\x7c\x74\x91\x34\x8f\x55\xbb\x18\xa8\xf7\x7a\x57\x8d\xd2\x86\x1b\xbf\x37\xdb\x41\xdb\xd7\xdc\x9a\xb7\xfb\x8b\xdd\x49\xc5\x1b\x9b\xe5\x89\x02\xa2\x2c\xb5\xa8\xe8\x1a\x2d\x92\xb8\xb5\xdf\x3d\x66\xf2\x97\x52\x94\xc2\x6c\xa0\x79\x19\x2f\x9b\xc1\x92\x01\x06\x97\xff\xa4\x95\x7a\x62\xeb\x32\x5a\x31\xdb\x38\x8b\x45\xca\x37\x55\x35\xca\xd8\x1a\x85\x02\x0a\xe5\x41\x7c\x81\x01\xf1\x7d\x54\xea\x42\xad\x01\xa7\xee\xdb\xcd\x4b\x09\xa7\x9c\x71\x7b\xba\xda\x2e\xb4\x0a\xa1\xe7\x33\x23\xe4\xb7\xd7\xe7\xa7\x93\x0f\x93\x5a\x78\xfa\xe4\xf6\xc7\xf0\xdf\x3f\x5f\xdd\xfc\xf8\xe1\xe2\xea\xe7\xf0\x6f\x17\x27\xf7\x97\xa7\x3f\xcc\xae\x2f\x4e\x2e\x2b\x41\xec\x93\xbb\x93\xdb\xf3\xbb\x1d\x71\xea\x66\xaf\xdd\x0b\xc1\x03\xbe\x51\x8b\x9c\xb7\xc5\x74\xac\xbb\x8a\x7a\x3d\x66\x27\x96\x7d\xb5\xc2\x0f\x6c\xb1\x06\x00\x4e\x4a\x11\x63\x89\x90\x84\x33\x5e\xf0\x53\x5e\xf0\x54\x2d\xc7\xec\x84\x51\x5e\x01\xe6\x8b\x68\xa3\x12\x12\x35\xa5\x59\x1d\x6c\xc2\xe8\x85\x91\x77\x05\xf9\x6a\xe1\x6a\x41\xa4\xb0\xa9\x08\xeb\x4a\xd9\x24\xcf\xa9\x3c\x7f\x14\xb2\x28\x41\xd1\xe6\x69\xca\xa8\x5b\xfb\x40\xc0\x0a\x62\x47\xa9\x93\x75\x92\xf2\xdc\x17\x76\xbe\xa2\xb6\xc0\xd8\xb5\x63\x75\xac\x74\x4d\xca\x09\xeb\x0f\xb8\x9f\x30\x18\xf7\xe9\xc5\x04\x14\xdd\xa8\xb0\x55\x0b\x6d\xe7\x53\x89\xa4\xa3\xd4\xe3\x9a\x43\x0e\x53\xa1\xc8\x41\x8f\xdd\xd3\xc3\xdd\x1b\x71\x2f\xc5\xca\x86\xb2\x5e\xcb\x31\xe1\x06\x69\xff\xe3\x5c\x16\xf9\xa6\xb7\xf6\x7a\x07\x8c\x0e\x1a\xec\x3a\x82\x44\x56\x8b\x3d\xa3\xff\x94\xd9\xd6\x2f\x41\xa5\xb5\x78\x5d\x0a\xef\xb9\x28\x1e\xc2\xa3\x3a\x4c\xa2\xd4\xdc\xbc\xbf\xd5\x79\x08\x59\xc0\x60\x16\xe6\xaa\x94\xb1\x26\xf0\xe6\x3a\x91\x47\x6b\xfe\xf9\xc0\x7e\x29\x92\xd8\xb8\x92\x6b\xc0\x98\x28\x52\x63\x0f\x6e\x8c\x90\xdb\x3e\x5d\x53\xb9\x65\xbe\x76\xdb\x04\x56\xb2\x82\xcb\xc0\xfb\x77\x10\x86\xfa\x28\x36\x6d\xeb\xd7\x28\x9b\xc9\xc2\xda\x0f\xd0\x48\x96\x0b\xf3\xa0\xc3\xb8\xa6\x08\x5d\x76\xff\x86\x5c\x96\x4a\x69\xef\x76\xd9\x1d\xc2\x46\xf6\x3a\x36\xad\x80\x95\xfe\x8a\x4f\xef\xba\xa7\xd4\x93\x59\x33\x84\xaf\xd8\xc8\x09\xe5\xee\x50\x5c\xde\x2c\xd6\x5f\xd4\x9c\x2d\x20\x91\x8d\xfc\x04\xb9\x80\x48\x19\x2c\x85\x2d\xd4\x03\xbc\x7a\x0d\x4c\x8c\xdd\x02\xa9\xd0\x10\x3f\x92\xc6\xa8\x16\xbf\x94\x04\x01\x78\xf7\xf5\xb0\x7b\xb6\xc0\x6a\x0f\x48\xef\x5d\xaf\x83\xe0\xee\x72\x18\x57\x29\x93\x36\xb2\xcd\x9b\x52\x9a\xab\xf8\x25\xd0\x53\xfd\xc3\xe3\xb5\x4e\xe9\x9f\x3b\x73\xcd\x6c\x64\x27\xc7\xe7\x5f\x8d\xb9\xf9\xa7\x1a\x61\x33\x75\x07\x99\x0d\xd4\x7a\x78\xa1\xcd\x79\xf4\xf0\xc4\xf3\x18\xdd\xff\x00\x67\x1a\xb3\x1f\xd4\x93\x78\x14\xf9\x88\x45\x22\x2f\x38\xf1\x15\x6a\xc0\x73\xc0\x81\xa2\x76\xa6\x12\x12\x7d\x90\xfc\x51\xea\x32\x17\xac\x48\x96\xab\x42\xe4\x21\x1a\x47\xe5\x46\x1c\x15\x48\x55\x9b\x89\x88\x08\xd9\x3a\x26\x60\x91\xf2\xc7\x26\x01\xe3\x73\x98\x64\xd8\xc4\x65\x2b\xdb\x70\xb7\x2d\x7e\xb6\x0d\x3f\x45\x13\x46\x42\x13\x29\xb4\x46\x6c\xa9\x52\x2e\x97\xe3\xf1\x18\x0a\x7d\x1c\x0c\xda\xe8\xd4\x60\x18\x40\x77\x28\xfd\x54\x29\x2d\xd2\x8d\x23\x11\x73\x79\x54\x00\xdc\xfd\x5c\x08\xa9\x13\x74\x6c\xb5\x6c\xff\xdb\x7a\x70\xe9\xcb\xc6\xe2\xda\xcd\xf3\xc1\x59\xba\x1d\xed\x40\x2d\xd5\x01\x2d\xe1\xf3\xed\x96\xd7\xb3\xb2\xce\xdb\xdb\x92\x4a\x0e\x4d\xa5\xfe\x49\x25\x1d\x50\x90\x67\x91\x8d\xb6\xb6\x44\x44\x48\xcf\x4a\x3f\x6d\x9f\xb3\x46\x46\xf0\x1e\xc9\xc0\x5b\xf2\x7a\x07\xa6\xf4\xf6\x71\x04\xdc\xd6\x97\x7b\xf0\xb1\xd8\x5d\xde\xad\xf5\x83\x06\xa6\x4c\x7b\x6e\x83\x21\xaa\x13\x66\x5d\xa6\x1b\xb0\xb8\x5c\x02\x35\x84\x07\xe2\x20\xaa\x54\x09\x9a\x41\x2a\x9f\x8f\xba\x39\x82\xba\x20\xc8\xa6\x0b\x95\xf3\xa5\x60\x6b\x11\x27\xe5\xba\x55\xd8\xb8\xe1\xee\x03\x1f\x55\x69\xb9\xee\xa6\x0a\xdd\x57\x81\xf6\x83\xc4\xff\x3a\x85\xee\xfa\x73\xe8\xb8\xcc\x08\x5b\x65\x93\xc6\x8b\x21\x24\x9a\x6b\x73\x53\xe6\x89\x06\x96\xdd\xe7\x64\xce\xba\x66\xb0\x69\x08\xc0\x6f\x32\x74\xb2\x57\x56\xf7\xd0\x46\x46\xe9\x15\x8d\xab\x0a\x51\xfb\xee\x4b\xa1\x0e\x4a\x1d\x5e\x6b\x2f\x57\x65\x83\x7b\xaa\x17\x50\x02\xd4\xc6\xa0\xf2\x06\xa1\xe6\xa0\x41\x82\xf6\x14\x8a\x2d\x6c\x2e\xe6\x83\x08\xa8\x0f\x63\xa8\xc9\xf1\x84\x94\x4f\x3f\x7e\xab\x2d\x08\x88\x70\x5a\x5e\x63\x29\x7c\x27\x18\x01\x7a\x7c\x67\xe1\x79\xf8\x85\xd8\x04\x10\x14\xc6\x5c\x16\xad\x0d\x78\xf4\x2a\xb4\x85\xaf\xfc\xc4\xcb\xb4\xfd\x71\x6a\x1f\x1e\xc5\x9a\xad\x27\x3f\xdf\x32\x9c\x6a\xaa\x9f\x90\x6f\x1b\x68\xd0\xc8\x6e\x80\x20\x4c\xd7\xec\x19\x9a\x60\x65\x1d\x70\xd2\x6d\xf9\x0e\x33\xed\xa2\x88\x56\x5e\xf3\x00\x82\x46\x47\x2c\x49\x05\xb9\xe9\x3b\xd7\xbe\x22\x04\x62\xaf\x43\x10\x6b\xb2\x94\x2a\x2c\xa5\xa4\xa4\x80\x50\x9c\x11\x40\x2a\x6c\x96\x25\xc5\x6e\xa4\xe0\x40\x56\xc2\x5d\x5b\xad\x50\x88\x00\xa3\xef\xac\xc4\xa9\xc1\xa4\x48\x90\xae\xca\xc2\xac\xd1\x26\xa2\xfa\xce\xf5\x4a\x01\x55\x02\x90\xa9\xac\x76\xd5\x98\x24\x0b\xe5\x4b\x72\x81\x04\xdf\xda\x68\x6f\x45\xf2\x68\x0e\x6a\x73\x5b\xbb\x0d\x0a\x12\xa0\xb9\xf7\x28\x6c\xcb\x02\x96\xf0\x07\xb1\xd1\x61\x31\x69\xda\x51\xac\x6b\x43\x26\xe6\x7b\x68\xbd\x76\x2f\x05\x4c\xdc\x2c\xf7\x25\x21\xfb\xdd\x65\xd8\xe9\x47\xf3\xf2\x16\x8c\x70\xa3\x71\xb3\x07\x7d\xb2\xab\xf7\x29\x92\x98\xf0\xf3\x4c\x6b\xe8\x61\x80\x00\xf2\x0c\x61\x9c\x61\xe6\x12\x18\xbe\xc6\xbe\x9d\x4a\x2a\x24\x10\x5c\x72\x46\xe0\x34\x97\x8d\x32\xf0\x91\xbe\x7c\x53\x61\x0f\x02\x6a\x55\x4b\x33\x5b\xed\xd2\x46\x97\xa1\x2e\x1f\x6c\x0f\xe8\x1a\x73\x94\xad\x0f\xaf\xb5\xc3\x67\x62\x4b\x69\x71\x3b\xf1\xa4\x41\x22\x20\x3e\x49\xec\xa2\x58\x95\x1c\xad\x9f\x48\x98\xe9\x3b\x91\xad\x50\x4e\x0b\xe4\xbc\x3d\x3f\xbd\x39\xbf\xfb\x62\x78\x53\x0b\xf6\x1c\x0c\x38\xb5\xe3\x3c\x3b\xff\x70\x72\x7f\x71\x37\x3b\x9b\xdc\xbc\x06\xe2\x94\x7e\x7a\x06\xe4\xf4\x96\xea\x93\x9c\x2a\x59\x88\xcf\x7b\xdd\xc9\x79\x29\x67\x7c\x40\xea\x93\xab\x50\xb4\x4d\xdd\xc1\x46\x9b\xf5\x55\x5c\xf1\x13\xe2\xb6\x25\xd4\x89\x2d\xa7\xb2\xf0\x4e\xc3\x45\x92\xa6\x90\x09\xee\xdc\xeb\x94\x65\x68\x26\x15\xe4\x8f\xa5\xf3\x25\x99\x3a\x95\xf3\x4a\xf9\x1b\x70\xf9\xad\x8c\x11\x8c\x39\xe0\x99\x99\x80\x3c\x81\x0c\xdb\x6d\x25\x58\x96\x89\x14\x7e\x18\xb0\x6a\x66\x7c\x9d\x34\xf5\xb4\x88\xaf\x89\xac\x23\xc5\xab\xaf\xae\x69\x77\x5c\x65\x7f\x5a\xf5\xd3\xfe\xe8\xbe\x10\x0f\x71\x22\x51\x31\xad\x9c\xe6\xdb\xf6\xad\x7b\xe4\x8f\x00\xcc\xbb\x59\x49\x0e\x31\x08\x5d\xf0\xbc\xf0\x0b\x49\x0b\x81\x85\xe1\x7c\x70\xe2\x21\x41\x04\x9a\x5a\xd4\xe6\xd9\x88\x42\x33\xd7\x09\x44\x2a\x38\x91\xdb\x44\x69\xa9\x0b\x91\x93\xdb\xe4\xe4\xe7\xdb\xa9\x7c\x6f\xae\xaf\x03\xba\x85\xa8\x7c\x17\x76\x81\x48\x1d\x55\xe9\xdf\x6a\x28\xa1\x04\x7b\x8b\x3e\xea\xb5\xe0\x52\x33\x38\x1a\x69\x2a\x72\xbf\x33\x70\x3c\x42\xc4\x54\x44\x1b\xa8\x9e\xfd\xfb\x07\x8c\xc0\xad\x66\x2a\xcc\x78\x5d\x19\xb1\xb5\x2a\x9a\xfb\xa9\x8b\x68\x00\x10\xe7\xaf\xb9\x73\x5a\x12\x9f\xfa\xee\x22\x02\xeb\xb7\x6e\xa2\x6a\x1a\x52\xaf\xbd\x74\x87\xcd\xfd\x7d\x2b\xbd\xe0\x56\xea\x71\xaf\x87\xb7\x04\x5b\x29\x23\x40\x5d\x6d\x2b\x1f\x66\x76\x44\x27\x29\xa0\xdc\xcc\x34\xb6\xde\x3a\xb5\xea\xb2\xfb\x60\x3f\xa0\xa9\xfd\x10\xda\x27\x2d\x8c\x4a\xbe\x8c\xa1\x8d\xed\x6c\x2d\x5c\xfb\x3a\xcc\x85\x27\x16\xab\x2a\x55\x61\x39\x48\x1c\x3c\x94\xb0\xae\xe6\x01\x47\x7e\xb3\x75\x8c\x44\x28\x63\xb5\x94\xd9\x9e\xc5\x1f\xef\x42\x4c\x6d\x25\x2b\x1b\x47\x11\xf2\x39\x58\x0e\x07\xc7\x01\x33\x64\xf3\x3d\xbf\xbc\x70\x75\xcf\x39\x3e\xd1\x67\x81\x1d\x2e\xaf\x2e\xcf\x43\xa8\xc2\xe4\xf2\xee\xfc\xfb\xf3\x9b\x4a\x3e\xff\xc5\xd5\x49\x25\x27\xff\xf6\xee\xa6\x96\x8a\xff\xfe\xea\xea\xe2\xbc\x81\x79\x38\xbf\x9b\x7c\xac\x34\x7e\x76\x7f\x73\x72\x37\xb9\xaa\x3c\xf7\x7e\x72\x79\x72\xf3\x1f\xe1\x5f\xce\x6f\x6e\xae\x6e\x6a\xfd\xdd\x9f\x6e\x47\x4f\x54\x3e\xa3\xdd\xfd\xe3\x83\xb3\x01\xb5\x6a\xeb\x31\xae\x96\x5f\xde\xe3\x14\xf7\x44\x9e\xed\xda\x8e\x36\x5d\x3f\x0e\xcb\x71\xe0\xc1\x30\x43\x1d\xb4\xeb\x5e\xbe\x5e\x74\x65\xea\x32\xbe\x9f\xd8\x33\xb7\xda\xec\x25\x90\x80\x5b\x15\x40\xd7\x4b\xcd\x71\x4b\xe5\xd9\x71\x6a\x33\x88\x60\x2d\x79\x67\xbd\x32\x19\xbf\xfa\x48\x6d\x1f\xbb\xc6\xe9\xa9\xbc\x76\x30\x22\xbd\x14\x1b\xca\xb6\x41\x07\x9d\x59\xb2\x81\x24\xb6\x8a\x82\xfd\x31\x84\xdd\x9b\xcf\x30\x3b\x27\xd8\x8e\x5d\x85\x7d\xdb\xd3\x96\xb6\xb3\xef\x0d\x1d\x3f\x75\xd2\x1c\x7b\x8d\xaa\x65\xc0\xb8\x81\x32\x6b\xc8\xb8\xef\xb8\x7e\x18\x3a\x6e\xea\xa4\x39\x6e\x50\xfb\x9e\x35\x6e\x70\x78\x17\xed\x34\x3a\x03\x84\x58\xd8\x4c\x75\x78\x2e\xc7\xdf\x3d\x12\xd4\xcf\xee\x37\x46\x73\x00\x5e\xd7\xbc\xcc\x78\xff\x40\x06\x8c\xc6\x1d\x57\x5e\x63\x95\xbf\x85\x5f\xe1\x0b\xe7\xb9\xe0\x0f\xb1\x7a\xa2\xf5\xa8\x23\x43\x59\x2f\x69\x5e\x9d\x20\x23\xc3\xed\x15\x51\xe4\x14\x81\x42\x94\x9a\x6f\x1e\x60\x72\x09\xf1\xa2\xa3\x0e\x16\x94\x5e\xae\x13\x11\x01\xf5\x93\xf4\xab\x33\x95\xa8\xcd\xb7\x95\x6f\x36\xab\x6a\x46\x44\xd4\x21\xf0\xa9\x4e\x87\xc6\xe0\xba\x0e\x16\x96\xf2\x80\xca\x1c\xc0\x74\xf3\x1c\x6c\x26\x98\x90\x44\x82\x33\x39\x37\x06\x4f\x2e\xa2\x44\x8b\xa0\x62\x5c\xeb\x8d\xfd\xcb\x7e\xa5\x50\x0a\x5e\xb4\xba\x5d\x7b\xfb\xc3\x79\x54\x94\x3c\x65\x90\xae\x44\x0c\x8c\xe8\xab\xc4\xbf\x44\x5c\x62\x6a\x4c\x21\xd6\x19\x64\xf5\x87\x39\x1d\x53\xf9\x33\x00\x25\x70\x09\xde\x68\xf6\x3d\x40\x1e\xec\xc3\x74\x09\xaf\x79\x01\x77\xf1\x1f\xb0\x0f\xf7\xdb\x78\x2a\x2b\x15\x98\x82\xb7\x2a\xc5\x98\xc6\x53\x69\xab\x75\xc4\x2a\xd2\x63\xb0\xf8\xc6\x2a\x5f\x1e\x51\x2d\x75\xb3\xd9\xd5\xc3\x5c\xa9\x87\x23\x21\x8f\xc0\x27\x55\x1c\xf1\xb2\x50\x47\x00\x97\xc2\xf5\xd7\x47\xb6\xe8\xb1\xad\x1a\xad\x8f\x56\xc9\xa3\x80\xff\x37\x5e\x15\xeb\xf4\x9f\x74\xb6\xfa\x7c\xb8\x4c\xf3\x43\xf3\xee\x61\xf8\xee\xa1\x7d\xf7\xd0\xbe\x7b\x68\x5e\xc3\xff\x97\x6d\x30\xbc\x23\x3e\x73\x73\x97\x8d\xa6\x32\x91\x5a\xe4\x05\x68\x3f\x4f\x79\x52\xf8\x52\x57\x1b\xf6\xe6\x3f\xff\x93\x8d\x73\xfe\x84\x19\xb1\x67\xbc\xe0\xd7\xe8\x5f\xfc\xdb\xdf\xde\x40\x40\x15\xb3\x98\x32\x9e\xff\x52\x8a\x62\x2a\xb5\x30\x87\x90\xfd\xaf\xa9\x84\x08\xec\x7a\x33\x2b\xd0\xef\x8a\x3e\xc8\x58\xb3\xef\xb0\xcd\x09\xb2\x91\xc6\xda\xb4\xd4\x91\x4e\x90\xf0\xb4\xa5\x4a\x7f\x87\x8b\xfe\x97\xf4\x8c\x9e\x1f\x70\xac\x7f\x49\xab\xa7\xda\x16\x5b\xd2\xbf\xa4\x70\x81\xa6\x8a\x5b\xb0\x16\x73\x9b\x17\xec\x64\x1a\x5c\xdb\x19\x69\x40\x03\x5e\x35\x4c\xdf\x7e\x56\x6e\x91\x11\xdd\x7a\xee\x1b\x62\x04\x62\x05\x3e\x0e\x01\xd1\xf3\xc4\x9c\x90\x5b\xf4\x84\x82\xe6\x86\x5f\x0e\x3a\x29\x85\xce\x5d\x7b\xe8\xb8\xd0\xbf\x3b\x3e\x3a\x1a\xb1\xa5\x86\xff\x99\xff\x02\xff\x03\xe8\xa1\x97\x22\xf5\x6d\x4c\xa6\x03\xc2\x35\x57\x79\xf7\x4a\xbc\x04\x8a\xee\x4b\xf0\xc8\xd7\xb6\xe9\xfb\x52\xc6\xa9\xf0\xa9\x8d\x95\x90\x48\xaa\xcc\x4a\xda\x85\x6a\x56\x1e\x82\x35\x9e\x8b\x88\x1b\xc1\xd7\xe8\x1b\xc1\xa5\x6a\x51\x08\x89\xde\xb0\xdc\x57\x7b\xe4\xe8\xb9\x02\xb5\x18\xa0\x90\xbc\x20\xc8\xb9\x80\x3f\x42\x27\x40\xcc\x3e\xaa\xff\xc4\x36\xaa\x24\x8e\x71\x60\xce\x8d\x45\x94\x42\x21\x07\xcb\x1e\xc4\x72\x51\x94\xb9\x64\x9c\x65\x5c\xc6\x5c\xc3\x0e\x5c\xe4\x10\xed\xcc\x19\x6f\x0e\x74\x84\x70\x5c\x55\x16\xc0\x89\x85\xc8\x82\x70\x26\x90\x04\x3e\x18\xf3\x28\x18\x04\xde\x09\xc0\x45\xdd\x78\x71\x3c\x95\xb6\x1e\x21\x61\xe1\xd0\x53\x16\xa9\x6c\x43\x8c\x47\xf5\x49\x4f\xac\xe7\x8c\xa6\x7b\xe4\xf1\x26\xf5\x67\x47\x2c\xa9\x86\xd6\x80\x6f\xbe\x08\x4a\xbc\xdb\x22\xf9\x6f\x85\x8c\x54\x2c\x72\x7d\x60\x8e\x61\xe2\xec\x0e\xd4\x1f\x12\xed\x17\x03\xa4\x94\xb9\xdc\xc8\x5b\x68\x9a\x77\x05\xa6\xcc\xec\x54\x18\xca\xdb\xf4\x9c\xdd\x47\xe5\xb7\x8e\x82\x69\x1b\x2f\xfd\xe7\x17\x45\xc4\x84\xb8\x4e\x6b\x73\x3e\xdf\x05\x81\x47\x36\x94\xb8\xd8\x28\xea\x38\xa4\x9c\xd8\x7a\xda\x49\x01\x15\x32\x73\xa1\x8b\xa9\xa4\x1b\x78\xc4\x16\x82\x1b\x3d\x6f\xc4\x22\xfd\x88\xc2\x18\xaf\xfb\xe2\x49\x79\x0c\x8e\x2d\x6f\x03\x60\xd8\x4a\xe3\xde\x49\x8c\x8f\x71\xca\xc0\x46\x80\x41\x97\x85\xee\x54\x15\x98\xac\x56\x81\xf8\x8c\x79\xb0\xd5\x52\xea\x15\xd6\xc2\x62\x3d\x30\x13\x1b\x0c\x14\xb3\xfa\x38\xf0\x07\x23\x78\xf0\xeb\x10\x06\x12\x08\x47\xd0\xb8\x09\x4b\x8b\xe7\xcc\xc7\x70\x43\xca\x7a\xf0\xcd\x74\x1d\xaa\x2d\x13\x01\x03\x78\x9e\xdf\xc2\xbc\xba\xd3\x61\xa5\x45\x6e\x4b\xb9\xe0\xb7\x22\xc1\xe4\x2a\xc9\xe3\xc3\x8c\xe7\xc5\xc6\x6e\xdf\x34\x99\x43\x05\x88\x34\x79\x10\xec\x24\xcf\xd5\xd3\x4b\xcf\x42\xa7\x68\xe9\xb2\xb0\xf7\x41\xb2\x0f\xb5\xf2\x5b\xe9\x65\xeb\xee\x8e\xe7\x51\xd9\x76\x39\x3e\x5a\xfb\xc9\x45\x91\x6f\x66\x66\x23\xae\xb3\x4e\x49\xd1\x2b\x69\xa2\xbf\x92\x3b\x8c\x25\xb7\xe6\xc2\xe8\x64\xc9\xad\xac\xea\x6f\x87\x25\xb7\x85\x00\xb7\xc9\x92\x3b\xb9\x9c\xdc\x4d\x4e\x2e\x26\xff\xa7\xd6\xe2\xcf\x27\x93\xbb\xc9\xe5\xf7\xb3\x0f\x57\x37\xb3\x9b\xf3\xdb\xab\xfb\x9b\xd3\xf3\xed\xb4\x57\xcd\xd1\x7b\x15\xfc\x90\x85\xfd\x1c\xb3\xbb\x00\xa8\x81\xc9\x06\xa4\x7f\x53\x7d\x5c\xd8\x55\xe6\x30\x27\x72\x39\x82\x83\x7a\xcc\xce\xf3\x7c\xb2\xe6\x4b\x71\x5d\xa6\x29\xc0\xa9\x30\xb3\xe7\x34\x17\x60\x78\x8e\xd8\xb5\x8a\x27\xc1\x7b\x90\x8e\xd8\xfa\x19\xd0\x3f\x8f\xe3\x5c\x68\x8d\xdd\x8f\xa8\xff\x00\x3c\xe4\x52\x1d\x09\x3c\xc7\x1f\x79\x92\x1a\xfb\xed\x98\xbd\xe7\xd1\x83\x5a\x2c\x30\x7d\x66\xe4\x12\xa7\xd8\x2f\xa5\x2a\x38\x13\x9f\x23\xa0\x7a\x6b\xdf\x27\x17\x6a\xf9\x2b\x40\x95\x7b\x84\xa7\x3a\x8c\x14\x28\x75\x37\x6b\xbf\xce\xdb\x05\x01\x7d\xe5\x47\x7c\xf5\x03\xbe\xd9\xee\xa0\x2c\xd2\x17\x48\x8f\xbf\x50\xcb\xf6\xc2\x43\xa0\x5d\x53\xb5\x24\x0a\x24\x44\xc4\x2e\xa2\x96\x4c\x27\xf2\x61\x2a\x7f\x5e\x09\xc9\x54\x99\xe3\x9f\xc0\xcc\x37\x6a\x66\x5a\xea\x95\x80\x32\xd5\x23\xf6\x24\xd8\x9a\x6f\x50\x6d\x06\x9b\xc0\x55\x4b\x81\x2d\x03\xb7\x88\x79\x3b\x4d\xa4\x91\x16\x59\x62\xf3\x12\xea\x4b\xff\x12\x16\x97\x25\x3a\xe4\xfb\xf3\x10\x6f\xbb\x4f\x2b\xf8\x3c\x70\x95\x79\xdc\xa4\x05\x08\x91\xe4\x86\xa2\xb2\x4a\x3d\x94\x99\xa7\x44\x7d\x63\x83\x93\x30\xdd\x8f\x2a\x89\x59\x5c\x66\x69\x12\x39\xb9\xfb\xa4\xf2\x4e\xde\x67\x4c\xa0\xe9\x7f\xeb\xd4\xd3\xc2\xb6\x7d\x58\x4b\x76\x4e\x80\xa4\xdb\xc2\x00\xfd\xca\x1c\xd8\x2c\x91\x51\x5a\x42\x99\xb9\x52\x8b\xfc\xd0\x95\x8e\x76\xb9\x7e\xbf\x7d\x92\x6c\x4f\xc2\xb9\x7f\x5a\x5b\x98\x74\x9e\xaa\x65\x12\xf1\x34\x04\x37\x7b\x54\x84\x63\xe1\xb5\xc7\x9e\x8a\x09\x43\x1e\x84\x1d\x50\x27\x91\x56\x96\x0b\x20\x82\x9e\x81\x28\x9f\x91\xb8\xdb\x67\xdc\x0b\x66\x0c\x74\x1c\x57\xc8\x91\x6b\xc3\x0b\xf6\x86\xf3\x7d\xdb\x4a\x6c\xa0\x62\x62\x09\x7f\xa6\x9e\xa4\xc8\x41\x83\x05\xd8\x87\xf9\x52\xa9\x40\x37\x71\xd5\xd9\x1c\x3e\xd9\x56\x27\x5c\x38\x20\x36\x66\xce\x2e\x93\x47\x21\xbf\x3c\xa9\x79\xd0\x41\xc4\xa3\x95\x98\x59\xbd\xfc\xa5\x45\x96\xbb\x00\x06\x0a\x2b\x5b\x26\x25\x14\xa5\x2e\xbc\x09\xa6\x13\x8e\xb8\x29\xbb\x30\x90\xb8\x25\x23\xcb\x0c\x62\x16\x8b\xe8\xe1\x8b\x8b\x66\x0f\xb2\xb2\x03\x61\x9c\x9d\x89\xe8\x81\xdd\xdf\x4c\x30\x1b\x38\x29\x98\x11\x05\x7a\xe5\xcb\x3e\x75\xda\x6e\x05\x5f\xbe\x02\x85\x55\xdf\xba\x55\xbe\x54\x81\xab\xd6\x67\x06\x44\x80\x28\xc8\x97\x34\x42\x92\x72\x69\x00\x08\xc6\x0b\x5b\xcd\x08\x1c\xf1\x4c\xaf\xa1\x78\x51\x59\x04\x15\xff\x52\x3e\x17\x69\x07\x71\x67\xa6\xe2\x99\x8d\x93\xec\x0b\xe6\x69\xb4\x65\xfd\x18\x14\x75\xb4\x79\x0c\xdc\x68\xac\x77\xf4\x20\x7b\xf8\x56\x07\xf4\x1a\x2a\xe4\x0f\x07\xbb\x9e\x6b\x48\xef\x5e\x24\x4b\x1b\x6d\x4b\x16\x54\x62\x09\x13\xfa\x8d\x1e\x0c\xf2\xd2\xb4\x74\xad\x62\x82\xe9\x39\x2e\x3c\xa3\x05\x09\xf2\x9e\x78\x5c\x45\x38\x04\x8b\x03\x84\x7e\xcd\x89\x10\x3c\x66\x6a\x41\xde\xc4\x2c\x4b\x13\x60\x86\x8e\x91\x84\x1e\xd8\x33\x74\x15\x1d\x1f\xb6\x66\x07\x1b\x90\x7c\x5c\x5b\x20\x5e\x57\x31\x5e\x10\x18\x98\xc1\x30\x03\x36\xb8\xd9\x23\xef\x26\x53\x7b\xf5\x8a\x69\x1d\xe3\x71\xd1\xe4\x2a\x25\x6c\x85\xb4\x8f\x7c\x05\x78\xad\xdb\x84\xfc\x88\xa7\x51\x49\x71\x32\x28\x97\x6f\xab\xe0\x6f\x47\x10\xfa\xa8\x9f\x59\xe8\xaa\xd7\xbf\xae\x64\xee\x5b\x5d\xd1\x25\x68\x3d\xd7\xa7\xb0\xdd\xbd\xb8\x4c\xd5\x1c\x76\x4e\x37\x4a\x70\xcb\x8d\x65\xc4\x75\x9e\xc4\x43\xf4\x1d\x3b\x27\x57\xee\xd5\x6d\x03\xbc\xb2\xae\x1f\xd7\x93\xdd\xf7\x8c\x0a\x19\xd4\x98\x1b\x87\x51\x20\x2c\xa8\xaa\x6a\xd5\x3c\x29\xa8\x8c\x07\x6c\x2b\x77\x3f\x75\xf8\x19\xaa\xdf\xb2\xd7\x42\x37\x99\x62\x76\xcc\xa5\x27\x97\xd9\xbe\xc8\x7b\xd0\x7d\xa0\x28\x73\x9c\x1f\xdd\x9e\x45\x19\x8b\x78\xf6\x8c\x6f\x38\xa7\x77\xfb\x7d\x8b\x9b\x69\x1c\x1e\xf8\x00\xe5\xa1\x51\x15\x62\x9e\xc7\xfe\x3b\x46\x70\xde\x23\x9e\x81\x1b\x1e\xc2\x1a\x8f\xef\xc6\xb6\x8f\x1b\x9f\x5d\x64\xe4\x25\xe6\xfc\x23\x7e\x5b\xb5\xd4\xc0\xd9\xb5\x8f\xdc\x26\x45\x78\xb7\xd9\x39\x7e\xbb\x56\xf2\x6e\x7a\xed\xdd\xfa\x0e\xb3\x02\x7c\x9f\xcd\xf5\x1a\xb2\xa3\x2c\x94\x8f\xf6\xc0\xf7\x4c\x80\x76\x38\xcc\xe8\x03\x01\x39\x89\x3b\x90\x22\x56\xfd\xb6\x42\x68\x00\xfe\x78\x10\x02\x3a\xcb\x85\x8d\x1b\x6e\x44\xe1\x78\x1d\x52\x5b\x57\x10\xc2\x62\xee\xab\xab\xc4\x36\x96\xbb\xc2\x91\x91\x41\x10\x8b\x54\xfd\x48\xad\x33\x25\x01\x96\x84\x59\x6a\x53\x49\x8d\xdb\xea\xf0\x2e\xb2\x56\x49\x75\x1c\x91\x43\x13\x13\x67\x84\x56\xe9\x23\x85\x50\x83\x22\x26\x50\x57\xd2\x0c\xf0\xd4\xd8\x86\x2a\x47\x82\x2d\x7b\xb3\x43\x26\x40\xad\x44\x7a\x2e\x96\x89\x2e\x44\x98\x1d\x1a\xbe\xff\x62\xd5\x6c\x2b\xce\x93\x6d\x53\xdf\x59\xcd\x76\x97\x15\x64\xe4\xd3\x80\xf1\x6c\x32\x11\x4f\xdc\x7b\xdb\x37\x43\x2d\x81\xdf\x8b\xc3\xca\x7d\x87\x7b\x00\xad\x3f\x8d\x54\x5f\xda\x95\x1f\x71\x8b\x44\x24\x4c\xdc\x03\x1a\xcd\x12\x2d\x4b\x9e\x73\x59\x08\xa1\xa7\x92\x02\xcf\x48\x59\x17\xb2\xb2\xd4\x80\x90\xce\xb6\x89\x94\x2e\x90\x01\x0a\x5e\x59\xf0\x24\x2d\xf3\x4e\x77\x03\xee\xca\x67\xd1\x4e\x6c\x9b\xa5\x53\x68\x96\xb5\x2d\x9a\x4b\x60\x0e\x4e\x91\x63\x4d\xa9\x87\x8d\xab\xf9\xbd\x1d\x9f\x60\x2f\x97\xfe\xeb\xed\x7c\xcd\x1d\x39\xcd\xdf\xea\x59\xa6\x06\x48\xbc\x1f\xbf\xd5\xd7\xaa\x23\x1b\x5c\xff\xd2\xf0\x89\x6e\x81\x4f\xfc\xd2\x55\x90\x85\xeb\x07\x88\x3c\xee\x72\xc5\xf4\x62\xe3\xdc\x19\x9f\xec\x94\x5d\xb0\x6b\x57\x5c\xc6\xa9\x51\x79\x79\x51\xe7\xbd\x76\x38\x6f\x63\x12\x15\x56\x38\x76\x27\xf5\x41\x8e\xcc\x2c\x6a\x24\x58\xee\x9a\xa7\x5a\x66\xe6\x56\x2c\x65\xad\x97\x6a\xbe\x64\x5b\x9e\x8e\xd7\x61\xa8\x0c\xb2\x3b\xb0\xbf\xba\xfe\x72\x1e\x8e\xfd\x0b\xa9\x2f\xd5\xb3\xb6\x48\x96\xbf\x01\x47\xc2\xc7\xe6\x95\x10\x91\xcc\xa1\x8b\xda\x65\x37\xec\x29\x75\x20\x91\xcc\x48\xed\x90\x71\x7c\x2a\xa9\x1c\x3c\xa2\x0b\x20\xac\x8c\x7c\x6b\x9a\xbd\x73\xd9\xc5\xef\xfe\xc5\xb2\x6d\x6d\xd8\x02\x36\x15\x50\xda\xa9\x28\x2a\x73\x08\xfd\x93\x7b\x92\x09\xbc\x84\xf5\x20\x22\x19\x50\x3d\x1c\x60\x0b\xf5\xc4\x36\x35\xc9\xf9\xa3\x2b\x1f\x75\x07\x6e\x48\x2c\x6c\xef\x2e\x7d\xaa\x57\x96\xeb\x82\xe9\x42\x64\xad\xe2\xb7\xa2\x5d\x6e\x32\x71\x22\xa5\x2a\xea\xf9\x29\x83\xf5\x4b\xee\x5a\xe9\x79\x74\x06\x5c\x46\x27\x81\xcb\xe8\xf7\xb7\x57\x97\x2c\xe3\x1b\xc0\x3e\x16\x8a\xe1\xa3\x40\x38\x5a\x17\x54\xbb\x56\xa0\xfa\xf1\x55\xa9\x82\x73\x6a\x41\xd4\xed\xf1\x09\xea\xb1\xa9\x2c\xc2\x9e\xa1\x2d\x69\x64\x56\xae\xd2\xc3\x2c\xe5\x32\x80\xb7\xeb\x31\xab\x75\x1f\xe2\x19\x5c\x64\x93\x10\x63\x30\x00\xf0\x57\xd0\x5e\xc8\xcb\x56\x00\x34\xf0\xee\xd8\x0d\xb5\x1f\x84\xa1\x53\x46\x6c\x05\x76\x7e\xc4\x2a\x30\x58\x13\x01\xd9\x33\x2c\x2c\xc3\x21\x7b\xb8\x06\xd0\x6d\x27\x03\x38\x8f\x52\xae\xf5\x56\x94\xce\xab\x50\xc9\x07\x59\x8b\xbb\xc5\x57\x75\x9c\x08\x23\x04\x6e\x13\xb4\x4b\xdd\xcf\xc0\x96\x60\x45\x97\x2f\xfa\x16\xe8\xfb\x41\x35\x08\x82\x3e\x10\x5f\x14\xbc\x8f\x4c\x90\x0f\x62\x63\x3d\x5c\x24\xaa\xf8\x5a\x8c\x9c\xb3\xd5\x79\x13\x03\xd0\x5f\xb3\xe1\xa9\x04\x54\xec\x87\x70\x78\xec\x83\x52\x23\xc4\x67\x52\xe7\x1c\x9b\xe5\x21\xc2\x69\x2a\x3f\x28\x35\xe6\xce\x88\xa5\xf1\x93\xb8\xa9\x77\x48\xa8\x28\xc0\x1c\xd6\x96\xb3\xff\xd9\xfc\x21\x91\x58\x9e\x30\x59\x1b\x03\x8a\xe6\x09\x76\x14\x0c\xc8\x56\xc3\x57\x4f\x9a\xc5\x48\x29\x53\x26\x7a\x05\x61\x17\x8c\x73\x42\xff\x74\xa5\x20\x20\x2b\xe7\x52\x9b\x33\x0c\xa1\x1a\xf1\x28\xc8\x5f\x5b\xc1\x18\x4c\xce\x2e\x1c\x6c\x09\xcf\x25\x95\xee\xe8\x38\x6d\x81\xd1\xb1\x8f\x71\x0e\x70\xf3\x01\x84\x76\xe4\xe0\xfc\xc8\xb3\x6d\xc9\xb0\x7b\xb7\xb8\x6b\x95\x1c\xa1\x56\xdd\xa2\x82\x4a\xe6\x50\xc3\xb0\x92\x11\x1b\xce\xde\xbd\xdc\xf3\xc6\x69\xe5\xb4\xdf\x5d\x72\xa7\xb7\x83\x61\xa0\xa8\xd8\x7d\xdd\x04\xdc\x96\x0e\x32\xe8\x6c\x41\x23\xd8\xa1\x42\x1c\x90\xf2\xe1\x91\x1e\xb3\x5b\x21\xd8\x27\x98\x29\xd3\xd9\x27\xaa\x40\x0a\x28\xe8\x82\x27\xad\x05\xe2\xe0\xe9\x89\x5c\xa8\xfd\xe4\x7f\xbe\x6c\xa0\x6c\xf7\x9a\x95\xf6\x71\xee\x8b\xe3\x05\x4f\xbf\x7c\x5d\x5a\x91\x5e\x17\x43\x6d\xad\xaf\xbd\xbf\x89\x92\x8d\xed\x48\x8d\x4a\x06\x4b\xfc\x1c\xe2\xba\xda\x26\x31\x5f\x39\x42\x32\xf6\x07\xa9\x9e\x24\xca\x63\xea\x89\xbd\x35\xe7\x0f\x74\x16\x8c\x0b\xa1\x26\x58\xa2\x34\x3c\x00\x76\xf8\x13\xf7\x6f\x76\x8b\x21\x70\x1c\x33\x94\x0e\xd3\xa0\xef\x52\xd1\x2f\xb8\xc0\xdf\x9e\x8c\xd8\xfb\x11\x3b\x1d\xb1\xf1\x78\x7c\x30\x62\x82\x47\x2b\x3b\x22\x7c\x05\x45\x7f\xc1\x97\xa6\x6d\x2a\xfb\xb3\x08\x3a\x80\xf2\x80\x46\x3f\xb1\x24\x88\xdc\x3f\x15\x78\xd5\xec\x27\x60\x6a\x36\xe5\x91\x11\x5c\x28\x5a\xa9\xc4\x0f\x0a\x90\xe7\x22\x52\xb9\xc5\xae\xeb\x42\xe5\x16\x87\xfb\xc8\x73\x9e\x48\x60\xac\xe0\xcd\x2c\x04\xea\x39\xe0\xac\x17\x9f\xf9\x1a\xbe\x3f\x91\x8e\xb6\xd7\x4c\xd3\x9d\x1b\x7f\xb1\xc9\x28\xce\xf6\x94\x27\x45\x61\x14\x32\x3d\x95\xb7\xec\xf8\x3b\x76\x92\x65\xa9\x60\x27\xec\xbf\xd8\x7b\x2e\xb9\xe4\xec\x3d\xfb\x2f\x76\xca\x65\xc1\x53\x55\x66\x82\x9d\xb2\xff\x32\xd3\x66\xda\xbb\x54\x46\x03\xda\x8c\x18\x67\xb2\x4c\x51\xd1\x7b\x6b\x31\xae\x07\xee\xbb\xb8\x5f\x9d\xb9\x28\x9e\x84\x90\x4c\xab\x35\x5d\x85\x7f\x74\xb7\xbf\x4e\xe4\x32\x15\x05\xed\x87\x2a\x1a\x19\x3b\x38\x84\x2f\x3d\x9e\x4a\xe7\xa7\xfe\xa3\x19\xf1\x1f\xd9\x7f\xb1\xcb\x32\x4d\xcd\x90\x8c\xa0\x31\x1b\xe9\x98\xd9\xec\x30\x21\xc7\x4f\xc9\x43\x92\x89\x38\xe1\x90\x1f\x66\xfe\x75\x74\x07\xab\x3d\x2b\x3d\x15\x68\x78\xa6\x5d\x39\xb6\x7d\x44\xcf\xab\x70\x4d\xb8\x62\x81\xa1\xb6\xd2\x09\x42\x09\x5f\x1d\xae\x04\x7b\x02\x64\x3a\x0f\x64\xa3\x60\x29\xbd\x30\x40\xd9\xde\xbf\xab\xfa\x95\x99\xff\x6a\xa5\xff\xe8\x55\xfd\x6b\xdb\x7c\xf8\x31\x82\x72\x8a\x8b\xe3\x93\x33\xc1\x90\x81\x5c\x42\x3c\x77\x1b\x28\xf9\x61\xdb\x46\xb3\x13\xc3\xdb\xc6\x94\x46\x6d\xb4\xe0\xcb\x11\xcb\x5c\x1d\x29\x7b\xa8\x5c\x60\x1b\xcf\x31\xd6\x4c\x20\x65\xf3\xad\x05\x10\x99\xbd\x4c\xf9\x87\x47\xb1\x5a\xf3\x44\x1e\x40\x1f\x96\x3a\x6f\xc7\x44\xb5\x98\x2b\xbb\x67\xe8\x8e\x6f\x45\x33\x76\x53\xfb\x57\x95\x9d\x5a\x09\xb7\xb6\xe3\xb0\x67\x0d\x33\x5f\xe1\xf4\x0b\x9a\x43\x3f\x35\xb6\x68\xef\xda\x07\x54\x6f\xac\xc2\x9e\x02\xba\xbc\x67\x90\xeb\x15\x5b\x77\x95\xcb\x7e\xaa\x96\x78\xad\x4c\xb1\x4a\x7a\xd5\xc2\xad\x0d\xf6\x9e\x2c\x31\xcc\x7b\x36\x62\x32\x49\x8f\x8c\xa8\x3c\xba\x54\x52\x30\xae\x75\xb2\x44\xd6\x3b\x70\xa8\x61\x11\x59\xab\x94\xdd\x55\x4d\x86\x40\x04\x81\x7e\x66\x86\x84\x88\xe9\xc2\x48\x61\xb3\x04\xe9\x66\x2a\xcd\x1b\xa4\x11\x40\xf6\x54\xe2\xc8\xd1\xb1\x37\xe2\x1e\xb7\x7d\xd1\x85\x18\x34\xde\xb2\xc1\xb6\x51\x33\xec\xb1\xe1\xe8\x24\xee\x11\x71\xbb\x0c\x88\x41\xa9\x35\xcb\x1a\x85\x70\x9a\xb9\x48\x95\x5c\x9a\x5d\xd1\x25\x84\x41\x0a\xbc\xd0\x10\xb0\xb1\xce\x11\x18\x65\x85\x1e\xa1\x25\x31\x7a\x4a\x12\x7b\x97\x9a\x2e\xe7\x46\x8f\x73\xd1\x1e\xa7\x8d\xd0\xc7\x75\xf1\x54\xec\x07\x5b\xba\x37\x32\x58\xe5\x16\x38\xe7\x22\x89\xa8\xb8\x78\x0e\x27\xfc\xa2\x2e\x84\x46\x3e\xc8\x95\xd3\x11\xd9\x1e\x31\x95\x23\x7d\xa7\x8d\x60\x3b\xfe\xad\x66\xef\xdd\x47\x7a\x6b\xb6\x47\xbb\xef\x93\xe2\xa4\x0d\xbe\x90\x1e\xa7\xe1\xd7\x4c\xfc\xe8\x93\x0e\xf2\xe1\x64\x72\x51\x7b\xae\x99\x0e\xd2\x92\x33\x72\x37\xf9\x78\x7e\x36\xbb\xba\xbf\x6b\x3c\x67\x5a\xa3\x3f\xed\xc8\x08\xe9\x9c\xbd\x97\xc0\xc4\xff\x82\x35\xcc\x66\x6a\x61\xe9\x01\xfa\x5f\xcf\x8d\x2a\x72\xfd\xa0\x97\x45\x60\x5d\x87\xd5\xd6\x9a\x1b\xa7\x93\xe4\x44\xce\x28\xd6\xda\x6f\xb0\xf5\x09\xbb\x92\x1f\xf0\xf5\x6b\x95\x26\xd1\x76\x24\xb7\xbd\x2c\x8d\x56\xd5\x84\xc6\xce\x05\xa4\x36\x90\xc3\x97\x06\x85\xf6\x59\x21\xa2\xc2\x63\x09\x9a\x1f\xf7\xff\x34\x7a\x74\xb7\x07\x06\xfd\xb0\x6e\xda\xa0\x38\xb9\x43\x27\xc0\xcd\x0e\xac\xd1\x50\x2c\x05\xb5\x5c\xf0\xec\x82\xcc\x8b\x38\xc5\x9c\x2a\x33\x0f\xd7\xc3\xd3\x4a\xa5\xe4\x8f\x45\x06\xee\xa9\xcc\x44\x1e\x29\x40\x5d\x22\xb9\x8b\x62\xd1\x2a\x49\x63\x5f\x91\xec\x2d\xa4\xa9\x00\x98\xfc\x80\x8a\xeb\x0a\x87\x9e\xb1\xcd\x6f\xb9\xf3\xed\xb6\x3b\xc3\xd3\xbd\x17\xf2\xec\x25\x71\xe7\xdb\xb6\xfd\xcf\x84\x8f\xc6\xa9\x20\xce\xbc\x1a\x0e\x02\xd4\xfe\x70\x3c\x83\x42\x3a\xe6\xb2\xa7\x62\x53\x91\x37\x9b\x8b\xda\xba\xd2\x36\xab\x4f\x25\x30\xa9\xa3\x1f\x1d\x41\x80\x5a\xc0\x70\xd6\x82\xa3\x26\xe8\x79\x8d\x69\x51\xa7\xd2\x23\x3f\xde\xe8\x50\x2b\x6c\x5d\x67\xf4\xbe\x5b\x64\xfb\x88\xbd\xa9\x7c\xe8\x1b\x60\xda\x96\x0a\xfa\xa3\xe8\x7c\x65\x6a\x60\xbb\x8e\x58\x52\x4c\xa5\xb1\xd9\xcc\xce\xcc\x45\x2a\x1e\xcd\xe8\xc2\xe8\x10\xe1\x15\xad\xe7\xc4\x7e\x36\x24\x47\x71\xcb\xa9\x41\xdb\x86\x0e\x61\x1e\x32\x36\x63\x58\x3a\x16\xda\x68\xad\x50\x6b\x4a\x7c\x36\x07\x20\x81\xe0\x27\x02\xdb\x62\x21\xed\xf8\x00\xef\x06\x63\x1b\x4f\xe5\x64\x01\xc4\x06\x40\xa7\x10\xc7\xe8\x83\xb0\xd5\x87\x1c\x7d\x66\x42\xd1\x20\x45\x1e\x19\xbb\x10\x54\x1b\x1a\x4f\x92\x78\x14\xf9\xa6\x00\x97\x3e\xcc\xab\x14\xbc\x58\xb1\xa4\x18\x01\xef\xa9\x95\x94\x53\xc9\xe3\x98\xf2\xc1\xb1\xb9\xc0\x9c\xed\x5c\x67\xfa\x7d\xae\x1e\xb7\xa9\xd5\xfb\x22\x77\xf1\x54\x67\x29\x97\x33\xbc\x41\x7e\x05\xec\x6e\x50\xb6\xbb\x0b\xc4\x51\xce\x67\x8e\xab\xed\x45\xc6\xe9\xe4\xfd\x8d\x85\x2e\x93\x69\x53\xce\x6d\x47\xa3\x0a\x34\x7b\xee\x69\x3d\x9c\x97\x8e\x70\x53\x39\xb3\xd8\x92\xfe\x52\xc0\xc3\x7a\x79\x0d\x63\x65\x77\xeb\x2e\x5c\xaf\xdd\x01\xbf\x55\xe4\x65\x9f\x95\xaf\xdd\x21\xf5\x65\x1f\x0e\xfa\x6b\x68\x88\xcf\x02\xfe\xed\x18\xd6\xeb\x82\xff\x3a\xbd\x38\x4d\x10\xa0\xfd\xda\x20\xbe\x4f\xa9\x03\xe8\x85\x75\x0e\xb4\xf6\xb2\xec\xa1\x15\xa8\x5a\xf0\xf1\x2f\x19\xa1\x00\x39\xd5\xd7\x4f\xe3\x09\x45\x60\x5c\x63\x36\x91\xcc\xaa\x7b\x23\xf6\x06\x37\x96\x7e\x43\x0e\x68\xaa\xed\x4f\x60\x99\x98\x4e\x0f\x51\x30\xd4\x41\x66\x98\x08\xe7\x8f\x1b\xc6\x01\xb7\xf2\xf5\xbe\xea\xbc\xbc\x4f\x20\x11\xef\x39\x5c\x2b\x18\x43\x9e\x63\x03\x36\x8f\x24\x70\x85\xd2\xe7\x42\x2c\xc3\x7f\xb0\x8d\x76\xb2\xf7\xf6\x45\x33\x45\x59\x49\xf7\xa9\xfd\x9d\xa9\x7c\x2a\x6d\x6b\xe4\x90\xd6\x58\x20\xb0\xde\x54\x90\x17\x44\x3a\x7f\xb0\x53\x01\x0a\x60\x6b\x42\x42\xa9\x51\x4f\x2a\x5e\x97\x02\x80\x82\x9a\x3b\x04\x2a\x54\xa1\xf0\xbd\x19\xc5\xc3\x6c\xf0\x35\x5e\xf3\x75\xe2\xe1\x34\x35\x93\x92\x14\x96\xe7\x38\xc8\xd9\xd3\x25\xb0\x75\x2f\x4a\x23\x8c\x02\x4a\xf3\xa9\x34\x93\xc7\x16\x09\xe4\x6e\xd0\xbc\x4c\xe5\x47\xa5\x2d\x45\x8c\xf6\xf3\x61\x81\x05\x34\x6d\x6f\x5c\x69\x4c\xfa\xc3\x19\x5c\xda\x14\xf1\x41\xb2\x37\x77\xb5\x40\xb2\x26\xf1\x3c\x6d\x54\x99\xfb\x8f\x8a\xb8\x9c\xca\xbf\x98\xe9\x01\x73\x8a\x4b\xbb\xac\x6a\x81\x47\x18\x56\x10\x42\x65\x9f\xb0\xd1\xb7\xff\x72\xf0\xe9\x00\x93\xab\x4a\x0d\xd5\x88\x47\xd5\x0b\xc4\x55\xb7\x28\xd3\x14\x70\x08\xf6\x0b\x1c\xc3\x92\xef\x62\x2b\x0e\x8f\x8c\xba\x99\xac\xaa\x18\x7d\x0e\x7a\x3f\xb7\xfe\x09\x8b\x78\x11\xad\x0e\xad\x2e\x47\x62\xcc\xde\x7e\xb4\x7c\x98\x05\x65\x34\x2d\xd6\x5a\xe0\xc1\x18\x9c\xf9\xda\x51\xce\x56\xf6\x8b\xf9\x04\x70\xff\xdf\xd5\xab\x9d\x39\x46\x6c\xdc\x9c\x88\x03\xaa\xea\x79\xee\x71\x5b\x6b\xd4\x5b\x9c\x14\x23\x91\x7c\x2d\x62\xf6\x06\xd2\x80\xdf\xd8\xc5\x9f\xca\x6c\x3e\x4e\x37\x8b\x82\x78\x0b\xcd\xa4\x8c\xa1\x2a\xdf\x8e\x5b\x6e\x16\x37\xcd\xa4\x1d\x93\xdd\x69\x68\xb5\xeb\x3a\x6e\x6e\x5c\x4f\xfd\x15\x16\xf4\x71\xb9\xd9\xb9\xad\x62\x02\xab\xe5\x41\xb8\x7e\x18\xb1\x79\xce\x25\x14\x54\x8a\x43\xa5\xca\x9f\x4e\x30\x9e\x91\x14\xd0\xe6\x05\x4a\x9e\x6e\x20\xff\x67\x34\x95\xc8\xa0\x08\x54\xfb\x9b\x28\x4d\x22\xb6\xcc\x79\xb6\xaa\xe9\x41\xe2\x51\xc8\x02\xea\x72\xdf\x08\xae\xf7\xc3\x6a\xe4\xf5\x16\x58\xef\x68\xda\x89\x04\xeb\x83\xcb\x1a\xe7\x35\x0c\xaf\xe3\x6a\x01\x7c\xa6\x88\x67\xc3\xf8\xae\x76\xb2\x32\x57\xb8\x3e\x89\x78\x0e\xe2\xcf\xe6\xe3\x98\xed\x75\x17\xf8\x01\xe7\x95\xa8\x98\x2c\xa2\x77\x5f\xc0\x86\xa3\x76\xda\x8b\xa0\x77\x52\xd5\x22\xb9\xe7\xac\xf2\x7e\x73\x0a\xfb\xa1\xa7\xc2\xa6\x41\x38\xc1\x31\xa2\xba\xa9\x40\xde\xc9\xfe\x50\xce\x55\x6a\xd9\x4f\x27\x67\x4c\xe5\x50\x78\xa8\x50\xf4\xa7\x24\xee\xd2\x0e\x12\x19\x8b\xcf\x7b\x51\x10\x6d\xbf\xe8\xad\xda\x6c\xba\x09\xea\xdb\xd4\x3f\x16\xa4\x53\x2e\xcc\x25\x5c\x58\xcb\xb8\xf1\x94\xae\x43\x95\x4f\xd2\x62\x05\xf8\x61\x4c\xd1\xf1\x93\xba\xe6\x1b\x16\xad\xb8\x5c\x06\xae\x09\x80\x73\x8a\x4c\xe5\x58\xa0\xf7\x11\xb8\x3e\x55\x6e\x29\x1e\x88\xb8\x80\xf2\x84\x5c\x18\x03\xe1\xf9\xca\xb2\x13\xf0\xe5\x32\x17\x4b\x48\x63\x9d\xca\x0a\xf5\x0a\xf0\x9c\xda\xda\x40\xd8\xcf\x36\xe6\x8a\x97\xa1\x7f\xea\xb2\x06\x8b\x7c\xe3\xf2\xfe\xa9\xba\xb5\x3f\xcf\xf5\x69\x1d\xb1\x44\x8c\x47\xec\x1b\x9f\x92\x20\x22\x25\x1d\x71\x40\x47\xd6\x78\xcd\xe5\xcf\x76\x98\x0e\x4d\x9e\xa8\xf6\xb1\xc3\x6f\x8d\x1a\xd9\xad\x9b\x66\x2b\xf3\x42\xc1\x8b\x72\xc0\x1d\x74\xca\x0b\x9e\xaa\xe5\xa9\x79\xf9\x16\xdf\xdd\xb6\xaf\x4f\x31\x5f\xc0\x72\xf4\x99\xe7\xcd\xcd\x69\xfa\xf6\x1c\xfe\x6d\x73\xbd\xd3\x81\x9c\xaa\x6e\x07\xf2\x4b\xa8\xea\x96\x88\x69\xb7\x0f\x39\xed\x20\x17\xda\xf2\x4d\x43\x5d\xc4\x16\xd5\x4f\x89\x49\xba\x6e\xc6\xb6\x48\x80\x2c\x57\x71\x19\x89\xd8\x9c\x5c\xb0\x87\x10\x0f\xe5\x38\x8e\x2a\x42\xb2\xed\xa2\xad\x10\xb5\xc1\xad\xfb\xa5\x7c\x0e\xbd\xb8\xf1\xdd\xf4\xdf\x77\xf8\x1b\xac\xc6\xd7\x36\xe9\xe1\xf9\xc4\x79\xca\x07\xde\x53\xae\xfb\x2a\xa3\xbd\xca\x93\x65\x22\x79\xa1\x72\xf6\xd6\x31\x19\x1c\xb8\x32\x78\xdd\x1a\xc2\x40\x31\x51\x99\x22\x14\x13\x5f\x54\xf1\x68\xdb\xa4\xe6\x29\x5d\xf0\x75\x16\x72\x44\x83\x17\x38\x98\x99\x14\x27\xc1\xe9\x26\xe0\x3b\x4d\xb4\xcf\xda\x9d\x4a\x8a\x38\xe0\xba\xa9\x3c\x2c\x72\xd0\x79\x37\x67\x65\x31\x7b\x26\xef\x19\xbe\x3c\xcc\xf1\x44\x20\x88\x8f\x3c\xdb\xce\x24\xc5\xc9\xe5\x80\x69\x8b\xe4\x8e\xf0\x9a\x4a\x75\x7f\x6e\x2f\x23\x34\x90\xd9\xba\x1e\xb8\xbf\xb9\xb0\x81\x22\x6f\x0f\x56\x0c\x2c\x58\x08\xa4\xd4\xc5\x34\x30\x34\xed\x9d\x58\x33\xb7\xb8\xa5\x9f\x3a\x4d\x55\x19\x33\x12\x6a\x04\x02\xc8\xc7\x78\x3b\x02\xc7\xf5\x78\xdc\x95\xd6\x36\xb0\xbc\xb9\x93\x3f\xf0\x5e\xfb\x09\x84\xdf\x3a\x24\xf0\xd6\xa3\x4f\x33\xfb\x6a\x4b\x4f\x33\x0d\x6b\xef\xc4\xf1\xa0\xb5\x77\x5e\x70\x20\xdc\x1c\xe6\x20\x05\x7b\x34\x89\x53\x38\x6f\x61\x00\xa1\x85\x12\xbc\x12\x98\xd5\x0f\x7b\x77\x67\x59\x28\xb6\x77\x95\xf1\x5c\xc8\x62\x06\x3d\x0e\xeb\x0c\x3a\xb9\x86\xd7\x2b\x0a\x53\x2f\x47\xf0\x9f\xee\x14\xfa\xf7\x2d\xbb\xd6\x9f\xd9\x2d\xf9\xb4\x8c\xbc\x4a\x00\x42\xac\x1f\xd8\xdb\x04\x10\x4f\x41\x2c\xd4\x2d\x5c\xc7\x72\xd1\x07\x3d\x63\xf6\x82\x0f\xaa\x88\xf6\x5e\x1f\xe4\x47\x0f\xa1\x6a\x68\x85\xdc\x7b\xc4\x09\x60\x44\xad\xfd\x5b\x50\x71\xe3\xb2\xf2\x6f\x60\x47\x36\xeb\x97\xb2\xbf\x8a\x5c\xf9\xfc\x2f\x74\x56\x85\x0d\x6f\xd5\xd7\x9f\x5f\x2c\x1c\xf5\x71\x2c\x53\x1d\xd6\x69\x85\xbf\x10\x81\x19\x7a\x14\xe6\x1b\x6b\x8e\x74\x84\x90\x32\x11\xcd\x3a\x8a\xf2\xf4\x1a\x4a\x60\x78\x86\x45\x76\x92\xda\x65\x66\x0f\xe8\x11\xf8\x2b\x28\xb1\x6a\xcd\x33\x42\x17\x12\x90\xbc\x1e\xbc\x19\xc3\x47\xfc\xe9\x8f\x7f\x1e\x27\x1d\x29\xde\x30\xf4\xa1\x60\x2d\x37\xf8\x0f\x79\x22\x64\x0c\xc1\x58\x1e\x37\xeb\xc5\xc9\x8a\x77\xbe\x22\x9e\xcd\x36\x7c\x91\x7c\xf0\xf6\xab\x56\xcf\x70\x13\x7d\x81\x88\xbe\x17\xb2\xee\xf8\x56\xe2\x7d\x5d\xaa\x84\x9e\xc5\x1b\xc9\xd7\x49\xf4\x45\xc7\xb8\x49\x44\x1a\xc3\x10\xa9\xf7\x5d\x51\xa9\x58\x44\x0f\x43\x75\x82\x67\x57\xbb\x10\xd1\x03\xfb\xe1\xee\xe3\x05\x16\x37\x4e\xf4\x54\x5e\xf2\x22\x79\x14\xf7\x79\xea\xc2\x01\x04\xd2\xce\x53\x7b\x46\xaa\xec\xeb\x01\xd3\x97\xa5\x6a\xb7\x8a\x43\x58\x1c\x63\xbd\x39\x9c\x97\xd1\x83\x28\x8e\x72\x2e\x63\xb5\xc6\xcf\x38\xd2\xe5\x62\x91\x7c\x1e\x17\x3c\xef\xa8\x94\x81\x7e\x84\x5f\x51\xcf\xf5\xf5\xcf\x0a\xaf\xf3\xa2\xaa\xfb\x04\x69\xde\x54\x55\xbf\xa2\xdc\x62\x56\x22\x5f\x0b\xa0\x3a\x65\xd5\x2a\x33\xd0\x0a\x66\x4e\x43\x31\x56\xad\x29\x7f\x42\x51\xa9\xf7\x4f\x81\x72\xff\x29\x18\x95\x0f\x61\x87\x83\xf2\x05\x4e\xd7\xfc\x01\xed\xc3\x65\x2e\xb4\x1e\x31\xad\x60\xc4\x53\x69\x33\x11\x6c\xb6\x1c\xe0\x5e\x80\x2c\x39\xdd\xb0\x48\x65\x0e\x32\x8f\xdf\xb5\x52\x4f\xe0\xa7\x0f\xf3\x84\xa1\x84\x77\x29\x8b\x24\x65\x7c\x51\x90\x13\x1f\x2a\x43\xd8\x4a\x70\x7a\x3c\x95\x10\x8a\x8d\xe0\xf3\x01\x22\xe1\xc2\x2f\xee\x23\x34\x5b\xf0\x28\x49\x93\x82\xf8\xea\x20\xc5\x8c\x9b\xef\x35\xf7\x81\x99\xcb\x9c\x6f\x78\xea\x0d\x2b\x9e\x96\x3e\x35\xfa\x50\x8b\x2d\x7c\xa8\x89\x9e\xa1\x83\xe0\xf5\x0e\xb8\x47\x01\x26\x61\xf0\x01\xb9\xe3\x4f\x4c\xe7\x97\xb5\x5b\xf4\x1f\xc2\xff\xad\xd8\xe1\xdb\xb4\x82\x3d\x0c\xf2\x7d\x2e\xc7\xa6\xc9\xed\xca\xa7\x7b\x3d\x23\x89\x2d\x3a\xb9\xa2\x8a\xfb\xe4\x63\x77\x3d\x42\xcc\xa4\xc3\xe8\x1f\xdb\xa2\x77\xcd\x1e\x06\xcc\x5e\xbb\x92\xf8\x85\xdc\x19\x5d\x84\xfe\x7d\x86\x6f\xbd\xf1\xd7\x4a\xa5\xfb\x7a\xe4\x89\x92\x23\x51\x72\x06\x75\xa0\xf7\x31\x27\x71\x03\x38\xc7\xd6\xe4\xcc\xc5\xdc\x1d\x43\x7e\xb5\x7a\x1c\xc1\xc1\x68\x08\x20\xc8\x60\x10\x5b\x70\xea\x3a\x6b\x01\x5d\x0c\xc4\xdb\x43\x1b\x88\xd6\xb2\xaa\x7d\x33\x44\x10\xb0\xb3\x70\x3f\x46\x60\x11\xae\x8d\x70\x90\xb3\x0e\xab\x36\xd7\xba\x72\x8e\xbb\x90\x6d\xdc\xcd\x63\xd0\xb7\x9d\xcf\x35\x97\xe4\xf9\x23\x2d\x7e\x2a\x03\x8d\x1d\x19\xf1\x6c\x42\x83\x9b\xb5\x36\x7f\x5e\x65\x1b\xee\xed\xcf\xdb\xa7\xa4\xc4\x56\xc9\x79\x16\x16\x87\x04\x2c\x48\xa4\xd6\xf3\x44\x5a\x4e\x0a\x72\x72\x83\xa9\x71\x62\x19\x7b\x5d\x40\xc2\x9a\x0c\x58\x32\xa8\x36\xf7\x4e\xcd\x09\xc9\x8f\x43\x91\xb5\xcb\x1c\x0f\xed\xbb\x97\xad\x7e\xd1\x11\x69\xac\x7f\x81\xb9\x40\xd2\x27\xbe\xd1\x50\x40\x5d\x18\xa9\xb8\x40\xc7\x6e\x75\xfc\xa3\x40\xfd\xb0\x6c\xd0\x53\x09\x33\x84\x6c\x61\x56\x90\x1a\xc9\x0a\x1b\x30\xb5\xa5\xe2\x3d\xd3\xdb\x1b\xdd\x3e\x39\xbf\x4e\xac\x26\xdf\x1a\xab\xc1\x20\xf4\x7f\x8f\xf0\xcc\x16\x27\xf0\x9e\xbe\xe8\xe0\x9a\x44\x8d\x91\x60\x42\x90\x36\xe6\x42\xd4\x23\xb6\xe6\x89\xa4\x63\x80\xe5\x38\x63\x31\x2f\x97\xcb\x4e\x17\xe9\x6f\x3f\xd6\x52\x3d\x27\xff\xe3\x7d\xe1\x5b\xb9\x0a\x5f\xc2\x5b\x3c\xb1\x3d\xa1\xfb\xda\xd8\x7d\x5f\xc6\x41\xfc\x2b\x7a\xe3\x5b\x43\x62\x8d\x4d\xf4\x32\xde\xf8\x49\x1f\x6f\xbc\xc5\x76\x41\x82\x1f\x99\xd3\x16\x7f\xf3\x77\x37\xfd\x97\x71\xd3\xf7\xda\x14\x48\xea\x33\x4b\xaa\x0a\xfa\x96\x11\x3e\x93\xf7\xd2\x51\x41\xc3\xa8\x90\x5b\xce\x48\xf7\x58\xb3\x39\x8f\x5e\x81\x08\x13\x6e\xc7\xfd\xfd\x81\x3b\xc0\x2f\xb7\x6a\x2d\x18\x74\xa5\xb1\x90\x13\xa3\x2c\xc6\x11\xa0\x55\xcd\x07\x7a\xc4\x08\xe1\x51\xe0\x3a\x45\xe4\x4a\xec\x95\xea\xb7\x52\x3c\x31\x73\x5b\x8d\x42\xf8\x5e\xb0\x3c\x50\xe1\xef\xc0\x68\x87\x15\xac\xbf\x23\xec\xc8\xc5\x92\xe7\x31\x64\x98\xd0\x91\x4c\x79\xf4\x60\xfe\x1b\xc6\x47\x3d\x12\xc4\xd0\x72\x05\x20\xec\xd5\xb7\x96\xc8\x08\xa9\x10\x2d\xa7\xbb\x1b\x1f\xbe\xae\x19\x8f\x72\xa5\xd1\x69\xe4\x0a\x63\x43\x7e\x35\x28\xb0\x8f\x49\x5c\xf2\x14\x7b\xec\xf4\xb4\x0f\x85\xaf\xd5\x01\x47\x41\x0d\xbb\x26\x9a\x8d\x96\x03\x19\xaa\x60\x1a\xc7\x53\x79\xe6\x02\x26\xc7\xec\x5e\x0b\x42\x99\x69\x5b\x05\x60\xeb\x48\x5f\x4d\x7d\x68\x60\x02\x3b\x75\x88\x2d\x13\x60\x41\xd6\xc1\x44\xe8\xee\x99\xd8\x41\xa7\xba\xcf\xa2\x0c\xa6\x85\x9e\x04\x85\xf4\xfd\xb4\xa0\x9d\x90\x0b\x1e\x6f\x42\x2e\xc6\x44\x32\x88\xd2\x31\x1e\xaf\x13\x69\x0e\x81\x2d\xd6\xea\x6e\x1a\x5b\xb7\x01\x21\xc7\x50\xd3\x2c\x4d\x6b\x42\x50\x33\x29\x8c\x72\xc9\xf3\x24\xdd\x80\x3d\x91\xe5\xe2\x30\xe8\x27\x58\x1f\xca\x78\x82\x0a\x14\x44\x22\x53\x6a\xb1\x28\x53\xb4\x3a\xc0\x2e\x77\x1f\x40\x12\xe9\x7e\x32\x32\x0a\x47\x41\x95\x84\x82\x8e\xb1\x3e\xe7\x4b\x64\x8f\x34\xa2\x95\xc3\x22\x6e\x9e\x2b\x34\x07\x90\xfb\x4a\x3d\xd9\x54\xb7\x27\xee\xb1\xcc\x5d\xb7\xeb\x8b\x45\x59\xb6\xeb\xa1\xd6\x02\xb4\x72\x2a\x20\xfc\x73\xa1\x35\xfa\x4d\xc4\x4e\x36\x25\x12\x3e\x87\x4a\x5c\x7b\xcf\x75\xa9\x31\x63\xce\xac\x25\xdc\x5f\xd6\xd1\x51\x75\x5c\x33\xf7\x75\x89\x56\x92\x4d\xcb\xaf\xbf\xfe\x9d\x60\x5f\x43\x0a\x21\xd9\x23\x18\x1f\x03\xb6\x50\x6c\x1d\x44\xb6\xeb\x40\x20\x95\x68\x63\x45\x58\x1b\x44\xd5\xe6\xeb\x03\xc8\x93\x47\x2b\xa6\xcb\x39\x22\x18\x39\x85\x58\xb8\x74\xac\xe3\x17\x0a\xc0\x88\x78\xb3\xdb\xd1\xff\x3f\x12\x50\xc0\xa2\x2f\x53\x99\x29\x24\xc6\x07\xe8\xe7\x5c\xb0\x35\xcf\x1f\xa0\x86\x2f\xba\xe7\xa1\x10\xc0\xdb\x44\x8c\xab\xe1\x85\x83\xca\x78\x28\xa0\x83\x84\xd7\x2c\x2f\xa5\xb4\x45\xc9\x98\x51\x4c\xbd\xaf\x7f\x34\x95\xf3\x32\xb4\x3d\x2b\xc1\x02\xbf\xb5\x20\x60\x00\xc2\x56\x01\x53\x09\x0d\x8a\x6b\x3f\xae\x31\xeb\x11\x35\x98\xca\x17\x0e\x1b\xec\x72\xf8\x5d\x93\x0e\x66\x9d\x79\x41\xbe\x02\x7c\x6e\x58\x37\x1b\x96\x03\xb7\x3d\x28\x39\xd7\x50\x3c\x7b\xc4\x7e\x48\x1e\xc5\x88\xdd\x66\x3c\x7f\x18\xb1\x33\x0c\xff\xfd\x5e\xcd\xdb\x7c\x78\x0d\x42\x89\xbd\xfd\x78\xcf\x73\x63\x6d\xa3\x79\x69\xd7\xfe\x7f\x6e\x10\x03\xb0\xae\xd8\xf7\x7f\x4f\x44\x5e\x07\xd7\xc7\xff\x74\x4f\xc4\x8e\x30\xf5\xdf\xc1\x6b\xff\x23\xad\xe2\xed\x34\x1f\xff\x10\xfe\xaf\x95\x5f\x56\xe3\x02\xdd\x93\xa4\x5c\x2b\x2a\xed\xb7\x95\xd8\x9c\xc4\xf5\x4b\xb9\x99\xdf\xdc\xef\x28\x50\xfa\x78\xec\x52\xdb\x07\x80\xee\xe9\x55\x3b\x5f\xa7\xa9\xd2\x65\xbe\xfd\xf0\xdf\x54\x47\x6d\x7b\x6f\x21\x7a\x85\xcd\xb6\x9e\x0b\x60\x2d\xe8\x0b\x3f\xc1\xc7\x66\x7f\x51\xf3\x19\x60\xad\xf6\x3b\xe1\x6d\xcd\x39\xfa\x68\x15\x55\x86\xea\x6f\xc8\xdb\x4c\x00\xdf\x95\x57\x45\x7d\x40\xa0\xb6\xc3\x9c\x6b\x64\x2a\x2d\xe3\x3e\x66\xcc\xe6\xb9\x00\x6a\xf0\x5c\x40\xa1\x47\x46\x0c\x87\xe9\x26\xd0\x88\x02\xcb\xc7\x83\x62\xc2\x2c\x37\x48\x56\x25\x7b\x6b\x2e\x84\x74\xb3\x3d\x44\x95\x00\x1a\xec\xda\xec\x13\xda\xed\x49\xd8\xc2\x0b\x1d\x45\x69\x1b\xef\x05\xb6\x20\xa8\xdc\x4b\x51\x04\xd2\xbc\xa6\x5a\x54\x8e\x66\x25\x42\xf5\x9b\x42\xfc\xb7\xc6\xa0\x6b\xe4\x5c\x15\x07\x4a\xaf\x98\xde\x4b\xf8\xcb\xaf\x79\xb1\x42\x83\x76\xad\x0a\x81\x32\x13\x59\x82\x70\xbf\xa0\xd7\x79\x9e\xaa\x39\x54\x58\x2c\xb6\x30\x48\x46\x74\xb4\x7b\x4d\x5d\x73\xc1\xfa\x48\x06\x23\x4d\x20\xd3\x36\x17\x1a\x08\x57\x9a\x51\xaa\xbe\xf8\xe4\x61\x46\x77\x73\xb8\x46\xe8\x9f\x35\x8c\xed\x66\x49\x0e\x73\xac\x01\xac\x7a\xfe\x8c\x0c\x9a\x46\x81\x13\xa2\xaa\xa6\x30\x30\xb2\xd5\xd6\xbe\xd7\x16\xf2\x9f\xca\x13\xfc\x25\xb8\x04\xb8\xaf\xb1\xe5\xf0\xa0\x54\xb3\xd9\x9d\x3f\x4c\x5f\x65\x27\x21\x02\x91\x3c\x04\x23\xef\xcb\x04\x63\x60\x04\x59\x8d\xb2\x48\x72\xc1\x24\xa0\x10\xa6\x52\x97\xf3\x43\x4f\x4c\x62\xac\xb8\x47\x20\xd3\xd1\x22\xe3\x60\xca\x00\x5f\xd1\x61\xcb\x35\x8c\x9e\x49\x5f\x2b\xc7\xd2\x07\xf2\x94\x84\x3f\xe4\x4a\x62\x66\xbc\xfb\x76\xd7\x8e\x31\xd6\xc0\x8a\xb6\x70\x25\xbc\xec\xb6\xc9\x0b\xa8\xe6\x05\x19\x98\x37\x88\xa2\xf8\xb5\x2f\xf0\x30\x1a\xda\xf7\xea\x86\x78\xda\x54\xfe\xb3\xbd\x1b\xba\x41\xc5\x03\x76\xba\x99\x19\x73\x45\x75\x82\x9d\x2b\x63\xb3\x26\x64\xa0\x04\x76\x0f\xaa\xb1\xe5\xdb\x5a\xe5\x16\xd7\x12\x96\x74\x51\x94\x2e\x0b\xbf\x3e\x26\x3a\x20\x7b\x87\xde\x6e\x85\x60\xc7\xb9\x58\x1c\x7f\xca\xc5\x62\x66\x57\x7a\x0c\x1f\x34\x36\x5f\xd4\xa4\x7c\xef\xb9\x39\x74\xa6\x64\x3b\xf9\xe1\x0e\x6a\xd4\xda\x27\x61\x3b\xc1\x37\x25\x0b\xe6\xab\xdb\x9a\xef\x01\x06\x08\x11\xd7\xb9\xe8\x1b\x23\xfb\xe2\xd7\x5c\x17\x12\xac\x07\xd4\xaa\xa3\x08\xea\xff\xfc\xeb\xad\x32\x67\x7d\xae\xb7\xbb\x2a\x64\xc6\x0a\x7b\x2e\xdd\x85\xd7\x8d\x0b\xfd\xb2\xe8\x74\x58\x40\x9d\xf1\x27\x49\x3c\x36\x83\x5c\x4f\xfd\xae\xb5\x1a\x80\x28\xb8\xd6\x1a\x18\x38\x7f\xca\xa4\xf5\xf4\x25\xae\x8e\xe6\x88\x79\x0b\x9a\xa7\x69\x58\x51\xc3\x47\xda\xa6\xd2\xe7\xa5\x1a\xad\x35\x4d\xad\x0b\xaf\xa2\x6f\xb8\x82\xc7\xba\xe0\x85\x18\x59\xd2\x15\xa2\x2b\xa4\x78\xd8\xe1\x9c\x43\x69\x6b\x57\x43\x6d\xd7\x69\x7e\x29\x23\xf2\x37\x96\x17\xbd\x23\xf2\x8c\xdd\xce\x1e\x44\x03\xce\xbc\x73\xac\xed\x91\x8e\x80\x52\x02\x0e\xb3\x95\xb2\x11\xcf\x73\x8b\xf2\xa7\x5e\x99\xa5\x3b\x0f\xad\x92\x8e\x71\xae\x44\xf4\x90\xa9\x44\x0e\x96\x45\x15\x8a\x0b\xd8\xec\x05\xf3\xad\x39\xeb\xb0\xd7\xe5\x58\xd1\x27\xf1\x43\x34\xc0\x2b\x2c\x34\xd4\x93\xb1\x71\xe6\x2a\x65\x77\x6f\xbb\x97\xf6\x5f\x08\x7f\x37\xbc\x82\x2f\xb6\x25\x3e\x54\xbb\x55\x78\x8b\x63\xa7\xc2\x04\xca\x1b\xd9\x5f\x3d\x27\x9b\xb3\x0a\x85\x61\xeb\x94\x82\x0b\xf2\xef\x9e\xa1\xbf\x7b\x86\xfe\x9b\x7b\x86\xbe\xa4\x5b\x08\xb0\x31\xaf\xe9\x13\xda\x12\x20\xdf\xe3\x38\xba\x5e\x07\xe7\x38\xb6\x6a\xc7\xa3\xa0\xe8\x77\x90\xe9\xd8\x04\xfa\x5b\x22\x0c\x33\x3f\x73\x1e\x3d\x08\xd9\x19\xa3\xb7\xf4\x45\x9d\xf5\x57\x5f\x16\xc1\xd2\xc6\xbe\x14\xbc\xbd\x1d\xca\xe2\xa1\x4e\x44\x1a\xdc\x46\x08\x62\xce\x09\xe8\x9e\xe6\xc3\x0f\x01\x34\xa6\x72\x47\x6c\xad\x29\x0b\x0f\x83\x91\x48\x93\x84\x60\xa9\x1a\x15\x74\x5f\x4c\x9c\xed\x78\x96\x29\x95\xb6\x42\xe3\x5e\x74\x02\x1b\x89\x32\x7d\x27\x6f\x82\xca\xa8\x0e\x01\x63\x76\x16\x7d\xd2\x85\x4f\xd1\xc0\x7c\x0c\xa8\xc4\x01\xbb\x29\x2e\x21\x97\xd2\x4f\x47\x50\x5e\x91\x3b\x87\x0b\x61\xc4\xe6\x22\xe2\x50\xf8\xd5\x82\xf7\x22\xee\xb2\x4f\x42\x52\xa4\x46\x3a\x88\x6e\xf6\xd3\x11\xb5\x84\x76\x67\x49\x5b\xd9\x8d\xa1\x87\xab\xa6\x21\x58\x68\x39\x8e\xdc\x22\x49\x2c\xed\xe2\xae\x82\xc6\x96\x63\x7a\x06\xd5\x17\xfb\xdd\x70\xad\x72\x67\x42\x0d\x9d\x42\x3b\xfd\x05\xe9\x0f\x90\x8e\xb3\xee\x89\xdc\x99\xca\x13\x57\xe7\xd6\x63\xbf\x1c\x72\x0f\xc3\xa5\x88\x59\x6c\x2c\x0d\x72\x39\x7a\xcb\x65\xc4\x74\x19\xad\x80\xad\xb2\x2a\xa7\x42\xb9\xd5\x3c\xb1\xa3\xa9\x34\x06\x11\xb8\x5a\xd6\x1c\xf2\xe2\x9f\x8c\xb2\xaa\x93\xbf\x0a\x07\xcf\x22\xf2\xae\x10\x91\x85\x86\x93\x92\xad\xe8\x35\x4b\x1c\x8a\x00\x0b\x8f\x29\x29\xb3\x98\x17\x62\x3c\xf5\x68\x9b\x04\x3d\x9d\x16\xe5\x41\x2a\xb3\x0e\x3f\x2c\xc4\x31\xd6\x24\x6d\x9a\x2c\x44\xb4\x89\x1a\x55\x88\xb6\xd3\x44\xfc\xdd\x6c\xfb\x6d\x99\x6d\xc8\xb2\x8b\x39\x83\x43\xa6\x96\x86\x7a\xe3\x5f\xdf\x6f\x72\x05\x0b\x46\xa2\x07\xcc\xf3\x17\x34\x3b\x5b\x74\xe0\x61\xfa\x7c\x6f\x3b\x68\xfb\x75\xe6\x0d\x5b\x7f\x59\x07\x14\x08\x0d\xb5\x30\x0c\x2e\x16\xe1\xd6\x31\x0a\x6d\xef\xb0\x7e\x37\xcb\xcc\x6f\x0a\x9c\xd4\xc7\x70\x35\x1a\xb7\x83\x2b\x5d\x5a\x4d\x5b\x0a\xbc\xef\xb6\x68\xdc\x01\xab\x3b\x2f\xde\x68\x37\xeb\x55\x09\x68\xb1\xff\x27\x72\xb3\x57\x02\xe6\x26\x13\xb3\x32\x4f\xf7\x82\x1b\xdf\xdf\x5c\x1c\x39\x6d\x03\x34\xe7\xce\xba\x47\x45\xad\x34\xb4\xad\x49\x2c\x62\x82\x83\x46\x2a\x65\xf3\x72\xb1\x80\xfa\x25\x04\x0c\xb5\xc2\x08\x2a\xd3\x97\xba\xb0\xf7\x09\x32\xcd\x70\x5d\x4c\xa5\x92\x82\x4d\xbf\x3a\x9a\x7e\x65\xae\xb2\x9c\x47\x85\xc8\x91\x64\x20\xe5\xba\x60\x5a\x2c\x41\xd5\xa2\x4e\xef\x6f\x2e\x20\x2b\xb1\x58\x61\x73\xce\x64\xc5\x7c\x4f\xe4\x7c\x86\x5a\x3f\x40\x50\x2d\x83\x8a\x5b\x30\xf6\xb7\x5c\xb3\x44\x4e\xe5\x27\xd3\xc4\xd1\x52\xa9\x65\x2a\xc6\x76\x41\xc6\x67\xe4\x7a\xfc\x74\x80\x23\x80\xd7\x43\x58\xbf\xb9\x10\xb9\x54\x32\x89\x78\x0a\x09\x39\x53\x09\x5a\xf3\xc8\x7c\x0c\xb8\x46\xa7\x5f\x8d\xa7\x5f\x31\x08\x9f\x16\x8c\x47\x91\xc8\x0a\x11\x63\x69\xd3\x89\x64\x19\xe0\x17\x23\x31\x62\x85\xe0\x6b\x6d\x29\x9d\x59\x66\x6c\x4c\x30\x0d\x59\x22\x09\xe9\x34\x4f\x24\xcf\x37\x08\x66\xc2\x62\xe5\x94\xfc\xb1\x99\x4a\xf1\x19\xe8\x3f\x13\x60\x00\x2d\xb5\xa3\xa5\xa1\xc2\x04\xe6\x93\x4f\xe4\x66\xcc\x7e\x40\x86\x06\xa4\x40\xbd\xbf\xb9\xb0\xf4\x46\x94\x03\x3a\x95\x3a\x5a\x89\xb5\x60\x9f\x56\x45\x91\x7d\x1a\xe1\xff\xea\x4f\x10\x71\x94\x8a\xe1\xaf\x23\x66\x96\xc8\x28\xaa\x16\x2f\x9f\x6e\xa0\x86\x6c\x99\x51\xc1\xf9\xa9\x04\x2e\xf6\x3c\x44\xf7\x9a\xd9\x86\x1e\x03\x13\xbc\x82\x0b\x37\x52\x1c\x8a\x3b\x1e\x9b\xc9\xf9\x5f\x6c\xb2\xf0\x5d\x9a\x09\xb4\xb5\xc5\xdc\xa8\x40\x21\xd1\x90\xb2\x35\x36\x2f\x9c\x48\xf6\xc3\xdd\xdd\x35\xfb\xfe\xfc\xce\x2a\x3b\xf7\x37\x17\xb8\x2f\x80\x4e\x85\x71\xf6\xa7\xfa\x12\xdf\x6d\x32\xf1\xe7\x3f\xfd\x79\x2a\x99\xad\x51\x2e\xed\x4c\xe3\x89\x1e\x21\x25\x2c\xe0\x9d\x20\x30\x0b\x54\xce\xd0\x1f\x96\xdc\xa1\xe1\xe7\xa8\x9d\x3f\x91\xb7\x00\xee\xa8\x54\xa9\x87\x32\x73\x6e\xee\x50\x0f\x33\x1d\xde\xdf\x5c\x40\xeb\x40\xa7\x54\xac\xa0\x7e\x9a\x70\xde\x17\x58\x78\x6e\x07\x63\xfe\xfb\x51\x25\x31\xe3\x72\x63\xde\xc5\xa6\x61\x5b\xe6\x62\xa1\x72\x31\xb2\x4f\x9a\x06\x78\x91\xcc\x93\x34\x29\x36\x20\xa5\x6c\x5d\xfb\xcc\x72\xe4\x9b\x06\x8c\x35\x43\x00\x6f\xb3\xc1\xb0\x8c\xed\xdb\x7b\x1d\x22\xc0\x61\xd1\x5c\x6d\x44\x34\x74\xcc\xbb\xf3\x5c\xf0\x07\xb3\xbb\xa9\x85\xf1\x01\xd5\x8c\x15\xc7\x78\xc7\x2c\x4a\x19\xe1\xd6\x30\x63\xa0\xdd\x4f\x96\x53\xba\x61\xfc\x91\x27\x58\x53\xd6\x86\xcb\x17\x8b\x24\x4a\x78\x4a\x92\x63\x5e\x2e\xa0\x6c\x0c\xd7\x54\xb2\x08\xc1\x87\xa6\x11\xb0\x32\x6c\xc1\x7e\xdc\x50\x73\xb1\x4c\x10\x70\xfc\x94\x14\x2b\xcc\x2b\x18\xe3\x3a\xf3\x2c\xd1\xe3\x48\xad\xe1\xbc\xdd\xc2\x56\xd2\x64\xf4\x02\x0e\xbc\xb6\xcf\xd9\x5b\x0b\xb5\x5b\x67\xc5\x86\xf6\xde\x01\x5b\x27\xcb\x55\x01\x85\x5c\xa0\x77\x80\x44\x24\xeb\x2c\x05\xa3\x8f\x22\x8c\x16\xef\xab\xc5\x9a\xcb\x22\x89\xba\x62\x4a\xad\x25\xc1\xfb\x61\x3c\xe7\x9b\x62\xbb\x1f\xef\x23\xf1\xec\x73\xa4\xd0\x0f\x24\x32\xab\x0b\x64\x92\x81\x50\x5e\x26\x20\xf0\xaf\x97\x9c\xdd\x65\x42\x7d\x3a\x91\x9b\x4f\x9e\x84\x94\xcb\xa0\xf6\xd5\x96\xde\xed\xf9\xe7\xa9\xa2\x55\x63\x7c\x2a\x01\xd5\x69\x04\x06\x15\xa3\xdd\x7a\xc7\xb8\x2b\xc5\xac\xec\xb5\xdd\x34\x69\x32\x87\xbe\x49\x56\x68\xa6\xcb\x0c\xf2\x09\x0a\xc5\x32\x1e\x3d\x1c\x95\xd2\xfc\x8f\x11\x86\x78\xdc\x75\x48\x4e\x34\x95\x6a\xc1\xca\x02\x0f\x8e\xdd\xc2\xe0\x14\x09\x5c\x01\xde\x40\x5b\x8b\x62\xa5\x62\x97\x17\x66\xda\x84\xf9\x33\x23\x3a\x27\x7a\xe9\x77\xc7\xec\xda\x74\x68\x36\x31\xf5\xcd\xdd\xe7\x27\x92\x9d\xfe\xf3\x3f\xc3\xf3\x66\x72\x3f\x28\xc5\x16\x4a\xb1\xef\xd8\x78\x3c\xfe\x77\xfc\x9b\x69\x94\xcb\x0d\xfd\x8b\xcb\xcd\xd8\x34\xf7\x21\x57\xeb\xb7\x0b\xa5\x0e\xe8\xef\x50\xb4\xd9\xfc\x47\xb2\x60\x6f\xcd\x43\xf7\xd0\xd5\x9d\x7a\x3b\x2d\xbf\xfe\xfa\x9b\x7f\x35\x8f\x1e\xb0\xff\xc4\x67\x82\xc7\xff\x16\x0e\xf5\x9b\x1d\x43\xfd\x3d\x7f\xe4\x7d\xc6\xca\xbe\x83\xbb\xc6\x34\xb0\x75\x8c\x89\x7e\xfb\x41\xa9\x31\x58\xff\xe1\xe8\xb0\x59\xf3\x04\x8e\x22\x78\xea\xdf\x83\x61\x33\x3b\xee\xdf\xed\x18\x37\xa2\xea\xdd\xc8\xb1\xf9\x0f\x4a\xbd\x1d\x8f\x8d\xdc\xa2\x79\xc5\x51\xbf\x3d\xa8\x4e\x34\x7c\x40\x73\xfc\xe6\xe7\x09\x0e\xff\xec\xfc\xf6\xf4\x66\x72\x7d\x77\x75\x73\x70\x6c\xbf\xc0\xaf\x40\xf0\x3e\xb3\xa5\xb5\xdd\xc0\xff\xf7\x8e\x81\x7f\xaf\xec\x98\x61\xd0\xc7\xdf\x31\x5c\xcd\x6c\x3e\xfe\xa0\xd4\x7f\x8e\xc7\xe3\xbf\xd1\xcf\x5c\x6e\x46\xe6\x62\x32\xcf\x64\x28\xca\x3f\xf2\x5c\xaf\x78\x6a\xbe\x29\x18\x83\xfb\x88\xd6\x16\x6d\x73\xc9\xa2\xd6\xd8\xbd\x5c\xfb\xe6\xa0\x33\x58\x58\x78\xea\x1f\xbf\x63\x32\x49\xfd\xf2\x05\x7d\xc0\x3a\xdd\x01\xb5\x44\xf4\xe0\x8e\x8b\xab\x11\x3a\xdf\xb0\xac\x7e\x70\x31\xef\x6c\x63\x2b\x14\x18\x71\x3f\x95\x6f\x5a\x24\xfa\x91\x51\xed\xc6\xf0\x83\xb9\xa0\xde\xd8\xea\xf1\xf6\x5a\x70\x95\xb5\x70\x66\x21\x10\x8d\xa7\x55\x52\x8e\x5a\x9b\x7e\xe8\x2e\xbc\x80\xac\x0a\xd4\xce\x37\x47\x6f\x28\x51\xc8\x77\x51\x25\x92\x9f\x7e\xb5\x50\x6a\x3c\xe7\x39\x8c\xee\xf3\xd1\x66\xfc\xd7\xe9\x57\xf8\x3d\xa8\x7c\xa0\x62\x04\x8d\x4f\xbf\x82\x5f\x61\x3b\x4c\xe5\xef\x6f\xaf\x2e\xa7\xf2\xbb\xef\xbe\xfb\x0e\x67\xcb\xfc\xbb\x25\xf6\x62\xae\x2b\x10\xb7\xa8\xa7\x94\xda\x96\x94\x14\xcb\x32\xe5\xf9\x54\xb6\x87\x6b\x62\xe1\x85\xe6\xc8\x07\x6f\x68\x9f\x8d\x6c\x75\x0b\x28\x52\x66\x65\x1c\xfa\x26\x3f\xfd\xff\x66\xc8\x9f\x48\x45\x74\x42\x3e\x9c\x82\xb1\xdd\xcc\xc7\x76\xab\x9a\xc9\x36\xfb\xd7\xeb\x59\x8b\x24\x15\x74\x70\xed\xe6\xbe\x16\xb9\x56\xd2\xef\x19\x32\x08\x80\xdb\x0c\x02\x00\xec\x3b\xf6\xee\xdf\x6b\xbf\x9a\x75\xb0\x3f\x7e\x53\x91\x04\x8c\xf9\xa6\xa6\x5f\xc1\xa8\xa7\x5f\x1d\xb3\xe9\x57\x6d\xfb\xa6\x3a\xb0\x31\x0e\x65\xfa\xd5\xc8\x37\x00\xc3\xb8\xe4\x6b\x6c\xa4\xfc\xfa\xeb\xdf\x45\x38\x04\x4c\x5d\x0b\x9e\x34\x43\xea\x7e\x30\x18\xe2\xa4\x16\x3a\xb3\x13\x61\x53\x20\x9f\x44\x9a\x1e\x3e\x48\xf5\x84\x75\xc6\x21\x4e\x44\x59\xca\x0c\xb7\x47\x75\x71\xa9\x36\x59\x6d\xc5\x6d\xd2\xa6\xeb\xc6\x95\xb7\x83\x05\x9d\xca\x4f\xb0\x75\xec\x8a\x12\x1d\x11\xd0\x81\xba\x9e\xc0\xa8\xa1\x9d\x60\x73\x2c\x68\x23\x4c\x25\x34\xe3\xd6\x9c\xbd\x05\xe0\x17\x7d\x4a\x43\xb3\xb6\xc6\xd3\x9f\xff\xf4\xe7\x83\xe3\x7d\xd6\xa9\xda\x5c\x65\xa9\xe0\x7b\xb0\x8d\x77\xe3\x6f\xde\x7d\xa3\xa7\x5f\xd1\xac\xb7\x9b\xd8\x17\x89\x2e\x7e\xaa\x69\x60\xcf\x28\x76\x6e\x14\x87\xd7\x0a\x5e\xd8\xa1\xe2\x30\xfb\x06\x2d\x6e\xaa\x61\x05\xb5\xb0\x6e\x1d\x30\xce\x6c\x19\x78\x33\xee\x41\xea\x9d\x9b\x2f\x34\xb6\xd8\x53\xce\xb3\x4c\xe4\xd6\x57\xde\x08\x67\x40\x4d\x75\xe8\xc5\x8a\xfe\x36\x61\x66\xb6\x4d\xad\x69\x78\x0c\xa6\x6e\xdc\xbe\x72\x97\x65\x9a\x76\xae\xdc\xee\x62\xc9\x97\xf7\x17\x17\xb3\x9f\x4e\x2e\xee\xcf\xed\xe7\xb7\x16\x1f\x0e\x1e\xeb\x9c\x13\x37\x12\x9a\x13\xc4\x55\x15\x80\xa5\x2a\xd7\x22\xb7\x4c\x61\xfe\xab\x11\x47\x52\xa6\x69\xb5\x2c\xf6\x54\x7e\xa2\x76\x40\x0c\x94\x32\xb1\x6a\xca\xd6\x89\xab\xf6\x0f\x8f\x7d\x32\x8d\x7f\xc2\x77\x0f\x99\xff\x88\x63\x76\xe9\x7a\xed\x98\x57\x22\x9c\xd8\xe3\x38\x60\xbe\x6d\xd7\x71\x78\xe9\xc2\xff\xcf\x3b\x1e\xf7\x12\x8a\x7e\x19\xc9\x8b\xf5\xfa\x5f\xe4\x74\xe0\xdc\x7d\xaa\x42\xc1\x9d\xbb\x34\xc6\xa8\x21\xb4\x3b\xc2\x72\xed\xba\x20\xce\x62\x9c\xb3\xa9\x44\x41\x6c\xc6\x54\xa8\xee\x31\xb1\x09\x45\x90\x52\x2e\x97\x25\x5f\x0a\x3d\x62\xb6\xf3\xa9\xb4\xd6\xa9\xb5\x75\x1c\x30\x07\x18\x59\x6b\x5b\xa8\x96\x02\x9c\xc8\xa9\xa4\x6f\x82\x1b\x96\x9a\xc7\x74\xd4\xdf\xdf\xba\xcf\xa1\xbc\x6f\x6c\x88\x2a\xce\xcb\xa9\xc4\xc5\x45\xdf\x98\x05\x1b\x82\xda\xd1\xbc\x9b\x38\xc0\x83\xd1\xae\x8b\x59\xa1\x96\x00\x7b\x9c\x4a\xc7\x82\x85\xe0\x0c\x6b\xaf\xf9\xda\xa0\x38\xa4\xdd\xf2\xc4\x2e\x86\x3d\x13\x34\xb6\xf6\x5d\xbf\xf7\x1d\x60\x0e\xdc\xac\xd5\x96\xdf\xbe\x6d\xbd\x18\xeb\x09\xc8\xe1\x81\xe0\xe8\xa2\x46\x04\xea\xb3\xf6\xd1\xd8\xef\xc2\x67\x3a\xb3\x47\x55\x39\x4f\x07\x0c\x09\x9f\xdf\x3a\x28\x14\xc9\xdb\x07\xd5\xc3\x23\x7d\x53\x3b\x5a\x66\x9b\x6e\xeb\x76\xae\x54\xc7\xba\xbc\x20\x66\xb7\x32\x28\x7a\x61\xd7\x64\x94\x51\xf1\x9c\xfd\xd2\x83\x0f\xa8\x3e\x45\x56\xfa\x6c\x1b\x50\x9a\xe8\x67\x0d\xc7\xeb\x4f\xbd\x47\xe4\x34\x04\xba\xec\x06\x49\x58\xba\xe7\x2a\x02\xb6\x43\x4c\x5a\x33\x05\xd3\x5b\x44\x82\xe2\xc5\x1c\x9e\x11\x1c\x22\xb3\xff\x47\x6e\x13\x8d\xfc\xca\x8d\x60\x90\x51\x99\x6b\x23\x2e\x49\xde\x91\xd4\x56\x39\xe3\x53\x69\xd9\x60\xac\x38\x3e\xb1\xfe\xe0\xdc\xfd\x15\x39\x96\x32\x2c\x59\x07\x41\xa1\x02\xbc\xe4\x24\x0d\xa7\xf2\x91\xe7\x09\x97\x80\x69\x9e\x6b\xa8\x37\x0c\x26\xdd\x86\xd1\x0f\x8e\x80\x43\x87\x4e\xe6\x1d\x32\xaf\xa6\x06\x54\xee\xf9\x7f\x30\xff\xf7\xb7\x7f\xf8\xbf\x01\x00\x00\xff\xff\x8d\x88\x2a\xee\x6c\xfa\x06\x00") +var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\xfd\x73\xe3\xb8\x95\x2f\x8c\xff\xbe\x7f\x05\xaa\xf7\x5b\xd5\x99\xc4\x76\x4f\x32\xb9\xfb\x4d\x79\xeb\xd6\xf3\x68\x6c\x75\x8f\xee\xb8\x6d\x8f\x2d\xcf\x64\xea\x7a\x4b\x03\x91\x90\x84\x98\x02\x34\x00\x68\xb7\x92\xca\xff\xfe\x14\x0e\x00\x12\xa4\x48\x89\x7a\x35\xe5\xc6\x6c\xd5\xc6\x2d\x92\x78\x39\x00\x0e\xce\xeb\xe7\xfc\xeb\x3f\x10\x7a\x27\x5f\xf0\x78\x4c\xc4\xbb\x73\xf4\xee\x2f\x67\xdf\xbe\x3b\xd1\xbf\x51\x36\xe2\xef\xce\x91\x7e\x8e\xd0\x3b\x45\x55\x42\xf4\xf3\x51\x32\x57\x84\xc6\xc9\x07\x49\xc4\x33\x8d\xc8\x07\x1c\x4f\x29\x3b\x9b\x09\xae\x38\x7c\x88\xd0\xbb\x67\x22\x24\xe5\x4c\xbf\x6e\xff\x44\x8c\x2b\x24\x89\x7a\xf7\x1f\x08\xfd\x1b\x9a\x97\xd1\x84\x4c\x89\x7c\x77\x8e\xfe\xaf\xf9\x68\xa2\xd4\xcc\x35\xa0\xff\x96\xfa\xdd\xff\x81\x77\x23\xce\x64\x5a\x78\x19\xcf\x66\x09\x8d\xb0\xa2\x9c\x7d\xf8\x87\xe4\x2c\x7f\x77\x26\x78\x9c\x46\x0d\xdf\xc5\x6a\x22\xf3\x39\x7e\xc0\x33\xfa\xe1\xf9\xcf\x1f\x70\xa4\xe8\x33\x19\x24\x38\x65\xd1\x64\x30\x4b\x30\x93\x1f\xb8\x18\x7f\xf8\x17\x8d\xcf\xb8\x18\xff\x1b\xfe\x98\x09\xfe\x0f\x12\x29\xf3\x8f\x98\x4f\x31\x65\xe6\x6f\x86\xa7\xe4\xdf\x59\xa3\x08\xbd\x1b\x13\xe5\xfd\x53\x4f\x3d\x9d\x4e\xb1\x98\x6b\xf2\x7c\x24\x2a\x9a\x20\x35\x21\xc8\x74\x8a\x1c\xbd\xf8\x08\x61\x74\x2e\xc8\xe8\xfc\x37\x41\x46\x03\x47\xf5\x33\x43\xed\x2b\x18\xda\x6d\x82\xd9\x6f\x67\x96\x66\xd0\x32\x9f\x11\x01\x13\xed\xc5\xba\xf5\x4f\x44\x75\xa0\xd9\xfc\xfd\xbf\xf8\xaf\x0b\x22\x67\x9c\x49\x22\x0b\xe3\x43\xe8\xdd\x5f\xbe\xfd\xb6\xf4\x13\x42\xef\x62\x22\x23\x41\x67\xca\xae\x6c\x07\xc9\x34\x8a\x88\x94\xa3\x34\x41\xae\x25\x7f\x34\x66\xae\x7a\x99\xf1\x42\x63\x08\xbd\xfb\xff\x09\x32\xd2\xed\xfc\xe7\x87\x98\x8c\x28\xa3\xba\x5d\x69\x76\x53\x3e\xdc\x77\x85\xaf\xfe\xfd\x1f\x55\x7f\xff\xdb\x9b\xd1\x0c\x0b\x3c\x25\x8a\x88\x7c\xfd\xcd\x7f\xa5\xb9\xe8\x45\xd2\x9d\x9b\x15\x2d\x0f\xba\x34\xd3\x1b\xf8\x0b\x27\x27\x88\x8b\x31\x7a\x22\x73\x04\x5b\x8a\xc4\x48\x71\x58\x3b\x41\x24\x4f\x45\xb4\x38\x7b\x0a\xdf\xeb\x6d\x56\x7e\x22\xc8\xef\x29\x15\x44\x2f\x93\x12\x29\x29\x3d\x55\xf3\x19\x0c\x4f\x2a\x41\xd9\xd8\x27\xc2\xbf\x4f\x1a\x4d\xca\xee\xce\x15\x13\xbb\xc6\x53\xa2\x77\x9a\x9e\x83\xfd\xa2\x30\x1f\x34\x24\x09\x67\x63\x89\x14\x6f\xcf\xd4\xcc\x59\x5b\x63\x66\xe6\x83\xda\x89\x3d\xb2\x8e\x7b\x25\xc2\x0c\x0d\x09\xd2\xec\x86\xc6\x44\x90\x18\x61\x89\x30\x92\xe9\x50\x12\x85\x5e\xa8\x9a\x50\xa6\xff\x3d\x23\x11\x1d\xd1\xc8\xd1\xac\x3d\xb4\x81\x3f\x97\x53\xe6\x41\x12\xa1\x07\xfe\x4c\x63\x12\xa3\x67\x9c\xa4\x04\x8d\xb8\x28\xee\xe3\x47\xd6\x9f\x68\x3a\x4c\x87\x94\x01\x3f\xd1\xb4\x74\x3b\xe4\x4f\x8e\x5c\x7f\x42\xba\x3f\x94\x32\xfa\x7b\x4a\x92\x39\xa2\x31\x61\x8a\x8e\x28\x91\xe5\xd6\xfe\xc4\xed\x11\x42\xa7\x48\xd3\x99\x08\x05\xf4\xe6\x4c\x91\x2f\x4a\xa2\x53\x94\xd0\x27\x82\xde\x5f\x51\xa9\x50\xe7\xb6\xf7\xfe\x04\xbd\x37\x4c\x00\x01\xfb\x7d\x7f\x00\x0a\x67\x7f\xff\x8f\xc7\x4f\x14\x1e\x97\x39\xc9\xbb\x8e\x66\x51\xf7\xe6\xf6\xcb\x5b\xf8\x9f\xff\xf0\xdb\xb1\xeb\xb5\xfa\x4a\x31\xf7\x49\x7e\x99\xd8\x9b\xa4\xe9\xfd\x01\x04\x2b\x5e\x1d\x52\xaf\xd5\xb6\x37\x87\x6e\xb7\x7c\x75\xc8\x23\xbb\x3b\xf4\x1c\xf6\x7d\x7f\xbc\xbd\xcb\x63\x9b\x9b\x03\x2b\x38\xd2\x98\x32\xc3\x01\x32\x86\x20\xa4\x66\x02\x6e\xd8\x2d\x99\xe9\x36\x17\x89\x37\x33\xef\x2e\x71\x57\x84\x47\x95\x16\xce\x3b\xa1\x53\xba\x6a\x7d\x7b\x2c\xd6\x22\xb3\xe5\xe4\x2c\x9d\x0e\x89\xd0\x64\x70\x9b\x15\x66\x3b\xd4\x9b\x57\xa5\x82\x91\xb8\xc1\x34\x7f\x4f\x89\x98\x2f\x99\xe7\x08\x27\xb2\x6e\xa2\x94\x29\xa2\xf5\x93\xd2\xe3\x11\x17\x53\xac\xec\x0b\xff\xf5\xd7\x75\x09\xa1\xf8\x13\x59\xb5\xfe\x3d\xb3\x9a\x11\x96\xb0\x0d\xa6\x69\xa2\xe8\x2c\x21\x68\x86\xc7\x44\x5a\x8a\xa4\x89\x92\x27\xf0\x9a\xd6\x89\x88\x38\xcd\xae\x57\xe8\xc1\x89\x15\xa9\x34\x87\x7e\x94\xc9\xfc\x8c\x7c\x51\xd0\xd2\x23\x03\xc1\x02\x48\xe4\x5f\x97\x7b\x20\xe5\x66\x7b\x46\x72\xa1\x06\xc3\xf9\xd9\x13\x59\xe8\xb7\x76\xe7\x60\x86\xb0\x52\x82\x0e\x53\x45\xf4\xbc\x75\x1b\x8e\xe3\x01\xc3\x37\xd2\x47\x13\xd6\xf0\x7a\x13\x8e\xa9\x20\x11\xcc\x6d\x9d\x03\x93\x7d\xa5\xe7\xad\xf9\xfd\xdc\xcc\x5e\xb3\x7f\x2d\x6c\x55\x50\x20\x5b\xf2\x47\xf6\xc8\xd0\x29\xba\xec\xde\x5f\x74\xaf\x2f\x7b\xd7\x9f\xce\xd1\xf7\x73\x14\x93\x11\x4e\x13\x75\x82\x46\x94\x24\xb1\x44\x58\x10\x68\x92\xc4\x5a\xa0\xd2\x83\x21\x2c\xa6\x6c\x8c\xb8\x88\x89\xd8\x1f\x19\x4b\x4f\x09\x4b\xa7\xa5\x9b\x12\x7e\xcf\x47\x5f\xfa\x42\xcb\x4f\xd9\xa3\xc2\x93\xff\x59\x20\x30\xcc\x58\xf7\xed\xb5\xf6\xaa\x12\xdb\x11\xeb\xfd\xc7\x25\xba\x1d\x40\xed\x0f\x1a\x72\xd0\x90\xab\x29\x13\x34\xe4\xad\x28\xbc\x7f\x95\x68\xc7\xd2\xc0\xe1\xaf\x91\xe3\x50\xf7\x8f\xeb\xca\x38\x84\xb6\x1f\x74\xe3\xa0\x1b\x07\xdd\x38\xe8\xc6\x45\x52\x05\xdd\x38\xe8\xc6\xad\xd3\x8d\x1b\x2c\x63\x10\xd4\x7c\x41\x2d\x9a\xd0\x24\x16\x84\x7d\x50\x58\x3e\x0d\xc8\x17\x12\xa5\x46\xce\x00\x37\x4d\xf1\xc7\x81\x56\x24\x78\x4c\x8a\xbf\x14\xfe\x61\xfc\x3a\x6b\x7f\x96\x4b\x86\x6b\x7f\x9a\xd9\x22\xd6\xfe\x12\x2c\x17\xcd\xbe\x83\x5f\x68\x5c\xf9\x36\xfc\xb2\x62\x0e\xee\x9d\x25\x83\x75\xaf\xd4\x8e\xca\xbd\x60\x05\xe0\xca\x77\x04\x51\x62\x3e\xc0\x4a\x91\xe9\x4c\xad\x69\x95\xc1\x28\xd1\x62\xf6\x32\xb1\xfa\x9a\xc7\xa4\xeb\xfa\xfb\x0d\x19\xe9\x9e\xc4\x68\x38\xb7\xc7\x62\x44\x04\x61\x11\xa9\x6f\xa1\x8f\xe5\x53\xde\xc2\x2a\xd9\xbc\xd0\x9f\xfc\xc8\x85\xfe\xfc\x28\xdc\x71\x85\x91\x1f\x42\x46\xdf\xe4\xa4\xbe\x31\x17\xde\xa6\x5c\xe7\xcd\xd9\xc2\x36\xe4\xa1\xc1\x72\xb6\x3d\x25\x9b\xda\xd9\xb8\x40\x72\x2e\x15\x99\xae\xb4\xb8\x1d\x0f\x21\xec\x25\xd9\xd6\x01\x97\xee\xe9\xaf\xe0\xd4\x17\xa5\x8e\x70\xbc\xd7\x20\xd9\xae\xec\xe5\x6d\x9f\xa7\x0b\x59\x5e\x3e\xd5\x7b\xb7\x7c\x9e\xbb\xee\x28\xa6\x59\x90\x87\x77\x3d\xc8\x3d\x59\xa0\x6a\xd7\xca\x51\x7b\x00\x03\x58\x61\x7b\x28\x7a\x5c\xb2\xf3\xa7\x3f\xf5\x8d\x76\xc6\x42\xab\x26\x54\x7a\xf6\x4b\x14\x71\x61\xc4\xe1\xd8\x9e\x77\x63\x7e\xe8\xf4\x3b\xf7\xdd\xfe\x39\xea\xa0\x18\x2b\xac\x0f\xb8\x20\x33\x41\x24\x61\x0a\x4c\x3b\xfa\x7b\x35\x47\x53\x1e\x93\xc4\x18\x21\x3e\x6a\xe9\x1f\x5d\x62\x85\x2f\xb0\xc2\x09\x1f\x9f\xa1\x0e\xfc\x53\x7f\x4c\x25\xc2\x89\xe4\x08\xbb\x6d\x45\x62\xd7\x04\x66\xb1\x63\x2d\x18\x45\x7c\x3a\xa3\x49\xe6\x6d\xca\xec\x6d\x94\xc5\xf4\x99\xc6\x29\x4e\x10\x1f\x6a\xae\x22\xcf\x1e\x59\xf7\x99\x30\x95\xe2\x24\x99\x23\x9c\x24\xc8\x76\xeb\x5e\x40\x72\xc2\xd3\x24\xd6\xed\xba\x51\x4a\x3a\xa5\x09\x16\x5a\xa6\x35\xa3\xbd\xb1\x6d\xa1\xfe\x84\x64\x63\x85\x71\x69\x6a\x4e\xf1\x13\x91\x88\x2a\x34\xe3\x52\xd2\x61\x92\x9f\xf9\x87\x1e\x82\x71\x5f\x5c\xf5\xc0\xc4\x13\x29\xc4\x0d\x0f\x75\x9d\x5b\x93\x9e\xeb\x71\x8a\x19\x23\xd0\x31\x57\x13\x22\x6c\xf7\xf6\xe5\xd7\xb6\xd6\x3c\x5c\xdf\xdf\x76\x2f\x7a\x1f\x7b\xdd\xcb\x45\x73\x4d\xbf\x73\xff\xe3\xe2\xaf\xbf\xdc\xdc\xfd\xf8\xf1\xea\xe6\x97\xc5\x27\x57\x9d\x87\xeb\x8b\x1f\x06\xb7\x57\x9d\xeb\xc5\x87\x76\x5b\x35\xb6\xfc\xf8\x23\xdb\xd9\xd9\x3a\x3a\xa3\x50\x30\xea\xaf\xb1\xec\xbb\x36\xea\x9f\xbc\x5d\xab\xfe\x88\x26\x60\x74\x68\x6c\xd1\xcf\xac\x46\xf6\x4b\x34\xc3\x52\x1a\x39\xd0\x8c\xe0\xec\x91\x7d\xe6\x42\xb3\xeb\x11\xd7\x1c\x51\xcb\x8a\x4a\xa4\x91\xa2\x6c\x9c\x7d\x74\x8e\x1e\xd3\x6f\xbf\xfd\x2e\xba\xa2\xec\x09\xfe\x22\x6d\x24\x4e\x70\x79\x04\x97\x47\xeb\x5c\x1e\xff\x51\xf1\xe9\xfe\xdd\x03\xc1\xc6\x1f\x6c\xfc\xfb\xb3\xf1\x07\x13\xbf\x37\x86\x60\xdf\xde\x96\x10\xc1\x00\x16\xec\xdb\xdb\x13\x22\xd8\xb7\x5b\x3a\xe3\x70\xbc\x83\x7d\x3b\xd8\xb7\x83\x7d\x3b\xd8\xb7\x83\x7d\x3b\xd8\xb7\xbf\x1a\xfb\x76\x0b\x43\x9e\x82\x91\x3f\x18\xf9\x83\x91\x3f\x18\xf9\x83\x91\x3f\x18\xf9\x8f\xc7\xc8\xaf\xa5\xdd\x0f\xe5\xd0\xff\x3d\x81\xfe\x69\xe1\x92\xcd\x52\x05\xa2\x24\x4f\x95\xfe\x53\xf7\x0f\x7b\x65\x09\x04\x40\x33\x83\xf2\x27\xa2\xb2\x17\xb5\x68\x7b\x14\xb1\xe2\xbf\x70\xf1\x34\x4a\xf8\x4b\x36\xf2\x4f\x44\xe9\xc1\xdf\xd9\x5e\x02\x18\x60\x00\x03\x44\x01\xea\x60\xd7\x50\x07\xad\x32\x51\x1f\x94\xbf\x1f\x35\x4b\x0f\x1c\x3d\x30\xbf\xc0\xfc\xea\x68\x73\x94\xcc\xaf\xd9\xd4\x8e\xce\x7a\xb3\x7f\x9e\x5e\xb4\x77\xe5\x82\x7b\x45\x4a\x6e\x7d\x34\x4e\x6d\xb0\x4d\x4d\x2c\x8d\x17\x2a\x73\x90\x6b\xa2\x18\x90\xb2\xe2\xaa\x28\xbc\x7c\x34\x1a\x40\x61\xd4\x87\xbf\x2b\xde\x78\x5e\xe8\xd7\x12\x16\x13\xa2\x5e\x36\x24\xd4\x1b\xbe\x34\x0f\x17\xb3\x72\xf8\xdb\xee\xab\xbd\xd3\xc2\x95\x66\xff\x0b\x0c\x3f\x30\xfc\xc0\xf0\x5f\x89\xe1\x6f\x40\xf7\xa0\xc2\x2d\x5c\x6a\x95\xb0\x4b\x4d\x71\x96\xd6\x49\xba\x58\x23\xcb\xa2\x71\x5a\xc5\x8a\x3c\x8a\xca\xc4\x89\xaa\x4c\x89\xc5\xd4\x88\xca\x5c\x88\xed\x92\x1f\x36\xbd\xab\x9b\xa7\x33\x7c\x22\xaa\xf0\xf2\xd1\xe8\x9f\x85\x51\x1f\xfe\xb2\x7e\xf5\xb0\x9d\xd7\xe2\xd3\x5f\x5f\xea\x46\xc8\xd5\xd8\x23\xe9\xde\xba\x58\xd3\xde\x6c\x8c\xaf\x20\xfd\x22\xe4\x5b\xac\x45\xa3\xb7\x95\x60\xf1\x56\x33\x2a\x8e\x33\x85\x22\xe4\x4c\x84\x9c\x89\x9d\xaa\xbc\xa5\xa7\x5f\x55\xce\xc4\x31\x27\x49\x1c\xde\x3c\x11\x4c\x0e\xed\x37\x39\x04\x8b\x83\xfd\x2f\x68\xdf\x6b\xcf\x3c\x88\xf6\x41\xfb\x6e\x32\xf3\xa0\x7d\x07\xed\xbb\x85\x47\x34\x68\xdf\x41\xfb\x0e\xda\x77\xd0\xbe\x83\xf6\x8d\x82\xf6\xed\x35\xf4\x5a\xa9\xb5\x6d\x70\x6e\x1e\x95\xcd\x21\x9f\xfa\xc0\x1d\xf0\xc5\x74\xd4\x02\xdb\x6d\x92\xa1\x0a\x7f\x39\xa5\x7e\x5d\xc4\xc4\x5a\x2d\xfd\x32\x1f\x6c\x17\x98\xe4\x6f\x96\x55\xac\x50\xd8\x17\xbe\x3b\x8a\x18\x81\x85\x51\x87\xb4\xd4\x4d\x45\x9e\x57\x12\x1a\xf6\x44\x81\x23\xb9\xbe\xd6\x5f\xa8\x37\xac\x4b\x06\x1d\x72\xfb\x14\xba\xa3\xd1\x1d\x8f\x47\x67\x3c\xbc\x6c\xf1\x16\xc5\x89\x20\x4d\x78\x63\x08\x17\x6f\xb8\x78\xc3\xc5\x1b\x2e\xde\x70\xf1\x86\x0c\x7c\xfb\xfe\x5e\xe5\x89\x92\x30\xd1\x08\x4a\x6b\xe7\x35\x1c\x2a\x44\x09\xef\x06\x5e\x55\x91\xa1\xfc\x35\x25\xf2\xaf\x47\x29\x53\x1c\xa2\x28\x43\x10\x2a\x8e\x44\xa8\x78\x93\xb6\xa4\x20\x29\x05\x49\xa9\x9a\x32\x8d\x24\xa5\x47\xd6\x9f\x68\x3a\x4c\x87\x94\x65\xde\x3c\xb7\x43\xfe\xe4\xc8\xf5\x27\xa4\xfb\x43\x29\xa3\xbf\xa7\x24\x99\xe7\x3c\x49\x96\x5b\xcb\x90\x3d\xd1\x29\xd2\x74\x26\x42\x01\xbd\x39\x53\xe4\x8b\x92\xe8\x14\x25\xf4\x89\xa0\xf7\x9a\x31\xa3\xce\x6d\xef\xfd\x09\x7a\x7f\x05\x05\x86\xd0\x2c\xc1\x4c\xbe\x6f\x8d\xe3\x26\xc0\x2a\xef\x0b\x56\x39\xa0\x2a\x07\x54\xe5\xa6\x04\x0a\xa8\xca\x01\x55\xf9\x78\x51\x95\x77\xa6\x1f\x6e\x88\xcb\xf9\x2a\x9a\xe2\x71\xfa\xb2\x83\xa6\x88\x82\xa6\x18\x34\xc5\xa0\x29\x06\x4d\xf1\x48\x34\xc5\x76\x50\x38\xa8\x89\x41\x4d\x0c\x6a\xe2\x0e\x89\x13\xd4\xc4\xa0\x26\x06\x35\x71\x41\x4d\x3c\x5e\xcf\xe1\x77\x41\x1f\x0c\xfa\xa0\xff\xfb\xf1\xe9\x83\x41\x75\x0a\xaa\x53\x35\x65\x8e\x53\x75\x6a\x8d\xec\x73\x8c\x21\x45\x41\x29\x6c\x4e\x88\xa0\x14\x36\x26\x55\x50\x0a\x97\x10\x27\x28\x85\x41\x29\x0c\x4a\x61\x63\xa5\xf0\x98\xdc\x85\x41\x3b\x0c\xda\xa1\xff\x7b\xd0\x0e\x83\x76\x18\xb4\xc3\xe0\x58\x0b\xaa\x61\x50\x0d\x83\x6a\x18\x54\xc3\x55\xc4\x09\xaa\x61\x50\x0d\xbf\x2e\xd5\x90\x3c\x13\xa6\x24\x14\x43\xf4\x15\xa5\x77\x33\x2e\xeb\x15\x3c\x9f\x3b\x54\x28\x77\xd0\x66\xb1\x28\x21\xa0\xb6\xfd\x86\x26\x58\x22\x1e\x45\xa9\x28\x9d\x81\xb2\x7a\x77\x21\x08\x56\x04\x5a\xd0\x1f\x1e\x83\x5a\xb7\x38\xdd\x43\x01\x10\x0f\x79\xbc\xb0\xdb\xcd\x41\xa8\x7a\xb2\x5c\xcc\xda\xd9\xd4\x7f\x4f\x49\x33\xad\x76\x8f\x9b\x1a\xa2\xa1\xcd\x66\x5c\xac\x76\xf6\x62\x8b\xea\xef\x78\xd7\x2f\xd4\xea\xdf\x68\xe7\x67\xad\xe8\x8f\x8f\x22\x06\xba\x7a\xde\x87\x3a\x02\xd5\x8b\xfc\xc6\xc2\x6e\x5f\xfd\x9c\xd7\xad\x71\xcb\xce\x7a\x65\x71\xc3\x76\x5f\x70\x47\x71\xc4\x5f\xef\x86\xab\x5d\xd7\x70\xc2\xbf\xba\x9b\x7c\x86\x05\x61\x6a\xd0\xa4\xa0\xa9\xc2\xf2\x69\xc7\x67\xbe\x50\x68\x62\xa3\x33\x0f\x2d\x1c\xcd\x99\x5f\x9c\xef\x61\xcf\x7c\xe3\xd5\x0e\x9c\x60\xb7\x9c\xa0\x6a\xe1\xdb\xc0\x09\xda\x7d\xa6\xc3\x91\x86\xff\xc2\xa6\x5e\x6f\x53\x1f\x8f\x2e\x7a\x0c\x1b\xfc\x75\x55\xd1\x57\xdf\xe4\xed\xd4\xd2\xb2\x9a\x6f\x8d\xb7\x78\x5f\xd0\xf1\x98\x08\x63\x69\x8e\xf4\x56\xb4\xee\xcc\x25\xa0\xa7\x79\x95\xb3\x95\xdb\x3a\x7b\xf5\x18\xb6\x74\x36\x58\x33\xf6\xaf\x66\x2f\x2f\xcc\xbb\x25\x9b\xb8\x08\xb4\x20\x48\xc4\x9f\x89\x68\xbc\xb3\xef\x08\x6c\x67\x60\xde\x33\x41\x9e\x29\x4f\x65\x32\x3f\x15\x29\x43\xee\x26\x40\x59\x5f\x26\xca\xe6\x85\x26\x09\xe2\x2c\x99\x23\xa9\xb0\x50\xee\x31\x1b\xa3\x91\xe0\x53\x38\x22\x09\x96\x0a\x3d\x31\xfe\xc2\xd0\x08\xd3\x24\x15\x04\xcd\x38\x65\xea\xec\x91\xf5\x18\xba\x33\x63\x84\xaa\x28\x27\x28\x95\xfa\x60\x45\x98\x31\xae\x50\x34\xc1\x6c\x4c\x10\x66\x73\x5b\x5e\x30\xdf\x26\x88\x0b\x94\xce\x62\xac\x08\x74\x51\x82\x94\xcc\xc6\x08\x61\x07\x54\x22\x2a\x11\xf9\xa2\x04\x99\x92\x64\xae\xfb\xd0\x07\x41\x71\x64\xe9\x63\x86\x6a\x8b\x95\x11\x21\xb8\x90\x50\x4f\x65\x38\xff\x27\x66\x8a\x32\x82\xc0\x13\x22\x4d\x48\xc1\x29\xba\xe2\x12\xfc\xb2\x3f\xfe\x4d\xa2\x28\x49\xa5\x22\xe2\x04\x0d\xd3\xb1\x44\x94\xa1\x59\x82\xd5\x88\x8b\xa9\x1e\x21\x65\x52\xe1\x21\x4d\xa8\x9a\x9f\xa0\x29\x8e\x26\xa6\x2d\xa0\x81\x3c\x79\x64\x31\x7f\x61\x52\x09\x82\xb3\xde\xdd\x43\xf4\x07\xff\x99\xd9\x0d\xf2\x9b\x13\x28\xaa\x46\xa7\xb3\x64\xee\x0f\x3f\x5f\x7e\xb3\x26\xba\x11\x12\xa3\x21\x89\x70\x2a\x6d\x64\x94\x12\x73\x44\xbe\x4c\x70\x2a\x61\xed\xf4\xf4\x6c\x45\x9a\x88\x4f\x67\x09\x51\x04\xd1\x11\x52\x42\x6b\x1e\x78\x8c\xa9\x26\xdd\x3d\x21\x0d\x38\x9a\x5d\x40\x7b\x04\x7e\x03\xff\xda\x94\x0b\x82\x62\xa2\x30\x4d\x96\x46\xcb\xd9\x6f\xb3\xb6\x8e\x42\xf5\x7c\x25\x9e\x17\xd4\xc9\xbd\x32\xf2\xe2\x36\x6e\x1f\x27\x4f\x20\x78\x69\x07\x42\x0a\xb3\x51\x55\x11\x4e\xb6\x94\x57\xee\xec\xa0\xc2\xf1\x0d\xc7\xb7\x3c\x92\xc3\x1f\x5f\xb3\x17\x5b\x7a\x7e\x0f\x96\xd8\xdc\xac\x9c\xf2\x15\x95\x2a\x7b\xf3\x38\xb0\xac\xb2\xe1\x1e\x22\x2a\xfd\x4d\x1e\xd6\x10\xc4\x1d\x82\xb8\x6b\x29\x73\x9c\x41\xdc\xad\x09\x57\x0c\x01\xcf\x7b\x0a\x78\xa6\x32\x44\x3c\x87\x88\xe7\xa6\x04\x0a\x11\xcf\x21\xe2\xf9\x78\x23\x9e\xd7\xd4\x1d\x36\xcc\x7f\xad\x73\xcd\xad\xa3\x3f\x7c\x22\xea\x48\x95\xfe\xa0\x39\x04\xcd\x21\x68\x0e\x3b\xd7\x1c\xb8\x70\x1e\x8c\x16\x54\x2d\xdb\x15\x97\x76\x5f\xbf\x8b\x49\x42\x14\xa9\xb7\xb5\x12\x31\xd5\x0a\x91\x91\x40\x28\xd3\xa2\xea\x58\x10\x29\xb7\x65\xb3\x59\xc3\x47\xca\x6c\xb3\xf1\x07\x23\x6b\xe0\xbe\x35\x53\x0b\xdc\xf7\x8d\x71\xdf\xa3\x72\x1b\x78\x1c\xea\x50\x7e\x83\xec\x56\x99\xa5\xf5\x92\xfa\x83\x89\x6d\xc8\x83\x2d\xcc\x0e\xd7\xea\x96\xe2\xd9\xe1\xb6\xfb\x7c\xcb\x5b\xc6\xf4\x75\xa4\x57\x8c\x19\x7c\xb8\x5f\xc2\xfd\x52\x33\xb5\x70\xbf\x84\xfb\xe5\xf5\xee\x17\xc7\x9e\x5a\xe5\x94\xe6\x62\x5c\x30\x19\x2d\xbb\x88\x0e\x15\xec\x7a\x5c\xb7\xce\x61\x43\x47\xde\xde\x95\xd3\x9e\x03\xda\xb6\xf8\xdd\x10\xb2\x1b\x42\x76\x8f\x2a\x64\x37\xf0\xed\x23\xe0\x72\xad\x0b\x6e\x3d\x8e\x78\xd6\xb0\xb7\x8f\x62\x6f\xb7\x2d\xf2\xb3\xd5\xc1\x9e\x47\xb5\xa7\x0f\x14\xeb\x19\xcc\x1f\xc1\xfc\x51\x4d\x99\x10\x16\x19\xe0\x6d\x17\xa7\x15\xa2\x3d\x43\xb4\x67\x88\xf6\xdc\x25\x71\x42\xb4\x67\x88\xf6\xfc\x6a\xa3\x3d\x5b\x1e\xe0\x79\x54\x1a\x43\xd0\x16\x82\xb6\x10\x9c\xa5\x6b\x4e\xed\xe8\x64\xf4\x5d\x71\x66\xf7\x75\x8b\x22\x3c\x8f\x8a\xdb\xbe\x46\x80\x67\x60\xbf\x81\xfd\x56\x53\xe6\x28\xd9\x6f\x7b\x0c\xe9\x21\x16\x72\x21\x16\xf2\xa8\x98\xf1\xc1\x43\x21\x03\x27\x0e\x9c\xb8\x9a\x32\x81\x13\x1f\x7f\xd4\xa0\xf1\xaa\x0e\x66\x09\x66\x03\x1a\x7b\xa1\x83\x1f\xfe\x95\x1b\x2b\xf6\xe5\xd9\xd4\x47\x2b\x36\x55\x48\xb3\xaa\x9f\xe2\x37\xfd\x49\x92\x3b\x3a\x10\x1f\xea\x61\xac\xac\xc7\x6a\x7c\x23\xb7\x09\x66\xbd\xf8\x38\xc0\x6e\x2a\xa7\x7f\x08\x67\xe8\xdb\x0b\x35\xdc\xe6\x92\xc2\x0a\x9c\x6e\x98\x32\x63\x76\xcd\xab\xc9\x16\x8c\xca\xed\x98\xe8\x36\x57\x96\x37\x31\xef\xd6\x72\x97\x91\x47\x94\xf6\x4d\x3b\xf8\xe2\x42\xa9\xc9\xe0\x6d\x6a\x38\xe1\xe0\x6d\x6a\xaf\xb7\xa9\xc1\x32\xee\xc5\x85\x7c\xe0\xe3\x79\x50\x99\xf5\xa8\x25\xd5\x20\xa8\xa2\x20\xd6\x05\xb1\xae\x7e\xd6\x41\xac\x0b\x62\x5d\x10\xeb\x82\x58\x17\xc4\xba\xd7\x17\xeb\x1a\x4c\xf3\xab\x8d\x32\x58\x25\xaa\x36\x2f\x3d\x64\x72\x7c\x20\x15\x30\x9d\x25\x1c\xc7\xcb\x22\xbd\x72\x61\xf2\x37\x94\x0b\x6e\x4b\x24\x50\xd3\x7a\xfe\xd9\x31\x08\xa0\xf9\x68\xbf\xb2\xfc\xa7\xc5\x89\xb7\xc5\x5b\x50\x84\xaf\x6c\xe9\xde\x3e\x0a\x37\xc0\x6b\x6d\xee\x37\x09\x73\x13\x4e\x6c\xc3\x13\x7b\xb8\xfc\xc5\xea\x53\xbc\x86\x95\x44\xfe\xf5\xb8\x8e\x71\xa8\x5d\x11\x30\xaa\x2a\xa6\x16\xa2\x4d\x42\x92\x66\xc8\x66\x7c\x73\xa6\xb6\x90\xcd\x18\xb2\x19\x83\x21\x72\xf9\xb4\x83\x21\xf2\x4d\x64\x33\xae\xaf\x4c\x6c\x98\xdc\x78\x18\xb5\xe2\xc8\xac\x03\x41\xad\x08\x6a\x45\xc5\xd4\x82\x5a\xf1\x15\xaa\x15\xed\xa0\x70\xd0\x29\x82\x4e\x11\x74\x8a\xa0\x53\x04\x9d\x62\xe7\x64\x0c\x3a\x45\x03\x9d\x02\xfe\xb2\x10\xc3\x6b\x2b\x18\x6b\x2a\x16\x2b\x70\x54\x8e\xd6\xe7\x18\x34\x8a\xa0\x51\x04\x8d\xe2\xe0\x1a\x45\x6b\x26\x64\xd9\xe7\x8a\x39\xdd\xbb\x05\x29\x01\xba\xb7\x6f\x3e\x6e\x44\x03\x68\x69\x85\x30\x51\x54\xd0\xb2\x5d\xa7\x3f\xf5\x75\x14\x13\x4d\x0e\x62\x79\x1e\x6c\x8d\x22\x2e\x0c\x53\x8e\xed\x2e\x37\xf2\x44\xa7\xdf\xb9\xef\xf6\xcf\x51\x07\xc5\x58\x61\xbd\xad\x05\x99\x09\x22\x09\x53\x20\xab\x11\x88\xa3\x07\x58\xfd\xc4\x48\x15\x1f\xf5\xfd\x83\x2e\xb1\xc2\x17\x58\xe1\x84\x8f\xcf\x50\x07\xfe\xa9\x3f\xa6\x12\xe1\x44\x72\x84\x1d\xe9\x49\xec\x9a\xc0\x2c\x76\x07\x0a\x03\x5a\x3c\x4d\x32\xe5\x34\x53\x2f\x28\x8b\xe9\x33\x8d\x53\x9c\x64\xe9\x09\x8f\xac\xfb\x4c\x98\x4a\x71\x92\xcc\x11\x4e\x12\x64\xbb\x75\x2f\x38\x00\xfa\x21\xc9\x46\x29\xe9\x94\x26\x58\x68\x76\x6c\x46\x7b\x63\xdb\x42\x5a\x31\x76\x63\x85\x71\x69\x6a\x4e\xf1\x13\x91\x88\x2a\x34\xe3\x52\xd2\x61\x92\x1f\x80\x87\x1e\x82\x71\x5f\x5c\xf5\x40\x66\x8b\x14\xe2\x86\x73\xb8\xce\xad\x02\xe3\x7a\x9c\x62\xc6\x08\x74\xcc\xd5\x84\x08\xdb\xbd\x7d\xf9\xb5\xc5\xaf\x87\xeb\xfb\xdb\xee\x45\xef\x63\xaf\x7b\xb9\x28\x7f\xf5\x3b\xf7\x3f\x2e\xfe\xfa\xcb\xcd\xdd\x8f\x1f\xaf\x6e\x7e\x59\x7c\x72\xd5\x79\xb8\xbe\xf8\x61\x70\x7b\xd5\xb9\x5e\x7c\x68\xb7\x55\x63\x51\xce\x1f\xd9\x3e\x64\x39\xf7\x75\x03\x4c\x0f\x7b\xb8\x14\x56\xa9\x34\x35\x65\x04\x19\x53\xa9\x80\xfd\x37\x91\xc2\x56\x43\x79\x1c\xad\xf4\x15\x0a\x9b\x05\x59\x2c\xc8\x62\x41\x16\x3b\x36\x59\xec\x70\x26\x81\x23\x0a\x53\xfc\xee\xb8\xee\x9e\x50\x76\x21\x30\xe7\xf6\x33\xe7\xd6\xb9\xde\x5a\x63\x3a\x3f\x46\x48\xd7\xe0\x54\x6c\x4e\x88\xe0\x54\x6c\x4e\xab\xe0\x54\x5c\x42\x9c\xe0\x54\x0c\x4e\xc5\xaf\xd8\xa9\x78\x94\xb1\x89\x41\x95\x70\xef\x05\x55\x22\xa8\x12\x6f\x54\x95\x68\x0d\x85\x83\x1e\x11\xf4\x88\xa0\x47\x04\x3d\x62\x39\x71\x82\x1e\x11\xf4\x88\xa0\x47\x1c\x5b\x3c\xe2\x71\x69\x12\x41\x8b\x08\x5a\x44\xbb\xb5\x88\xd6\x4c\xe8\x78\xbc\xc5\xcd\xe6\x13\x22\xf7\x42\xe4\x5e\x88\xdc\xab\x8d\xdc\x7b\xa3\x9a\xfc\xae\xe4\x37\xf7\x75\xdb\x02\x12\x8f\x4b\xfc\x0a\xd5\xc5\xb2\xa7\x41\x18\x0b\xc2\xd8\x57\x2a\x8c\xb5\x08\x44\xb1\x15\x45\xd2\xa6\x58\x45\x13\x3c\x4c\xc8\x20\xb3\x65\xc9\xa6\xea\xfd\x15\x95\x4a\xa2\x28\x95\x8a\x4f\xeb\x2f\x97\xcf\xae\x87\x4e\xd6\xc1\x05\x67\x23\x3a\x4e\xcd\xdd\xf2\x1b\x6c\x7d\xef\x44\xe7\x02\xee\x7c\x46\x56\xf9\x15\x2b\x5a\x3f\x8a\x6b\xa9\x7a\xe8\x87\xba\x9d\xd6\xd1\x47\x72\xdb\xa5\x55\x26\xb4\x08\x39\xb8\xeb\xde\xdf\x3c\xdc\x5d\x74\xcf\x51\x07\x44\x2c\x70\x27\x98\xad\x40\xff\xa9\x27\x85\x14\x96\x4f\xf9\x5a\x0a\xb3\xcd\x25\xc8\xd9\xe0\xbf\xd0\x22\x3f\x3a\x45\x17\x57\x0f\xf7\xfd\xee\x5d\x4d\x83\x76\xa3\x40\xa9\x54\x32\x9d\x25\x58\x91\x18\x3d\xa5\x43\x22\x18\xd1\xd2\x4e\x94\xa4\x5a\xb8\xc9\xbd\x1a\xa6\xd1\xee\xdf\xbb\x17\x0f\xfd\xde\xcd\xf5\xe0\xa7\x87\xee\x43\xf7\x1c\xb9\x1d\xa7\x9b\xd5\xe3\xd2\xa3\x88\xe7\x0c\x4f\xb5\x62\xa5\x7f\xc8\x8b\xb3\xfe\x9e\x92\x94\x20\x2c\x25\x1d\xb3\x29\x61\xaa\xdc\xa2\x1b\xf0\x55\xe7\xfb\xee\x55\xb1\xe5\x09\x41\x3f\xfe\x2d\x1f\x54\x82\x87\x24\xb1\x6e\x16\xf0\x1c\xe8\x8d\x9e\x77\x64\xfd\x2f\xa9\xa1\xea\x4f\x0f\x9d\xab\x5e\xff\xd7\xc1\xcd\xc7\xc1\x7d\xf7\xee\xe7\xde\x45\x77\x60\x85\xe5\x8b\x8e\xee\xb7\xd0\x93\x95\xa9\xd1\xef\x29\x4e\xb4\xd2\xc5\x47\xe0\xb7\xa0\x11\x41\x2f\x13\xc2\x50\xca\x60\xc7\x19\x4d\x4e\xab\x77\x59\xa7\xfa\x94\x99\x19\xdd\x5e\x3d\x7c\xea\x5d\x0f\x6e\x7e\xee\xde\xdd\xf5\x2e\xbb\xe7\xe8\x9e\x24\xa0\xeb\x38\xa2\xc3\x2a\xce\x92\x74\x4c\x19\xa2\xd3\x59\x42\x34\x35\x8c\x2e\x37\x24\x13\xfc\x4c\xb9\xb0\x47\x77\x4c\x9f\x09\x33\x74\x84\x33\x0b\xed\x3b\x9d\x62\xe0\x91\xee\xe6\xfa\x63\xef\xd3\x39\xea\xc4\x71\x36\x07\x09\x6d\x14\x76\xce\x0b\x17\x4f\xa3\x84\xbf\x9c\x16\x87\xad\x99\x03\x74\x6f\x36\x11\x7f\x26\x42\xd0\x98\x94\xf6\x51\xe7\xfe\xbe\xf7\xe9\xfa\x73\xf7\xba\x0f\x14\x53\x82\x27\x12\x4d\xf8\x0b\x58\xe8\x61\x86\x60\xb8\x7f\xc6\x34\x81\xce\xdc\x62\x71\x86\x5e\x26\x14\xbc\x3a\x54\xfa\x04\x33\x6a\xa7\x48\xd9\xab\x1b\x9d\x0b\x07\x6f\x51\x1b\x2b\x9f\xa4\xc5\x37\x4a\xc7\x62\xd9\x0b\x85\x5d\xbe\xf8\xe2\xaa\xdd\xba\xf8\x45\x69\xbb\xd5\xeb\xa0\x0b\xfb\xa5\x7e\xa6\xf9\x5a\x37\x56\x41\x8b\x34\x5c\x53\x78\x58\x57\x03\x35\x3e\x30\x5f\x09\x05\x97\x9a\x13\xf3\x1d\x4f\x3c\x2e\x6d\xb4\xb1\x18\x91\x17\x5c\x3d\x72\x81\xe2\x38\x12\xef\x5e\x57\xa2\x38\xec\xd1\x38\xb4\xd6\x10\xe4\xa5\x20\x2f\x05\x79\x29\xc8\x4b\x41\x5e\xca\xfe\xdb\xb3\x3c\x41\x94\xa0\x91\xfc\x90\xed\xab\xfd\x82\xb2\x12\xa9\x37\xac\xa2\x53\x82\x6c\xcf\xf6\xa4\xd6\x0a\x21\x59\xa9\xfb\xa5\x16\xf3\x4f\x44\x65\x2f\x7e\x36\x0d\x1f\x85\x30\xf1\x8b\xe5\x28\xd9\xe0\x3f\x11\x65\xc7\x1f\x12\xfa\x43\x42\x7f\xcd\xd4\x82\x57\x60\x7b\xaf\x00\x17\x48\xce\xa5\x22\xd3\x23\xf1\x0f\xc4\x64\xb6\xd8\x61\x69\x62\xf0\x8e\x89\xef\x5a\x08\x47\x36\x9e\x73\x1b\x3b\x90\x90\x67\x92\x80\x20\xab\x04\x7e\x26\x42\x5a\xf1\x6c\x28\x08\x7e\xd2\x32\x6d\xcc\x5f\x7c\xe1\x2c\x26\x0a\xd3\x64\x1f\xfa\x73\x93\x70\xe5\xef\xfe\xf2\xaa\xf7\xe1\xf1\x5e\x81\xe1\x06\x0c\x2e\xe4\x70\x59\x7c\x85\x97\xc5\x31\x06\xf1\x84\x3b\xb0\x2d\x77\xa0\x26\x77\x3c\x70\xe1\x7c\x1f\xfe\x55\x30\xca\xfd\x7b\x5f\xfa\xe1\x1d\xe4\x47\xc9\x65\x17\xa1\xe6\x52\x71\x17\x96\xef\x37\x1b\x04\xb8\xe2\x46\xf4\xbe\x38\x0a\x7d\xd0\x1b\x6f\x9b\x5c\xd3\x77\xbe\x61\xdf\xdd\x13\x53\xa2\x70\x8c\x15\xd6\x47\x68\x4c\xd4\x19\xba\x61\xf0\xac\x8f\xe5\xd3\x09\x72\xf7\xba\xe6\x9d\x79\x28\x86\x9f\xa2\xb3\x27\x56\xd9\xd0\x66\xf5\xda\xc1\x9b\x6d\xe4\xe8\x41\x4b\xdf\xe5\xd4\x82\xe0\x15\xd2\xb1\xdb\x8c\x9b\xe7\xbe\x6e\x14\xed\xbc\xbb\x5b\xd9\xb4\x78\xc4\x17\xf3\x61\xe3\x9b\x77\x7a\x4d\xa7\x30\xf4\x70\x07\x9b\xff\xc2\x1d\x1c\xee\xe0\x70\x07\x2f\xa3\x4c\xb8\x83\x8f\x38\x00\xbe\xe2\xca\x7a\xd5\x08\xf8\x26\x66\x05\x63\x53\xc8\x0d\x0a\x6b\x02\xf5\xe6\x36\x84\x95\xf0\x5a\x15\x52\xcb\x4a\x6c\xad\xfc\x1b\x7a\x24\xc1\x6a\xde\x2c\x0f\x81\xaf\xb5\x53\x61\xc5\x20\xbc\x04\xab\xc2\x1e\x25\x9a\xb7\x27\xce\x6c\x23\xcb\x60\x05\x97\x0c\xa6\xcc\xdc\x49\x79\xb6\xb7\x3c\xc0\x0e\x5b\x73\xa2\xdb\x48\x36\xde\xc4\x3c\xe1\xc6\xc9\x2c\x1e\x51\x5a\xb2\xa8\x7b\x81\xe1\x7a\x1d\x3b\xfe\xeb\x43\x6f\x91\xb7\x8b\xbc\x15\xc0\xa5\xd6\x3a\x24\x01\x5c\xea\x10\xe0\x52\x0d\x96\x71\x2f\x88\x71\x07\x3e\x9e\xaf\xa9\x3a\x1c\x8f\x13\xf2\xc8\x74\x86\xa3\xd2\x17\x82\x0f\x72\xff\xf6\xcf\x60\x2a\x0c\xa6\xc2\x6a\xca\x04\x53\xe1\xd7\x15\xae\xb5\xab\xfb\xde\x7d\xfd\xda\x5e\xc8\x23\xbb\x99\x83\x13\x32\x5c\xc2\xe1\x12\x0e\x97\x70\xb8\x84\x77\x45\xe1\xe0\xaf\x5b\x53\xe9\x3e\x0a\x2f\xdd\x91\x5d\xeb\xc1\x49\x17\x6e\x7c\xf7\x71\x70\x69\xad\x9a\x67\x70\x69\x05\x97\x56\x70\x69\x05\x97\x56\x70\x69\x65\xbf\x07\x97\xd6\x41\x77\xeb\x57\x6b\xb6\xab\xd6\x18\x78\x4c\x06\x15\x48\x32\xd9\x4f\x03\x3f\x6d\xb0\xf0\x6b\xc1\x7d\x57\x78\xe2\xfb\xf2\x0a\x0f\xf2\x72\x39\xd0\x2f\x8d\xd7\xce\xc3\x5f\x66\x4e\xe4\x31\x69\x9c\x77\x5f\x78\xb9\xed\x71\x81\x6e\xa2\x46\xf5\xf0\x47\x7e\x80\x3c\xfb\xf2\x4e\x78\x63\xd1\x67\x35\xbb\xfa\x2d\x5a\xea\x2a\xce\x68\x30\xdb\xad\x24\xd4\x1b\x06\x1c\xb0\x4c\xf8\x00\xe3\x79\xd3\x77\xd8\x07\x8b\xfe\x38\x70\x60\x83\x3b\xbc\xd4\x2e\x4d\xd3\x9a\xe9\x3b\x1b\x8d\xf3\x20\xad\xba\xe2\x2a\x3e\x6d\xfb\x45\x07\x73\x5e\x32\xe5\x70\xdd\x85\xeb\x2e\x5c\x77\xe1\xba\x0b\xd7\x5d\xf9\xba\x73\x57\xcf\xa0\xe2\xd2\xab\x7e\x96\x5f\x7d\xd5\xcf\xb3\x0b\xb0\xfa\xf1\xfa\x28\x6a\x8d\x9c\x47\x8d\x75\x38\x70\x1b\xf9\x6f\x1f\x49\x76\x97\x3f\xe4\x43\xb8\x8e\x6a\x37\xc6\x1b\xbb\xd8\x96\x6e\xf2\x37\x77\xbd\x2d\x3b\xb2\xe1\x92\x6b\x48\xae\xb7\x7a\xd5\xed\xc5\x51\xb5\x5f\xc7\xc3\x01\x9d\x56\xaf\x65\x77\xde\x8b\x79\xfd\x33\x17\x04\x51\x36\xe2\x88\x43\xf8\x8e\x54\x22\x8d\x14\x65\xe3\xec\xa3\x73\xf4\x98\x7e\xfb\xed\x77\xd1\x15\x65\x4f\xf0\x17\x69\xa3\x51\x3e\xf8\xcc\x82\xcf\xec\x18\x7d\x66\x26\xd6\x6e\x30\xc3\x82\x30\x55\xa1\x5b\x94\xaf\x13\x78\xdd\xaf\x49\xed\xa4\x0e\x68\x00\x69\xd1\x1e\xd9\x0b\x39\xbb\xaa\xde\x58\x5e\x58\x49\x7b\x79\xc3\x6e\xa5\x96\xeb\x23\xed\xf1\x2a\xbd\x55\x29\x3d\x18\xa1\x82\x11\xaa\x3c\xcf\xc3\x19\xa1\x36\xa0\x7b\x88\x8d\x38\xfc\x55\x75\x3c\xde\xa3\x96\xdf\x67\x6d\x73\x1e\x85\x5b\x2d\xdc\x6a\xe1\x56\x6b\x01\xdd\xc3\xad\xb6\xf4\x56\xfb\x4a\xdc\x43\xc7\x70\x7b\xb5\xc4\x3b\xf4\x56\x6f\xae\xe0\x35\xd9\x01\xb9\xde\xea\x2d\xf6\x5a\x8e\xd2\xc3\xdb\x9e\x83\x7f\x28\xf8\x87\x82\x7f\x28\xf8\x87\x82\x7f\xc8\xff\x3d\xf8\x87\x96\xd1\xfd\x60\xea\x89\x15\x81\x06\xd9\xd1\x95\x1f\xfe\x95\xff\x9d\xa9\x25\xbe\x6a\xb1\x0c\x86\xe8\x42\x10\x38\x15\x5c\x58\x10\x1b\x69\xeb\xc3\xd7\x2b\x19\x9f\xb1\x8a\x26\x78\x98\x90\x4e\xd6\xad\x2b\x97\x0f\x0a\xc6\x6f\x08\xab\x82\xd0\x0b\x65\xe9\x96\xe8\x22\x06\x1a\xe2\xd6\xbc\x9d\x37\x7a\x0c\x0a\xc9\xc2\xa0\x0f\x0b\x62\xb4\xb8\xf0\xcd\x0e\x90\x5b\x19\x1a\x03\xbb\xf3\x8a\xf1\x6b\xb9\x9b\x8f\xf2\x8b\x41\xa2\x17\x9a\x24\x5a\x92\xb1\x52\x5b\x4b\xa4\xd1\x57\x87\x36\xa9\x5d\xf9\x57\x05\x38\xa9\xe2\x0e\x55\x2c\xa1\x89\xdd\x7c\x7b\x3e\x60\x8a\x00\xbb\xcd\x86\x59\x6c\xf5\xbe\x15\xa6\xf5\xb7\xc1\x09\x3e\x11\x75\x28\x36\xb0\xe9\xd9\x5f\x7a\xee\x05\x19\x11\x41\x58\x44\x5a\x08\xab\xb1\x0e\xde\xcb\x2f\x66\x92\x16\xec\x65\xea\x36\xad\x3f\x55\xc5\xad\x9e\x56\x10\x75\xad\xa0\xd7\xef\xdc\xff\x38\xb8\xeb\xde\xdf\x3c\xdc\x5d\x74\xcf\x51\x07\xd8\x20\x7c\x63\x0e\x08\xfd\x27\x34\xa7\xb0\x7c\xca\xcd\x1d\xc2\xb0\x01\x09\x9b\x1e\xf4\x49\x4d\x45\x74\x8a\x2e\xae\x1e\xee\xfb\xdd\xbb\x9a\x06\xed\xf1\xd1\x72\xa2\x22\xd3\x59\x82\xb5\xfc\xf8\x94\x0e\x89\x60\x04\xae\xe6\x24\x95\x8a\x88\x5c\xcb\x34\x8d\x76\xff\xde\xbd\x78\xe8\xf7\x6e\xae\x07\x3f\x3d\x74\x1f\xba\xe7\xc8\x9d\x43\xdd\xac\x1e\x17\x1c\x3d\xe3\xf9\x31\x3f\xe4\x35\x60\x7f\x4f\x49\x4a\x10\x96\x92\x8e\xd9\x94\x30\x55\x6e\xd1\x0d\xf8\xaa\xf3\x7d\xf7\xaa\xd8\xf2\x84\xa0\x1f\xff\x96\x0f\x2a\xc1\x43\x92\x58\xb5\x17\xf0\x29\xf4\xf1\xcf\x3b\xb2\xfa\x70\x6a\xa8\xfa\xd3\x43\xe7\xaa\xd7\xff\x75\x70\xf3\x71\x70\xdf\xbd\xfb\xb9\x77\xd1\x1d\x58\x04\x9b\x8b\x8e\xee\xb7\xd0\x93\x15\x35\xd1\xef\x29\x4e\xa8\x9a\xeb\x75\x94\x86\x2f\x9a\xfa\xb6\x29\x33\xc5\x71\x41\xd6\xc6\x7e\x85\x5b\x39\x23\x91\x99\xd1\xed\xd5\xc3\xa7\xde\xf5\xe0\xe6\xe7\xee\xdd\x5d\xef\xb2\x7b\x8e\xee\x49\x42\x22\x25\x33\xa2\xc3\x2a\xce\x92\x74\x4c\x19\xa2\xd3\x59\x42\x34\x35\x0c\x98\xd8\x90\x4c\xf0\x33\xe5\xc2\x32\xb4\x31\x7d\x26\xcc\xd0\x51\x6f\x2b\xd3\xbe\x83\xd3\x19\x78\xa4\xbb\xb9\xfe\xd8\xfb\x74\x8e\x3a\x71\x9c\xcd\xc1\x54\x46\x2f\xec\x1c\x67\x58\x39\x2d\x0e\x9b\x8e\xb4\xc2\xa2\x19\x0c\x2c\x1f\x7f\x26\x42\xd0\x98\x94\xf6\x51\xe7\xfe\xbe\xf7\xe9\xfa\x73\xf7\xba\x0f\x14\x53\x82\x27\x12\x4d\xf8\x0b\x28\x74\x30\x43\xd0\xf3\x9e\x31\x4d\xa0\x33\xb7\x58\x9c\xf9\xa7\xdf\xeb\x79\xc2\xd3\x24\xd6\xcb\xf4\xea\x3a\x4a\xe1\xe0\x2d\xaa\x29\xe5\x93\xb4\xf8\x46\xe9\x58\x2c\x7b\xa1\xb0\xcb\x17\x5f\x5c\xb5\x5b\x17\xbf\x28\x6d\xb7\xc5\x17\x6a\xf7\x4b\xfd\x4c\xf3\xb5\x6e\xac\x99\x15\x69\xb8\x26\x97\xdd\x81\x6d\x6f\xb9\xc1\xb6\xa5\x7a\x97\xfb\xfa\x5d\x4c\x12\xa2\x48\xad\xa0\x74\x09\x8f\x5f\x4b\x50\x32\xbd\xbf\x0d\x59\xc9\xcc\x25\x88\x4b\x5f\x8d\xb2\xe4\x16\xbc\x15\xca\x92\x39\x6b\xbe\xce\x04\x29\x83\x9e\x72\x6d\xf2\x04\xdf\xa6\x99\xe5\x28\xd2\x02\xdb\x63\x67\xd9\xfb\xa5\x78\x68\xe6\x10\x6c\x48\x8b\x23\x09\x36\xa4\xed\xd8\x62\xe1\xc7\x0a\x28\xdd\x83\xb3\xca\x4d\x04\xac\x02\xbf\xbc\x84\xd7\x8f\x93\x6b\x96\xc7\x7e\xcc\xbc\xd3\x6b\xad\x1d\x4c\xe4\xeb\x65\x9f\x0b\x47\xbc\xd9\xc4\x6d\xe8\xcf\xf1\xce\xbb\x2d\xd7\x46\xdd\xb1\x6e\xf3\xe5\x51\x2c\x86\x7c\xbc\x1e\x89\x63\x62\xff\xaf\xe2\x92\x78\x73\x62\xf2\x57\x67\x34\x08\x3e\x96\xe0\x63\x09\x3e\x96\xe0\x63\x09\x3e\x16\xb4\xa9\x8f\x65\x57\x92\xd6\x51\x3b\x24\x8e\x53\x54\x3a\xac\x47\x22\x48\x4b\xc7\x2e\x2d\xb5\x45\x29\x3c\x2e\x17\x4b\x51\x1d\x5c\xbb\xea\x56\x5b\xf4\xc2\xb7\x64\x1c\x3c\x2e\x1d\xb1\x75\xe6\xc0\xaf\x8e\xf1\x6d\x66\xfa\x3b\xda\xe9\x06\xad\x38\x68\xc5\x41\x2b\x0e\x5a\x71\xd0\x8a\x51\xd0\x8a\xd7\xd6\x8a\xdf\x92\xa0\x78\x74\x1a\x72\x90\x15\x5f\x7b\xc2\x5f\x99\xac\xd8\x16\x9b\x40\xdd\xc9\x6d\xa9\x65\xe0\xeb\x0c\x28\x3a\xe2\x9b\x20\xe4\xbc\x22\x6f\xe9\x42\xc0\xcd\xd7\xc2\x47\x5b\x1e\x70\xf3\xf6\xec\xaa\x47\xcc\x23\x43\x36\x70\x10\x2b\x77\x34\xdd\x60\x82\x0c\x26\xc8\x60\x82\x0c\x26\xc8\x60\x82\x44\xed\x4e\x7e\x5e\x69\x70\x0a\xf9\xcf\xfb\x32\xac\x1e\xb1\xa4\x18\x72\xa1\x83\xb0\xb8\xbb\xe9\xb6\x55\x77\x6e\x93\x0d\x52\xae\x5f\x51\x62\x25\x12\xb7\x9d\xf6\x6f\x4b\x18\xd8\x15\x95\x4e\xd1\x3d\x26\x7e\x25\xf7\xcd\x92\xb6\x81\xdf\x75\x2b\xfa\x66\xd1\x77\x17\xe8\x00\x04\x88\xb0\x34\x0a\x5e\x9a\x28\x3a\xd3\xa2\x3c\x1e\x13\x69\xf1\x88\xb5\xe0\x7d\xe2\x78\x97\x78\x26\xe2\x34\x03\x9c\x86\x2e\x1c\x0a\x37\xa8\x2d\x8a\xa3\x11\xa0\xcd\x03\x5d\xc9\x17\x05\x4d\x3d\x32\xc0\xe1\x06\x1a\x9d\xb5\x11\xff\x36\x80\x03\x2f\x21\x4e\x00\x07\x5e\x8b\x9b\x04\x70\xe0\x96\x80\x03\xaf\xab\x82\x99\x53\xe9\x6b\x61\x70\xc8\x9d\xd4\xea\xcc\x52\x47\xaa\x8c\xcd\xb8\xac\x97\x4c\xee\xc8\x98\x4a\x60\x49\x4b\xaa\x5d\x39\x99\x04\x0a\x2b\xc0\x56\xff\xa8\x5f\x40\x31\x99\x25\x7c\x0e\xf6\xaf\x25\xe2\x8a\xeb\xe2\x76\x41\x63\x68\xbb\xc4\xe2\x46\x7e\x28\x9d\xaa\x2d\x32\x77\x3e\xef\x56\x48\xd9\x79\xc8\xff\xeb\xcb\xdb\xc7\x14\x78\xb5\x77\x81\xfb\xb0\x7c\xf6\x98\xaa\xbd\x07\x75\x22\xa8\x13\x4d\x76\x4d\x50\x27\x56\x11\x28\xa8\x13\x41\x9d\xd8\xa7\x3a\x71\x60\x09\xe6\xc3\xbf\x4a\x45\xd4\x97\x05\x20\x3e\xd8\xa8\x43\x70\xce\x52\x09\x47\x7e\xa5\x20\xf3\xc8\xaa\x1f\x38\x27\xe5\x90\x38\x1e\x33\x4c\x95\x57\x76\x4d\xea\x4b\x6b\x46\x84\x9a\x7b\x6f\x92\xe9\x4c\xcd\xff\xfb\x91\x51\x95\x85\x78\xd1\x31\xe3\xc2\xec\x18\xfd\xf1\x04\xb3\x38\xd1\x97\xba\xcc\xda\x89\x30\x63\x5c\x01\x2b\x87\x09\xc4\xe8\x99\x62\xc3\xf8\x3b\xb7\xbd\xc6\x81\x8e\xc7\x24\x6a\x1d\x36\x92\x71\xff\xb5\xd3\x0e\x5f\x59\x74\xc5\x84\x3e\x25\x7c\x88\x93\x64\x8e\xd2\xa2\x47\x49\x37\xd0\x92\x39\xb4\x45\x7b\x6b\x87\xba\xe6\x60\x05\xca\x6a\x5b\xcb\xac\x11\xc7\xc4\x64\x0e\x6d\x8e\xf0\x96\xf0\x8d\xb1\x9b\xb6\x1c\xd5\xb6\x19\x5a\x82\x70\xd2\x54\x38\x39\x22\xb6\x71\x58\xd9\x24\xdc\xe4\xc7\x7f\x93\x2b\x2c\x9f\xfc\x4a\xe6\x70\xa1\xbb\x62\xf4\x85\x2a\xbe\xe5\x92\xbe\xff\x6e\xf2\x5e\x9e\x5e\xb0\xfa\xdd\xac\x1a\xfa\xea\x57\xa1\x32\x7a\xcd\x8b\xb6\x8c\xbe\x79\x0c\xd3\x2b\x8f\xc3\xfd\xe8\x77\xe8\x7e\xcb\x5b\x76\xbf\x3c\x13\x21\x29\xb7\xaf\x09\xa2\xc4\x7c\x80\x95\xd2\x0c\x69\x03\x1b\x75\x2d\xd7\xec\x63\xf9\xd4\xac\x2a\xfb\x27\xa2\x0a\x2f\xb7\x5d\xac\x71\x13\x85\x79\x16\x46\xbe\x7f\xfe\xd4\x60\x1b\xbf\x31\x71\xa7\xf1\x91\x5c\x31\xef\xe3\x2b\x4c\xdf\x94\xc1\xac\x31\xf1\xaf\xa5\x48\x7d\x33\x86\xbb\x2a\x1e\xf2\x18\x0b\xd6\x2f\xbb\x41\x5a\x33\xc2\xd2\x25\xf6\x16\x4f\x6e\xf1\x4a\x0e\x47\x74\x19\x8d\x9a\x9e\xc5\xa3\x39\x81\x25\x49\x6b\xc5\xdc\xee\xdd\x02\xd9\xd7\xdd\x4e\x68\xdf\xbc\x0a\xc2\xe2\xae\x47\xb5\x1f\x07\xb0\xb7\x1a\xeb\xa4\x10\xf6\x5c\xb1\x75\xe3\xce\xca\xce\x90\x4b\x2a\xcc\x8e\xa6\x9a\x40\x41\x2a\x2a\xfd\xfa\xec\x11\x17\x46\xda\x8c\xed\x99\x35\x0e\xad\x4e\xbf\x73\xdf\xed\x9f\xa3\x0e\x8a\xb1\xc2\xfa\x90\x0a\x32\x13\x44\x12\xa6\x8c\x29\x82\x29\xaa\xe6\x68\xca\x63\x92\x18\x3b\x80\x31\x0e\x5e\x62\x85\x2f\xb0\xc2\x09\x1f\x9f\xa1\x0e\xfc\x53\x7f\x4c\x25\xc2\x89\xe4\x08\xbb\x8d\x43\x62\xd7\x04\x66\xb1\x63\x0f\x18\x45\x7c\x3a\xa3\x89\xc9\x6b\xf3\xfd\xdb\x94\xc5\xf4\x99\xc6\x29\x4e\x10\x1f\x82\x0d\xe5\xec\x91\x75\x9f\x09\x53\x29\xe8\xb8\x38\x49\x90\xed\xd6\xbd\xe0\x19\x30\xdc\x28\x25\x9d\xd2\x04\x0b\x2d\x3d\x9a\xd1\xde\xd8\xb6\x50\x7f\x42\xb2\xb1\xc2\xb8\x34\x35\xa7\xf8\x89\x48\x44\x15\x9a\x71\x29\xe9\x30\xc9\x8f\xf1\x43\x0f\xc1\xb8\x2f\xae\x7a\xe0\x34\x8c\x14\xe2\x86\x0f\xba\xce\xad\x07\xdd\xf5\x38\xc5\x8c\x11\xe8\x98\xab\x09\x11\xb6\x7b\xfb\xf2\x6b\xfb\xff\x1e\xae\x6d\xba\x58\xf7\x72\xd1\x01\xd8\xef\xdc\xff\xb8\xf8\xab\xcb\x0f\x5b\x7c\x72\xd5\x79\xb8\xbe\xf8\x61\x70\x7b\xd5\xa9\xc8\x3b\xb3\xdb\xaa\xb1\x2f\xd1\x1f\xd9\xe6\x87\x69\xff\x8a\x46\x4b\x43\x13\x9b\x1b\x1d\x1a\x59\x1c\x1a\x9b\x1b\x9a\xda\x1a\x9a\x19\x1a\xea\xad\x0c\x7b\x08\x53\x6b\x6e\x0a\xb8\xa2\xb2\x68\x0b\x38\x8e\x98\xb5\xc2\x90\xf5\x1c\xf6\x6d\x08\xf8\xea\xac\x00\x5f\xa9\x09\x20\xe8\xff\x7b\xa1\xdb\x5b\x55\xfe\x5b\xae\xf9\x6f\x13\x94\x9a\xe1\x5f\x84\xa8\xd4\xc5\xa8\x54\x12\x82\x52\x43\x50\x6a\x53\x02\x85\xa0\xd4\x10\x94\x7a\xb4\x41\xa9\x65\x45\x2b\x78\x6c\xdb\xe0\xb1\x6d\xb9\x8e\xd6\x66\x87\xed\x5b\xd5\x5c\x82\xf3\x32\x38\x2f\x83\xf3\xf2\x48\x4f\x6e\x70\x5e\x36\xa7\x51\x70\x5e\x06\xe7\x65\x70\x5e\x06\xe7\x65\x70\x5e\x06\xe7\xe5\x6b\x9a\x46\xda\x10\x1b\x7a\xcc\x2e\xdb\xe0\x89\x5d\xe1\x89\x6d\xb9\x92\xdf\x4a\x47\xec\x5b\xd5\x11\x82\x6a\x1f\xfc\x92\x5b\x4d\xbb\x55\x4a\xfd\x5b\xbb\x37\x83\x2b\xb6\x39\x21\x82\x2b\xb6\x31\xa9\x82\x2b\x76\x09\x71\x82\x2b\x36\xb8\x62\xbf\x42\x57\x2c\x8d\xb7\x2e\xb9\xd5\x44\x6f\xd1\xb2\x62\xdc\x05\xf3\x50\x66\xdc\x12\xbf\x81\xf4\x88\xe5\x53\x66\x01\x6a\xa0\xcf\xf4\xe2\xa3\x50\x64\x2a\x27\x7c\x08\x85\x66\x1b\x8d\x05\x2b\xcd\xc1\x15\x40\x15\xe8\x27\xb9\x51\xb1\x85\x35\x02\xb6\xd1\x51\xbc\x89\x79\x6a\x8a\xd3\x3e\x3c\xa2\xb4\x6f\xda\x41\xf0\x0b\x82\x5f\x90\x6d\x1a\x4e\x38\xc8\x36\xed\x95\x6d\x5e\x4b\x61\x69\xdf\xf1\x3c\x3a\xfb\xc4\xde\xc5\x52\xd9\x18\xb4\xcd\x94\xc9\x06\xd7\x5d\x3a\x4b\x38\x8e\x57\x05\xc8\xfd\x86\x72\x59\x6d\x89\xb8\x69\xda\xd5\x1f\xb4\x5c\xda\x5c\x88\x8d\x33\x23\xff\x1a\x50\xe3\x6b\xa7\xfe\xaa\x78\x66\xb0\x7f\x33\xd4\xa2\xb5\x10\x08\xf7\xbf\x99\xdb\x9e\x8d\xf7\xca\xbb\xf9\x4d\xa6\xde\x85\x23\xba\xfa\x88\xc2\x1f\x85\x00\xef\x7d\x59\x42\xca\xc7\xb6\x91\xd1\x43\xfe\xb5\xe5\xe7\x36\x5b\xdf\x43\x98\x38\xde\xe4\x29\x7d\xc3\xce\xe6\xe0\x50\x5e\x1e\xf5\xb3\xa3\x00\xd4\x47\xd6\x9f\x68\x3a\x4c\x87\x94\x65\xf1\x76\x6e\x87\xfc\xc9\x91\xeb\x4f\x80\x75\x69\xf1\x2f\x93\x79\x6e\x0a\x93\xe5\xd6\x32\x45\x09\x9d\x6a\x2d\x35\x22\x42\x01\xbd\x39\x53\xe4\x8b\x92\xe8\x14\x25\xf4\x89\xa0\xf7\xfa\xc8\xa3\xce\x6d\xef\xfd\x09\x7a\x7f\x85\x53\x16\x4d\xd0\x2c\xc1\x4c\xbe\x6f\x8d\x82\x15\x6c\x66\xa1\x9a\x4a\xf0\x96\xee\x92\x38\xc1\xa2\x18\x2c\x8a\xad\xb3\x28\xb6\x45\x67\x30\x49\xa5\x78\x4a\xda\xa2\x3d\xb4\x5d\xeb\x0f\xda\x43\xd0\x1e\x82\xf6\x10\xb4\x87\x82\xf6\xd0\x0e\x0a\x07\xd5\x21\xa8\x0e\x41\x75\x08\xaa\x43\x50\x1d\x76\x4e\xc6\xa0\x3a\x2c\x53\x1d\xe0\x2f\x87\x1b\xb3\xae\x1e\xd1\x58\x7f\x68\x00\x12\x73\x34\xca\x43\x50\x1c\x82\xe2\x10\x14\x87\x83\x2b\x0e\xad\x99\xd0\xdb\xc3\xbb\x08\x88\x11\x01\x31\x22\x20\x46\xd4\x20\x46\x1c\x4a\x64\x33\xf2\xda\x91\xa5\xc8\x1c\x85\xd0\xf6\x6a\x39\x32\x6f\x4f\x8c\x0b\x59\x3f\x21\xeb\x27\x98\x21\x43\xd6\x4f\x30\xb4\x05\x43\x5b\xab\x0d\x6d\xaf\x65\x3d\x3f\xf0\xf1\x3c\x80\x70\xda\xf2\x88\xe5\xef\x8e\x41\x02\x3d\x60\xcc\x41\xb0\xb2\x05\x2b\x5b\x35\x65\x8e\xd3\x3d\xdf\x9a\x5b\x3f\x00\x3c\x05\x89\x3f\x04\x1e\x84\xc0\x83\x95\xc4\x09\xfa\x50\xd0\x87\x5a\xa7\x0f\xbd\xa2\xa2\xd0\xba\x30\xe5\xa0\x31\x04\x8d\x21\x68\x0c\x6f\x56\x63\x68\x0d\x85\x83\xba\x10\xd4\x85\xa0\x2e\x04\x75\x61\x39\x71\x82\xba\x10\xd4\x85\xa0\x2e\xb4\x3a\x34\xf9\x58\x14\x86\xa0\x2c\x04\x65\xa1\xdd\xca\x42\x6b\x26\x14\x82\x78\x43\x10\x6f\x08\xe2\xfd\x6a\x82\x78\xdf\xa8\xc2\xbe\x57\x31\xcd\xb1\xc8\x65\x82\xd7\xa2\xbc\xf4\xf3\x02\x63\x6d\xad\xc8\x94\x8f\x76\x53\xdc\xc7\x5d\x91\xfa\x85\x8b\xa7\x51\xc2\x5f\x06\x99\x56\x67\x83\xc2\xf3\x7f\xdb\x7c\x3e\xef\x87\x5c\x78\xf6\x7e\xcc\x84\x68\xef\x37\xd7\x7a\x11\x20\x34\x5d\x85\x0f\x2a\x11\x17\x28\x9d\xc5\xf0\x67\x94\x4a\xc5\xa7\xf5\x52\xf5\x67\xac\xa2\x09\x1e\x26\xa4\x93\xf5\x7b\xc1\xd9\x88\x8e\x53\xb3\x3f\x7e\x03\x56\x88\x9d\x64\x73\xe2\x24\x23\xcd\x14\xdd\xf8\x96\x49\xe2\x0f\x30\x8e\x5f\xec\x9b\x79\x27\x47\x11\x80\xbe\x38\x6c\x33\x9d\x43\xc1\x8d\x16\x77\xd1\xb6\x2c\xce\x6b\xad\x1d\xe2\xcf\xe2\x99\x58\x25\xaa\x82\x15\x3a\xd3\x4c\x68\x0c\x9b\xf3\x65\x42\xc1\xb2\x06\x96\x38\xb0\x3e\xe5\x0d\xa3\x17\x9a\x24\x20\x71\x18\x5a\xb4\x6f\xe6\x8d\xb4\x17\x3b\x71\x7b\xf6\xde\xc4\xbc\x1d\xf3\x58\x31\x73\x77\x04\x8d\x1b\xe2\x48\xa7\xfd\x9a\x08\xbb\x2b\x18\xd9\xab\xe2\xec\xd6\x5e\x9f\x35\x39\x55\x1f\xfe\x55\x79\x25\x36\xa9\x9d\xfa\xda\xf7\xe0\x27\xa2\xde\xcc\x25\xf8\x89\xa8\x43\xdd\x80\x6f\xf1\xda\xdb\xf4\xae\x5b\xca\xf8\x04\x19\x11\x41\x58\x44\x8e\x35\x27\x6b\xe1\x8a\x3b\xda\xe9\x6e\x74\xb3\x1d\xed\x6c\xd7\x31\x60\xfd\x62\x26\x69\xcd\x55\x53\xc7\x72\xfd\xa9\x2a\x6e\xdd\xcb\x05\x17\x98\x35\x56\xf5\x3b\xf7\x3f\x0e\xee\xba\xf7\x37\x0f\x77\x17\xdd\x73\xd4\x81\x83\x0e\xdf\x18\xf6\x4e\xff\x09\xcd\x41\x3e\x6c\x66\x0c\x13\xe6\x8e\x93\xc0\xaa\xc1\x0d\xae\xa9\x88\x4e\xd1\xc5\xd5\xc3\x7d\xbf\x7b\x57\xd3\xa0\x65\xfe\x94\x8d\x91\x22\xd3\x59\x82\x15\x89\xd1\x53\x3a\x24\x82\x11\x50\xac\x92\x54\x2a\x22\x72\xe7\xb8\x69\xb4\xfb\xf7\xee\xc5\x43\xbf\x77\x73\x3d\xf8\xe9\xa1\xfb\xd0\x3d\x47\xee\x16\xd1\xcd\xea\x71\xe9\x51\xc4\x73\x86\xa7\x34\x32\x3f\x64\xa5\x68\xd1\xef\x29\x49\x09\xc2\x52\xd2\x31\x9b\x12\xa6\xca\x2d\xba\x01\x5f\x75\xbe\xef\x5e\x15\x5b\x9e\x10\xf4\xe3\xdf\xf2\x41\x25\x78\x48\x12\xeb\xad\x07\x07\xb4\xbe\xbc\xf2\x8e\xac\x1b\x3f\x35\x54\xfd\xe9\xa1\x73\xd5\xeb\xff\x3a\xb8\xf9\x38\xb8\xef\xde\xfd\xdc\xbb\xe8\x0e\xac\x31\xe6\xa2\xa3\xfb\x2d\xf4\x64\x6d\x36\xe8\xf7\x14\x27\x54\xcd\xf5\x3a\x4a\x73\xe9\xa3\x97\x09\x61\x28\x65\x70\x81\x18\x4b\x21\x66\x5e\xa7\x72\x46\x22\x33\xa3\xdb\xab\x87\x4f\xbd\xeb\xc1\xcd\xcf\xdd\xbb\xbb\xde\x65\xf7\x1c\xdd\x93\x04\x6c\x69\x8e\xe8\xb0\x8a\xb3\x24\x1d\x6b\x4e\x30\x9d\x25\x44\x53\xc3\xd8\x0a\x87\x64\x82\x9f\x29\x17\xf6\x3a\x1e\xd3\x67\xc2\x0c\x1d\xf5\xb6\x32\xed\x3b\x9b\xd5\xc0\x23\xdd\xcd\xf5\xc7\xde\xa7\x73\xd4\x89\xe3\x6c\x0e\x12\xda\x28\xec\x1c\x77\x74\x4f\x8b\xc3\xa6\x23\x1a\x41\xf7\x66\x13\xf1\x67\x22\x04\x8d\x49\x69\x1f\x75\xee\xef\x7b\x9f\xae\x3f\x77\xaf\xfb\x40\x31\x25\x78\x22\xd1\x84\xbf\x80\xa3\x17\x66\x08\xfe\xdf\x67\x4c\x13\xe8\xcc\x2d\x16\x67\xfe\xe9\xf7\x7a\x36\x66\x4d\x91\xb2\x57\xf7\x5d\x16\x0e\xde\xa2\xb5\xaf\x7c\x92\x16\xdf\x28\x1d\x8b\x65\x2f\x14\x76\xf9\xe2\x8b\xab\x76\xeb\xe2\x17\xa5\xed\x56\x6f\xe3\x5c\xd8\x2f\xf5\x33\xcd\xd7\xba\xb1\x89\xb3\x48\xc3\x7d\xc8\xd8\xee\xeb\x77\x31\x49\x88\x22\xb5\x32\xf1\x25\x3c\x7e\x7d\x99\xd8\x8c\xe3\xcd\x88\xc5\x66\x3a\x41\x32\x0e\x92\x71\xe3\x09\x07\xc9\xb8\x6a\xc2\x6f\x44\x32\x6e\xa1\xd5\xc7\xb1\xa8\xd6\x59\x7d\x82\x7f\xa4\xb4\x52\xc7\x79\x05\xbe\x9a\x7b\x24\xf8\x0f\xd6\xbb\x42\x8e\x7f\xde\xc1\x7f\x10\xfc\x07\x95\x37\xc9\x9b\xf7\x1a\x1c\xe7\xd5\x70\x40\xa7\x41\x50\x23\x96\xcc\x37\xa8\x11\x47\x36\xdb\x60\x60\x0f\x06\xf6\x60\x60\x0f\x06\xf6\x60\x60\x47\x9b\x1a\xd8\x1b\x70\xd9\x43\x98\x53\x5b\x1a\x44\xfc\x56\xdc\x06\xc7\x29\x17\x1f\xd6\x6b\x10\x44\xe3\x25\xf3\x0d\xa2\xf1\x91\xcd\xb6\x85\x76\x91\x76\x59\xd8\x69\x5c\x65\x10\x39\x20\x34\xbd\x1b\x49\x53\x78\x7a\x47\xd0\x5e\x7c\x14\xec\xfc\xd5\x10\xea\x03\x9e\x7b\xc0\x73\x0f\x70\x2d\x01\xcf\x1d\x05\x40\x92\x00\x48\xd2\x66\x40\x92\x06\xcb\xf8\x16\xf0\xdc\x0f\x63\x61\x78\x43\x49\xca\x4e\x30\x94\x85\xd8\x0d\x2e\x57\x05\x6f\x80\x95\x20\x9d\x25\x1c\xc7\xcb\xc0\x62\x9c\x1c\xe9\x03\xc6\x2c\x11\x3d\x4d\xdb\xbf\x2c\x2a\x4f\xad\x95\x3c\xdd\x58\xcd\xc8\x0f\x65\x3e\x68\x8d\xc2\xe5\xa6\xdd\x0a\x35\xab\x58\xbb\xb5\x85\x1b\xfa\xa8\x02\x6a\x0f\xbb\xa3\xdf\x64\xd1\xd6\x70\x4c\x57\x1f\xd3\xc3\xd5\x47\xa9\x3a\xba\x8d\x0d\x21\xf2\xaf\xc7\x74\x76\x0f\x84\x7c\xfc\xf6\x4e\x6c\x40\x68\x0b\x08\x6d\xb5\x94\x39\x4e\x38\xe7\xd6\x28\x5e\xc1\x96\x16\xa0\x8f\x03\xf4\xf1\x2e\x89\x13\x2c\x8d\xc1\xd2\xd8\x3a\x4b\x63\x9b\x74\x88\x3d\x96\x4e\xd9\x4e\x9b\x38\x2a\x4b\x40\xd0\x26\x82\x36\x51\x31\xb5\xa0\x4d\x7c\x85\xda\x44\x3b\x28\x1c\x54\x89\xa0\x4a\x04\x55\x22\xa8\x12\x41\x95\xd8\x39\x19\x83\x2a\xf1\x3a\x65\x55\xaa\xf4\x89\x86\x29\xa9\x47\xa5\x4c\x04\x45\x22\x28\x12\x41\x91\x08\x85\x63\x96\xcf\x29\x14\x8e\x09\x85\x63\x42\xe1\x98\x37\x50\x38\xe6\x90\x22\x5c\x0d\x5a\xf9\x71\xa4\xd9\x1c\x85\x10\xf7\x6a\x79\x36\x6f\x4f\xa4\x0b\x99\x43\x21\x73\x28\x98\x28\x43\xe6\x50\x30\xc2\x05\x23\x5c\xab\x8d\x70\xaf\x65\x59\x3f\xf0\xf1\x3c\x90\xa0\x7a\x24\xd1\xce\xdf\x1d\x83\x34\x7a\xe0\xf8\x84\x60\x81\x0b\x16\xb8\x6a\xca\x1c\xa7\x2b\xbf\x35\x52\xc0\x31\x56\x8e\x0d\x1a\x40\x73\x42\x84\x20\x85\xe6\xb4\x0a\x41\x0a\x4b\x88\x13\xf4\xa3\xa0\x1f\xb5\x4e\x3f\x7a\x65\xc5\xa1\xb5\x21\xce\x41\x83\x30\xef\x05\x0d\x22\x68\x10\x6f\x54\x83\x68\x0d\x85\x83\xfa\x10\xd4\x87\xa0\x3e\x04\xf5\x61\x39\x71\x82\xfa\x10\xd4\x87\xa0\x3e\x1c\x4d\x58\xf3\x31\x29\x10\x41\x79\x08\xca\x43\xbb\x95\x87\xd6\x4c\x28\x04\x00\x87\x00\xe0\x10\x00\xfc\xd5\x04\x00\xbf\x51\x05\x7e\xb7\x62\xdb\x7f\x58\x42\xbd\xf3\x04\x8c\x4c\x12\x79\xf7\x7d\xc2\x87\xfd\xf9\x8c\xe8\xff\xbd\xa4\x53\xc2\x24\x50\x82\xaa\xb9\x2f\xa6\xd5\x6c\xa8\xc5\xad\xf4\xee\xbe\x77\xfd\xe9\xca\x2f\x0f\xf4\xee\xf3\xc3\x55\xbf\x77\xdb\xb9\xcb\x96\x3b\x9b\x95\xbf\xc4\xf6\xbb\x82\xa4\x69\x4f\xf2\x1d\xd1\x2a\x35\x30\x83\x7b\x85\x55\x2a\x37\x1b\xd9\x5d\xf7\xbe\x7b\xf7\x33\x94\x37\x1a\x5c\xf6\xee\x3b\xdf\x5f\x15\xf6\x79\xe1\x79\xe7\xe2\xa7\x87\xde\x5d\xfd\xf3\xee\xdf\x7b\xf7\xfd\xfb\xba\xa7\x77\xdd\xab\x6e\xe7\xbe\xfe\xeb\x8f\x9d\xde\xd5\xc3\x5d\x77\x29\x3d\x96\x8e\x76\xb9\x6e\x25\x81\x48\x50\xe2\x03\x45\x96\x19\x8a\x9c\x86\x28\x93\x8a\x1d\x97\xaf\xea\xeb\x1c\x3d\x58\x53\x05\xb5\x8d\x9b\x7b\xc3\x6b\xc8\xe8\x58\x31\x95\x78\x98\x90\x78\xa1\x25\x47\xc3\xba\x96\x70\x61\x50\x2f\x58\x7a\x92\xb4\x66\xe5\x91\x39\x3e\x08\x8a\xae\x29\xc2\xe2\x8a\x3e\xcc\x3a\xd4\xf6\xc0\x34\x4b\xa6\xcf\xa4\xd0\x53\x94\x0a\x41\x98\x4a\xe6\x88\x7c\xa1\x52\xc9\x85\x46\xdd\xf2\xd5\x35\x6b\x19\x42\xd6\xe0\x04\x4b\x34\x24\x84\x15\xc7\x2f\x48\x42\xb0\xac\x18\xb3\x5d\xfd\x66\x64\xc9\xd6\xca\x1a\x99\xcc\x1d\x3b\xc2\x34\x49\x05\x29\x9d\x16\x3e\x9d\x61\x41\x25\x67\xdd\x2f\xfa\x8a\xd6\x07\xf9\x06\x3e\xe7\x62\xb3\x13\xd3\xfd\xc9\xdf\xc1\xd7\xc5\x7f\x7e\xea\x17\xff\x55\x38\xf3\x57\xfd\xe2\xbf\x96\xef\x75\xaf\xe1\xf2\xce\x3e\x45\x9f\xfa\xe7\xe8\x13\x40\x8c\x0a\xd4\x9f\x60\xb3\x63\xaf\xfa\xe7\xe8\x8a\x48\x09\xbf\xe4\x1f\x2b\xaa\x12\x98\xdb\xf7\x94\x61\x31\x47\x6e\xfa\xa6\x72\x1f\x8e\x26\x88\x64\xa4\x29\x13\x8f\xfd\x23\x65\x60\x91\xc8\xa9\x77\xc5\xc7\x34\xc2\xc9\x76\x44\xec\x5c\x17\xf8\xc0\xcd\xdd\x52\x52\xf8\x6f\x2f\xd2\xa2\x73\x7d\x09\x55\xf1\xdc\x50\x2b\x66\x7e\x4d\xa4\xde\x24\x11\x67\xb1\xf5\xa9\x69\xa1\x66\xee\xe9\x2a\xff\xe0\x50\x59\x30\x95\x94\x8d\x75\x8b\xe8\x03\xba\xb9\x7b\x64\x37\x22\x36\xf6\x5d\xa2\x85\x7c\xb3\xe7\xa8\x44\x8c\x2b\x44\xa7\x33\x2e\x14\x66\x4a\xeb\x37\x20\xdd\x58\x8a\x18\x0e\x70\xc1\xa7\xd3\x54\x61\x7d\xd0\x16\x88\xca\x8c\x95\xe7\x9e\xa8\x5e\x0c\x8e\xb0\x0a\x1a\x1a\xf1\x27\x9f\xcb\x4c\xe8\xf6\xb5\xe8\x55\x34\x0d\xd0\x78\x41\x43\x77\x4d\x60\x21\x70\xf1\x02\x7e\x47\x15\x99\x96\xdf\x6f\x78\xed\xfe\xbb\xd2\xee\x71\x61\xb2\x22\x88\xe8\x88\x68\x42\x15\x89\x94\x3e\x82\x1b\xed\x89\x87\xeb\x1f\xaf\x6f\x7e\xf1\x05\xa3\x77\x9d\xcf\x97\xff\x55\x80\x81\xed\xdc\x7d\x5e\xf8\x61\xf0\xf3\x7f\x2d\xfc\xf2\xff\x5f\xba\x9f\xca\x3d\x2d\x98\x2f\xbc\xb9\x9c\x82\xa6\x00\xa6\x6e\x37\x55\x44\xa7\x78\x4c\x90\x4c\x67\x7a\x07\xc8\xb3\xe2\xfa\x6a\x49\xf9\x8a\xe3\x98\xb2\xb1\x29\xfe\x76\x45\x15\x11\x38\xf9\x8c\x67\x1f\x9d\x59\x7e\x03\xea\xfc\x9f\xfb\x42\x01\xc2\x77\xbf\x76\x3e\xfb\x25\x0c\xdf\xdd\xde\xdd\xf4\x6f\x96\xce\xba\xd0\xc2\xe2\x31\xd2\x8f\xcf\xe1\xff\xa3\x0f\x48\xb7\x9e\x09\xf4\x53\xa2\xb0\x56\x74\xd0\x1f\x4c\xbd\xac\x2c\x13\x86\xb2\x04\x4e\xcd\x4c\xd0\x29\x85\x2b\xc5\x18\x26\xbf\x31\x3a\x43\xa6\x14\x65\xe7\xc6\x7c\x00\x46\x00\x77\x29\xb3\x18\x8b\x18\xfd\x43\x96\xeb\x61\x82\x3d\xdc\xfc\x40\x62\x74\x8a\x26\x4a\xcd\xe4\xf9\x87\x0f\x2f\x2f\x2f\x67\xfa\x6d\x2d\xc0\x7e\xd0\x7f\x9c\x12\x76\x36\x51\xd3\xc4\xd4\xff\xd4\x54\x38\x47\xb7\x82\xeb\x2b\x04\xec\x0e\x44\x50\x9c\xd0\x7f\x92\x18\x0d\x0d\xff\xe3\x23\xf4\x5b\xc4\x05\x39\xcb\x17\xc6\xda\xca\xec\x3d\x62\xed\x69\x1f\xf4\x4b\x15\xcc\xa4\xbc\x9e\x28\x26\x11\x8d\xad\x98\x41\x58\xc4\xc1\xa0\x6a\x5c\x30\xba\x3d\x57\x64\x4c\x2b\x6a\xb3\x54\xe5\xe4\xf4\x74\x30\x1c\x13\xaf\x7c\xa7\x95\xaf\xb3\x0d\xa7\xf5\xb9\x9e\xd1\xc6\x53\x49\x04\xdc\xad\x18\x6e\x55\xf7\xea\x4c\x4f\x38\xe2\x09\x1a\xa6\xa3\x11\x11\x7e\xf8\xc0\x89\x56\xd2\xa8\x44\x82\x44\x7c\x3a\x05\x89\x41\x7f\x95\x4a\xb3\xab\x81\x62\x76\xb4\x67\x8f\x0c\xd6\x5f\x6b\x6f\xb0\x03\x62\x0e\xac\x8e\x11\x12\x23\xcc\xe6\xa6\x9b\x61\x3a\xf2\xdb\x37\x75\x75\x71\x8c\xa8\x7a\x64\x9d\x24\x41\x82\x4c\xb9\x22\x5e\xf9\x34\x70\x75\x16\x09\x0e\x2c\x52\x90\x59\x82\x23\x12\x9b\xfd\x90\xf0\x08\x27\x68\x44\x13\x22\xe7\x52\x91\xa9\xdf\xc0\x1f\xc0\x04\xa5\x69\x46\x25\x8a\xf9\x0b\x4b\x38\xb6\xf3\x28\x7f\xf6\x4d\xf1\x34\x76\x5d\xcd\xd3\xae\x10\x5c\xc0\xff\xfb\x91\xb2\x78\x67\x1c\xea\xe1\xbe\x7b\xe7\xff\xfb\xfe\xd7\xfb\x7e\xf7\xf3\x7a\xdc\x27\xdb\x59\x30\x3c\x30\x4d\x9c\xa3\x7b\x43\x04\x2e\xb4\x44\x24\x6a\x26\xf5\xd9\x6e\xa5\xfc\x07\x1e\x6f\xc8\x7d\x3f\x77\xae\x1f\x3a\x05\x8e\x72\x7f\xf1\x43\xf7\xf2\xa1\xa4\x0f\xd8\xf9\x15\x64\x78\xa3\xd5\xfa\xbf\x5d\xfc\xd0\xbb\xba\x1c\x54\xe8\xc1\xef\xee\xba\x17\x37\x3f\x77\xef\x72\x95\xb5\x92\x44\xa5\xc1\x94\x99\x55\xdf\x30\xa5\x09\x8f\xd1\x70\x5e\x5d\xe1\x56\x4b\xce\x09\x78\xce\xf3\x1a\xcf\xa6\xd5\x73\xe0\x4d\xae\xd8\x70\xfe\xc5\x94\xc7\xe4\xc4\xbe\x03\xa5\x81\x8d\xcd\xc8\x48\xcc\xd5\x0d\xeb\xde\x31\xf3\xec\x2f\xa6\x6a\x6f\x46\xb8\x73\xd4\x41\x52\xbf\x98\xea\x43\x2d\xe8\x78\x0c\xf6\xd0\xd2\x50\x4d\x6b\xf6\x53\x20\x2f\x7c\x67\xd6\x7f\x26\x38\x9c\x73\xdd\xad\x35\xa4\x67\xc6\x16\xf3\x21\x94\x91\x2e\xb6\x28\x30\xd8\x51\x2a\x86\xe6\x16\x4b\x13\xa1\x96\x5e\xe6\x3c\x1a\x33\x98\x3e\x5c\xc0\xb6\xa4\x31\xe3\xce\x04\x79\xa6\x3c\xf5\x3e\xb5\x95\x8a\x0b\x2b\x5e\xd9\x7c\x4e\x00\x20\x9b\xb1\xf5\x94\x9a\xc9\xb6\x47\x65\x0b\x9a\x85\x3d\x43\x0b\x23\xc1\xa7\x15\x6d\x14\x8f\x49\xef\xe6\x5e\x09\xac\xc8\x78\x7e\x69\x59\xc6\xe6\xc7\xe3\xf2\xe6\x97\xeb\xab\x9b\xce\xe5\xa0\xdb\xf9\x54\x3c\xf1\xd9\x93\xfb\xfe\x5d\xb7\xf3\xb9\xf8\x68\x70\x7d\xd3\x1f\xb8\x37\x96\x6e\xf9\x9a\x0e\x16\xef\xe9\xe2\x8b\xe7\x48\xb3\x5c\x60\x8d\x2f\x34\x49\xf4\x65\xe2\xf1\xc7\x21\x19\x71\x61\xf8\xfc\xd4\x05\x9a\x58\x11\xc6\xd1\xd6\xea\x62\xa5\x59\x9c\x83\xc1\xaf\xaa\x49\x63\xcc\x57\x82\xe0\x29\xdc\x13\x98\xa1\x2e\x8b\x4f\x6f\x46\xa7\xf7\xe6\xc7\x29\x16\x4f\x44\x64\x9f\xbe\x08\xaa\x14\x61\x05\x95\x0e\xbb\x21\x67\x4a\x62\xde\xc1\x19\xba\xd3\x7c\x5f\xbf\x9f\x5d\x6a\x7a\xb3\xc7\x44\x61\x9a\x48\x3b\xd8\x02\x5d\xcf\xd1\x15\x16\xe3\xdc\xbc\xf8\x07\x3e\x1a\x99\xc6\xbe\x31\xc3\xd0\x77\x58\x61\x16\x15\xbc\x57\x6f\x0d\x77\x2f\x42\x7f\xf6\xe5\x4c\x1e\x5e\xdc\x55\x0f\xb3\xed\xf6\xd4\xc3\x2d\x50\xdc\x68\xec\x05\xdd\xd0\x3e\xa9\xd8\x6b\x30\x71\xf3\x78\xf9\x25\x53\xdd\xf6\xe2\x76\x2a\xbe\x58\xb1\x9d\x4c\x85\x16\xbd\xf2\x23\xad\x6d\x56\xec\x25\xf2\x85\x5a\x83\x81\x3f\xee\xd2\x16\xca\x9b\x01\xab\x31\x9e\xcd\x08\x16\xb2\x6a\xb5\x8b\x62\x60\xcd\xda\x9b\x9e\xfc\x3e\xec\x22\xbb\x7e\x4e\x10\x67\x60\x70\xc8\x84\x88\xd2\x8e\x6c\xb0\x07\x4c\x5b\x0b\x3b\xe0\x16\xca\xc7\xdf\xd8\x52\xed\x9f\xa9\xd4\x4a\xa3\xf9\xf1\x7b\x5b\x43\x7e\xb3\x0d\xf1\xb1\xd3\xbb\x2a\x09\x17\x83\xcb\xee\xc7\xce\xc3\xd5\x72\x33\x61\xe1\xbb\xf2\x12\xa3\x53\xa4\x9f\x17\xc3\x01\xe8\xc8\xdc\x19\xae\x12\xbe\x51\x69\x09\x03\xa3\x95\xad\x52\x6d\xcc\xf0\x31\x99\x25\x7c\x3e\x25\x0c\x4c\x3c\x85\x9b\x50\xd3\x73\x84\xa9\xbd\x5a\xbc\xc1\x82\x15\xc7\x9a\xdd\xe0\x1a\x3b\x75\xe5\xf7\x49\x9c\xdd\xbc\xc5\xea\xfb\x25\xd6\x7d\x6b\x9c\x82\xf6\x7f\xee\x15\x56\x1b\x9e\xb1\xce\x45\xbf\xf7\x73\xb7\xa8\x1f\x5e\xfc\xd0\xfb\xb9\x4a\xaa\x19\x7c\xea\x5e\x77\xef\x3a\xfd\x15\xc2\x49\xa9\xc9\x2a\xe1\x44\xea\x01\x97\x9d\xc2\x54\x66\x81\x4e\x91\xa9\xe1\x8f\xa8\x92\xe8\x99\x4a\x3a\xa4\x09\x55\x73\x64\x1d\xac\x0f\x3d\xe0\xac\xcf\x38\xa1\x31\x55\x73\x27\xbe\x98\x7e\x8b\xeb\xa8\x39\xa9\x6d\xdf\x98\x1d\x7c\xb7\x2b\x58\xf9\xcc\xe2\xb8\x49\x9f\x23\xd0\x6d\x9f\x41\x69\xf3\x3e\x63\x5a\x90\x66\x63\x22\xcc\x70\xc0\xa9\xe4\x8f\xc5\x7b\xae\x47\xe5\x0b\x2b\x39\xd5\x32\xa1\x75\x4c\x18\xd1\x2c\xd2\xeb\xc4\x08\x52\x82\xb0\xf7\x5a\xe6\x9a\x25\x34\xa2\x2a\x99\xa3\x08\x6c\x58\x60\xce\x9c\x62\x86\xc7\x56\x38\x00\x35\xa7\xb4\x25\x7e\x4a\xc1\x00\x7f\x33\xb2\xa6\xfd\x3e\x25\x1b\x1e\xb3\x87\xeb\xcb\xee\xc7\xde\x75\x71\x0b\xfc\xd0\xfb\x54\x10\x61\x3f\x77\x2f\x7b\x0f\x85\xdb\x5c\x4b\xb2\xcb\xe5\xfa\x72\xb3\x15\x47\x31\x7b\xe9\x1c\x5d\x9a\x4f\xcf\x35\x71\x7f\x37\x93\xd3\x5b\x46\x9a\xe9\xe5\xca\x6f\x89\x0e\x77\x2e\xd2\xd0\xfd\xd1\x65\x4a\x54\xfa\x25\x9a\x9a\x90\xac\x57\xa8\x60\x43\xaa\x8e\xc0\x58\xe8\xfb\xba\xec\x2b\x2f\x4f\xd9\xbd\x08\x21\xb2\x67\xb9\x65\xc9\x0f\xcd\x00\xa3\x41\x9d\x11\xab\xc2\x5b\x97\x33\xec\x9f\xc1\xf3\x3e\x4d\xa5\x32\x1e\x52\xd8\x9c\xe8\xe9\x6f\x52\x13\x14\x3c\xa8\x67\xe8\x9e\x90\x47\xe6\xac\x07\x63\xaa\x26\xe9\xf0\x2c\xe2\xd3\x0f\x4f\xe9\x90\x08\x46\x14\x91\x1f\xf0\x8c\x4e\xb1\x96\xa4\x89\x98\x7f\x18\x26\x7c\xf8\x61\x8a\xa5\x22\xe2\xc3\xec\x69\x0c\x81\x3d\xce\xd3\xf5\x21\x6b\x76\xcc\xff\xf3\xea\xbb\x6f\x4f\xaf\xfe\xf6\xed\xbb\x45\x0b\x59\xdd\xfa\x77\x59\x84\x67\x32\x4d\x6c\x20\xa0\xf0\x69\xe3\x8e\x7c\x4a\x56\xad\xf7\x75\x71\xb9\xb6\xd3\x5f\x2f\x6e\x1f\x0a\x16\xeb\xe2\x3f\x3f\x77\x3f\xdf\xdc\xfd\x5a\xe0\x94\xfd\x9b\xbb\xce\xa7\x02\x43\xed\xde\xfe\xd0\xfd\xdc\xbd\xeb\x5c\x0d\xdc\xc3\x6d\x6c\x6f\x3f\x32\xfe\xc2\x8a\xa4\x91\x8e\x03\x2e\xf4\x74\x8e\x3e\x72\x81\x7e\xcc\x56\xf2\x74\x88\x25\x5c\x31\xee\xce\x92\x27\x68\xc6\x63\x60\xbc\x88\xcc\x26\x64\x4a\x04\x4e\xac\xcd\x40\x2a\x2e\xf0\xd8\xdc\xf4\x32\x12\x58\x45\x13\x24\x67\x38\x22\x27\x28\x82\xdd\x30\x3e\x81\x45\x01\x55\x8b\x8f\xcb\x76\xbe\xbb\x94\x29\x3a\x25\x4e\x05\xb7\xff\xec\x9b\xc5\xd8\x60\x71\x6e\xfa\x3f\x14\x85\xbd\x8f\x57\xbf\xf6\xbb\x83\xfb\xcb\x1f\x97\xd2\xd3\x7c\x56\x18\xd9\x3d\xc4\x55\x5d\xf0\x24\x9d\x32\xff\xef\xcd\xc7\xd6\xbb\xee\x77\x3f\x95\x47\x77\xd3\xe9\x17\x77\xc6\x5d\x31\x6e\xef\xdd\xf7\x37\x37\x57\xdd\x82\xa7\xfb\xdd\x65\xa7\xdf\xed\xf7\x3e\x17\xf6\xcf\xe5\xc3\x1d\xf8\x80\x96\x4e\xd3\x8d\xa0\x62\xa2\x7a\x5a\xfe\x34\x77\xcd\x0a\x1b\x71\xa2\x8e\x0d\xff\x37\x67\xf9\xd4\xc3\xcb\x31\x51\x6e\x60\xd5\x39\xcd\x4c\xaa\x91\x19\x69\x25\x3b\x54\xc5\x65\x42\xf5\xec\x78\xe9\x42\x2f\xe3\xca\xfd\x6c\x08\x30\xae\x33\xa3\x6c\xe3\x24\xe1\x2f\x26\x42\x79\x4a\xf5\xad\x2c\x09\x04\x2a\xeb\x57\x64\xee\x21\x3c\xab\xe0\x78\xc5\x65\x21\x91\x20\xea\x33\x4f\x99\xda\x7c\xcb\x75\xae\x0b\x7c\xa7\x7b\xfd\xf3\xe0\xe7\x4e\x71\x07\xf6\xae\x96\xb3\x1a\xbf\x89\x8a\xab\xb8\x73\xfd\x6b\x76\x09\x43\x1c\xfb\x49\xa6\xa1\x1a\xd9\x35\x4a\xa8\x16\x7b\x23\xac\xb5\xd7\x04\x24\x1a\x44\x28\x98\x1c\xa6\x7a\x72\x10\x37\x3b\x33\xfe\x24\xc3\x9f\xcc\x20\xcf\xdd\x1f\xa5\xf6\x24\xd0\x05\xac\xa9\x2e\x4d\x00\xda\xb1\x5a\x35\x43\x84\x3d\x53\xc1\x19\x08\xdb\xcf\x58\x50\x2d\x8d\x9b\x96\xf5\x5c\xcf\xe1\xff\xaf\xd7\x26\x18\x46\x4b\x8c\xeb\x9e\x0b\x75\x99\xc5\x27\x6f\x66\x0d\xa9\x8a\xd3\x5d\x8c\xd0\xad\x36\x74\x2c\x7e\x5b\xb1\x38\x5b\xc6\x31\x17\x27\xfc\x7b\x72\x49\x71\xa2\x19\xc0\xee\xe4\xc5\xce\xf5\x7d\xaf\x28\x3f\x16\xd5\x0c\x8f\x2f\x6f\x2c\x2f\x82\xa1\xd2\x8c\xdc\x29\x13\xf7\x3f\x5d\x19\xed\x42\x6f\x12\x7b\x6e\x3d\xc5\x02\x04\x20\x57\x5b\x75\x86\x85\x2c\x7d\x21\x11\x20\x99\xe5\x71\x64\xfa\xce\x82\x28\xad\x67\x4e\xe3\x47\x46\xbe\xcc\x08\x93\x10\x1c\x60\xee\xb3\xdc\xd7\x2e\xcf\x50\x6f\x04\x2c\x41\xbf\xce\x50\xca\xac\x03\x4c\x5f\xb8\x66\x90\x27\x5a\x94\xb5\x43\xc8\x34\x44\x30\xbc\x30\xe2\x62\xc0\xf2\xc1\x3f\xb2\x5f\x32\x27\x1a\x3c\x1a\x71\xcd\x80\xf4\x2a\xda\xf6\xce\x11\x66\x92\x9e\x20\xad\xb0\x94\xd7\x14\x32\x22\xb4\x42\x69\x23\xd3\x34\xa7\xb1\x7f\x1e\xfe\x1a\x58\x08\x7f\xf6\x2f\x83\xea\xbb\xa0\x74\x15\xd4\x88\xc6\x89\xf1\x98\x0c\x9a\xdf\x09\x11\x17\xc4\xfa\x59\xd6\xbe\x06\x56\x31\xf6\x3e\x96\x4f\x0b\xbe\x87\x1e\x93\x0a\xb3\x88\x5c\x24\x58\x6e\x18\x84\xe4\x6c\x1c\x27\x45\x89\xe3\xee\xee\xe1\xb6\xdf\xfb\x7e\x05\x97\x2f\x7f\xbc\x18\x06\x14\x25\xa9\x73\xcf\x0d\x05\xc7\x31\xd2\xec\x73\xcc\x8d\x2b\xd0\x0a\xfe\xe6\x04\x99\x35\xa1\xd2\x8b\x13\xc5\xf2\xa9\x60\xa4\xb6\x59\x16\xd6\xce\xe1\xbb\x12\xa8\x25\x04\x8a\x34\x25\x90\x67\xf2\x70\x4b\x0d\x9e\x45\x13\x45\x67\xad\x5b\xb3\x04\xab\x11\x17\x53\xc3\xe5\x0b\x93\x36\x8d\x2f\x6f\x94\x32\x45\x84\x48\x67\x0a\x54\x76\x3d\xd6\xb2\x94\xaa\x97\xec\x8a\x8f\x3f\x13\x29\xf1\x98\x6c\xe3\x80\xae\x52\x1e\xee\x7f\xf6\xff\x09\x0e\xe6\x26\xb2\x7f\x61\x84\x2e\xa0\xdf\xed\xa7\x1b\xf6\xd1\x04\xf2\xdc\xf2\x84\x46\x1b\x06\xdc\x7d\xec\xf4\xae\x06\xbd\xcf\x5a\x89\xef\xf4\xbb\x57\x05\x51\x02\x9e\x75\x3e\xf6\xbb\x77\x83\xee\xdf\xbb\x17\x0f\xfd\xce\xf7\x57\xdd\xc1\xf5\xcd\x65\xf7\x7e\x70\x71\xf3\xf9\xf6\xaa\xbb\x22\x32\xa7\xb6\xf1\x45\xeb\x6a\xf9\xd5\xf3\x85\x5f\x60\x85\x35\x2f\xf3\xed\x65\x90\x0c\x87\x69\x02\x4e\x70\x6e\x9c\xe1\x18\x31\x1e\x13\xf8\x59\x3a\xeb\x8c\xcb\x36\x39\x43\x3d\xf5\x3e\x49\x10\x4e\x15\x9f\x62\xf0\xda\x24\xf3\x47\x86\x87\x9a\xb5\xe2\x24\xf1\xc2\xbb\x44\xca\x98\x66\xb1\xba\x31\x69\xe2\x8b\x13\xa2\xd9\xf9\xcc\xcb\x61\xb4\x7e\x83\x11\x65\x10\x40\x3c\xc5\xe2\xc9\xb8\x99\xf2\x2e\xf3\x43\x21\x11\x96\x8f\x4c\x8f\x8b\x58\xc3\x50\x13\x0a\x9f\x37\x7a\xab\x96\x3a\x53\xfc\x44\x34\x55\xa6\x69\x34\x41\x33\xc1\xc7\x82\x48\x69\x6d\xcb\x11\x66\x26\x00\xc1\xbe\xae\xaf\xa1\x47\xc6\xb8\x26\x85\x33\x61\xc7\x64\x46\x58\x4c\x58\x44\x4d\xb6\x22\xf8\xee\x33\xd3\xe6\x58\xe0\xd9\x04\x49\x0e\x4e\x6f\x20\x3b\xd8\xaf\xcc\x47\xee\x26\x33\x33\x36\x8f\x7d\x0b\xb4\x48\x35\x9f\xb8\x01\x39\xd1\x50\x19\x3e\x76\x97\xa1\x73\xbb\x18\x3b\xe0\x74\x96\x10\xe8\xd2\x92\x1c\x16\x43\xd3\xba\xb0\x1e\x7a\x99\xaa\x16\x41\x5f\xd8\x6e\xcc\x58\xda\x11\x9d\x55\x58\xb6\xed\x91\x42\x3f\x60\x16\x27\xba\x15\xe7\xc3\x28\x9e\x45\xc8\xb0\xe9\xe8\x5d\xe3\x4e\xe3\x36\xb7\x68\x84\x53\xb9\xcd\x35\x5a\x4a\x31\x35\x56\xc1\xd3\x3c\x28\x04\xb6\xb7\xcd\x2f\x05\xea\xce\x34\x8b\xc4\x09\xb7\x54\x32\xaf\xa7\x36\x68\x19\x46\x53\x73\xcd\xce\x04\x65\x11\x9d\xe1\x64\x23\xdd\xaf\x94\x63\x60\x43\xf7\xff\x40\x47\x7a\xfb\x7c\xb3\xe0\xb6\x55\x44\x4c\x21\x9d\xdc\x0e\x33\x5b\xc2\x35\x2c\x49\x36\x59\x83\xc8\x3c\x9a\x04\x0b\x9e\x1a\x7f\x1c\xd0\x85\xc4\x15\x47\xf5\xac\x6a\xb9\xf5\xc9\xc0\xc5\x00\xe8\x0d\x16\xdb\x44\xfe\xd4\xd1\xaf\xd4\x8a\xed\xdd\x04\xe3\xe1\xe4\xb6\xba\xcd\xaa\x15\xf0\x1e\xfe\x7b\xd9\xde\xf9\x8c\x67\x7a\xcf\x44\xa9\x54\xe0\x29\xce\xe6\x68\x95\xa4\x52\x28\xbb\xe7\x3b\xcf\x82\xda\x9b\xaf\x46\x4e\x42\x1b\x00\xb5\xd8\x49\x21\x86\xc0\x43\x04\xb0\x7b\x7c\x94\x6a\x59\x16\x61\x88\x42\x40\x7f\x20\x67\xe3\x33\x74\xf3\x73\xf7\xee\xae\x77\xd9\x3d\x41\x9d\xdb\xdb\xee\xf5\xe5\x09\x22\x2a\xfa\xc6\xc5\x2c\xda\x80\xa5\x47\xa6\xb8\x95\x56\xe6\x68\xc2\x5f\x80\x37\x12\x31\x26\x85\x39\xbb\xe8\x26\x08\x55\x1e\x53\xa9\x6c\xf8\xac\xe6\x2b\xf9\xb0\xb4\xbc\x5f\xb9\x43\x52\x35\xd9\x66\x6b\x60\x29\xd3\xa9\xd6\x65\x07\x14\x4f\x07\x82\x27\xdb\x30\x85\x4b\x98\x0a\xa8\xcb\x19\x98\x02\xc5\x53\xa4\x9b\xb5\xa1\x20\x99\xcb\x31\x13\xe9\xb4\x60\xa4\xf9\xb2\xbe\x37\xbd\x7b\xcb\x79\x1f\x6c\x3c\x1a\x75\x21\x10\x00\xb6\x50\xc3\x2a\x72\xb3\xf1\xc0\x5a\xea\x07\x38\x8a\xb4\xca\xbd\xe3\x49\xe5\x1d\x65\x2e\x01\xdb\xd1\xde\xa6\xb9\x6a\x9f\xbb\x61\xce\x34\x07\x83\x60\x60\x7d\xe5\x4a\x1e\xd1\xbc\xfd\x8a\x7e\x87\xf3\x85\x5e\x61\xcb\x9e\x3d\xb2\x07\x99\x99\x54\xcc\x25\x2c\x09\xac\xa4\x44\x2f\x13\x02\x47\x63\x8e\x26\xf8\x99\x14\xba\x74\x39\x24\xba\xe1\x39\x4f\x45\x15\xa3\x7b\x64\x97\x64\x26\x88\x96\xf4\xcb\x0e\x94\x6c\x4f\xdf\x15\x77\x62\xd8\xd7\x61\x5f\x1f\xfd\xbe\xbe\x48\x52\xa9\x88\xe8\x48\x49\xc7\x60\x48\xdc\x4a\x80\x33\x8d\x0d\x66\x9c\x27\x83\x06\x36\x91\xe6\x14\x2f\x78\xc2\x0a\x01\x1f\xd2\x20\x1d\xf0\x14\xe4\xa3\xc2\xb5\xc9\xf5\x5d\xe7\x65\x0e\xdb\xe1\x2d\x21\x83\x73\x99\x75\x1c\xa0\xc4\x56\x22\x0e\xae\x6a\x65\x59\x4b\x68\xef\x62\xce\x85\x91\x6f\x32\x77\x59\x3e\xc4\xd2\x61\x72\xa2\x08\x65\x8e\x6c\xf9\x47\xb0\x9f\x35\x81\x8d\xdc\xf1\x7b\xca\x15\x96\xdf\x9c\x3d\x32\x2d\x44\x3d\x91\xb9\x31\xb7\x6a\x31\xe5\x8f\x5a\x16\x3f\x95\x84\x49\x08\xf7\xfe\xa3\x71\xcf\xe9\x2d\xee\xcc\xd5\x46\x35\x25\xd3\x59\x82\x15\x04\x5d\x67\xbd\x40\x88\xae\x6d\xd4\x4a\x49\x79\x00\x34\xc8\xf9\x66\x2e\xf6\x99\x19\xfe\x98\x28\xc8\x1c\x57\x54\x81\xce\x14\xa7\x9a\x3c\x8b\x43\x5f\x69\xba\x32\xbb\x42\x70\xf0\x93\xc4\xe9\x76\x8c\x5f\x2e\xb6\xb1\x92\x33\x66\xda\xc2\xbd\x8d\x79\xff\xe0\xec\x46\x91\xe0\xac\x14\x0d\xa3\x95\x39\xb3\xd2\x43\xc3\x0e\x9c\xff\x9a\xb0\xb3\x17\xfa\x44\x67\x24\xa6\x18\x22\xe0\xf5\xbf\x3e\xe8\x79\xfd\xe7\xc5\xdd\xcd\xf5\x20\xcf\xe4\xf9\xef\x47\xd6\x49\x24\xcf\xb2\x14\x10\xe3\x2c\x0b\xb7\x9f\x09\xe2\x44\x42\x3b\x17\xb0\xba\xe6\x66\xc4\x47\x56\x37\x82\x98\x47\xf2\x0c\xbf\xc8\x33\x3c\xc5\xff\xe4\x0c\x5c\xe9\x1d\xf8\xf3\x22\xe1\x69\xfc\x0b\x56\xd1\xe4\x03\x9c\x6b\xf5\x81\x3c\x13\xa6\x8c\x9b\x4a\x93\x2b\x86\x9c\x64\x09\xd1\xfa\xff\xa9\xc7\x9c\x27\x15\x49\xad\xc9\x46\x64\xa6\xd0\xff\x2b\xc8\x90\x73\x55\x7d\x49\xf1\xd1\x48\x92\xb5\x2e\xa4\x5c\x49\xbb\xbf\x41\x7f\xfb\xaf\x6f\xff\xac\xb7\xd0\x26\x34\xee\xdd\xdf\x0c\xf4\xf7\xff\x79\x69\xbf\x97\x6b\xb0\x3b\x93\x4a\x2b\xad\xab\xd9\x50\xc3\x04\xce\xa7\x0c\x6e\x3f\x01\xce\x0b\x60\x6f\xb0\x1d\xf2\x75\xac\xe2\x6e\x97\x85\xd6\xb7\x53\xd9\x36\x22\x26\xa8\xd8\xde\x1c\xd1\x29\x62\x1c\x4d\x4d\xac\x29\x66\xe8\xaf\x3f\x7e\x5f\xbd\x80\xa9\xa0\x1b\x75\x48\x2d\x0a\x85\xd7\xa5\xa4\xff\x24\x12\xe9\x5d\xa3\x77\x31\x9f\xea\xae\x05\x91\x13\x9e\xc4\xe8\x85\x80\x9a\x64\xe3\x40\x33\xad\x5c\x90\x47\xe6\x37\x01\x21\x87\x08\x27\x8a\x8f\x09\xdc\xd5\x4e\x51\x53\x44\x68\x51\xc5\x64\x69\x28\x2e\xc8\x89\x01\x66\xbb\xff\xce\xc5\x56\xc3\x34\xe1\x91\x4b\x6a\xb1\x26\xb9\x78\x58\x3d\xf3\x51\xd9\xf4\x8a\xea\x6d\xf8\xe5\x45\xb6\x66\xdb\x6a\xd2\xd8\x24\x14\x6b\xc3\x2a\xaf\x4c\xf5\x60\x68\xc4\xd9\x20\xa1\xec\x69\xa3\xc5\x70\x89\xe1\x48\xb7\x60\x69\xa6\x5b\xcc\xec\xdc\xc6\x02\xb2\xc6\xf9\xf8\x98\x26\x89\x49\x6d\xf1\x97\x07\xe4\x2e\x43\x37\x10\x06\x66\x26\x07\x94\xc4\xd6\xef\x65\x35\x61\x41\x18\x04\xbc\x3d\xb2\xe1\xdc\xfa\x6c\xe5\x09\x92\x69\x34\x71\x99\x79\x11\x67\x52\x8b\xd1\x5c\xa0\x88\x4f\xa7\x5a\xeb\x85\x25\x53\x9c\x27\xd2\x46\xbb\xb3\x53\x85\x23\xf5\xc8\xf2\xfe\x56\x9c\x3c\x53\x94\x69\xbb\xd4\xbd\xe6\x2e\x9d\xbc\xf8\xd3\x52\x81\x9b\xc6\x3e\x14\x05\x18\xc1\x8c\x27\xca\x03\xb5\xe0\x8b\x67\xc9\x2c\x58\x8d\x66\x20\x27\x5c\xa8\x41\x5c\xc9\x73\x56\x6e\x9a\x32\x23\x64\xe4\x34\x81\xa0\x61\xfe\xac\x85\x7f\xf2\x92\x19\x5f\x97\x0d\x41\xef\xea\x65\x23\x68\x76\x8c\x96\x8e\x6c\xdd\x2d\x58\x43\x2b\x03\x4c\x12\x15\x63\xc2\x57\x8d\xf1\x1e\xbe\xba\xd0\x1f\x2d\x25\x5e\xf9\xdc\x39\x21\x88\xc7\x39\x86\x9e\xb9\xd7\x6d\x46\xc8\x32\x9a\x5a\xe8\x84\xfd\x65\x8e\x2e\x9b\xca\x43\xd1\x92\xab\xc7\x02\x26\x7b\x49\x40\xd6\xc4\x62\x48\x95\xc0\xa2\x00\x80\x92\xe9\x83\x92\x60\x01\xf1\x59\x8f\xcc\xc0\xe1\x19\x4d\x21\x46\x31\x95\x90\x20\x02\x77\xa9\xe7\x0c\x43\xcd\x94\xc0\xd2\xd1\xce\xf3\x1c\x4d\xfc\x39\x04\x96\xe5\x5b\xc3\x31\x3b\xdd\x51\x06\xfb\xa5\xf5\x33\x1e\xa5\xb9\x20\x17\x81\x84\x6b\xa1\x82\x10\x65\x92\x8e\x27\x0a\x51\x66\xed\x8e\x38\x19\x73\x41\xd5\x64\x2a\x4f\xd0\x30\x95\x5a\x0b\x35\xc1\x6a\x26\x1e\x85\xa8\xa8\x11\x17\xda\x36\x89\x38\x2e\x35\xb8\xa8\xa2\x6c\xb0\x35\x9a\x1d\xca\x6e\xe9\xae\x58\xb1\x71\x3a\x19\x7c\x62\xb9\x0d\x4a\x64\x86\xba\x89\x4c\x1c\x20\x77\x80\x55\xbf\xa7\x44\xaa\xba\x73\x00\x60\x97\x3b\xf3\x52\x1c\xa2\x92\x16\x32\xc9\xa0\x82\xb8\xd8\x6d\x90\xbc\x8a\x80\x9b\x06\x94\x2a\x73\x3a\x4d\x67\xaa\x32\x70\x6b\xd1\x55\x74\xe7\x41\x19\x35\x23\x36\x24\x63\xc1\x6e\x06\x00\xba\x47\x76\x4f\x48\x3d\x3e\xdd\xc2\xda\xff\x06\x47\x09\xa6\x60\x13\x3d\x96\x6f\xf9\x6d\x9c\xd8\x97\xdd\xfb\x8b\xbb\xde\xad\x81\x9c\xb8\xb9\xfb\xdc\xe9\x0f\x2a\xfc\xda\x15\x6f\x7d\xee\xdc\xfd\x78\xb9\xfa\xb5\x1f\xfa\xc5\xac\xec\x8a\x57\xee\xee\x97\x27\x73\x34\x18\x62\x45\x52\x58\x65\x3f\xe7\x68\x36\x57\x13\xce\xb2\x10\x85\xb8\xc0\x9b\x4e\x91\xc9\x08\x56\x10\x42\x24\xa4\xaa\x70\x1c\xf6\x21\x2e\x67\xb5\x84\x59\x5c\x2c\x83\x2e\xb7\x53\xd1\x68\x8d\x13\xf9\x29\xe1\x43\xf0\x5b\x5b\xd9\xc7\x02\xd3\x2d\x89\x40\xdf\x32\xde\xe7\x92\xca\x59\x82\xe7\x0b\x3d\xac\xba\x72\xae\xf1\x94\x40\xc4\x71\x0e\x8b\xe7\x92\x45\xf4\xca\x40\x02\x53\x76\xaf\xd3\x11\x64\x32\x29\x8a\x15\x41\x43\xa2\x5e\x20\x6f\xce\xfd\x9a\xd9\x52\x5d\xc0\x88\x3c\x7b\x64\x60\xce\x79\xd4\x44\x8e\x53\x88\xf6\x7b\x7c\x77\x82\x1e\xdf\xc5\xe4\x99\x24\x7c\xa6\x57\x5e\xff\x50\x77\xc9\xcc\x19\x9e\xd2\xe8\x9a\xc7\xc4\x85\x68\xdc\x59\x24\xc7\xad\x6c\x8a\x10\x7c\x46\xe2\x81\xbb\x32\x9b\xcb\xc0\x17\xf6\x53\x37\x9c\x8b\x84\xcb\x0c\xf0\x05\x2d\x37\xfd\x74\xa7\x98\x26\xd7\x5c\x65\x76\xc6\x6d\xe6\x20\x48\x44\x67\xa0\x67\x0c\x88\x6e\xf7\x70\x62\x54\xe1\x5c\x3a\xe6\x0c\x63\x40\x38\x8e\x05\x91\x12\x18\xb3\x1b\x5e\x1e\xd0\xc4\xbc\xa9\x17\x4a\x77\xae\x23\x20\x65\xc6\x7c\xd3\xa3\xdf\x66\xd1\x88\x5b\xb5\x9f\xba\xec\x79\x8f\x0e\xe6\x6d\xc5\x12\xbd\xbf\x7e\x24\x73\x48\x28\xb9\xc5\x54\x6c\xe8\x68\xae\x8a\xe0\xdd\x8b\xcb\xb9\x5b\xd1\x51\x8b\x9c\xcf\xd5\x74\xd8\xce\x0d\x9d\x45\x1e\x1e\x4a\xe7\x76\x7c\x26\xeb\xb8\xa1\x12\xfe\x50\xa7\x72\xd7\x06\x64\xa0\xb2\x1a\x39\x23\xd1\x1a\xfa\x63\x36\xc0\x7b\xfd\xdd\x4a\xbd\x2b\x13\x3e\x5d\x34\x61\xbe\x0a\x36\xd5\xbf\x8c\x2e\x40\x56\x8e\x38\xb2\xbc\x78\x83\x41\x3b\x36\xbe\x6c\xdc\x5d\x7f\xfb\x6a\x29\x77\xad\xf0\x8c\x0a\xc2\x97\x10\x3b\xcd\xad\xa9\xac\xbf\xcf\xbe\x7d\x82\x28\xc4\x8e\x82\x7a\x99\xe4\x38\x08\x2c\x46\xb9\x53\xe7\x91\xe5\x11\x38\x12\xbd\x90\x04\x82\xf6\xf4\x2d\x07\x0e\x0b\x3b\x5c\xdb\x12\x89\x4d\xfc\xf3\x09\xe2\xa9\xd2\x8d\x99\x0c\x23\x67\x92\xb6\xe9\x4b\xb9\x13\xc7\x78\x12\x6d\x28\x7f\x86\xfe\x6d\xf6\xba\x91\x0c\x28\x43\x9f\x88\x82\x56\xa0\x68\x84\x3f\x41\xd0\x7a\xca\x01\xa1\xd5\xb4\xdf\xe2\x44\xd9\x99\xac\xb1\xf2\x39\x0c\xcc\xf7\x09\x1f\x2e\x37\x79\x40\xe3\xe8\xe1\xae\xe7\xec\xab\x79\x34\x98\x07\x31\x5d\xf0\x8f\x76\x6f\xef\xba\x17\x9d\x7e\xf7\xf2\x0c\x3d\x48\xa2\xc9\x93\x4d\x17\xb2\xc5\x33\x05\xcb\x8c\xdc\xe2\xca\x30\xa9\x08\xae\x33\xeb\x10\x21\x0a\x39\xdd\x2b\x18\x47\x11\x74\x66\xf9\xc6\x06\xc8\x17\x6a\xcd\x8e\x00\x93\x54\x9e\xa7\x8d\x33\x5c\x75\x02\x21\xea\x6b\x70\x3c\x31\x77\x66\xbc\xd3\xc5\x38\xc3\x55\xdb\xa7\x18\x9f\xb8\xef\xc9\xc0\xd1\x52\x13\x42\x05\x6a\x34\x2d\xb3\xa9\x06\xcd\xe7\xe4\x05\xec\x7f\xc6\xb3\xe5\xc9\xb4\xf8\xa5\xb0\x69\x8d\x60\xef\x45\x22\xec\xfb\x1c\x38\xb6\x36\x30\xac\x70\xfb\x09\xe6\xee\x39\xc3\x5b\x33\xbe\x69\xf2\x57\xa4\x33\xf9\xf9\x13\x2b\x0d\xc2\x46\xe5\x4a\x04\x67\x07\x7e\xa1\x0c\x15\xae\xc4\x13\x34\xa2\x5f\x6c\xa3\x79\xb4\xbe\x7b\xd5\x0b\xdf\xa8\x89\x0e\x9d\xe0\xc5\x33\xb5\x86\xd8\x70\x0b\xdf\x2f\x15\x22\xb9\xd4\x22\x51\xa4\xc5\x25\x41\x22\x2e\xf4\x4d\x01\xdd\xe6\x3e\x95\x55\x22\x83\xc2\x42\x13\x65\xd1\xc7\xb4\xec\xf4\xe7\x85\x62\x62\xac\xc8\xa9\x16\xbd\x56\xa4\x73\xdb\x8c\x1f\xc8\x0d\xc2\xca\x03\x37\xcb\x6f\x9e\x21\x19\x63\xe6\x02\xcd\x6b\x86\xeb\xae\xbc\x2d\x58\x95\x56\x81\x30\x24\xbb\x81\x7c\x05\x89\x4c\x85\x71\xc8\x19\xd0\x73\xe9\x38\x6c\x2c\x4f\x1b\xc8\xf6\x82\xb3\xd0\xa2\x9a\xc1\xa6\xb3\xb8\x4d\x83\x4d\xb0\x54\xc8\x8e\xa9\xce\xb0\xe2\xa9\x88\xfb\x35\x29\x17\x74\xfb\xa6\xca\x9b\xde\x42\x45\x2d\x96\x80\x9f\x47\x3a\x14\x18\x83\x79\xa3\x75\x1a\x27\x08\x5f\xc0\x0a\x65\x67\xfb\xce\x48\x59\xee\x96\xf0\x99\x09\xa4\x1c\x2c\x36\x7d\x86\x3a\x6c\x01\xfd\xcb\x45\x99\x15\xe8\x65\xee\x24\x9c\xbc\xe0\xb9\x44\x33\x61\x80\x72\x4c\x1e\x82\x9b\x3c\x68\x60\xc5\x8f\xb2\xc0\x0e\xe5\x12\x41\x10\x58\x96\x56\x87\x00\x3a\xb9\x77\xb0\x07\xc7\x64\x29\x46\x3e\x13\xc8\xf3\xe6\x72\x5b\x45\x03\x56\xa7\xc8\x20\x9a\x60\x36\x26\x03\x67\x32\xde\x44\x5b\xd2\xed\x5c\x40\x33\x97\xb6\x95\xea\xcb\xe9\xd6\x28\x4c\xb6\x48\x8f\x79\x35\x33\x87\xea\x43\x20\x15\x1e\x13\x64\x46\xd4\xc8\xc8\x5e\x88\x7f\xb3\xd0\xc9\xa0\x27\xd8\x56\xbb\xc5\x9c\x80\x3a\xe1\x1d\x02\xb9\xae\xf0\x90\x24\xaf\x13\x07\x02\x5d\x5b\x57\x03\xf8\x1e\x4d\x6e\x03\x41\x2f\xe0\x9d\x28\xb1\x0c\xeb\x8b\x10\x69\x55\xa6\xc3\xb2\x79\xc2\x91\xb3\x27\x6d\x9b\x89\xba\x82\x2e\x9b\x4c\xb5\xae\xcc\x8b\x7f\xed\x79\xe5\x50\xaa\x0c\x6c\xfe\xf5\x57\xb6\x90\x6f\x36\x10\xaf\x2a\x4b\xcd\x38\xb6\x2e\xcb\xb2\x72\x2a\x1b\x43\x26\x34\xac\xc0\xd8\x1b\x21\xc6\x19\x41\x54\xe6\x2f\xab\x62\x72\x57\x06\x38\xa4\x45\x7c\x63\x7c\xc9\x4a\xa9\x65\x15\xb2\xf6\x6d\x69\xc9\xa1\x20\x32\xdb\x80\xcb\x56\x67\x44\x2b\xaa\x58\xcc\x01\xb0\xd4\xf0\xe1\xa2\x4c\xb7\x72\x9c\x3b\x17\xb8\xfb\x0e\x8f\xd6\x8b\x3b\x56\x1c\x81\x18\x59\x1a\x1c\x32\xa8\xae\xf6\x25\xfb\x91\x05\xdd\x79\x64\x99\x65\x03\x36\x22\x95\x68\x8a\x67\xe0\xa1\x64\x5c\xe5\x5f\x19\x10\x29\x95\x2d\xe1\x89\x13\xc4\xa5\x29\x74\xb6\x9a\x02\x5c\x8c\xb7\x09\x3c\x69\x5e\xcc\xa2\xb9\x61\xc9\x5d\xfe\xf9\xaa\x16\xa1\x42\x1d\xcc\xf1\x98\x3e\x13\xe6\x4e\xd4\x89\x3b\x91\x9a\x24\x6e\xca\xc9\xfc\x14\x43\xc8\x36\x89\x7d\x2f\xd2\x72\x7e\xb8\xbd\x33\x66\x57\xd6\xd0\xe6\x24\xeb\x57\x86\x24\x19\xc0\xb9\x42\xa5\x00\x17\x64\xef\x9f\x11\x8b\x81\x6c\xb2\xea\xb1\x44\x7f\x64\x5c\xfd\xd1\x43\x89\x76\xa6\x13\xf8\xd4\x19\xc0\x4e\x16\xaa\xfa\x00\xcb\xb0\xdb\x16\x61\x0f\xad\x6c\x25\xe5\xb7\x8d\xb3\xc8\x93\x08\xf6\x2a\x0b\x77\x17\x33\x0a\xeb\xca\xa2\x85\xe8\x07\x54\xbe\x94\xca\xe6\x56\x53\x79\x31\x3f\xe9\x05\x33\xab\x5c\x15\xee\x90\xad\x45\xa3\x30\x87\x05\x74\x85\x6d\x76\xdb\xb4\x71\x14\xda\x0a\x40\xe9\x6a\xab\xc8\x26\x39\xb3\x75\x5a\x81\x28\x86\x01\xda\x92\x22\x35\x88\xc9\x67\x8f\xec\x23\x17\x56\x00\x90\xb6\x66\xc3\x10\x47\x4f\xa7\x84\xc5\x08\xa7\x6a\x62\x90\x8b\xad\x57\x63\x6e\x77\x83\x96\x73\x60\xdb\x64\xb0\x24\x54\x46\x58\xc4\xae\x7a\xc8\x33\x77\xa3\x78\x64\x5e\x23\x50\x15\x02\x6a\x81\x41\x91\xe6\x3a\x45\x97\x48\xad\xdd\xd5\xd1\xa2\xaa\x4e\xef\x42\x95\xde\xe5\xe7\xac\x50\x77\x18\xea\x59\x40\xb0\x18\x1f\x2d\x52\xa7\xe7\x6c\x9d\x4e\xbb\xd4\xfb\x79\xd1\x07\x72\x62\xf5\x19\x63\x10\xb3\x33\xd0\x72\xd6\xb7\x8e\xd7\x16\x10\x98\x47\xa9\x80\xd0\xe7\xaa\x36\xff\x10\x4d\x68\x92\x7b\x4e\xbe\x39\xc9\x86\xa9\x9b\x4c\xc8\x33\x49\x0c\xfe\x7f\x24\x20\xcb\xc1\xd8\x2c\xbf\x45\xff\xdb\xd4\xae\x45\x7f\x7e\x64\x9f\x80\x0d\x27\xc9\x1c\xd0\x49\xb3\x96\xb1\x2a\x35\xf3\x54\x39\x00\x65\xd3\xaa\x50\x71\x20\x66\xad\x27\xf8\x99\x3c\x32\xd7\xcc\xff\x46\x4f\xe8\x4f\xe8\xcf\x75\xca\xa5\x4b\x56\xd8\xb3\x95\xe5\xa3\x97\x0a\xe0\xdd\x72\x96\x51\x5a\x7e\xe3\x8c\x30\x05\x13\x68\x05\x4a\x49\x06\x32\x4e\xd9\x33\x8f\x16\x32\x62\xfc\x53\x8b\x05\x61\x6a\xc0\x78\x4c\x06\xa4\xc2\xa1\xba\x84\x49\x68\x21\xe0\x9a\xc7\x64\xa5\x3b\x34\x63\xa6\xbf\x80\xe1\x48\xa6\xc3\x6c\x39\x00\x2c\x21\xcb\x8c\xcf\x6c\x1f\xc5\x9d\x56\x3d\xf2\x0c\xc9\x77\x93\x71\x6f\xea\xca\xcd\xc5\x46\x9c\x43\x09\x57\xbb\x13\x13\xac\x9c\x34\x59\x3e\x8e\x65\x37\x84\x7e\x59\xcf\xdc\x5e\x56\x1e\x46\x31\xd4\x91\x11\x74\x4c\xb5\xf6\xd0\xdc\x5d\x0c\x9c\x70\x13\x5f\x8a\x01\x6c\x6d\xe4\x4c\xc9\x49\xe1\x40\x6b\x4e\xb3\xfd\x97\xbb\x40\x87\x3c\x2d\xab\x0f\x96\x00\x54\xfa\xc1\x06\x56\x53\x98\x6b\x3e\x3c\x36\xd9\x94\x64\x42\x0d\x7e\x41\xe7\xe2\x0a\xe9\xd3\xc1\xa7\x06\xe4\x0b\x88\x96\xaa\x09\x17\xf4\x9f\xcb\xf6\x36\x16\x8a\x8e\x70\xa4\x06\x3b\xa9\x89\x53\xbf\x99\x3a\xb6\x9f\x5e\x7d\xdd\xbd\x05\xbc\x06\xfc\x4c\xbc\x70\x4a\x08\x96\xb4\xad\xc8\xcc\x91\x5b\xe6\xb7\x5c\x20\xc6\x5f\x72\x90\x2f\xf7\x3d\xe0\x5a\x7b\x69\x28\x58\xab\x5c\x33\x88\x87\x96\x14\xf6\x27\x40\x6e\xbd\x57\x26\xc5\x14\xe0\xda\x0d\x58\x96\xde\x9e\x13\xcc\xe2\xc4\x5d\x21\x88\x9b\x88\x9e\xf9\x0b\x9e\xaf\xe5\x53\xf7\xa3\x44\xf3\x9c\x43\xb3\xfc\x45\x25\x08\x78\x80\x91\xd4\x54\x41\xd5\xac\x52\x84\xd1\x30\x05\x98\x60\x4d\x93\x51\x9a\x98\xda\x22\x11\x17\xf1\xd9\x23\xb3\xe1\xe1\x5e\x6f\x5a\x04\x74\x5a\x13\x56\x59\x83\xd4\xa2\xa9\xda\xea\x25\xc6\x2c\xb7\x54\xae\xff\x29\x25\xe9\x8e\x92\x44\x5f\x35\xac\xbe\x8f\xc7\x32\x8f\x93\x37\xb4\xd1\x57\x5e\x4e\xdf\xdf\xf5\x4c\xa5\x97\x56\xed\xcc\xc5\x19\x4a\x99\xb1\xb3\x98\x92\xbc\x6b\x99\xe9\xee\x4c\x75\x86\x1d\xd8\xe9\x0e\x11\xa4\xb3\x28\x7a\x56\x70\x75\xbb\xfd\x9e\xb3\x24\x63\x74\x18\xe3\x97\x2b\x73\x51\x12\xea\xf6\x68\x07\xdb\xe0\xee\x58\xd4\x55\x96\x06\xee\xe7\x56\xb1\xec\xb6\xa8\xc8\xf7\x57\x1c\x32\x83\x5e\x04\x05\x10\xc3\x79\xfe\x72\x56\x7d\xda\xdd\xc2\x3e\x8f\xd1\xc2\x9f\xd1\x16\x20\x58\xc7\x91\x70\x5e\x7d\x75\xae\x61\xd7\xb1\x0d\x15\xbb\x5e\x0c\xc6\xa8\x3b\x11\x86\x25\xb5\xf5\x48\x2c\x22\x18\xad\x3c\x0c\x59\xb1\x9a\xd7\xb1\x0a\x67\x12\xe3\xe1\x4e\x46\xb6\x1d\x07\x11\x8e\x26\xb5\x93\x1a\x72\x9e\x10\xcc\xea\x94\x82\xca\xc7\xe5\x23\x62\xf0\x77\x81\x75\x27\x09\x80\x50\x3b\x12\xd8\xc2\xa5\xb9\x56\xc4\x62\x28\x1e\x60\x78\xb8\x09\xf8\x74\x03\x55\x84\x39\x83\x1a\x65\xe3\x84\x94\x69\x65\xab\x3c\x9c\xd8\x4e\x92\x28\x4d\xbc\xca\xa5\x33\x22\xf4\xa8\x35\x89\x9f\x09\xd3\xaa\x98\x1d\x87\xf3\x50\xbd\xb8\x9c\xfd\xac\x5e\xd9\x49\xd6\xb5\x73\x92\x42\x62\x6c\xfc\xc8\xe0\xe0\xf2\xe2\x61\xd5\x7b\x55\x6a\xed\xcd\x37\xf7\x6d\x7c\x3a\x3d\x21\x62\xed\xe3\x79\x5f\xb4\xfd\xaf\x7d\x26\x4d\xdf\x03\x08\x1c\xd9\xda\x5f\xea\xf9\xd4\x72\x34\x11\xb3\xb0\x0e\x31\xee\x40\x9e\x01\x08\xc5\x29\xc6\x12\x7b\x91\x38\x75\x88\x65\x7b\xbd\x4b\xf2\x0a\x2d\xee\x36\x68\x38\x94\xa5\xf1\x07\x0d\xa3\x09\xc0\xe8\xbb\xec\xdc\x5e\x59\xa9\xbe\xe8\x87\xcf\x52\xd0\xf2\xd8\x55\x5b\x83\x58\x09\x0c\x00\x1a\x00\x7b\xf0\x8b\x31\x5c\x50\x69\x84\x7b\x57\x89\x65\x3a\x53\x73\x5b\xb8\x0f\xee\xc5\x82\xbc\x0f\xa0\x84\x55\x3e\xff\xf2\x1d\x19\x17\xbc\xfe\x55\x9d\x41\x47\xd6\x5a\x53\xd9\xa4\x23\xb4\x0f\x72\x53\x02\x15\xa9\x0b\xf1\x31\x35\x90\x07\x38\xa9\x35\x11\xee\x80\x69\x82\x72\x94\x03\x89\x58\x7c\x62\x25\x52\xa2\x79\x17\x4e\x92\xd2\xbc\x30\x64\xec\xab\xac\x0e\xe2\x30\x2f\xd6\xdc\x3c\x02\x21\xc1\x43\xb2\x56\xcc\xc1\x95\xf9\x60\xe9\x2e\x82\x57\x20\x5c\x7f\x36\x4b\xe6\xcd\xd2\x04\x7c\xed\xb7\x12\xc7\x6f\xd5\xc0\x7c\xf4\xbf\xa5\x77\x53\x11\x41\x6f\xb3\x21\x4a\x12\xa5\x82\xaa\xf9\xc0\xda\x52\x9b\x33\xad\x7b\xfb\xe5\x85\xfd\xb0\x89\xa1\xe2\x1c\xb9\xfe\x9c\xed\x16\xee\x29\x41\x4d\x91\x27\x3b\x85\x26\xcb\x8d\x53\x35\xa9\xc4\xf7\x5a\x46\x58\x07\x30\xd6\x6c\xa8\xba\x8b\x4d\x87\x67\x8b\xc7\x0c\xf8\xc8\x41\x77\x35\x27\x6c\xb9\xaa\xce\x1a\x46\x68\x87\x10\x3e\x13\x94\x0b\x5b\xbc\xa6\x49\xa4\xe2\x14\x7f\x19\xcc\xb0\xc0\x49\x42\x12\x2a\xa7\x9b\x9b\xcc\xbf\xfb\xcb\xd2\xd1\x5e\x98\x22\x4b\x66\xb0\x53\xfc\x85\x4e\xd3\x29\x62\xe9\x74\x68\xa5\x5c\x2c\x9f\x7c\x7c\x56\x87\x26\x61\x60\xc6\xdc\x00\x0b\x98\x16\xc2\x43\xdc\x7d\x64\x1e\xf6\xba\x35\x55\xe0\x68\x42\xc9\x33\x20\xc3\x0a\x46\xa4\x3c\x43\xd7\x5c\x91\x73\xf4\x19\xcf\xfa\x20\xa8\x99\xaa\xa7\x63\xe3\x74\xc0\x12\x69\xa9\x35\x65\x54\x9d\x3c\x32\x0b\xd8\xee\xa8\xf2\x21\xe2\xcc\x80\xf6\x46\x40\xd8\xac\x09\xb0\xa2\x3b\xf4\x5a\xe5\x72\x6f\xa9\xac\x21\xb6\xc0\x2f\x03\x2f\x24\x79\x60\x52\x3e\xd6\xd8\xc7\x77\xf8\xc5\x04\xe1\x5f\x62\x85\x4d\x41\xe3\x65\x92\xbb\x8d\x72\xb3\x45\xae\x0c\x56\xb5\x8b\x06\xe2\x16\x30\x25\x2b\xcf\x67\x42\x8e\xff\x40\xcf\xc8\x19\xfa\x3e\xe1\x43\x79\x92\x9b\xaa\xcc\x43\x49\x94\x3c\x31\x7e\x3f\xf8\xb7\xc9\x56\xfc\xc6\x51\x3f\xe7\xfb\x50\x99\x72\x44\xbf\x18\x9c\x16\xf9\xdd\xf9\x87\x0f\xd3\xf9\xe9\x30\x8d\x9e\x88\xd2\x7f\x81\x4c\x51\x49\x21\x07\x72\x86\xab\x20\xd3\x56\x51\x67\x11\x6e\xad\xd1\x8e\xb4\xb9\x52\x92\x00\xb4\xbf\xbe\xd2\xb3\xda\xbf\x0e\x9d\x8b\xb3\xea\xc2\xa6\x76\xca\x22\xad\x3b\x5e\x05\x4c\xf0\xc3\x68\x2b\xa6\xb6\xb1\x0f\x45\x3e\x4a\xf0\xb8\xa4\xb2\xac\xa1\xa4\xdc\x4c\xa9\xdd\x45\x7a\xee\x10\x44\xa3\x4f\x59\x31\x74\xf0\xbd\xf3\xf2\x82\xb7\xd6\x7a\xb1\xce\x1e\x59\x47\xa2\x17\x62\x4a\x16\x43\xda\x2c\x38\x7d\x52\x2a\x27\x59\xd2\x2c\x98\xa1\xa1\x51\x83\xd8\x6c\x80\x3d\xac\xe2\xe8\x34\x2b\xe7\x16\xb3\x1a\x28\x4e\x24\x39\xd1\x0d\x83\x49\xd5\x45\x87\xa2\x17\x81\x67\x33\x22\x1e\x99\x45\xdf\x05\x8c\x79\xce\x6d\xe4\x4f\x5d\x8a\x40\xd0\x28\x0f\xab\x51\x7a\xb4\x27\xc5\x2c\xd4\x55\xe7\x1b\x92\x56\x97\x51\xb8\x2a\x0f\xd3\x91\x4f\xcb\xa2\x4d\xc3\xf7\x5f\xdf\x6c\xdc\x70\xcc\xab\xb4\xf3\x4e\x29\xf7\x02\x2a\xa2\x4f\x41\x81\x94\x79\xe1\x57\x67\xeb\xcb\xd4\xf7\x82\x98\x03\xe0\xed\xf0\x71\xcc\x89\xf4\x8c\xf8\x28\xb3\xc5\x25\x74\x44\xb4\xf4\xf1\xc8\xf4\x36\xf6\x1d\x0e\x06\x03\xde\x41\xc2\xeb\x4e\x23\xc1\xa5\xb4\xe9\x14\xa6\x9d\xe5\x49\x71\x5b\x94\x9b\x34\x40\xf6\xbd\x9b\xeb\xc1\x62\xe1\x49\xef\x99\x2b\x41\x69\x1f\x56\xe2\x40\xd4\x36\xb5\xb2\xe0\x64\x4e\x8b\x35\x4a\x4e\x7e\xb8\xb8\xea\x65\x75\xd6\x4a\x5d\x2f\xd6\x9c\xf4\xc1\xff\xeb\xab\x4e\x2e\xce\xd8\xab\x3f\x59\x6a\x62\x49\x05\xca\xd5\x8b\x55\x0c\xe2\xde\x06\xd9\xb1\xb4\xf4\x2b\xf9\x43\x71\xcf\xac\xca\x35\xd8\xd1\x32\xd5\x5c\x2b\x11\x08\x8c\xfb\x0e\x5c\x00\xc1\x4b\xbf\x25\x15\x9e\xce\xfc\x3c\x5a\x07\x6d\x6b\xa7\x69\x8e\x5a\xdd\x25\x78\x50\xc8\xfd\x08\x9b\x20\xa1\xf2\xe0\x16\x96\x62\x3d\x8f\x57\xdf\x22\xf9\xef\x22\x36\xfd\x70\x89\xe9\xc9\x3c\x0f\x86\x94\x56\x76\x73\x55\xe2\x6b\xec\xfe\x43\x92\x55\x2d\xa8\x5d\xd0\x6d\x33\x4f\x33\x74\x33\x41\xb0\xb4\xee\x6f\x48\xd0\x2c\x25\x6f\xad\x61\x1e\xce\xc6\x6c\x52\xbc\x4f\xb3\x3a\x21\xde\x55\x63\x4b\xdf\x45\xee\x20\x52\x21\xc8\x33\x11\xb0\x77\x6c\x28\x15\x2b\x1e\x55\x9c\x08\x82\xe3\xb9\x47\x91\x2c\x8e\xc3\xf4\x0c\xe6\x31\x49\xa7\x5a\x81\x07\xd5\x84\xf1\x53\x3e\x73\x3a\x4b\xe1\x2d\x28\xf2\x42\x47\xfa\xc6\xf2\xa2\x40\xf4\x17\xec\x94\x7c\xa1\x52\x69\xb9\xa2\x22\x04\xd6\x35\x02\x12\x0f\x94\x7e\x9b\x10\x7b\xc3\x3d\xbe\xeb\x7c\x7f\x73\xd7\xef\x5e\x3e\xbe\xcb\x53\x2e\x5c\x4e\x61\x06\x5a\xe6\x6a\x50\x70\xf6\xc8\xb2\x38\xe5\x0c\xa3\x1b\xd6\x12\xe1\x38\xce\xe3\xa3\xad\x12\x69\x64\xb6\xa5\x1c\xd9\x3b\x15\x2b\x23\x94\x97\x34\xf3\x00\x89\x65\x6d\x3d\x59\x4b\x5c\x67\x85\x93\x63\xd2\xe3\x96\xe4\x31\xed\xe8\xb2\xf1\xe1\x85\x95\xd1\xb5\x89\x72\xf8\x97\x8c\xbc\x38\x5d\x09\x6e\xe7\x0f\xd8\x5c\xc2\xeb\x71\x3b\xb7\x20\x1b\x2c\xea\x47\xfa\x85\xc4\x77\x35\x52\xd5\x4e\xd2\x94\x1a\x05\x58\x56\xae\x42\xca\xe8\x3a\x1a\x7f\x36\x95\x07\xfd\x5d\x73\xb6\x74\x93\xa3\x06\xe6\x08\xc0\x00\xff\xab\x10\x46\x11\x11\x0a\x53\x86\x46\x70\xb0\x59\x34\x47\x80\xc2\x42\xc0\x87\xfd\x17\x34\xa5\x0c\xe0\x20\x96\x91\xf6\xa1\x38\x8f\x35\x84\xd6\xcf\xbd\xeb\x87\x7e\x41\x54\xfd\xe1\xe6\xa1\x50\x6a\xf3\xb2\xf3\xeb\x52\x59\xb5\xd4\xc2\xb2\x60\x21\x6f\x8a\x79\x6a\xa9\x05\x42\xce\x28\x53\x39\xd1\x64\xae\xc8\xc3\xdd\xd5\x56\xf2\x5d\xb5\xb3\xac\x16\xc6\xde\x97\xae\xaa\x61\x2e\x9a\x7c\x1a\x93\x68\x15\xd0\x6e\xf3\x7d\x64\xa2\xa0\x34\x1d\xac\x35\xd1\x82\xf0\x61\x89\x66\x58\x58\x3f\x54\x6c\x02\xa0\x8a\xc5\xeb\x8c\xe6\xb5\x0c\x16\xe4\x13\x51\x3f\xeb\xab\x8f\xb3\xdd\x20\x7d\x81\x28\x0b\xfe\x51\x32\x78\x36\x0d\xaf\x71\xd2\xec\x50\x96\xe4\x2f\x39\x61\x19\x7a\x40\xb6\x07\x1f\x4c\xe3\x0c\xc1\xae\xe9\xe8\xe6\x80\x22\x2e\x4c\x53\xab\xa4\x9c\xe9\x1d\x69\x10\x7f\x1d\x4c\xb0\xd7\x1c\x1f\x99\x8f\x1b\x82\x26\x7a\xc9\x02\xba\xad\x9c\x94\xa8\x73\xdb\xab\xa0\xf5\x55\xd9\x85\xf4\xb6\x2a\x2e\x25\x99\x37\x6b\xd7\xc8\x57\x5e\xce\x69\x2b\xa0\xae\xec\x4c\xb7\xc3\xb6\x32\x4e\xff\xdb\x62\x24\x41\x1b\x00\xa5\xab\x54\x86\x42\x2e\xf9\x0a\xec\xe8\xf5\xd2\x2b\x73\x32\xac\x89\x64\xe5\x0f\xc8\x66\xd7\xf8\xe8\x4d\x8b\xa1\xdb\x27\x3e\x9a\x13\x37\x35\x9d\x6d\x6c\xc1\xce\x10\xae\xf2\xd9\x34\x81\xb8\xfa\xd9\xec\xe8\x0c\x01\x05\x30\x5d\x5c\xcd\x50\x17\x72\x6d\x01\x09\xfc\xe9\xfa\xbb\x6d\x3d\x54\xac\x7c\x7c\xce\xfc\x6d\xe1\xd2\xf1\x0c\x5b\xbb\x03\x28\x51\xae\x98\x47\x55\xed\xc7\xb3\x47\xe6\x05\xac\x48\xa3\xf6\xe8\x33\xe2\xea\xe7\x40\x51\x66\x06\xd8\xeb\x90\xfb\x94\x09\x3f\x85\x15\x28\xe3\x1e\xa8\x49\xb1\x02\xce\x42\x3f\xf6\x74\xca\x09\x76\xd9\xa5\xce\x82\x62\xe3\x00\x7d\xfb\x12\xb4\xe7\xd5\xbc\xb0\x1d\x83\x39\x1a\x8c\x16\xd8\xab\xa8\xe8\x21\x12\xc4\x9c\x48\xf6\x5e\x65\xf9\xbb\x34\x99\xbb\x90\xea\x92\x7b\x40\x4b\x75\x98\xda\x96\x97\x1f\xf0\x1d\x40\x6e\xad\xab\x38\x78\xc7\x6a\xa5\x99\xca\xf9\x78\x61\x27\xf8\xb1\x48\xd0\x69\x9d\x55\xfd\xcb\x8c\x44\x9b\xe0\x02\xdd\x62\x81\xa7\x44\x11\xb1\x2c\x1c\xa9\x58\xef\x1c\x44\x1c\xb7\x82\xb6\x5f\xb3\x8a\xa6\x18\x4c\xb9\x6a\x50\xa6\xdd\x5e\xad\xc2\xf9\xc9\x66\xb1\x16\xa4\x99\x9e\xc6\xcf\xd6\xf2\xbf\xe6\x2c\x6c\x3f\xf9\x34\x6c\xb4\x95\x07\xeb\xb4\xed\x9c\x0e\x83\x6f\xd3\x5f\x40\x8a\x29\x84\x0b\xb5\x04\xd8\x66\xf5\x28\xeb\x10\x6d\x56\xf1\xd2\x9d\xf0\x6e\x97\xe1\xe0\x32\x93\x4b\x87\xaa\x90\x3b\x01\xbb\x04\x54\x2a\x03\xee\x52\x8d\x4a\x03\x42\x4b\x55\x84\xa4\xe7\xf6\xb3\x98\x85\xb9\x41\xd7\x4a\x56\xe5\xfa\x67\x25\x72\xad\xe0\x71\xbb\x42\xec\x08\x12\xcd\xae\x25\x9a\x55\x5b\xb9\x10\x5d\xab\x77\x27\x11\x25\xf0\x20\x5b\x97\xdc\xa2\x3e\x14\x27\x08\x29\x5d\xf6\x8a\xb4\xc5\x8d\xe1\xea\xa7\x2c\xfb\x57\x91\x83\xbb\x4d\xed\x6f\xd5\xaa\x5c\xd5\x33\xcf\x05\x05\x1e\xa8\xc4\x97\x06\x6c\x5c\x0d\x8c\xd6\x84\x41\x1a\x2b\x7f\xef\xda\x38\xb0\x20\x67\x7c\xce\x53\xf4\x42\xe5\x04\x29\xfe\xc8\x20\x4e\x30\xf3\x06\x28\x8e\xcc\x8b\x27\xf0\x16\x60\x5b\xc8\x74\x38\xa5\x0a\x61\x6f\x86\x05\x93\xe4\x89\x3d\xcf\xfa\x03\x98\x71\x25\x7c\x41\x15\xee\xd2\x8a\x43\xb3\x81\x7d\x2d\x6f\x64\x5b\x84\x02\x2f\xa6\x79\xbf\x18\x05\x9e\xc6\xe3\x6b\x98\x95\x67\x2e\x80\x14\xa0\x6a\x6b\x83\x45\x82\x05\xb8\x5e\x2a\x55\xe9\x6e\xb1\x86\x9e\x15\x00\x05\xf9\x42\x34\x42\x28\xc8\x5f\xdf\x05\x44\x41\x5d\x25\xbd\x65\x29\xab\xee\x93\x1a\xfb\xb7\x4b\x85\x56\xdc\x05\xce\xfb\x92\xd2\x6d\xad\xa4\xd4\x36\xa8\xba\x3c\x21\x60\xf3\xf0\xf2\xba\xe8\x65\x38\xe3\x11\x67\x31\x5d\x23\x5e\x18\xaa\xa5\x0d\xd3\x51\x87\xcd\x57\x23\x1f\x4d\xfd\x40\x7d\x6b\x2f\xf1\x24\x91\x6a\xcc\xcd\x95\x2a\x6b\xde\xbe\xbf\xd3\xbd\x94\xd0\x22\x18\x11\x29\xdf\x4e\x8c\x2b\xc8\xfb\x89\x54\x32\xaf\xc8\x45\x7d\x64\xd5\x52\xd2\x72\xbe\xbd\x6d\x1a\xc9\x4e\x61\xf7\x3c\x1e\xe1\x66\x61\xad\x6e\xbf\x64\x81\x78\x46\xa1\x27\x16\x64\xa3\x24\x06\xe7\x6e\xc8\xba\x00\x2a\x2d\x1c\x6d\x92\x6b\x5e\xc1\x39\xaa\x87\xbe\x90\xe4\xb1\xf2\xec\x5a\xc1\x60\x87\xea\xe7\xc2\x0d\xd2\x38\x27\x26\x93\xe3\xed\x8d\x61\x83\xba\xe3\xcc\xd6\x50\x72\x27\x6f\x52\xac\x19\xe0\x6c\x77\x06\xc2\x5b\x46\xa6\xd0\x8d\x9f\x80\x0b\xda\x8e\x1d\x9b\x70\x9c\x0c\x1a\xbe\xb4\x26\x85\x19\x9b\x90\xca\xbd\xcc\x7a\xdd\x0a\xdb\x9e\x4f\x54\xd8\x98\x64\xea\x5b\x37\xa0\xb4\xb6\x0d\xe5\x2c\xdd\x16\x99\x00\x9a\xb2\x98\x08\x46\xb0\x9a\x1c\x2e\x13\xe4\x62\x5b\x13\xba\x37\xbe\xfd\x66\x85\xd8\x91\xe2\x62\x72\xc8\x36\xc3\x4d\xd5\x64\xcd\x24\x8b\x35\x32\x16\xf2\x62\xdb\x0b\xea\x6d\x85\x69\xd3\xc3\x1f\x5a\x67\x97\x6e\x95\x2c\x52\xad\x72\xee\x27\x6d\xa6\xc2\x36\xb5\x90\x30\xa3\x4f\xbb\x5f\xa2\x7c\x05\x49\xde\x44\x7e\xca\xfe\x53\x26\x96\x15\x43\x4f\xbd\x2c\x0a\xa8\x48\xaf\x30\x65\x96\x7b\x2d\x4b\x9c\xd0\x72\xef\x14\x57\xe5\x4a\xb4\x3e\x0b\xe7\xcd\x27\xe1\x84\x94\x8c\x90\x92\x51\xb1\x46\x21\x25\x03\xa1\xb6\xa5\x64\xac\x52\x41\x97\x19\x69\x33\xbf\x21\x14\xad\x2d\xd4\x56\x32\xeb\xbb\x42\x8f\xdc\x3c\xed\xc0\xd9\x39\xfd\x98\x2d\xfb\x8b\xfd\xa1\x32\x6c\x6b\xe1\xb3\xf2\x6c\x7d\x9b\x2b\x9b\x97\x5d\x17\x58\xc4\x89\x85\x20\xb4\x41\xd5\x45\x1b\xd9\x32\x73\xee\x23\xfb\x81\xbf\x90\x67\x22\x4e\x10\x56\x68\xca\x01\xd7\x2a\x8f\xe1\x81\x83\x50\xc0\xd2\x37\xb1\x1a\x18\x5d\xe3\x29\x89\x4d\xe1\x50\x2f\xf4\xd2\x1a\x95\xad\x3b\xb8\x0a\x69\x17\x40\x63\xcd\x32\xb8\xd8\x8e\x47\x66\xc2\x21\x4d\x08\x1e\xc8\x0a\xd4\x4d\x0c\x36\xcc\x1f\x33\x67\xf5\x1f\xcf\x50\x5f\xdf\x4f\x54\x16\xc7\xeb\x01\xef\xd5\x8d\xed\x91\x8d\x05\x4f\x67\x99\x9d\x8f\x0f\x4d\x05\x69\x13\xa1\xb5\xe8\xac\x86\xc1\x38\x4f\x75\x84\x63\xad\x8b\x2f\xdf\x38\xaf\x12\x29\xbb\x11\xcc\x92\xbf\x81\xf4\x31\xcc\xc2\xff\x6c\x38\xbe\xf1\x31\x7b\xe0\x32\xcb\x2a\x00\xec\xc9\x01\x7e\x49\x24\x58\x85\x32\xcf\x40\x21\xd7\xbd\x88\xa7\x50\x39\xce\x65\x76\xdb\xcc\xb7\xe2\xfc\x0f\xd5\x50\x0d\x79\xe7\x36\x2e\xcd\x24\xd2\xda\x7b\x62\x6f\x16\xdd\xc6\x11\xbe\x75\xfc\xe2\x36\x15\x33\x0e\x92\x58\x32\x77\xd0\x12\x16\xe4\x6f\xc6\x67\xa9\x89\xbd\xa3\x7e\x28\x56\xe5\xce\xa6\x52\x7d\xc6\x2a\x9a\x68\xce\x9d\xa3\xb2\xed\x28\x26\x31\xe7\xca\xfb\xb5\xf2\x56\xcc\xe0\xc2\xef\xbd\xc6\xed\xb1\x6c\xf7\x78\x31\x86\x59\x20\x67\x26\x49\x4c\x75\x7f\xc6\x35\x68\xeb\xc2\x7b\x76\x51\xf7\x89\x7d\xa2\x27\xba\x6a\x17\xad\x1a\x7f\xb3\xbd\x55\x2c\xf5\xb6\xf3\x68\xc7\x2d\x60\x6e\x2e\x2d\xa8\x58\xfe\xa2\x2d\x74\x5c\x13\xa2\x20\xe8\x66\x99\x4a\xb6\x3c\xc3\xb3\x16\x47\x32\x8b\xeb\x14\xcf\xb4\x12\xa1\xb8\xbe\x25\xc5\xd8\xc8\xb1\x26\x96\x17\x61\x94\x0a\xea\xce\x7e\x29\x6f\xbd\x7e\x77\x80\x85\xf2\x83\x5f\xca\x2b\xc2\x5e\x95\x43\x13\x94\x80\x23\x95\xe2\x2c\x78\x12\xf6\x44\x42\xd9\x93\xee\xcc\xe4\xe8\x3b\xe7\xbf\x70\xe2\x5d\xc5\x9a\xae\xdc\xd8\x5b\xac\x32\xae\xc2\x60\x6c\x74\xd2\x28\x1b\x7b\x00\x8e\xd5\x56\xe2\x26\x45\x37\x2a\xbf\x6c\x56\x38\xa4\xf2\xd3\xba\x32\xc7\x4d\xbe\x5d\x02\x30\xd5\x28\x64\xbd\x8d\x15\x13\xbc\x4c\x00\x1b\x2a\x6c\x65\x37\x1f\xd8\xd3\x76\x04\xb0\xc7\x14\x42\x19\xb0\x93\xe5\xfe\xe0\x97\x4d\xd0\x43\xfb\xe6\xbf\xf3\x87\xa0\xbf\xdb\xe2\x2c\x15\x2f\x3e\x32\x2e\xec\xab\x27\xd9\x7b\xfa\xb5\x1c\x9f\x58\x4b\x89\x8b\x5f\xe6\xe8\xa3\xa2\x88\x53\x08\x68\x2d\x16\x67\xce\xc0\x53\x67\x65\x2d\xf4\xe0\x9f\xd2\x21\x11\x8c\xe8\x39\x39\x5c\x87\x8c\x07\x4f\x31\xc3\x63\x00\xc3\x3e\x81\xa0\x43\x90\xb2\x73\x0d\xca\x9c\x44\x53\x1f\x14\x98\xac\xe6\xf1\x36\x95\x39\xaf\xfa\x0d\x7d\x1a\x09\xdc\x62\xf1\xe6\x91\x2b\xd5\x87\xf6\xce\xf6\xbf\x99\xa2\xd1\xef\xdc\xff\x38\xb8\xeb\xde\xdf\x3c\xdc\x5d\x14\xb4\x8d\x8b\xab\x87\xfb\x7e\xf7\xae\xf2\x59\x9e\x06\xfc\xd3\x43\xf7\xa1\xe6\x91\x6b\xe0\xaa\xf3\x7d\xb7\x50\x42\xff\xa7\x87\xce\x55\xaf\xff\xeb\xe0\xe6\xe3\xe0\xbe\x7b\xf7\x73\xef\xa2\x3b\xb8\xbf\xed\x5e\xf4\x3e\xf6\x2e\x3a\xfa\x4b\xff\xdd\xdb\xab\x87\x4f\xbd\xeb\x81\x8b\xe8\xf6\x1f\xfd\x72\x73\xf7\xe3\xc7\xab\x9b\x5f\x06\x5e\x97\x37\xd7\x1f\x7b\x9f\xaa\x66\xd1\xb9\xbf\xef\x7d\xba\xfe\xdc\xbd\x5e\x5e\xaa\xbf\x9a\x1a\xb5\x75\xb3\xbd\xfb\xd7\xb3\x75\x79\xd2\xdd\x70\x6e\xcf\x04\xfd\x27\xb8\x5c\x6e\xcd\x16\x3d\x3d\x71\x7f\x99\xc2\xfa\xa7\x9a\x73\x3b\x77\x5e\xce\xf4\x1e\x59\xe6\x13\xce\x64\x01\x85\xc7\xd2\x65\x75\x17\x46\x7b\x8e\x3a\x70\xc8\x40\xcf\x29\x74\x0a\x49\x23\xd9\x48\x5d\x14\x01\xec\xc3\x84\x4e\x29\x04\x14\xa0\x53\x54\x5e\xf0\x62\x83\x76\x4e\x30\x04\xeb\x6e\x8c\x97\x9d\x06\x59\x4e\x18\x87\x9d\x72\x8e\xdc\xc5\x42\x8c\x15\xc4\xc0\xfa\x9a\xc2\xf4\xe5\xec\x16\x40\xb6\x45\x39\x8a\x4b\xb9\xc5\xc2\x06\x2b\xb6\x3c\x21\xe8\xc7\xbf\xe5\x83\x02\xc7\x8b\x35\x18\xa4\x0b\x15\x28\xed\x03\x91\x1a\xaa\xae\xda\x9e\x85\x9e\xdc\x31\xb7\x16\x71\x38\xb7\xb6\x6e\x3f\x78\xc9\x52\xe6\x21\xb9\x15\x5c\x66\xfa\x78\x9b\x19\x95\xf6\xf8\x39\xba\x07\x14\x19\x99\x5b\x1c\xf4\x2a\xce\x92\x74\x4c\x19\xa2\xd3\x59\x02\x3c\xc6\x98\x21\x86\x64\x82\x9f\x29\x77\x05\x57\x4c\x5d\x1a\xa0\xa3\x95\x08\xd1\x29\xaa\x3d\x28\xe7\xa8\x13\xc7\xb2\xc8\xe0\x0a\x3b\xc7\x71\xd1\xd3\xe2\xb0\x7d\xf0\x35\xcd\x58\x2d\xdb\x2c\xed\xa3\xfc\xc8\x01\xc5\x76\x8f\x93\xb3\xc8\x0e\x8b\x22\xc3\x16\x52\x8b\xa6\xe0\xc0\x6d\xe5\xc1\x46\x32\x4c\x1f\xcb\x27\xc7\x9a\x57\xc9\x31\x0e\xb1\x68\xbb\x1e\x2d\x74\x51\xd3\x4e\x33\xca\x0e\xe0\xa0\x6d\xd6\x67\x2d\xe0\xf6\x8a\x2e\xdd\x8c\x93\x52\xa9\xbb\xc6\xfd\x15\x4a\xe5\x55\x76\xb6\x53\x27\x55\xb5\x10\x09\x47\x72\x90\xed\xff\x35\xe6\x71\x0b\x9f\xde\x64\x5f\x2e\x95\x34\x07\x1e\xdd\xd6\x75\x5d\x2d\xe4\x3f\x5b\xf7\xd5\xd2\x7d\xb8\x23\xe4\xac\xe6\x52\x24\x94\x0a\xa1\x11\x78\x29\x31\x65\xb6\x80\x14\xc9\xdc\x68\xae\x60\xbb\x3e\xc7\x59\x49\x45\x3c\xe4\xcf\x05\x9d\x78\x4a\xa4\xc4\x35\x58\x30\x9e\x25\x6f\x1b\xc6\x90\x9d\x50\xfb\x61\xc3\xfd\xe4\xce\x64\x5f\x7f\xb5\x4c\x46\xbf\xf3\x15\x7a\x37\x51\x2d\xc3\xc6\x2e\x88\x19\xdd\x98\x54\x46\xcd\x5f\x4e\xf2\x18\x20\x2e\xbc\xd0\xa8\x3a\xaf\x55\x43\x6b\x60\x99\x60\x95\x75\xc1\x7c\xcf\xe3\xfa\xa1\x43\x5e\xeb\x1b\x83\x8d\x5b\x77\x10\x2e\xd2\x67\x8d\x5d\x57\x70\xd3\xfa\x15\xdb\x23\x3e\x9d\x1a\xb9\xa0\x60\x02\x3e\x41\xd8\x64\x90\xe6\xd2\x94\x4c\xa3\x89\x71\x8e\xe9\x2b\xe3\xe4\x91\xbd\x78\x0b\x52\x88\xb1\xee\xf8\x2d\x01\x50\xeb\x17\x7d\xdc\xe8\x73\x21\x72\x1d\x44\x46\x0a\x61\xd4\xde\x46\x30\x7e\xcc\xbc\xe0\xd9\x8a\x0d\xee\xad\xd7\x16\x5b\x7d\x83\xda\x9a\x25\xfa\xd6\x55\xd8\xcc\xe6\xe6\x15\xb6\xdc\x42\xc1\x6f\x3a\x04\xaf\xb6\x66\xd5\x08\x76\x50\x5a\xf3\xa0\xc8\xe9\x59\x26\xac\x49\x9c\x9e\x0e\x2d\xfc\x87\x9e\xae\xa3\xf6\x9f\xdc\x8c\xfe\x64\x14\xe1\xb4\x06\x2f\xc6\x6b\x2d\x03\x4f\x47\xa7\x5a\x66\x75\x38\x06\x36\x7e\x44\xa2\x53\x03\xc8\xf8\x1e\x82\x58\x3b\xb7\xbd\xf7\x27\xe8\xbd\x9f\xc8\xf7\xfe\x68\x4c\x17\xf9\xf1\xb7\x54\xb3\xc5\x3d\x41\x97\x2b\xe4\x92\x14\x0f\x3d\xec\x94\x12\x1f\xb0\x3b\xc6\xb2\x01\x54\xc7\x05\xf4\x97\x85\x6f\xc0\xa3\x0f\xe5\x22\x8d\xd3\x3b\x8b\x64\xb7\x7e\x33\x23\x61\x53\x59\xb1\x72\xf1\x23\x1b\xce\xcb\x9e\xb1\x93\xcc\x35\xd6\x98\x47\x6c\x5d\x02\x51\xb7\xb7\x98\x77\xbe\xe3\x08\xeb\xe5\xb7\xd1\x8a\x4c\xf6\x4e\x56\xa7\x27\xe7\xa1\x75\xa1\x1d\x21\x35\xa1\x6a\x56\x05\x33\x9f\x23\x66\xe5\xa2\xac\x92\xbe\x8e\x6d\xbb\x35\x88\xe7\xef\x54\x51\xc4\xa6\x72\xd4\x88\xf6\x61\x97\xed\x77\x97\xed\x22\x95\xa5\x38\xb8\xf5\xaf\xef\x0b\x23\x45\x7a\xcd\x38\x73\xaf\x56\x65\x32\x06\x5f\xa8\x93\xb9\xba\xbc\xf5\x9a\x8e\x72\x8f\x26\xab\x3d\xe5\xf7\x26\xda\xc2\xf8\xaa\x17\xc7\x5a\x1e\x6a\x47\xd9\xea\x52\x9c\x9a\xb4\x55\x45\xa7\xe4\xc4\x94\x33\xcb\x23\x44\xec\x79\x85\xed\x66\x02\xbb\x26\x84\x0a\xd7\x89\x05\x8f\x5c\x0b\xe7\x60\x4d\x5d\xa0\x6e\x8f\x6c\x11\x9e\x73\xdd\xf9\xdc\xbd\x1c\x74\xaf\xfb\xbd\xfe\xaf\x15\xc0\xa0\xc5\xc7\x0e\x1b\xd4\x7b\xe1\xfe\xd7\xfb\x7e\xf7\xf3\xe0\x53\xf7\xba\x7b\xd7\xe9\xaf\xc0\x0d\x5d\xd6\x59\x1d\x26\x65\x2a\xab\x94\xc7\x75\x70\x29\x9d\x91\xb9\xa2\xf7\x45\xf4\x50\xaf\x13\x4a\x6a\x10\x44\x0d\xa6\x03\x8b\x89\x40\x31\x79\x26\x09\x9f\xe5\x46\xdd\x4a\x82\x79\xd0\xa2\x15\xed\x2f\x83\x17\x85\x36\xcb\x34\x3e\x47\xa6\x36\xa2\x57\x1e\x3a\x6b\x10\x44\x3e\x2c\x08\x7b\xaf\x10\xf9\x32\x4b\x68\x44\x95\x97\xf3\xc9\x85\x75\xee\x18\x9f\x2b\x84\xf4\xae\xd8\x5c\x3b\x0b\xe1\xd9\xb9\xc5\xc1\x0f\x3f\x58\xb4\x35\x64\x27\x2a\x83\xba\x5b\x59\x19\x6a\x07\x66\x85\x1a\x4f\xfb\x02\x12\xdf\x06\xa3\xdb\x87\x71\x62\x31\xb1\xc9\xe6\x6d\xd6\xa0\xf4\x55\x0f\x72\xf5\x6d\xb8\x2c\xb8\xa8\x70\xae\x97\x47\x17\x35\xdb\xa9\xaf\x1c\x23\x54\x28\x44\xbb\x03\x48\x15\x1b\xf0\xbf\x66\x94\xc7\x42\x21\x20\x66\x02\x75\x31\x12\x64\xca\x95\x56\xc0\x4c\x18\xc5\x89\x16\xaa\x28\x4e\xe8\x3f\x01\x7c\x4c\x90\x33\x2f\xec\xc4\x41\xb6\xe5\xce\x0b\x0b\x0c\x72\xf6\xc8\x2e\xbb\xb7\x77\xdd\x0b\xcd\x90\xce\xd0\x83\x04\x5c\xb1\xc2\xd4\x2f\xed\xf6\x36\xe2\x98\x1f\xfe\x41\x99\x54\x04\xd7\x45\xd0\x11\x21\xb8\x68\xce\x1f\xb2\xfe\xba\xf0\x5d\xf5\xf6\x86\x67\x05\xcb\x98\x33\x3f\x5c\xd7\x56\x11\xf7\x12\x2d\x76\x9e\xc8\x76\x87\x5f\x0a\x14\xf1\x71\x55\x40\x12\x29\x52\x7d\x8f\xd4\x06\x64\xd6\xe6\xf3\x2b\xf4\x79\x0b\xdf\x2e\x9b\x67\x1f\xe2\x12\xa5\xca\x61\x5e\x0d\x12\x6c\x56\xce\xa8\x34\xcf\x5a\x51\x51\xbc\x06\x06\x4b\x69\xeb\x0f\xc9\x18\x33\x24\x52\xc6\x4a\xb8\xbf\xbe\x9d\x6f\x31\xd2\x68\xdd\xa3\xaa\x69\x86\xa7\x3c\x65\xa6\x1e\xaf\x1e\x55\xc5\x60\xe4\x8c\x30\xb5\x62\x30\xaf\x85\xb0\x53\x1a\x6a\x7b\x41\x76\x2a\x06\x5a\x87\xb3\x53\xe5\xcd\x82\x52\xe5\xeb\x5d\xcb\x2e\x92\xb1\xe0\xd2\xd2\x87\x2a\xbb\x9f\xab\xb5\x6c\x2c\x9f\xb6\xee\xae\x8f\xe5\xd3\xea\xae\x62\x12\x3d\xad\x7b\xd9\x94\xd3\x59\x13\x5b\xe9\x7d\xc1\xd8\x37\xd7\x4f\x6d\xcd\x1d\x28\xf0\x1f\x3d\xa1\x1f\xfa\x9f\xaf\xd0\x88\x6a\xb9\x57\x5f\x2b\xd7\x58\xcb\xd8\x0f\x22\x71\x56\x69\x6b\xd9\x4d\x45\x92\xdd\xbd\xb0\xf0\x4e\x94\xf2\xa4\x04\x7d\xa3\xe1\x31\x71\xa6\x66\x61\x61\x14\x4b\x35\x77\x04\x66\x31\x9f\x9a\x79\x7c\x90\xe9\x68\x44\xbf\x9c\x29\x2c\xbe\xa9\xa1\x87\x89\xe9\x18\xfc\x83\x0f\x07\x7a\x44\x5b\x5e\xc4\x55\xcd\x21\x5b\x80\x3c\x23\x9b\x9d\xd9\xa5\x79\xf7\xff\xf0\x21\x40\x04\x00\xca\x81\xf3\x0d\xda\x38\x09\xfb\x8a\xdb\x49\x79\x45\xee\x02\x7a\x4d\xc4\x85\x20\x16\x59\xc0\x14\x8d\x9d\x61\xa1\x28\x58\x6b\x1d\xfa\x4d\xa1\xec\x41\xbe\x44\x7e\x89\xfc\x09\xce\x21\xc6\x87\x84\x80\x7b\x69\x46\x93\xf5\x94\xde\x8b\x82\x67\xb4\x74\x02\x6d\xb8\xae\x05\x44\x05\x83\xcc\x4a\x11\xab\xfb\x4c\x98\xda\x89\x7e\x02\x4d\x54\x60\x1d\x34\xf3\x71\x98\xda\xad\xbd\xcb\xfc\x72\x73\x71\xd0\x7e\x4c\x95\x12\x18\xee\x79\x9b\x5d\x66\x1d\xfa\x75\x61\x06\xcf\x8d\x3d\xd7\xf0\xea\x22\x5d\x56\xe4\x13\x58\x6a\xe7\xa5\xf1\xf3\x58\x60\x57\xb3\x61\x43\x84\x26\x49\x8c\x15\xc3\x43\x06\xb1\xca\x69\x79\xcd\x4d\x9f\x7a\x6f\x95\xba\x5c\xb9\xe4\x1b\xc0\x11\x15\x9a\xf9\x44\x20\x0f\x76\x17\xd1\xfb\xeb\x00\x1e\xc0\x40\x1e\x44\x02\x71\xe7\x4b\xad\x58\xa6\x7e\xbc\xe6\x7c\x99\x64\x87\x1b\xc8\xe8\x66\x30\x5a\x68\x24\x33\x41\x22\x7d\x95\x9d\xa3\xdb\x84\x68\xc9\x2b\xd5\xd2\x57\x9a\x24\x0e\xba\x6d\xb9\x74\xb8\x16\xdc\xe0\xde\xe7\xe5\xe9\x1e\x4b\x26\xe6\xa0\x0b\x97\xcf\xcc\xa3\xc1\xee\x61\x2a\x3c\xfa\x82\x09\x19\x0c\x89\x45\x2d\x12\x38\xfc\xdc\x44\xed\x82\x29\x09\x17\x2e\x32\xfa\x4f\xcd\x7e\x05\x91\x13\x5e\x9b\x19\xea\xcf\x76\x3f\x73\x70\xa4\xdc\xe3\x24\xdc\x7d\x58\x17\x8c\xde\x40\xae\x29\xdd\x81\x05\x11\xa7\x89\x2f\x36\x8f\x3d\xb1\x40\xba\xf6\x6e\xb5\x43\x83\x5b\x32\x37\xb5\xf9\xa0\x76\xb9\xeb\x22\x57\x66\xe6\xc6\xf7\x9a\x7d\x9e\x1b\x90\xf3\x3c\x0a\xaa\x64\x5e\x4e\x10\xe9\xbb\xb6\x6e\x89\xf5\x3c\x07\xa9\x58\x0b\xc7\x23\x87\xa3\x5f\x87\x73\xdb\x0c\x9e\x7c\x58\x9a\x08\xd5\xec\xd2\x56\x09\x01\x31\xda\x06\x3a\xc9\x02\xc4\x9f\xdd\x36\x86\x8c\x95\x2a\x5e\x3d\x53\xde\xd6\xad\x06\x52\x72\x2e\xca\xec\xcb\xbb\x56\xd8\x81\x85\x09\x04\xd0\xb8\xf5\x41\xe3\x6c\xc9\x98\x6c\xef\x01\xc4\xa3\x12\x80\x96\x90\x3b\xd0\xca\x82\x83\x35\x7a\xaf\x4a\x17\x2b\xac\x4e\xa3\xdc\xb0\xc2\x17\x9a\x97\x5c\x6e\xe9\x81\xd3\x93\x99\x0f\x20\xdb\x76\x9b\x18\xa0\xc2\xfc\x8d\xf7\x00\xda\x24\x31\x32\x90\x0f\x06\xd2\xda\xd2\x2e\xf3\x9c\xcc\xb0\x20\x4c\x3d\xb2\x3b\x3d\x0a\xf3\x45\x1e\x89\xe1\xa2\x80\x5c\x99\x01\x28\x46\x3c\x42\xd8\x7e\x05\x44\xaf\x0b\xc3\x93\x03\xf3\x12\xa8\xa6\x7b\x44\x26\xf8\xde\xbc\x63\x80\x22\x2c\x50\x92\x9e\x2a\x1d\xe5\x6a\xbc\x16\x20\xa3\x09\x05\x9c\x86\x98\x48\x7b\x21\x51\x65\x81\x38\x32\xf1\x3b\x25\x0e\x58\x1b\x3e\xcb\xf8\x57\x15\xc3\x76\x86\x02\xe6\x0c\x74\xf2\x91\x79\x7d\x2c\xc1\x61\x35\xca\xfa\x86\xaa\x04\xac\x33\x8d\x33\xc7\x17\xfc\xd3\xac\x10\x17\x74\x4c\x99\x57\x0d\xcb\x4e\x6f\x8a\x67\x60\xde\x35\x67\x90\x8f\xb2\x3b\xad\x6f\x73\x1c\xce\x60\xc4\xff\xf7\xef\xff\x73\x46\xeb\xbc\x1f\x72\x60\x29\xd0\x86\x95\x5c\x6f\x59\xfc\x95\xf7\xa0\x57\x6a\x20\x3d\x3c\x9d\x56\x16\xf2\x36\xf2\x5f\xed\xe5\xa6\x37\x0d\x57\x13\xe3\xee\x2d\x6e\x77\xf0\x8d\x88\x74\xc9\xd9\x30\x57\xcc\xeb\xd2\x92\x4a\xc8\x4d\xd0\x23\x31\x27\x39\x33\x10\xf8\x95\xe6\x17\xcc\x34\x8f\x2c\xff\x44\x1a\x10\x19\x83\xdb\x6b\x7e\xc8\xa9\xd3\x90\x30\xcb\x78\x7f\x1e\x29\x91\xbb\xc3\xbd\x58\x68\x57\x17\xc5\xc4\xb0\xea\xf6\x4b\x37\x6d\x89\x73\x7b\x00\x96\xdb\xc4\x8c\x4e\xb0\xdc\x5f\x68\x4e\x65\x3d\x2f\x63\x4d\xf7\x85\x87\x55\x41\x3a\x66\x90\x26\x45\x56\x2f\x48\x2a\x89\x30\x9c\x2e\xc3\x10\xb3\x3b\xc1\x87\xe7\x84\x08\xd1\x15\xbe\x46\x32\xc5\x74\xad\x6c\x06\xfd\x7e\x35\x78\x68\xc1\xd9\x80\xc7\x44\x0c\xe2\x54\x2d\x1c\x8b\x65\x19\x06\xfa\xa3\xcb\x54\xcd\x57\xb7\x2f\x13\xbc\x58\xcf\x68\x19\x60\xab\x7e\xbf\xa6\xd9\xd5\x12\xb3\x17\xe2\x53\x94\x9a\x6b\xe0\x50\x49\x09\x0e\xd5\x46\xbc\x16\x4c\x24\x70\x03\x33\x05\x38\x84\xb9\x26\x65\xaf\x68\x03\xda\x0e\x23\x47\xc3\x34\x37\x29\x65\x65\x30\xe2\xb3\x47\xf6\xd1\xd4\x91\x01\x2d\xcf\x0c\x20\x82\x74\x23\xf2\x65\xc6\x25\x29\xe4\xbf\x55\x94\xb6\xb0\x89\xaf\x76\x18\xd5\xc2\x7a\xfe\xd1\xf6\xb2\xfa\xab\x03\xdb\x2e\x2e\xf8\xe2\x94\xab\x77\xe0\x56\xe2\x60\x44\x67\x54\xef\x9d\x41\xe5\x49\xdb\x5f\x79\xe5\x3c\xa6\x0b\xc0\xc3\x54\x32\x3f\x41\xd9\xf4\x4a\x1b\x22\x21\xcf\x04\xcc\xe9\x30\x46\xbf\x80\x49\xd1\xae\x57\xc3\x4e\x56\x1d\xa0\x3c\xf9\x14\xd8\x02\x8a\xcb\x23\x28\xa6\xe8\x55\xed\xc5\x62\xf2\xd1\xd6\x79\x72\x55\x81\x29\x6b\x88\xe7\x1d\xbf\x90\xcb\x9c\x28\x44\xbe\x28\x62\x4b\xbd\xf6\x5d\x26\xe3\x62\xf2\x03\xaa\x4e\xc6\xaa\x97\x1d\xf7\x5e\x74\xbb\xe3\x12\xdf\x5d\xaa\x66\xec\xae\x7c\x9b\xba\x38\xc1\x2c\xb6\xf9\xb8\x56\xc9\xd0\xc2\x16\xcc\xce\x18\xdd\xb2\x4c\x05\x9b\x55\xea\x21\xe0\x9b\x36\x0d\x54\x3f\x5c\x64\x4e\x61\xd4\x2a\x0b\x84\x57\x70\xa1\x25\xf7\x94\x29\x9a\xe8\xcd\x61\xc7\x20\xd1\x08\x22\xe3\x2c\xba\x23\x44\xb6\xd7\x01\x08\x52\x29\x29\x1b\x0f\x2c\x25\x5d\x6a\x69\xb3\x8b\xa1\xb8\xa7\x3e\x9b\xa6\xcc\x8f\xdf\xbb\x86\x96\x1b\xd5\xcd\xb6\x06\x70\x37\x97\xd4\x0a\x1a\x07\xe3\x6e\x32\x16\x95\xcf\xe5\xc2\x0e\x68\x6c\x48\x41\x4d\x45\x71\x98\xe8\x3a\x76\x77\x90\xe9\x16\xc1\x2f\xf2\x2b\x44\xda\x44\x55\x93\x7e\x06\x91\xfa\xaa\x26\x13\x57\xd6\x66\xe0\xf6\x58\x26\xa2\xd9\x7a\x66\x19\xce\x40\x29\x99\x17\xbb\xee\x6c\x3a\x02\x4e\x92\x21\x8e\x9e\x32\x2d\x2c\xb3\x45\x70\xe1\xea\x41\x68\xb9\x12\x0a\xde\x99\xcd\xa5\x07\x1a\x81\x74\xe3\x7b\x0b\x0d\xfc\x91\x1d\x76\xde\xb9\xa1\x9a\xc5\x95\x33\x78\x57\x66\xf4\x26\xb7\x21\x26\xb3\x84\xcf\xa7\x35\xf7\x59\x39\x81\x71\x9b\x48\x9d\xba\xfc\xc9\x9d\x5e\x65\x25\xa6\xb7\xf6\x65\xb6\x90\x0d\xb5\x03\x30\xae\x35\xb8\xe4\xa7\x84\x0f\xc1\xa4\x6a\xcd\x0f\x2e\xc3\xc7\x4b\xf5\x28\x9f\xe7\x75\xf3\x8e\xca\x27\x92\xca\x59\xa2\x95\x99\xfa\x1e\x4c\xce\xc9\x7e\xd7\xcd\x20\x24\xac\xb6\x0e\x36\x8f\xd6\xae\xfc\x7c\x1f\xb0\xcf\x57\x4e\x12\x30\xef\x1a\xfe\x55\xb2\xb2\x99\x54\xc3\x33\xe3\xa4\x56\xfc\x91\x29\x3c\x76\x8b\x6b\x85\x4b\xfe\xc2\x88\x90\x13\x3a\x2b\x14\xc2\xdc\x3a\x3c\xdc\xee\x68\xfb\x3f\x26\x18\xba\xb2\xcd\x16\xa6\x6e\xf5\xf9\xec\xd4\xa0\xb3\xe8\xdd\x29\x67\x38\xca\x6d\xb2\x51\x82\xa5\xa4\xa3\xb9\x07\xaa\x92\xc5\xf9\x42\xea\x5a\xd1\x88\xe1\x55\xbe\xab\x62\x73\x86\x3a\xbb\x41\x15\xd8\x3e\xa3\xf2\xa1\x78\xf8\x69\xec\x83\xee\xe9\xdb\x6c\x11\x7a\xc7\xc9\x09\x96\xea\xb5\xe0\xc1\x06\x3e\x61\x33\x14\x80\xa6\x78\x4d\x7b\xde\x49\x15\x69\x98\x0b\x1b\x29\x47\x0b\xcb\xe4\x68\x4b\x33\xab\xc3\x65\x48\x2b\x3e\x7c\x91\x2a\xe4\xb0\xc2\xce\xd3\x3a\xa3\x33\x89\xeb\x73\x99\xa1\xb4\x00\x98\x45\xfe\xf1\x09\x92\x5b\x81\xb2\x35\xd9\x94\x97\x24\x21\x3b\x09\x36\xdf\x60\x87\x96\x23\x39\xbc\xbd\xb9\x74\x5f\xe6\x65\x29\x56\xdb\x55\x36\x88\x81\xaf\xc1\x48\xaa\x1e\xfa\x2f\x66\xa0\x36\x0c\xbe\x6a\x15\xc1\x26\x0a\x54\x5e\x3d\xda\x36\xed\x72\x2f\xb4\xc4\x0c\xdf\xee\xf7\x7c\x8e\x85\x4d\x9d\xcf\x38\x93\x13\xdb\xb8\xcf\x5f\x39\x54\x7d\x61\x5c\x9f\x48\x93\xb0\x9a\x95\xa7\x6f\x23\xde\xbb\x78\x43\x35\xdb\x17\xd6\x71\xad\x38\x1a\x13\x40\xe2\xa1\x2c\xa6\xcf\x34\x4e\x71\x72\x54\x7b\x62\x67\x89\x36\x3b\xa2\x7e\x35\x87\x69\x64\xe9\xc9\xe3\x41\x89\x92\xee\x3e\x5a\xc0\xfc\xb4\x8b\xd3\xc2\x25\x68\xc7\xb1\x34\x0a\xc3\x9b\x97\xd8\xb6\x86\xc6\xb0\x23\xb3\x00\x11\x41\x94\x2c\x5c\xb2\xf9\xd8\x77\x2f\x4d\x1a\x1a\xc7\xf6\x8b\x0c\x0e\xa2\x00\xc3\x86\x0b\x68\x96\x66\x8d\x5e\x9f\xeb\x96\x8f\xd6\x5b\x97\x3b\xd7\x3f\x63\xe5\x51\xe5\xa7\x2b\x08\xc3\x6d\x38\xa7\xcd\xe5\x61\x07\x40\xdb\x42\xe1\xa7\xee\x18\xb6\xf3\xfe\x6d\x81\x70\xbc\x20\x12\xec\x4e\x44\x3e\xa2\x6d\xd2\x0a\x49\x79\x61\x29\x0e\x25\x2f\x9f\x3a\x6c\xaf\x1c\x29\xab\xbd\x4b\xd4\x8e\x93\x7c\x67\xdd\x8f\xfb\xbb\xe0\x57\xef\x97\x9d\xec\x0f\x80\xb9\xc5\x90\x8f\x9f\xda\x72\x3f\x70\x78\xbd\x18\xce\x05\x9f\xd7\x8a\xe8\x58\x3b\xbc\x46\x71\xb1\x0b\xe4\xdc\xc7\xf2\xda\xe4\xcb\xc6\x8b\xbb\xcf\xad\xb6\xee\x58\x76\xa1\xa3\xed\xd9\x7b\x68\x77\xa3\xf7\x41\x08\x52\x6f\x76\x8b\x56\x40\x3a\xb9\x25\xdb\xe5\x21\xab\xaa\xd1\xb8\x3d\x7c\x84\xcb\x2d\x1d\xcc\x04\x19\xd1\x2f\x1b\xa9\x02\xb7\xf0\xa9\x55\xaf\x35\x99\x4b\x55\x1f\xc1\x2d\x08\x55\x22\xbd\x40\x5a\x4b\x69\x5b\x19\xee\x91\xe5\x19\xb9\x36\x1d\x57\x0b\xc3\x5c\x14\x7e\xda\x14\xfa\x74\xf7\x15\x2a\xcd\xba\x4e\x94\x9a\xc9\xf3\x0f\x1f\xc6\x54\x4d\xd2\xe1\x59\xc4\xa7\x26\xff\x83\x8b\xb1\xf9\xe3\x03\x95\x32\x25\xf2\xc3\x5f\xfe\xfc\xe7\x7c\x89\x87\x38\x7a\x1a\x1b\x38\xa7\x45\x7f\x67\x71\xc9\x09\x96\xdb\x45\x94\xb9\xd4\xc9\x3d\xa7\xd0\x7b\xdd\xb8\xa4\x65\xfd\x8d\x54\x78\x3a\xf3\x43\x90\x4d\x8d\x47\xa9\x70\x5e\x59\x06\xf2\x61\xf5\x34\xd1\x04\xcf\x66\x84\xd5\x9b\x5d\x4c\x82\xf3\x16\xac\xc7\xa5\x48\xdb\x11\x92\x2f\xb3\x04\xb3\x22\xec\x07\x94\x49\x13\x24\x22\x4c\x59\x48\x8a\xbc\x36\x3d\xec\x46\x03\x3d\x65\xf8\xff\x7a\x29\xb0\x30\x47\x2a\xf3\xfa\x87\x6e\x38\xb6\x16\xb1\xab\x50\x8b\x3d\xd2\x95\xeb\x3f\xe7\xb4\x23\x8e\x6a\xcb\x92\x63\xef\x6d\xad\xb7\x6d\x76\x50\x24\x38\x1b\x90\x2f\x9a\xc9\xc9\x4d\x81\xe2\x1e\x24\x91\xa8\xf3\xcb\x3d\x92\x73\xa6\xf0\x97\x73\xf4\x99\x32\x10\x60\x7f\xe0\xa9\x90\xe8\x12\xcf\x4f\xf9\xe8\x74\xca\x99\x9a\xa0\xcf\xf0\xff\xed\x4f\x2f\x84\x3c\xa1\x5f\x09\x16\x96\x3f\xd8\xfa\x91\xae\x84\x1d\x6c\x21\x91\x32\x89\xc8\xb3\x3e\xa1\x7f\xfe\x5f\x68\x6a\x5a\x3e\x47\xdf\x7e\xf8\xf3\xff\x42\x7f\x84\xff\xfb\x7f\xd0\x1f\x6b\x2c\x0d\xeb\x41\xcd\x41\x99\xf1\xbb\xda\x30\x02\xa0\x94\x5c\x24\xf9\xaa\x66\x2f\x04\xcf\x57\xaa\xb2\xe5\x27\x1a\x3d\xf1\xd1\x68\xa0\x37\x86\x49\x20\x1d\xe0\xad\xcc\x0e\x3e\x6a\x30\xb5\x85\xe2\x4d\xd9\xc9\xbc\xe0\x93\xed\xd4\x20\x8d\x38\x76\x2d\xd3\xdc\x3c\x01\xc1\x6b\x85\xd2\xe3\x54\xc2\x57\x24\xd6\x5c\x75\x9d\xd3\xe1\xac\x8b\x0e\x74\xc0\x59\x90\x7c\x64\x1e\x27\x10\x17\x02\x4e\xfd\xe8\x69\x13\x60\x66\x09\x59\x79\x1c\x16\xc2\xba\xdf\x4c\xac\x2e\x4c\xed\xb5\xe2\x74\xe5\x42\xe7\xab\x43\x74\xef\xb9\xd8\x4a\xdf\x7a\x22\xb5\x29\x34\x2b\x8a\x9b\xb9\x82\xdb\xd8\x37\x6a\x28\x8e\x24\x17\x19\x7a\xb7\xb1\x8b\xd8\x12\xa8\xab\xad\xa8\x54\x98\xa0\xc6\x66\x87\x5e\x4f\xfd\x32\xfb\x64\xd5\x30\x21\xc2\xd1\xbd\x9d\x17\x77\x84\xd1\x6a\x11\x49\xb3\xc4\x8a\x11\x57\x80\x6c\xae\x5a\xd0\xfb\x0c\x57\x05\x1a\x87\x70\x5b\xc8\x1b\x62\x4e\xb2\xb5\xc0\x15\xd5\xeb\x99\x8a\x88\x5c\xf0\xed\xc2\xad\x13\xca\x16\xf2\x34\x6a\x83\xdb\xea\x65\xf2\x2b\x5b\x21\xce\xe1\x50\xf3\x38\x57\x16\x8c\x5b\xc2\xd6\x5e\xf1\x00\x70\x8b\xb3\x01\x20\xc5\x5d\x60\xac\x2e\x54\x04\xd9\x82\x6b\x1b\xc3\x75\xce\xf0\x5c\x41\x99\x52\x1d\x19\x81\x35\x2f\x5c\x12\x33\x09\xe1\x64\x5b\x8f\xc3\xab\x8d\x94\xc7\xa8\x15\xaa\x14\xc3\x48\x20\xdf\x72\x43\x8c\x5c\x53\xa6\xec\x04\x09\x0c\xc1\xc0\x6a\xa2\xdb\x93\x44\x9c\x8e\x70\x44\xd9\xf8\xc4\x83\x47\x05\xa8\x12\xff\x3a\xa8\xda\xa4\x7d\x2c\x9f\x76\x1b\xe0\xba\x75\xb5\x59\x1a\xe7\x15\x0f\x2d\xa0\x91\x71\xac\xd0\x05\x6c\x48\x85\xe5\x53\x1d\xa2\xd7\x02\x9c\xe0\x92\xd1\x65\xa4\x70\x20\x84\xcb\xc6\xe7\xa0\x0f\x88\xaf\x4f\x41\xa5\x12\x57\xff\xdc\x82\x8b\xba\x4c\x53\x9c\xa1\xff\x94\x51\x75\x97\x8c\x5f\x4e\xb8\x50\x83\x0d\xf1\x88\xcb\x2e\x15\x46\x4e\x13\x00\x12\xe2\xcf\x44\x3c\x53\xf2\x52\x84\xf5\x5d\x67\x2f\x1a\xa3\x99\x17\x4f\x09\xb8\xaf\xd3\x19\x87\xd4\xad\x11\x9a\x62\x36\x37\x8c\x52\x33\x17\x2c\x9f\x64\x56\x75\x19\xc9\x29\x4e\x92\x13\x24\x48\x2a\x4d\x35\x72\x49\x92\xd1\xa9\x2b\x00\x13\xa3\x84\x8f\x69\x84\x13\x34\x4c\x78\xf4\x24\x4d\x66\x25\x1b\x1b\x26\x35\x13\x3c\x22\x52\x7a\x92\x55\x8e\xa2\x60\x73\x5b\xa1\xe4\xb2\x22\x62\x4a\x19\x95\x8a\x46\x4e\x64\xca\xc1\x50\x4c\xe1\xff\x08\x83\x49\x18\x32\x85\x61\xb8\x5a\xd2\x23\x06\x14\x36\x65\xb6\x54\x18\x5c\xd7\x16\xeb\xd1\x25\x27\xd4\x1d\xa0\x1d\x40\x57\xba\x1d\x32\x50\xc5\x03\xb9\xe2\x48\x5d\xd8\xcf\xe0\x18\x2f\xdb\x02\x77\xc5\x13\x95\x6d\xc8\xec\xa4\x15\xe0\xb4\x20\x97\x21\x4b\xbd\x28\x48\x2e\x59\x46\x42\xcb\x90\xf4\x60\xc8\x35\xf8\x79\xab\xf6\xb4\xa6\x22\x88\x3c\x50\x9d\xae\xec\xb5\xa7\x2c\x4a\xd2\x38\x2b\xab\xaa\x45\x80\x67\xbd\x49\x1c\x79\x34\xed\xb5\xa0\x70\x82\xb0\x44\x2f\x24\x49\xf4\xff\x9a\xcc\x8b\xd3\xac\x5c\x88\x66\xc9\xa6\xa4\x0b\x74\xe2\xb8\x74\xdd\x8e\x6a\x1d\x2a\xea\x2d\x56\x13\x83\x35\x31\xe5\xca\x54\xb4\x35\xa8\xa8\xce\xbe\x65\x60\x34\x87\x09\x1f\xc2\x49\x07\xc0\x54\x97\x5f\xed\xa5\x73\xa6\x51\x44\x48\x4c\x62\x53\x9f\x33\x03\xf3\xb4\x47\xf4\x9b\x6a\xf8\xce\x02\x45\x5a\x00\x96\x5a\x36\xac\xd5\x42\xa6\x16\xab\x1b\x9e\xa1\xdb\x12\x20\x90\x47\x99\x11\x2e\xc3\xc3\x9d\x2c\x2c\xe1\xeb\x00\xac\x96\x26\xb1\xbf\x15\x5a\x13\x60\xb5\xd0\xe7\x0e\x00\x56\x4b\xf3\xac\xc9\x19\xe1\xe3\xbd\xe6\xba\xeb\x49\x5d\xf1\xe6\x09\x88\x06\x98\xce\xdc\x9d\x85\x2d\xe8\x0e\xe4\xbc\x6a\x23\xb6\x0b\x3c\xb6\x54\x03\xf4\x75\xc1\x63\x4b\x83\x69\x33\x78\x6c\x69\xa8\xed\x05\x8f\xad\x18\x68\x03\xf0\x58\xe3\xdc\x1f\xe8\x4d\xdd\x8c\x29\x40\x42\xd5\x30\x1d\xdd\x03\xc4\xc0\xd2\x31\x5e\x98\xc0\x01\x73\x8d\xb9\x3b\xda\xc6\x17\xc1\x68\x6d\xee\x6d\x5d\x38\x56\xc9\x09\xb1\xee\xde\xcb\xbc\x6f\x06\x74\x64\x5d\xb3\xfb\x89\x6f\xed\x06\x3b\x64\x84\x67\x16\xcb\xa0\xae\xc4\x51\x7b\xb2\xb6\x37\xc3\xe5\x05\xec\xcb\x02\xcb\x6f\x84\x5c\xf7\xb9\x54\x2d\x64\xc2\x5f\x6c\xc5\x2e\xd8\x86\x66\x53\xd6\x6e\x41\xe8\x74\x60\x95\xb6\x3a\xca\x51\xa6\xc8\xb8\xac\xd3\xe6\x87\x86\x32\xf5\xdd\x5f\x56\x72\x22\x03\xed\xe9\xd4\x43\xaf\x66\x47\xe6\xec\xb0\xcf\x48\x8c\xa2\x89\xd6\x8a\xa4\x56\x5f\xf4\x74\xcc\xcd\x2a\xd1\x14\x53\xa7\x48\xa5\xd2\xb8\x96\xa8\x7c\x64\x05\x2c\xdc\x33\xf4\x11\xca\x20\xe3\xe9\x4c\xeb\x5f\xd9\xfc\xa8\xde\x49\x8f\xe9\xb7\xdf\x7e\x47\xd0\xb7\x68\x4a\x30\x2b\xe8\xb0\xa0\x36\xe9\xab\x0f\xb0\x23\xd5\x84\x3c\xb2\xca\xa5\x40\xdd\x2f\xa6\xb6\x99\x8b\x37\xec\xb1\x11\x77\x3a\x31\x94\xf7\xc4\xd1\x04\xc9\x74\x68\xea\x53\x7b\x36\x0c\x27\x48\x5f\xf1\x31\x38\xaa\xe1\x46\x76\x83\x5e\x76\x0a\xf7\x1b\x03\x60\xdd\x8d\x4d\x6f\xe3\x0e\xdc\x23\xa7\x92\x14\x30\xc5\x2a\x9c\x66\x86\xf3\xf9\x07\x5f\x1a\xbc\xa1\x13\xe3\x43\xd0\xfa\x19\xb6\x96\x7d\x2d\x4b\x43\x38\x31\x78\xc9\xd2\x04\x0b\x7b\xf4\x1f\x99\x56\x34\x04\x79\xa6\x3c\x95\xc9\x1c\xc5\x9c\x91\x13\xd8\x09\x69\x34\x31\x8e\x55\xad\xb3\x60\x5b\x28\xe5\x99\xca\x54\x2b\xb4\xd0\x96\xab\xcb\x22\x15\x36\x58\x68\x13\x0a\xfd\x68\xf5\x9b\xc0\x57\xca\xcb\x8f\x44\xcd\xb4\x28\x1f\xae\xb8\xc4\xf3\x1b\xc2\x15\x17\x76\x55\x80\x2b\xce\xe0\x8a\x17\xe9\xd2\x46\xb8\xe2\xd2\x9a\x37\x83\x2b\xae\x5a\xf2\x0d\xe0\x8a\x0b\xcd\xbc\x19\xb8\xe2\x12\x45\xdf\x0c\x5c\x71\x69\x5e\x01\xae\xf8\xed\xc1\x15\x6f\x09\xc8\x5b\xcd\x8b\x0d\xae\x97\xa2\x6c\xbe\xf6\x26\x7b\x2f\x51\xef\x46\x6f\xb0\xe8\xa9\x18\xd4\x96\x5d\x57\xdb\x83\x00\x57\x33\xa1\xf5\x40\x80\x2b\x55\xf5\x7a\x56\xb7\x2d\xb0\x18\x28\x06\x07\x06\x01\x2e\x4c\x20\xc4\x57\xae\x1f\x5f\x59\xb9\xf9\x6c\xdf\x7a\x78\x2e\xe8\xb2\x7c\x21\x37\x84\x01\x2e\xac\x4f\xa3\x48\x4c\x10\xdd\x77\xb0\x13\xf7\x2b\xcd\xf7\x0b\x87\x7c\xa5\x2c\xef\x53\x51\x5a\x40\x72\x2d\xe1\x39\x94\x42\xa3\x84\xfb\xfe\xff\xb0\x73\x37\x88\x0c\x2e\x91\x37\xf3\xab\x98\xbd\xd8\x60\xab\x36\xde\xa1\x4e\x2b\xdd\x4d\xa2\xb0\x4b\xde\x5c\xd3\xc5\xec\x06\x71\x3f\x23\x51\x8d\x8d\x99\x4e\xe9\xae\x9a\x5d\x75\x91\x65\x18\x6c\xa0\x90\x2f\xe4\xa5\xea\xeb\xc9\x0c\xc7\xc8\xf8\xa5\x74\x60\x40\x49\x31\x5f\x8e\xa9\x54\xa2\x36\xb6\x69\x61\x84\xdb\xb8\x4a\x67\x69\xe3\x80\x18\x8f\xaa\xe3\xcd\x3e\x9b\x92\x29\x17\xab\x02\xab\x2a\xbf\xb4\x25\x96\x36\xf9\x94\xcc\x26\x64\xaa\x25\x99\xc1\xba\x8d\x34\x5d\xef\x2c\x69\xd9\xe6\xae\x99\x40\xc7\xc2\x26\xf0\x1c\xa1\xfa\xdd\xd8\x20\xa1\x36\x5e\xee\x6d\x97\xd9\x62\xb5\xae\xe9\x10\x72\x20\xde\xcb\x0d\x6e\xf6\xa5\x82\xbb\x1b\xf6\x77\x65\x4c\x47\x16\x52\xb3\x3a\x6a\x63\x49\xbc\xc6\x32\xbc\xb3\xfc\x2b\x5b\x80\x7c\x0d\x57\x7e\xd1\x3b\xaf\x39\xa1\x5f\x7d\x7a\xfd\x00\x8f\x1a\xb4\xde\x45\xf2\x40\x64\x8e\x24\xe2\xd4\xd7\x0c\x0a\x83\x59\xa4\x57\x61\x97\x38\x8d\x72\x8b\x4d\x92\x8a\xda\x28\xd3\x26\x06\xed\x48\xa5\x38\x01\x4d\xc2\xaf\x9a\x5a\x5e\xd4\xe1\xbc\x22\xed\xb1\x99\xc7\x84\x32\xf5\x5f\x7f\x5d\x6b\x35\xb5\x6a\x65\xe9\x06\x95\xde\x70\x14\x11\x69\x6c\xec\x36\x0a\x19\x0f\xf9\x33\x14\x79\xdb\x66\x55\xf5\x51\xd6\xf3\xd6\x0c\x3e\x83\xc0\x8e\xf3\xad\x6e\xc4\x85\x89\xe0\xe9\x78\xe2\x6c\x48\xfa\xcc\xe8\xa9\x55\xad\xe5\xcf\x0b\x36\xf2\xb5\xd7\xf2\xfb\x94\x26\x9b\x59\xe8\xee\x0b\xe5\xef\x3e\xf5\xfa\x48\x4e\xb2\xd3\x3a\x84\x66\x2b\x17\x76\x71\xd0\xcd\xfb\xb4\xdf\x66\xfe\x1a\xe8\xe6\xc4\xc1\xbe\x8e\x78\x92\x80\xa7\x41\x92\xe9\x33\x11\xd5\xdd\xc3\x84\xfb\x74\x3d\xc4\xc6\x6c\x00\xf0\x75\x9e\x18\xd1\x48\xfe\xba\x35\xa2\xa1\x44\x6e\xf4\xe5\xa0\x05\x13\xaa\xc6\x19\x61\x55\x36\xb6\x5f\x16\x2b\x0f\x1d\x59\xc0\xa0\x8b\x1e\xdb\x59\xd0\xa0\x23\xc9\x81\x03\x07\x57\xcc\xa3\xad\xc1\x83\x25\x66\x97\xc5\xf2\xe5\xd7\x8c\x0b\x1c\x32\x8a\x4f\x47\x93\xf8\x91\x75\x0a\xf9\x14\xae\x42\xfb\x70\x9e\x07\x64\x1b\x1d\xc2\x67\x66\x50\xdf\xc5\x1a\x56\xc0\x8d\xa6\xff\x02\x4d\xc7\x80\x26\x9b\x90\x42\x17\x36\x08\xd1\xe4\x24\x3e\xc5\xd1\x3c\x4a\x68\xe4\xe9\xcc\x63\x81\x67\x93\x2a\x8e\xe7\x56\x3e\xa0\x0e\xbd\x16\xea\x50\x5d\x21\xb4\x75\xe2\xb6\xdd\xbe\x62\x78\x4a\x02\x1a\x52\x1b\xd1\x90\x4e\x32\xbc\x0d\x96\x97\x94\x7b\x45\x18\x87\xc5\x73\x1f\x20\x91\x5e\x01\x12\x69\x93\xc3\x9f\xe3\x1d\x15\x8e\x7d\x80\x69\x6a\x42\xbc\xd7\x87\x69\xca\x84\x80\x56\x21\xef\xd4\xf3\x83\x57\x46\x74\x59\x1c\xd8\x6b\xc2\x32\x55\x88\x4b\xeb\xc8\x8d\xcb\x70\x99\x96\xed\x8b\x46\x74\x79\x5d\x94\xa4\xf5\x28\xb3\x16\x00\x52\xe5\xdd\xd9\x12\x38\xa4\xfa\x65\x68\xc9\xb9\xd9\x65\x56\xcf\x7a\x35\x7b\xfd\xcc\x9e\x75\x14\xcc\xf5\x92\x7c\xb2\xfd\x70\x5c\x89\x3e\x79\x71\xc3\xcd\x92\x7d\x3a\xce\x07\x4f\x04\x9a\xf0\x24\x76\x20\x1c\x19\xb5\xb2\x0e\xb2\x4c\x88\x8c\x40\x6e\x31\xee\x67\x24\x32\xda\x66\x5e\x88\x6f\x59\x4a\x4f\xb6\x88\x30\xdc\x1d\x30\x9a\x5d\x58\x51\x32\x4e\xb2\x89\xfd\x64\xa5\x74\x21\x8b\xe6\xff\x25\x63\x2c\x50\x08\xbc\x06\xd5\xc3\x5c\x69\xf7\x5e\x31\xb8\x65\xa2\x87\x67\x1c\x15\x55\x25\x76\xcd\x3e\x83\xa7\xcf\xd4\x19\x62\xb0\xdf\xe3\x52\x2f\xa5\x9b\x5d\x23\x4f\x65\x79\xb3\x6c\x10\x0c\xb7\x50\x31\x71\x7b\x70\xa4\x29\xfe\x32\x98\x61\x81\x93\x84\x24\x54\x4e\xf7\x16\x0c\x7d\x51\x74\x57\xeb\xb3\x2a\xb8\x31\x91\xb1\x74\x3a\x34\x5b\xd1\x0d\xc4\x16\xd9\x54\x1c\x89\x94\xf9\xd0\x6e\xd9\xc2\x64\x45\x3c\x53\xb8\x17\xc0\xaa\x16\x4d\xa0\x5a\xf2\x08\x53\xc1\x88\xac\xad\x4d\x4b\xa2\x54\x50\x35\x1f\xd8\x52\xbf\xcd\x0f\xdc\xbd\xfd\xf2\xc2\x7e\xb8\xdc\xc3\xef\x50\x0d\x5c\x7f\x59\x69\xe1\x19\x11\x50\x9e\xcb\x15\x9a\xf2\xca\x19\x5b\xd4\x0a\x92\xd5\xf8\x82\xf0\xef\x85\x6b\xbb\x2e\x70\x1a\xbf\x0c\xbc\x8c\xb2\x41\x54\xde\x1c\xab\x0e\x6b\x15\xee\xd6\xb2\x49\xee\x19\x79\xaa\xc6\x8b\xbe\x87\xea\x3e\x36\x6d\xc4\x34\xad\x07\xec\xb9\xc2\xc1\x5e\x9b\x2f\x8c\x97\xf2\x5f\x51\xec\xc6\x1b\xa7\xc5\x3a\xaa\x0a\xbe\x5a\x32\xd8\x8e\xf7\x55\x83\x11\x7b\x9d\xec\x68\xd8\xfa\xa0\x0b\x91\xce\x14\x1d\x2e\x42\xfb\x38\x6e\xb0\x83\xd2\xbd\x9d\x04\xd2\xcc\x9d\x9b\xa5\xd0\xad\xa9\xe7\x5b\xe0\xc4\x76\x76\x5a\xfe\xb7\x38\x6a\x0e\x21\xc9\x20\x4c\xf9\x79\x8c\x37\x53\xaa\x94\x4b\x94\x30\x06\x78\xbd\x3b\x8b\xb6\xe9\xf7\x2e\xdc\x05\x43\x85\x65\x63\xa2\x3a\x7b\x64\x1d\x89\x5e\x08\x62\xc4\x42\x68\x54\xd4\x4e\xce\xac\xfa\x50\x73\x6d\x48\x74\x4f\x59\x6c\x8e\x16\x1e\xa8\x92\x59\xd9\x3f\xd3\xc7\x08\x27\x92\x9c\xe8\x86\xa1\x5a\xb0\xe2\x10\xfc\x8a\xd1\x8b\xc0\xb3\x19\x11\x8f\xcc\x66\xb1\x80\xc3\x89\xf3\xc4\xb4\x5f\x17\xe2\x6b\x69\x40\x06\x11\x8e\x26\x07\x5a\x23\x0c\xc9\x48\xd1\x84\xc4\x2e\x5f\xba\xb8\x3c\x6e\xde\xc6\x60\xbf\xc6\x62\xf5\x46\xae\x6c\xdd\x89\xed\x24\x89\x34\x47\xc9\xca\xbb\xcf\x88\xd0\xa3\xd6\x7b\xf8\x99\x30\x44\x47\x6e\x1c\x36\x76\x09\xbd\x80\x67\x4e\x6f\xfd\x67\x4c\x13\x03\x40\xe0\xba\x76\x42\xa0\x71\x3f\x3c\x32\xe3\xee\x67\x51\x21\x43\x97\x32\x2a\x27\x9a\x53\xa7\xe0\x93\x05\x35\xa3\x2e\x71\x88\x3d\xaf\x73\x9a\xbb\xfa\xf5\xe5\x1c\xf4\x99\x0a\xce\xa6\x90\x24\x64\x71\xa9\x1c\xf9\x24\x51\xd9\xf1\xa8\x4c\xf1\x5c\x29\x11\xc7\xb1\x2c\x1a\x5f\x8d\x5a\x49\xff\x59\x30\xbb\x9c\x16\xb2\x22\x23\x0f\x56\x09\x82\x58\x5d\x45\xbf\x65\xf2\x6f\x48\xed\x58\x4c\xed\xa8\xa6\x4d\x1b\xd3\x3b\xb2\x43\xbc\x6e\x8a\x47\xdd\xf2\xef\x42\xb2\xdd\x61\xaa\xc7\x2b\xe7\x44\xec\x27\x1d\xe2\x75\xf3\x57\xf6\x91\xba\x12\x12\x3c\x5e\x31\xc1\xa3\xb1\xa5\xb6\x18\x9b\x5e\x7f\x6c\xd7\x4a\x8e\x58\x01\x66\x55\xd5\xcb\x67\xa2\x04\x8d\xe4\x2e\xf8\x83\x9c\xe1\x86\x51\x7d\xa0\x05\xce\x56\x48\x4d\xfa\x85\xcc\x09\x0a\x71\x72\x59\x85\xcb\xa1\x20\xf8\x29\xe6\x2f\x0b\xb6\x3a\xe9\xa3\x89\x7c\xe6\x5a\xec\x11\x24\xa2\x92\x14\x22\x79\xa8\x44\x8c\x48\x6b\xec\xc4\x8f\x6c\x42\x89\xc0\x22\x9a\x40\x76\x67\xbe\x30\x26\x4b\xd8\x00\x3a\x99\x58\x0e\xdf\xdb\xb5\xc6\xa2\x37\xa0\x7b\xd9\xc2\x94\xe1\xf3\xd9\x35\xd7\x23\x99\x9a\x4f\x32\x61\xc6\x4a\x19\xbe\x49\xae\xd1\xf2\x6f\x9b\x88\x90\x11\x7b\xaf\xc9\x08\x59\x30\x95\xf7\x45\xc3\x84\x84\x7c\x37\x84\xa4\x84\x3d\x25\x25\x54\x90\x78\xbd\xc4\x84\x8d\x4c\x7e\x87\x8f\x99\x76\x3d\x1f\x22\x6e\x7a\x55\xd0\x5a\x3a\x1c\xec\xfd\xe8\x55\xce\xb9\xe9\x09\xfc\x25\xdb\x14\x46\x22\x16\x7a\x9f\x0d\x49\x1c\x03\xa7\x55\xdc\x56\x68\xcf\xf7\x8e\x33\x0f\xe8\xbb\x17\x4b\xbd\xd9\x71\xc2\xd9\x58\xd2\xd8\x80\xcd\xcc\x30\xd4\x2a\xf6\x8d\x17\x00\xae\x00\xeb\x9b\x24\x44\x38\xaf\x84\x40\x7f\x90\x94\x59\x34\xc9\xec\xb7\x98\x13\xc9\xde\x2b\x63\x2c\xc0\x6c\x8e\x9e\x18\x7f\x49\x48\x3c\x86\x15\x2a\x0f\xe6\x14\x51\x72\x82\xa8\xca\x3e\x13\x80\xc6\xc0\x53\xf5\xa8\xc7\x0e\xb1\x76\x46\x03\x20\xf6\x5b\x61\xab\x57\x78\x1c\x58\x7e\x73\x86\x50\x8f\xa1\x11\x8e\xd4\x09\x92\xe9\x30\x6f\x3f\xe6\xa6\xb8\xbc\xd6\xbe\xbd\x89\xe7\x8d\x84\x98\xf9\x8a\xce\xab\xcf\x86\xe3\x0e\x7a\xbb\x76\x12\x8a\xb7\x8a\x2d\x7c\xc6\xdb\x40\xac\x7e\x4e\xa5\x0d\xc2\x40\x9c\x65\x47\xdf\xc2\x4b\x65\x18\xd9\x80\x77\x6a\xf0\xa6\x19\x8f\x6b\x6d\x9d\xa5\xa9\xac\x3b\x96\x3c\x10\xd4\x0a\x4a\xd6\x51\x05\xed\x1a\x72\x6b\xa9\x49\x2a\x41\xf0\xd4\x3a\x07\xf4\x55\x03\x62\x8d\x09\x03\xd5\xa3\xa7\xc2\x48\x98\xeb\x2c\xf1\x15\x65\x4f\x7a\x75\x73\x54\x70\x0e\x78\xc9\xba\xe7\xaa\x45\x9b\xe9\x1b\x8f\x5c\x70\x66\x1c\x84\x5b\xc9\x9d\x74\xcc\x70\xb2\xa6\x8d\x63\x81\x72\x8b\x3e\x3d\x27\x67\x59\x71\x41\x4b\x11\xc6\xd8\x87\x4c\x8f\x6b\xd9\x90\x4a\xf3\xf5\xe5\x3d\x8c\x62\x32\x23\x2c\x26\x2c\x9a\xc3\x16\x61\x80\x1c\x24\x18\x4e\x10\x86\xef\x70\x72\x86\x2e\x4d\x7e\x51\x26\xe1\xd9\x6b\x1d\x2e\xf4\x29\x66\x74\xa4\xf5\x04\x30\xc2\xda\x51\x3e\x32\x33\x4c\xe7\x03\x21\xb9\x75\x35\xa3\x58\xd5\xca\xe8\x1b\xe4\x7a\x4b\x54\x66\x56\xfc\x1e\x2d\xbf\x70\xa0\xb7\x65\xab\xa3\x9b\x73\x35\x18\x64\x3a\x3c\x85\x7f\x17\x12\xee\x1c\x50\x51\x8e\xa2\x43\x12\x02\xe6\x40\xeb\xf1\x82\x8b\xb1\x0e\x58\x6f\x17\x7e\xbb\x15\x79\x2c\x5e\x1f\x05\xa5\x66\x4a\x19\x9d\xa6\x53\xcf\x79\x67\x2a\x36\x44\xd6\x7e\x69\x32\x51\x66\x5a\x0f\x88\x1c\x78\x3b\xd2\x97\x2b\x9b\xa3\x31\x7d\x26\xec\x91\xcd\x38\x65\xea\x0c\x5d\x73\x45\xbc\x12\x19\x06\x3a\x8b\xcf\x14\x9d\x1a\xb4\x57\x41\xf4\x39\x30\xa0\xe0\x00\xb4\x39\xc1\xea\x04\xc5\x29\x1c\x55\x46\x94\x66\x1d\xfa\xc6\x55\xb0\x32\x10\x1f\x2e\x1e\x99\xb9\xe9\x46\x98\x26\xa9\x20\x56\x66\xc5\x26\x2f\x28\x1f\x72\x3e\x32\x8b\x04\xe7\x4d\x62\x4a\xc7\x13\xa5\x97\x48\xcb\x78\xd6\xdf\x38\xd1\xdc\x88\x3f\xb2\x21\x41\x18\xcd\xb8\xa4\x8a\x3e\x67\xfe\x4b\x3a\x42\x58\x4a\xb0\xa0\x9c\xa1\xcb\x82\xfd\x9f\x4a\x50\xbd\xeb\xe2\x8a\x29\x1b\x58\xdb\x73\x7d\x3e\xd2\xd6\x0b\x59\xe8\xc5\x52\x19\x0f\x25\x4f\x52\xe5\xbb\x60\xab\xd7\x36\x37\x8d\xbb\xc2\x05\x60\x20\xe6\xa3\x47\xe6\xf6\xb5\x3c\x43\x1d\x89\x24\xd7\xab\x24\xcd\x52\x46\x82\x2a\x22\xa8\x41\xb1\x22\xca\x2c\x42\x76\x4e\xb3\x33\x30\xc5\xe2\x49\x8b\x50\xbe\x05\xde\x60\xaa\x16\xac\x1d\x43\x23\x21\x01\xac\x97\xbf\x1c\x60\xfa\x47\x8c\xb3\x53\x46\xc6\x78\xd5\x8a\x3c\xb2\xc2\x92\xa0\x3f\xd0\x51\xae\x90\xd6\xf9\x1c\x3d\xda\x0d\x20\xf2\xa9\x6e\x95\x4c\xc7\x75\x8b\x34\x4a\x38\x5e\xe1\x36\x1e\xe5\x87\x1e\xfd\x83\x0f\xcd\x18\xb5\xde\xcf\x15\x48\x81\x5a\xbd\x1a\x71\x41\x26\xff\x1f\x7b\xef\xda\xdc\x38\x92\x9c\x0b\x7f\xf7\xaf\x28\x8f\xdf\x88\xee\x3e\xa6\xa8\xe9\xd9\x63\xc7\xb8\x1d\x13\xf1\xaa\x25\xf5\x0c\x77\xd4\x6a\xad\x2e\x33\xeb\xb3\xdc\x60\x17\x81\x22\x59\x2b\xb0\x0a\x83\x02\xa4\xe6\xda\xfb\xdf\x4f\x54\x66\xd6\x05\x20\x40\x02\xa2\xba\x67\xec\xb3\x1f\xec\x9d\x16\x81\xaa\x42\x5d\xb2\xf2\xf2\xe4\x93\x5c\xa5\x23\xb7\x58\xf5\xb1\xc1\xcd\x48\xae\x36\x67\x8c\x81\x26\xe8\x48\x94\x05\x72\x51\x71\x15\xad\x05\x19\x6e\xb4\x14\x61\x1d\x06\xdd\x15\xbe\x35\xa8\xfd\x82\x0e\x08\x14\x79\x9b\x9c\x8e\xb8\x91\xeb\x3c\x0b\x39\x5d\x91\x6f\x74\x61\x55\x2c\x27\x23\xf5\x03\xb8\xae\x9c\xd5\x06\xb7\x3a\xad\x9c\xdd\x67\x2d\x23\xf7\x82\x14\x6e\x0d\xe7\xf3\xc2\x32\xa0\x91\x08\x7b\x69\x84\xfd\x67\x29\x82\xd9\x87\xca\xfa\x54\x39\x15\xe4\x15\x48\x19\x6a\x36\x72\x9e\x59\x15\x1a\x69\x6e\x69\xfe\x58\x82\x41\xee\xda\x39\xa1\xc3\xe0\x1e\x6d\xbd\xa8\x4a\x69\xd5\xec\xb7\x12\x18\xba\xce\x0e\xa4\xdd\x97\x2a\x15\x9d\xc5\xac\x7a\x49\x8d\xae\xbb\x05\x05\xea\x6c\x7f\xfd\x89\xd6\x06\xe6\x52\xa5\xb3\x52\x63\x25\x17\xdf\xda\x81\xd1\xca\x76\xc7\x47\xc1\x95\xb1\xcf\x3e\x29\x56\xe4\x80\x24\xe0\x4c\x2d\x44\x26\x1e\x78\xb8\x7d\x81\x3e\xd4\x0f\x1e\x7c\x23\xbd\x7c\x0f\x1f\x6c\x63\x0f\x3c\xa3\xa4\x18\x8a\xc3\x9b\xee\xcd\x30\x39\x3b\x08\x9f\x4a\xad\xb4\xad\x55\xb7\xfa\xe2\xfa\xfe\x51\x6c\xda\x27\x76\x0f\x41\xe2\xae\xd5\xf7\x73\x36\xc0\x0f\x7e\x15\xde\xd9\xe9\xad\x58\x49\x75\x8f\xf2\x22\xac\x0c\x28\x90\x25\x5f\x92\x1e\xea\x3e\x6d\xc4\xc4\xa7\x44\xe4\x25\x93\xe5\x0b\xfb\xc4\xbd\xd8\x1c\xa1\xfc\xcf\xb9\x2c\xc6\x53\x75\x26\x17\xe0\x19\x2d\x43\x5b\x86\x29\x5e\x56\x56\x64\x6c\xd0\x02\x4f\xfd\x33\x34\x21\x86\xbd\x8c\x02\x20\xa9\xe9\xba\x36\x76\x6f\xfd\x1d\x09\xef\x72\x1d\x26\x63\x1f\xc5\x64\x41\xf7\x83\x95\x38\x00\x19\x52\x4b\x98\x0d\x45\x2c\x48\x8d\x2d\x7c\x64\x6f\x45\x98\x0d\x7b\xa5\x18\xba\x95\x55\xe0\x2d\x55\xba\xf1\x4a\xdb\x15\xd0\xb9\x8f\x7f\xac\x6d\xc0\x5f\x21\x5d\xee\x6a\xab\xd6\x3a\xfc\xa7\xa9\x16\x0b\xf9\x09\xfc\x17\x4e\x67\x70\x36\x66\x52\x68\x63\xf7\x06\x68\xa5\xcc\x1d\x25\x84\x0c\x1c\x92\x3a\xd7\xfa\xa6\xb5\xa7\x07\x93\x3e\x74\xce\xf6\x1f\x2a\x51\x1c\x34\xdf\x5e\x70\x0c\x01\x9e\x46\x32\xab\xdd\x1b\xe0\x1a\x2d\x79\x4f\xf4\x59\xdc\xea\x2d\xef\x98\xba\xfd\x44\xf7\x9d\xf7\x90\xfd\x71\xf0\x40\xe2\xfb\x79\x8f\x3c\x32\x9e\xd9\xd5\xdd\x1b\x54\x7e\xca\x5e\x18\x23\xa2\xd2\xe7\x04\x91\xf3\x49\xed\xdc\xa1\x83\x30\x04\x86\xd5\xc9\x4a\xaa\xa9\x11\xf9\x64\xa8\x31\xa9\x96\x53\xe5\xe6\xd6\x8c\x18\x26\x04\xf8\x83\x8d\x6d\xd5\xaa\x18\xf0\xe8\x55\xbf\xb1\xfb\x39\xcf\x11\x41\xa1\x84\x31\x56\x05\x32\x65\xc1\xa5\xa2\x68\x9d\x9b\x1f\x33\xb5\xd2\xa4\x91\x91\x30\x02\x8f\xd1\xc8\x49\xca\x51\x24\x56\xa7\x0a\x73\x8b\xd8\x37\xec\x65\xc9\x97\x88\xee\x01\x9e\x52\x9e\x01\xc3\x29\xd8\x83\xe4\x7f\x89\xd2\x40\xfc\x89\x94\xe9\xab\x37\xbb\xfa\x44\x6f\xd1\x4b\x68\x06\x0e\xb9\x9d\xc3\x30\x41\x72\x11\xfe\x21\xd2\x57\xbb\x5a\x0a\x2f\xdd\x8b\xcd\xa8\x39\xc9\xdd\xb7\xf8\x2d\x3f\x08\x8b\xfb\xb9\xae\x71\x18\x74\xff\x70\x34\x9f\x8b\xec\xa7\xf0\xa1\x6c\xa7\x28\x7a\x2b\x15\x3f\x4c\x06\xb5\x0e\xaf\x5f\xae\xc1\x7c\xd3\x55\xa1\xb0\x45\xf4\x3c\x99\x5b\xe7\x04\xad\x16\xc1\x6c\x77\x64\x9b\xb9\xfa\x95\x1c\xf0\xad\x2b\x91\xe5\x91\x9a\x60\xf7\x8b\xa7\x09\xc6\xca\x4e\xd6\x74\x5d\x57\x0a\x29\x9f\x11\xdf\xf3\x48\x27\x9d\x44\x46\x68\x7c\x3c\x55\x13\x7b\x41\x9b\xb2\xd0\x6a\x99\x6d\x18\x4f\x1f\xa4\x09\x25\x0b\xed\x81\xac\xd6\xa2\xa0\x2e\xa4\x41\xfb\x8a\xca\x7d\x71\x77\xb1\xd9\xb1\xd9\xab\x0f\xd4\x50\x57\x56\xd3\xfe\x11\x2d\x48\x3b\x4a\xe3\xf0\x71\x2d\x09\x0e\xb4\xb8\x0d\xd9\xf9\x85\x9d\xd4\x3f\xc5\x7e\x68\xb6\x0e\x2e\x6b\x27\x2f\x8f\x9b\x0e\x6b\x9a\xf5\x1d\xce\xea\xc1\x17\x42\xdf\x8b\xc0\xd5\xc7\xa8\x30\xa1\xcd\xf6\xe3\x42\x98\x38\xb8\x41\xc6\x74\xe3\x03\x69\xd4\xa8\xf7\xc6\xce\x6a\x21\xc1\xd3\x65\x4a\x5e\xca\x84\x6e\x01\x5d\x90\xbf\x9e\x3c\x28\xdd\x4b\x7b\xa8\xf5\x69\x12\x9e\x6d\xaf\xf0\x0e\xf4\x04\x3e\xbf\xdb\xa5\x4d\xc7\x0d\xdb\xde\x49\xe1\x93\xe8\x2c\x1b\x52\x90\xb0\xf1\xe5\xa7\xe1\xf5\xdd\x23\x0a\xfd\xd8\x05\x70\x6b\x01\xa7\x06\x5d\x51\x3c\xa3\xc0\xa0\x29\x69\x95\xe2\x87\xf0\x52\xdb\x90\xa3\x60\xaa\xf4\x02\x4a\x56\x66\x5d\x39\x0a\x79\xa1\xd7\x72\x48\xcd\x14\x84\xed\x5f\x3b\x94\xc7\x9e\x98\x99\xc3\x82\x80\xa3\x15\xb7\x17\xf5\x08\xec\x1b\x9c\x9c\xa7\x3b\xce\xd0\x9a\xe7\x4f\x9a\xf0\x7d\x18\xa7\x13\xb6\x46\x80\x19\xcd\x1e\xb0\xa7\x0b\x48\x43\x86\x49\x7e\xe4\x9b\x40\x74\xd4\x55\x0d\x43\x0d\xda\x0e\x77\xf6\xf1\x89\x5a\xe8\x01\x87\x33\x10\x13\xd1\xe9\xe3\x6e\xcf\x46\xe7\xcf\x63\x6e\x70\xf5\x71\x4e\xfb\x9c\xc7\xd3\xb6\x4d\x3d\xf8\x64\xba\x19\xfc\x9c\x11\xf7\x58\x88\x44\xef\xfc\x6d\xc8\xdd\x5a\x3f\x5a\x51\x8b\x0c\x86\xb3\x7b\xaa\xde\xd7\xf6\xe1\xb3\xcf\x51\xa3\x1d\xf8\x2d\xa4\x06\x5e\xb5\xb7\xfa\x05\xe6\x8c\x0e\x49\xaf\xc9\x3a\x90\x89\x6d\x58\x55\x0f\xd7\xa3\xaf\xe1\x71\xb0\x25\xb7\x6f\x32\x40\x9a\x19\xb2\x1a\x42\x9e\x11\x11\x3e\x2c\x64\x26\xcc\x98\x4d\x5a\xc2\xf5\x8e\x6e\xc1\xa7\x07\x60\xe2\xa7\xd3\x9e\xaa\x42\x46\x65\xfe\x9d\x8e\xc4\x24\x94\x1b\x8c\x21\x4b\x51\x78\x0a\x02\xe5\x2b\xfd\x88\xb9\x96\x85\xb4\x32\x0b\x95\xd5\x12\x82\x97\x56\x16\x48\x8a\xfd\x61\xe8\xd4\xbf\xa0\x31\x03\xc6\x9a\x39\x3e\xec\x19\x7b\x20\x9a\x4b\xfa\x1c\x05\x5b\xfb\xb3\x59\xb8\x5e\x6f\xed\x1b\x7d\x8c\x02\xf7\xec\x01\xa3\xf3\x5a\xfe\x70\x97\xee\x3b\x78\xd5\xb9\xf0\x39\x5b\x14\x02\xac\xec\xb5\x67\xc8\xc3\x12\x19\x5a\xc3\x7d\x77\x73\xf6\xe3\xf1\xdd\x84\x89\x32\x61\x99\xbc\x17\x53\x95\x98\x07\x30\xfa\x7e\xa9\x44\x69\xff\xdc\xe1\x04\x92\x6b\xa1\x0c\x48\x02\x59\xf6\xb4\xd7\xdc\xc4\xd8\xff\x3d\xab\xbf\xdf\xc7\x2a\xf7\xac\xae\x76\xef\xba\xea\x95\xb0\x4d\xa1\x40\x1f\x4e\x6d\x8b\x97\xf9\x2d\xba\xcf\xcf\xdb\x6a\xdb\x3f\x21\xf9\x5d\xfd\xa5\x52\x03\x95\xae\xd3\xf0\x52\x34\x8a\x0e\x9d\x6e\x9d\x73\xa8\x5c\x33\x2c\xab\x1e\xdf\x69\x6d\x7d\x9f\x10\x09\x24\x47\x0e\x29\x21\x7c\x33\xac\x2c\x84\x00\x11\xe2\xf7\x13\xdd\xf5\xc4\xab\xe7\x3f\x2c\x7a\x69\x3c\x55\xef\x1d\x7e\x32\xfc\xd5\x84\xa8\xd2\x7a\x1e\x15\xf4\xa9\xb7\x02\xcd\xa6\xd2\xf8\x3f\x40\x79\x46\x53\x65\x25\xd6\xa7\x5e\x48\xc5\x33\x3f\x50\xfc\xa5\x4d\x4a\x14\x5c\x25\xab\x43\x01\x11\x72\x31\x13\xd9\x10\x4d\x74\xb2\x38\xcf\x8c\xdd\xdf\xc9\x7d\xc7\xe9\x7c\x4a\x05\xf6\xf0\x31\x18\x5b\xa4\x2a\xae\x2c\x00\x2a\x78\x86\xf5\xa1\x05\x03\xc4\x5d\x93\x0b\x01\xe9\xde\xec\x2a\x92\xa6\x8e\x80\x3b\x4c\x42\xf6\x09\x86\xd0\x0b\xe3\xe5\x54\x15\x95\x02\x2f\xb8\xc7\xdf\x72\x16\xaa\xff\x24\x0e\x0d\x43\xd8\xa4\xa5\x15\x13\x58\x5c\x07\x1f\xb6\xf6\x99\xae\x0c\x44\x1e\xd7\xa2\xb4\x17\xd4\x4b\x31\x5e\x8e\x09\x00\x3f\x62\x79\x21\xd7\x00\x1e\xf0\xb1\x83\x78\xe9\x4e\x79\xc9\x33\xbd\x7c\x6e\xaf\xd2\x13\x93\xa9\xdc\x30\xd8\xe4\xcc\x4e\xfe\x52\x28\x51\xc0\x87\x82\x2f\xbb\xf5\x08\xf7\xf0\x72\x77\x48\x6e\x88\x19\x53\x98\xdf\x78\x8f\x05\xaf\x4a\xbd\xb6\xf6\x2d\xcf\xb2\xcd\x08\xf1\x05\x82\xad\xb8\x59\xb9\x85\xc6\xd0\x70\x9f\xbb\x89\x26\xf7\x94\x27\x2b\x71\x53\xf2\xb2\x6a\xc5\xe0\x35\x46\xf9\x95\x50\xd5\xfa\xab\x37\xec\x4f\xe1\x1b\x4f\x4f\x4e\x7f\x38\x9f\x9d\x4d\x6e\x4e\xde\x5e\x9c\x9f\x45\xdf\x43\xbf\xbc\x9f\xdc\xdc\x6c\xff\xf5\x87\xc9\xed\xf6\x1f\xaf\x3e\x5c\xdd\x5d\x9c\xdc\xb6\xb5\x72\xf1\xe1\xc3\x8f\x77\x57\xb3\x77\x27\x93\x8b\xbb\xeb\xf3\x96\x57\xef\x6e\xbb\x7f\xbc\xf9\x71\x72\x75\xd5\xd6\xea\xf9\x4f\x93\x53\xdb\x1d\xfd\xfd\xcf\xd1\xb1\x03\x90\x84\x9d\x81\x8e\xef\x6b\x9e\xcc\x23\x56\x7f\xf0\x0d\xbb\x6b\x56\x38\xa3\x94\x3b\xa4\x8b\x7b\xe4\xc6\x0a\x37\xc8\xf8\x04\x17\x6c\x98\xad\xae\x57\x11\x95\x9e\xac\x04\xcb\xb4\xbe\xaf\x72\x92\x79\xe8\x6d\x57\x1a\x3d\x42\xc2\x44\xad\xfd\x30\xb9\x7d\xb3\x5d\x69\xcd\x37\x16\x11\xe3\x7a\xe7\xf2\x23\x47\x92\x08\x90\xb3\x18\x5c\xa4\x0a\x5c\x01\xa4\x10\xf5\xe0\x97\x6c\x57\x3f\xd8\x1a\x57\x65\xa3\x9b\x34\x0d\x74\x5a\xf0\x61\x51\xc3\xf5\x05\xdf\x35\x9b\x7e\x3a\xb0\xc4\x2c\x9b\x8b\x84\x57\x88\xdd\xb7\x17\x58\x51\xe8\x22\x1e\x70\xd8\x28\xcf\xd7\x28\x6d\xb0\xd6\x06\x1b\x6b\x66\x3f\xdc\xdc\xcb\x3c\xaf\x2d\x3b\x6d\xc4\xfd\x2b\x0f\x45\xfd\x1e\x64\x52\x8a\xf4\xab\x6d\xbd\x28\xb0\x2d\xa0\xde\x6c\x4f\xb5\x1d\x72\x74\xd6\xa5\x5a\xa2\x2f\xc1\x95\x57\x5c\x6d\x3c\xde\x0c\xe0\xcd\x01\xf0\x0d\xe5\x5e\xec\x5d\xe3\xcb\xdf\x49\x00\x90\xf1\x92\x3d\x0a\x20\x1e\xaa\xa8\xbe\x2c\xda\xf4\x56\x66\x40\x77\x88\xfc\x70\xd5\xa2\x6b\x84\x44\x9d\x42\xfe\x39\x14\x79\xfb\xbe\x11\xc3\x82\x78\x7b\xd9\x63\xce\xb0\x51\x90\xfa\x2e\x33\x04\x46\xfc\x9c\x41\xbf\x96\x9b\x6e\xcf\x25\x64\xaf\x83\x3e\xe3\x71\x8c\x7d\xb5\x32\x38\x03\x42\xf0\x71\xa9\x94\xbd\x73\x75\xab\x53\xbe\xb1\x9b\x03\x40\x24\xa6\xca\x73\x5d\x94\xac\xa3\x0d\xc4\x2a\xe0\xf8\xe0\x2e\xa3\xef\xf0\x22\x12\x1a\xb1\x9a\x8b\x69\xa9\xb8\xd7\x8f\x44\x8c\xe6\x35\x8a\x9d\x45\x69\x64\x60\x60\xfa\xea\xa8\xeb\x9a\xa9\x5e\xdb\xa1\x6d\x4a\xf5\x21\x79\xb8\xb9\x55\x1c\xfa\x16\xeb\x6e\xeb\xfd\x83\x6b\xa1\x75\xc9\x33\xb1\x28\x67\x03\x83\x5d\xd0\xa2\xea\xe2\x7d\x94\xcb\xd5\x33\xb4\xd8\xdf\xfa\xf8\x86\xe0\xef\xd6\xe4\x88\x3c\x0f\x85\xd6\x25\xea\xbd\xc1\x36\x62\x6e\x36\xc1\x6d\x41\x9d\x12\x63\x82\x57\x2e\xad\x2d\x81\xa8\x41\x4f\x2e\x30\x9e\xaa\x73\x80\x19\x07\x03\xc7\x11\x29\x80\x75\xb1\xd7\xae\x70\x04\x66\x50\x74\xe7\x8b\xe6\x34\x75\xd7\x81\x08\xfb\x1e\xc1\xa9\x22\xdb\x78\x36\xb0\x94\xd5\xde\xeb\x73\x7a\xd0\x9b\xee\x54\x4b\xfc\x60\x3c\x3a\xa6\x14\x39\x79\xfc\xf1\x3b\x03\x1e\x1e\xa2\xcd\xb6\xab\x31\xfb\xd9\x79\x94\x20\x3d\xcc\xa7\x4b\x39\x84\x73\xc6\x37\x8e\x3a\xbe\x6d\x62\x9f\x83\x8d\xfd\xb9\x13\xc6\x76\x4f\xb0\xa7\x5d\x6d\x99\xe5\x9a\x61\xaf\x14\x7a\x7a\x07\x80\xc2\x4e\xfd\x4b\x37\x62\x37\x76\xf6\x1d\x14\xeb\xa7\xfc\x03\xd0\x59\x54\xb6\xf9\x47\x5c\x2c\xe4\x6b\x71\x20\x0d\x2a\x9e\x4e\x91\x59\x7b\x7e\x20\xb2\x88\x74\x2e\x6c\x21\xb3\x0c\xf4\x80\x31\x3b\x51\x1b\x47\x77\x62\xaf\x42\x07\x43\x96\x4b\xa5\xf7\x31\x31\x74\x6c\xa6\x24\xda\x4c\x37\xdd\x9b\x09\xf1\x1f\x81\xed\xea\x79\x76\xd4\x33\x30\x1f\x5a\xd9\xc2\xb7\xeb\xe6\xf4\xe7\x3b\x1c\xe0\x14\x88\x6f\xf3\x2f\x95\x43\xb8\x35\xdc\xe8\xc5\xbf\xb5\x0f\xfd\xfb\x8a\x17\x5c\x95\x90\x19\x47\x4a\x6b\x21\xa2\x04\x7d\xf1\x09\x50\xcc\x0a\x1d\xcc\xf0\xa7\x78\x71\x1d\x94\x00\xe1\x67\x32\x1d\x31\x39\x16\x63\xa8\xe1\x5c\x58\x5d\x62\x1e\x9e\x5c\x59\xcd\x61\xaa\xb6\x32\x7e\xc6\xec\x24\x33\x9a\xde\x10\x2a\xc9\xb4\x01\x10\xf7\x3c\xa6\xd7\x87\x9d\x4f\xe1\xaa\xf9\x06\xec\x1b\x58\xca\xd0\xbc\xa6\x1f\xa2\x17\xa1\x14\x31\xc4\xda\x33\x38\xe9\xe1\xef\xff\xac\x89\x28\xb8\x0b\x7f\xf1\x19\x8b\xbe\x6d\x5d\x43\x9f\x6d\x91\xb0\xa0\xf8\xae\x05\x82\x27\x60\x61\x42\x26\x56\xc4\x53\xc8\x5e\xf2\x92\x65\x82\x9b\x92\xbd\x7e\x35\x08\x73\xe2\x3e\x30\x48\x57\x3a\xbe\x81\x4e\xc1\x25\xe4\xc6\xca\x9d\xef\x18\x2a\x4c\xf3\xa2\x64\x9c\x29\xf1\x18\xe7\x5f\x69\x48\x99\x73\x65\xa3\x45\xc4\x00\x83\x59\x17\xc8\x5f\x05\x39\xcd\x68\x32\x75\xc8\x11\x57\x14\x85\xc2\xb2\x34\xac\x96\x9d\x35\xf2\xa8\x36\x48\x58\xb0\x0f\x85\xd4\xd8\x15\x2f\xa7\x8a\x24\xab\x83\xa3\x44\x64\x08\x27\x59\x56\x4f\x47\xe5\x90\x71\xad\xec\x07\xdb\xd1\xa7\x63\x3f\x41\x97\x60\x7e\xf9\x9c\xc0\x9a\xff\x2f\x1c\x16\xcc\x5a\xf1\xac\xa0\x71\xdb\xad\xda\x4e\x9b\xdf\xfa\x0b\x2a\xc1\x2d\xdd\x5f\xe8\xa5\x4c\x78\xd6\x43\x19\x16\x6d\x43\xde\x73\xb0\xb6\x63\x05\x3b\x74\xe3\xe7\xee\xa0\xbf\xaa\xdc\xee\x77\x87\x6b\xf6\x51\xb7\xb8\xf1\x3b\x16\x37\xd2\x2d\x0e\x31\xc0\x7d\x72\xea\x97\x8a\x24\xd7\x86\x3e\x49\x81\x1a\x63\xbf\x14\x0c\x54\x13\x4e\x74\x60\x86\x62\x1a\x65\xbe\x47\x89\xb6\x04\x22\x45\xc1\x47\x4f\x76\x44\x74\xf3\xff\xde\x9f\x3f\x0a\xdf\xef\x3e\xc5\x83\xeb\xb6\x3f\xbc\x5b\xd9\x3b\x49\xff\xc2\x13\xc8\x87\x85\x9e\x5c\x26\xee\x36\x6d\xa9\x2b\x76\xc3\x21\x48\xd0\xaa\x1e\xe6\x85\x4e\x84\x31\x63\x76\x0e\x17\x0d\xfd\x93\xf1\x85\x0b\x74\x44\x0f\x4f\x95\xb5\x4c\x1c\xcb\x61\xd4\x7e\x7d\x8b\xb7\x9d\x00\xa4\x4c\x3e\x28\x46\xb4\xde\x5f\xc9\xb0\xcb\x9a\x70\x8c\xcd\xd0\x06\x14\x3f\x63\xe7\xcb\x37\x2c\xd5\xc9\xbd\x28\x8e\x0b\x91\x4a\xf3\x06\x62\xf6\x65\x67\xb0\x70\x6d\xad\xed\x83\x35\x8d\x2e\x00\xc2\x1e\xea\x88\x53\xec\x9f\x52\x0a\x5c\x12\xda\x88\xc9\x05\x98\x13\x2e\x73\x19\x53\xf5\x1c\x29\xa4\x50\x65\xb1\x41\xb4\xb3\x73\x65\x35\x26\xc2\x59\x1a\x56\x69\xeb\xca\xb9\x2f\x9e\x03\xdb\xf3\xc4\xcf\xbe\x5d\x09\x23\x1c\x90\x01\x3f\xaa\xd4\x94\xf1\x87\xe2\x22\xe7\xe5\xca\x00\xc1\x4b\x7d\x0e\xc8\xe8\x82\x57\xed\x0c\xf1\x1c\x70\x10\xe8\xa5\x08\x2f\x79\x1a\x12\x53\xca\x2c\x9b\x2a\x4c\xdc\x00\x2e\x96\x17\xad\x3c\x52\xf6\xd5\x11\xe3\x69\xca\xfe\xbf\x97\xef\x2e\xfe\xe3\xf6\x7c\x36\xb9\x04\x9f\xf7\xe4\xe2\xfc\xd5\xc8\xff\xf1\xc3\xdd\xad\xff\x2b\x7a\x58\x1e\x44\xc1\xd6\xfc\x1e\x4c\x3c\x65\x04\xa5\x18\x8b\xa9\x8a\x47\xea\x18\xb6\xec\x2f\x46\x38\x04\x2d\xa9\x29\x9e\x68\x9c\xd6\xb0\x8b\x9e\x97\x88\x57\x07\x18\xbf\xd7\xfe\x95\xdd\x7b\xd0\x6d\x1e\xdf\x85\x53\x03\x21\x93\x9c\x9b\x88\x72\x89\x6c\xdf\xb0\xe1\x84\x5a\x4a\xd5\x85\xf3\x13\xea\xe1\x73\x2a\xf1\x3f\x8a\x0d\x00\xcd\xaf\xb8\x2c\x7a\xef\xbd\x76\xce\x4c\x77\x62\xac\x9d\xce\x4d\xf3\x50\x19\xd4\x85\x31\x27\xbd\x13\x4b\xda\x46\x97\xfc\xab\x7f\x2e\x91\xb0\x8a\x4f\x65\xe1\xb8\xdc\x7c\xd6\xb3\x23\x3c\xf5\x17\x4d\xd8\x83\x53\x75\xfb\xe1\xec\xc3\x1b\x26\x32\x3e\xd7\x90\xf0\x4a\x50\x23\xd7\x04\x4d\x58\xa2\xd7\x51\x43\x35\x1e\xbf\x11\xcb\x03\x8f\x5f\xec\x44\x1b\x63\x1b\x7b\xf8\xfc\x72\x5d\x6c\xb3\xe0\x3d\xaf\x09\x48\x1f\x7b\xa5\x8b\x3e\xd7\xbf\x7d\x0c\xf3\x42\x72\x6b\xc8\x35\x24\x2f\xdd\xcd\x0b\xc1\x81\xe3\x85\xc2\x42\xe4\xcb\x27\x60\x6c\x96\xd5\xaa\xae\xdb\x83\x63\xc6\x14\xda\x0f\x4f\x6a\xc5\x7e\xfc\xd6\xb0\x79\x55\x4e\x55\xbd\x0d\xad\xd8\xc9\xcf\x37\xec\x2d\x2f\x93\xd5\xab\xa9\x82\x2c\xd1\x1f\xbf\xed\x20\x1c\x1d\xcc\xe1\x6d\xe7\xe4\x8c\x97\xfc\x42\xf3\x54\xaa\x65\x1b\x81\x77\xa8\x32\x79\x7e\x7b\xf2\x86\xb9\x62\x3f\x21\x5f\xba\x74\xc4\x39\x51\x43\x20\x90\xe1\x43\x9c\x14\xa1\x9c\xc1\x1a\xc9\x31\x5a\x66\x70\x61\x4d\xd5\x2d\x32\x97\x5b\xa9\x2a\x4b\x96\x6b\xaa\x74\x6a\xad\x32\xe4\x74\xe7\x8e\x47\x40\x64\x1b\x66\x67\x07\xb6\xb1\x5f\x0c\xd2\xc7\x40\x9f\xd9\x16\xf6\x53\x05\x06\xba\xcf\xe0\xce\x74\xc2\x33\xc0\xfa\x1d\x45\x3e\x3d\x6b\xb6\xeb\x0a\x58\x94\x00\x64\xa3\x36\x75\x48\xae\x27\xf6\xf2\x4a\x59\xbc\x50\xe0\x00\x80\x75\xa4\x38\xe4\x5a\x5b\x89\x83\x8c\xc5\xe0\x7c\xcb\x70\x76\xec\x8b\x9e\xc1\x18\xa7\xc5\xfe\xea\xc9\x0d\x74\xa5\x1c\x63\x5f\x02\xee\x7b\xb5\x01\x58\x38\x94\x26\xd4\x00\x29\x09\xd2\x99\x36\xe5\xd6\x2a\xfa\x3b\x31\x7a\x6d\xaa\x10\x81\x58\x5b\x97\x98\xe3\x32\xea\x5d\x2b\x00\x48\x6e\x33\x2a\x54\x39\x01\x26\x49\xd7\xcf\x0b\x71\xe4\x79\x02\xd2\xda\x9c\xda\x1b\x76\xcc\xae\x63\xf3\x3a\xd5\x49\xb5\x76\xf5\x47\x80\x63\x80\x90\x75\x74\x89\xfa\x1d\x82\x17\xfb\xbe\x1d\x0f\x5c\x86\xa5\x00\x92\xa5\xde\xf6\x31\x6e\x98\x93\xf8\xd5\x6d\x4d\xbd\x5b\xf1\x05\xd9\x71\x18\x1a\x0e\x1b\x9a\xe5\xf5\x96\x6a\xad\x1d\xcc\xde\x71\x19\x6a\x24\xe8\x02\x94\x2d\xf1\x29\xd7\xe0\xe4\x46\x12\x03\x9d\xbe\x30\x6c\x72\x65\x35\x20\x6b\xf1\xfa\x33\x58\x99\x12\x41\x6b\x98\x8d\x0e\x6f\x63\x1a\xc2\x88\x7d\xcd\xa6\xd5\xd7\x5f\xff\x2e\x61\x9f\xdc\x7f\xfc\xeb\xbf\xfc\xcb\xef\xfe\x75\x48\x9a\x8a\x33\xc8\xa1\xdd\x30\x47\xbe\xe8\x6c\x5d\x25\x8a\x57\x60\x5b\x52\x1d\xb0\x0a\x74\x00\x0f\x64\x17\xe8\xc2\x24\xf1\x25\x9d\x70\x13\x9f\x4c\x56\x3b\x9a\x01\x49\x00\x39\xd5\x35\x09\xe1\x95\x5d\xd2\xe8\xff\x71\x07\xa5\xef\xcc\x1e\x95\xa7\x61\xa7\x64\xe6\xd5\x6b\xdb\x08\x7b\x49\xfe\xbf\x12\x02\x88\xaf\xdc\x05\xa7\xb3\x54\x14\x38\x26\xef\xb2\xf3\x8e\x44\x10\x0e\xe2\x53\x9e\xe9\xd4\x15\x11\x08\x8c\x19\x12\x14\x84\xf3\x4f\xdc\x4a\xee\x11\x91\xcd\x52\xde\x2a\x44\x5e\x16\x3c\x11\x94\x63\xfd\xf2\xd3\x1b\xfb\xb7\x11\xdb\xbc\x01\x70\xea\x88\xfd\xf5\x0d\x71\x4a\xf2\xa2\x9c\xd9\x3f\xbd\x72\xba\x36\x35\x01\x83\x96\x86\xbd\x38\x7e\xe0\xc5\x31\x88\xe7\x63\x1c\xd1\x8b\x90\xa4\x8e\xd5\xb3\x63\xdd\x3c\xd3\xfa\x9e\x80\xbb\x5b\x2f\x1e\x3b\x7a\x62\xd8\xde\x3e\x6e\x82\x4b\xef\xe9\xab\x4a\x76\x04\x0f\x08\x36\xce\xe7\x6c\xfc\x17\xa3\x15\x1b\x6f\xf8\x3a\xa3\xbf\xba\x5f\x09\x57\xcc\x0d\xe5\xda\xa5\x1e\x23\x94\x6d\xd0\x53\xfa\x36\xd3\x73\xf8\xaa\xf7\xee\x4b\x11\x99\x0b\x03\x0d\xb7\x4f\xb8\xb0\xe8\x43\x1c\x5d\x0b\xb0\x6c\xae\x75\x89\x8f\x50\xda\xec\xf6\x57\x7d\xf2\x43\xfa\x23\xc6\x85\x61\x52\x5c\x72\x20\x3a\x87\x3d\x2a\xce\x36\xfa\x89\xbd\x24\x11\xf4\xca\xde\x31\x04\x83\xc6\x69\x68\xeb\x60\xe3\x3b\xf8\x8f\xa8\x03\xa9\x18\xa6\x7b\xee\x78\xf3\xaf\xc7\xe3\xf1\xd8\xbf\x0d\xdc\x4e\xff\x87\xc9\xd2\x88\x6c\x81\x2d\xb9\x1b\x6c\x33\x55\xef\x5d\x79\x32\xe7\xbc\x0e\xc4\xe7\x79\xa1\x4b\x9d\xe8\x8c\x1d\x05\x87\x6e\xaa\x13\xc3\xfe\xc9\xaa\xb5\xd1\x54\xc2\x1f\xad\x1d\xd7\x7e\xa6\xa8\x1e\xca\x17\x3a\x54\xe4\x10\x6f\x1e\xab\x98\xeb\xd8\x1b\xb6\xdc\xc4\x49\xce\xb0\x17\xec\xce\x39\x26\x3e\xe4\xa2\xb0\x0f\x8b\x4f\x25\xfc\xd4\x41\x37\xdd\x0a\x91\x6f\xbf\x29\xb7\xc4\x6d\x60\x9d\xc6\x6d\xdd\x31\x01\xc4\x0a\x4b\x92\x01\xbf\x73\x14\x87\x4f\xec\xe5\xa2\xe2\x82\x59\xa6\x5a\xaf\x79\xb1\x39\x0e\xa7\x6d\x7b\x73\x06\x3e\x62\x90\x31\x99\x9b\x00\x08\xe1\x66\x74\xb4\x08\xc5\x40\xea\xa5\xbb\xd1\xfc\xd9\x4d\xa0\xe2\x79\xc4\xeb\x25\x54\xa2\x53\xda\xd7\x21\xab\xb5\xae\xb1\xf8\x67\xb6\x75\x15\x87\x88\x31\xc1\x19\xa7\x4a\x24\xba\xa3\x27\xdc\xcb\x1d\xe2\x5b\xcf\x4c\x69\x05\xe5\x72\x40\x78\x74\xf2\xe1\xc6\xbd\xd3\xff\xd2\x85\x79\xa8\xab\xec\x3c\x8b\x59\xa4\xd5\x92\x15\xfc\x31\x5c\xbf\x80\xed\x40\xef\x4c\xe5\x73\x7e\xf1\xdf\xa7\xfa\x4a\x66\xf6\xd6\x82\x3d\x3e\x9e\xaa\xda\x9f\x47\x4c\x64\x72\x2d\x95\xc7\xd6\xa1\x70\xd7\x0b\xd4\x9e\xef\x65\x69\x97\xcc\xa4\xf7\x56\x82\x39\xf6\xd3\xc8\xa4\x3a\x51\x1b\xb7\x75\x7c\x60\x8a\x3c\x10\x95\xb1\xe3\x0a\x36\x3a\xb0\x01\xc8\x54\x1c\x91\x42\x2a\xa3\x8d\x07\xe7\x77\xaa\x6c\x6b\xee\x2c\x05\x18\x72\xd4\x5e\xd4\xdc\x91\x2b\x1b\x15\x49\x00\xe8\xa3\x86\x25\xf6\xfa\x6f\x8b\x82\x72\xae\xaa\xf5\xa1\x49\x2c\x04\x4b\xfe\xb5\xdc\x74\x57\x85\x70\x37\x15\x25\x44\x09\x55\xad\xdd\x81\x1a\xb0\xe3\xce\x49\xfd\x49\x45\x92\x71\xe4\x73\xb4\x0d\x01\xf2\x71\x84\x01\xd2\x3c\xea\x0b\xaf\x17\xec\x06\x2b\x51\x66\x42\xbd\xc4\x7f\xbf\x62\x74\x37\x7c\x3d\xa2\xfb\xbc\x30\x9e\x27\x0f\xd7\x1c\x2a\xb9\x8b\x14\x7d\xe8\x50\xbb\x63\xc9\x8b\x14\xbd\xe5\xb1\x55\x81\x99\xc1\x56\xff\xda\xe8\x8a\x3d\x4a\xb3\x9a\xaa\x5b\xed\x1c\x8e\x4c\x69\x5f\xfd\x64\x04\xc6\xe8\x56\x7f\xdc\x80\x10\x80\x51\xb7\xed\x00\x2b\x84\x0f\xca\x61\x02\x10\xed\x4c\xe9\x54\x1c\x46\xf3\x79\x1b\x62\x15\x2e\x7e\x5d\x08\xcc\x33\x83\x9b\xa2\x2b\x4d\x57\x18\x33\xd0\x37\xdf\x5c\x78\xb8\x87\xa8\x1d\xdb\xab\x7e\x1c\x54\x83\x26\x66\xd0\xf5\xb7\x1a\xb4\xe2\x2c\xce\x28\xcb\xb8\x36\xf7\xbe\xa6\xc8\xa1\x8b\x90\xb4\x70\x7a\xf6\xba\xfb\xf1\xdb\x13\x98\x76\x0f\x30\xe6\x6c\x59\xe8\x2a\xf7\xa9\xf8\x2e\x8d\x10\x97\x81\x74\x9a\x89\x5a\xe8\x37\x64\x53\x5d\x48\x75\x8f\x3b\xfe\x73\xad\x11\x96\x8d\x11\x69\x8d\xec\x98\xee\x30\x9c\xf1\x23\x26\x55\x92\x55\x70\xf1\x99\x92\x27\xf7\x58\xfa\xa6\xcb\xe9\x6b\xdf\x99\xed\x4f\xd2\xec\xd0\x98\xaa\x2c\xa3\x6e\xc3\x05\x0a\x74\x82\xe0\x02\x7a\x90\x9c\x71\x76\x77\x3d\x69\xef\xfb\x5e\x6e\x07\x73\xda\x6f\xcf\xfa\x06\x81\xff\xf7\xa3\x1c\x84\xbb\x6c\x90\x47\x8b\xda\x56\xf7\xce\xa5\xae\xd2\x04\xb8\x49\x4b\x6b\x40\xa4\xd7\x2d\xae\xfd\xc1\xfb\x74\x99\x57\x33\x3b\x51\xd9\x10\x80\x80\x1d\xc5\xf7\x57\x77\x27\xd1\x7b\xbb\xb6\xca\xf7\x57\x77\x2c\xea\x03\x69\xc1\x33\x91\x94\x1e\x69\x3c\x66\xa7\xa1\x5a\x47\x53\x33\x4f\xc5\x83\x4c\x30\x75\x76\x64\xb5\xa2\xa9\x02\x12\x7c\x6b\xeb\x1c\x39\xe6\x54\xf6\xfd\xd5\x1d\xf1\xad\x06\xde\x1c\x2c\x3c\x02\xd4\x18\xc3\xae\x9d\x06\xfd\xbc\xd2\xea\x08\x29\x83\x8a\x34\x44\x3b\x46\x60\x5c\x27\x3c\x2f\x2b\x52\x30\x1e\x5e\x8f\xdd\x9a\x5c\x87\x48\x88\x1d\x96\x9e\x2a\xab\x2b\x61\x8e\x01\xd4\xc8\xb3\x1f\xbd\xbd\xb4\x8d\x49\x3d\x04\x1c\x00\x93\x76\x90\xf0\x97\x3e\x73\x90\xab\x0d\xe3\xc5\x5c\x96\x85\x35\xc3\xf0\xe5\x11\x32\x9c\xad\x5c\x1d\x34\x5c\xb7\xa0\x19\x51\x59\x43\x58\x60\xa9\x4a\x33\x55\x51\x02\x8c\xcf\x36\xc6\xe4\x05\xa9\x18\x90\x46\x03\xf6\xc6\x91\xd8\x26\x99\xae\x52\x77\xad\x16\xbe\x4c\xe2\x26\x47\x25\x6a\xaa\x80\xf1\xc4\xde\xad\xda\xaa\xa1\xe1\xee\x7f\xc3\x3e\xaa\x07\x99\x4a\x7e\x54\x0a\x93\xf1\xa3\xf2\x7f\x7f\x1c\x35\xfe\xc4\x5f\x7f\xfd\xf5\x47\xac\xf8\xd8\x45\xe7\x10\xb1\x36\x1d\xe8\xe0\x69\x8f\x53\x78\xa6\x4b\xbb\x4b\x0f\x58\xa7\x0b\x79\x2f\xd8\x47\x5c\xee\x8f\x44\x73\xfd\xb4\x65\x9b\xaa\xb6\x75\x63\x4f\x59\x36\x28\x3a\xd0\xbe\x6e\x6c\xc7\xb2\xbd\x5e\x8e\xff\x65\x39\xb7\xab\xf5\xcd\x72\xfc\xfa\x6b\xf8\xcf\xc6\x1a\xed\x3b\xbc\x3e\x7b\xa6\x6d\xd8\x2d\x82\xa8\xe5\x58\x7a\x59\x34\x55\xfb\x85\x11\x1b\x26\x8b\x60\xd7\xb6\x1d\x7c\x5e\x8a\x43\xb3\x66\x91\xfd\x7c\x00\xfa\x7a\x8b\x56\x7e\x67\x44\xf0\x40\x4e\xf6\xc0\xa7\x0e\x70\xcf\x6e\x72\xf8\x18\x80\x0b\x3f\x0e\xe0\xf9\x81\xe7\xfb\x7d\x4f\xe3\xd9\x3d\x9f\xb3\x7b\x98\x99\x10\x03\x98\x69\x6e\xec\xe3\x3d\x07\x59\x7b\x74\xd7\x18\x1f\x39\xd6\x9d\xdc\x2e\x77\x94\x92\xb5\x3e\xe4\x14\xb9\xed\x88\x2e\x13\xe3\xd3\x06\xfd\x48\x1c\xb4\xd2\xdb\xd7\xae\xdf\x25\x9d\xa5\xb8\xac\xa5\x8f\xba\xb5\x6c\xfc\xc8\x15\x71\x20\x14\xce\x9a\xd4\xb3\x75\x6f\x2a\xfd\xd0\xf1\x19\xbd\xfc\x7e\x8b\x58\xdf\xab\x97\xef\x21\xe3\xdb\x93\x6c\xad\xb9\xb2\xda\x9a\xeb\xb5\x23\xb0\x84\x56\xfe\x93\x86\x74\x97\x3f\x69\x40\xd8\x63\xbf\x64\x2d\xd7\x95\x6b\xe5\x11\x63\xab\x3c\xc3\xd8\x41\xb9\x02\xb7\x72\xa8\x94\xec\xc4\x5c\x70\x2f\x63\x55\xe5\x8c\x17\x4b\x74\x7a\x19\x51\x9a\x57\x2d\x2b\x1c\xf2\xd8\x0e\x58\x61\xa7\x76\xcd\x86\xf1\x87\x38\x7d\x0c\x5c\x2a\xbb\x4e\x9a\x1f\x65\xbd\xac\x8a\xb7\xb4\x5c\xff\x71\xcd\x80\x90\x5c\x97\xe8\x02\x6b\x90\x01\xcf\x6b\x37\xbf\xd6\x81\x34\xb3\x97\x7c\xed\xd9\x63\xa8\x35\x97\xf2\x8b\x83\x9b\x0b\xa8\x08\xd4\x3d\x86\x5e\x1c\xb2\x7d\x87\x40\x4c\xb7\x5d\x23\x98\xaa\x13\xf7\x48\xe0\x35\x37\x12\xbd\x2c\x98\x8e\x58\xcd\x31\xc3\x05\x7c\x66\x3c\xcc\x3a\x7d\x5c\xc7\x47\x0c\x4d\xf4\x6f\x7c\xc2\x9d\x11\x45\xb8\x8d\x02\x1b\x6a\xfc\x1d\x1d\x3d\xf7\xe3\xa6\xde\x29\xd1\xdd\x27\x52\x53\x6e\x2e\xf7\x74\xac\x8b\x7d\xcc\x92\xbb\x3a\x75\x88\x0b\x7b\x8a\x97\xc0\x6b\x16\x15\xec\xee\xea\xbd\xbf\x99\x44\x9f\x01\xe9\x4e\x84\xe9\xc5\xac\x84\x6c\x13\x0e\x49\x20\xe7\x6f\x74\xb6\x2d\x2b\xca\x83\xee\x02\xc9\xd7\xb3\x42\x77\x97\x11\xef\x31\x5f\xae\x89\x5a\xc4\x60\x85\x65\x45\x37\xec\x97\x8a\x67\x78\xb5\x2a\x3a\x0c\x6e\xd8\xe0\x7c\xf9\xe6\x5f\xd9\x09\xdc\x7d\xec\x3d\x48\x65\x80\x8c\x41\x6b\xa5\x66\x72\x9d\x8b\xc2\x68\xc5\x3b\xeb\xe9\xdf\x7f\x6b\x66\x54\x13\xd8\x1a\xe6\xba\xda\xae\xff\x3b\xe0\x4b\x5a\x5a\x8b\x3f\x8a\xb3\xfb\x6a\x2e\x0a\x25\x4a\x40\x22\xc2\x73\xcc\x3d\xd7\x6b\xb8\x9a\x57\xe5\xea\x9b\x59\x92\xc9\xde\x85\x8a\x21\x5f\xf5\xc4\xbe\x76\x8a\x6f\xed\xfa\x80\x5a\xfb\xb5\xa1\x2b\x86\xbf\x31\xfc\x6d\xcc\xde\xf2\xe4\x5e\xa8\x94\xe5\x59\xb5\x94\x44\x7b\x83\xc6\x86\xac\xbb\x15\xea\x1f\x86\x9a\x0d\xb6\x6f\x2f\xc1\xa9\x5a\xf3\x7b\x2c\x1e\x44\x2a\xac\xb5\x5b\xba\x48\x13\xbd\xa3\x66\x26\xb7\xf7\xee\xde\xd5\xf2\xb7\xf1\x76\x33\xcd\xbd\x67\x2a\xcc\xd6\x7b\x5c\x69\xc2\x38\xd5\xfc\x44\x03\x0e\xae\xdf\xad\x5b\xec\x64\x8e\x41\xc6\x88\xa4\x2a\xec\x13\x34\x18\x3c\xbd\x10\x40\x84\x02\x58\x95\x62\x1c\x08\xce\x5e\x18\x56\xe5\x4e\x88\x40\x64\x2b\x03\x9c\x11\x2e\x81\xfd\x21\x97\xc9\x3d\x22\x5b\x21\x77\x83\xf9\xcf\xdb\x2a\x32\xce\x44\x80\x58\xb6\x89\x86\x05\xd2\xfb\x1c\x86\x9a\xd9\xaa\x9f\xb5\x67\x9f\xf6\xcc\x4b\x29\x57\x42\xcd\x9e\x50\xc6\xa9\xff\xa2\xd5\x72\x50\x48\x09\xf7\x11\x42\x3f\x85\x95\x92\x44\xe6\x1d\x2c\x7c\x5f\xa3\x44\x2e\x1a\x4a\xbc\x34\xcc\xf0\x52\x1a\x2b\xcb\x5a\x67\x3c\x90\x2a\x1d\x32\xeb\x7c\x18\x93\x53\x0b\x8b\x53\x63\x2e\x7c\x9e\xdb\x98\xbd\x83\xb8\x4a\x64\x97\x68\xcf\x89\xd4\x25\xb0\xca\x95\xe8\x24\x07\x7e\x0e\x80\xa8\xfb\x82\xe8\xf9\x9d\xe1\x32\x9f\xd3\x38\x66\x27\x21\x9e\x8d\xac\x50\x18\xa9\xde\xf3\x45\x22\x33\xe2\x29\x9b\xaf\x57\xe8\x07\x30\x5f\xb0\x81\x98\xc4\x52\x24\x4c\x45\x2c\xf1\x7e\x98\x8f\x40\x1b\xc0\xef\x85\xda\xe5\xdf\xef\x3f\x42\x0c\xc0\xec\x74\x48\xf8\xc8\x8e\xc6\xe0\xce\x53\x06\xd8\xff\xd8\x05\x22\x2e\xb9\x38\xb6\x53\x6e\x8d\xa0\xe4\x9e\x92\x15\x31\xbe\x47\x54\x5e\x8f\x2b\x6d\xe2\x73\xe6\xd6\x0f\xed\xe8\xa2\xf2\xd5\xd9\x20\xd9\xd3\x4f\x30\xa2\x3c\x95\x8e\x99\xbe\x60\xd4\xfe\x90\xa2\x53\xc9\xaf\x37\x73\x22\x14\xa6\x01\x70\x11\xae\xa9\x96\xd3\xac\xf2\xea\xb9\xaa\xff\xec\xa7\xd7\xde\x9e\xe1\xad\x01\xfd\xf8\xad\xf9\x00\xfd\x3d\x07\x19\x0d\x7a\x19\x9f\x3f\x11\xec\x89\x21\x70\x0f\x71\x76\xde\x4f\x0d\x49\x22\x74\x51\xe6\x3a\x65\x61\xbf\x77\x65\xda\x28\xa5\x11\xe2\xfa\x1b\xfc\xac\x68\x70\xbd\xbf\x6d\xdf\x51\x7b\x1f\xe1\xe4\xd8\xbc\x92\x59\x8a\x2c\x85\x91\x86\xaa\x9d\x0a\x04\x85\xb0\x40\x1f\x91\xc6\x5f\x70\x2d\x9b\xfe\xc7\x6f\xcd\x95\x4e\x0f\xd9\x58\xc3\x99\x68\xb7\xf7\x75\x8f\x34\x1a\x13\x63\x99\xd6\xfb\x67\x22\xd7\xdd\x09\x10\xe9\xcc\xd4\x2b\x3f\xef\x18\x30\x20\xde\xe6\xd5\xe2\x06\xca\xcc\x76\x91\x32\x45\x15\x18\x5d\x96\xb5\x5d\x67\xdb\x8d\xcf\xf9\xeb\x5a\x14\x02\x50\x05\x7d\x84\xb3\xdf\xdf\x7c\xb8\x3c\x5a\xf3\xc2\xac\x38\x90\x5e\xb8\xb6\x46\xae\x72\x3f\x7a\x0b\x1c\xb0\x43\xaa\xa9\x3a\x62\x4b\x3d\x42\x18\xd1\x1b\xb6\x2a\xcb\xdc\xbc\x39\x3e\x5e\xca\x72\x55\xcd\xc7\x89\x5e\x1f\x87\xa9\x39\xe6\xb9\x3c\x9e\x67\x7a\x7e\x5c\x08\x48\x24\x39\x7a\x3d\xfe\xe6\x35\xac\xcc\xf1\xc3\xeb\x63\x00\x8f\x8c\x97\xfa\x9f\x2e\xbe\xf9\xb7\xdf\xfd\xab\x6d\x38\xdf\x94\x2b\xad\xde\x10\x46\x69\x67\xdb\x47\x68\x26\x1c\xe3\x2b\x8d\x5e\xfe\x6d\xfc\x75\x3c\x0c\x7a\x74\xad\x53\x91\x99\xe3\x87\xd7\x33\xb7\x30\xe3\xbc\xa3\x62\xc6\xdf\x53\x2f\xbe\x40\xea\xc5\xbd\x2c\xff\x9e\x7a\xf1\xab\xa6\x5e\xf4\x57\xb9\xbc\x8c\x01\x8e\xec\x20\x1f\xed\xdf\xbd\x8c\x74\x91\x88\x7d\x72\xa8\xe5\x72\x88\x13\xe3\x0e\xb8\x22\xf6\x97\x2a\xdc\x75\x01\x78\x5b\xa6\xc3\xe3\x38\xb4\x4e\x4d\xa7\x75\x31\x88\x07\x04\x80\x8e\x32\x01\x5f\x61\x54\xba\x6e\x7b\x12\xa3\xba\x3d\x07\x4c\x21\xd6\x11\x69\x27\x3d\xeb\x59\x4f\x51\x38\x00\x60\xad\x26\x09\x42\x77\xc1\x0d\x44\x47\x2d\xd4\xfb\x23\x75\xa2\xc3\xa2\x97\x6b\x31\x7c\x3c\x21\xf8\x9f\xf2\x52\x1c\xd9\x46\x76\x0c\x18\xb8\x7e\xbb\xc6\x59\x2b\xc7\xd7\xac\x01\x19\x0f\x14\x8b\x6d\x89\x74\xf6\x2c\x35\xc7\x5a\xfb\x40\x38\xec\xe0\xf6\xb7\x4c\x8e\x1e\x56\x01\x01\xc4\x0f\xda\x4c\x9f\xb1\x3a\xcc\x73\x97\x85\xa1\xcf\x7d\x62\x49\x98\x0c\xdf\x76\x70\x76\xfd\xe8\x4a\xc1\x3c\x47\x01\x95\x00\xd5\xef\x57\x3c\x05\xcf\x03\x8c\xc5\x8d\xab\x63\x18\x2b\x6e\x9e\x96\x17\x71\x82\xec\xcb\x3e\x0c\x8e\xa0\x72\x69\x5c\x87\x4e\x11\x71\xc4\x53\xf6\x48\x39\x7e\xcb\xbc\x2a\x72\x6d\x84\x19\xb3\x77\xba\x40\x46\x33\xa2\x1b\x0a\xb9\x1e\xd7\xef\x4e\xd9\xeb\x6f\xff\xed\x77\x53\xf5\xb2\x45\x0f\x04\xfd\x41\x17\x4b\x4a\x3d\x01\xed\x6f\xcd\x4d\x29\x8a\xe3\x62\x91\x1c\xe3\xad\x79\x6c\xdf\x3f\xa2\x4e\x8f\xf4\xe2\xc8\x57\x87\x38\x22\xa2\xfc\xf1\x3a\x7d\xd5\x05\xca\x6c\xb7\x35\x7e\x35\x7b\xef\xa4\xc3\x26\x69\x5b\xdf\xfd\x77\x4a\xed\x08\xa1\x0e\x46\x0a\x98\x01\x65\x0d\x59\x28\xf5\xc2\xd7\x33\xc2\x14\x67\x2c\x7d\xa6\x17\x2d\xff\xf1\x36\xd3\x73\xf3\xca\x73\xdf\x72\xe3\xfa\x08\x64\x94\x6d\x57\xd6\xd6\x99\x3b\xc4\xf1\x40\x53\xf1\x39\x3d\x8a\x4e\x26\xc6\xcb\x36\x64\xe2\xdb\x85\x46\x50\x83\x91\x8a\x8b\x17\xba\x52\xae\x60\x88\x56\x42\x2f\x00\xe1\x05\x16\xa2\x03\xa8\x42\x50\x05\x60\x8f\x9e\x76\xab\x10\x39\x2a\x5e\x10\xfe\xeb\x9e\xee\x03\x8b\xe6\xec\x9b\xe7\xcf\x51\x34\xe7\xd0\x79\x27\xc1\xf8\x2b\x4d\xf8\xa1\x59\x24\x78\x94\x86\x80\xaf\xec\xf3\x7b\x81\x16\x5e\x0e\x84\xf2\xec\xa1\x3e\x45\xce\x0b\x30\x5e\xc4\x51\xa9\x8f\x80\xaf\x10\x58\xf0\xb0\x8c\x55\x17\xfa\x0a\x00\x2a\x43\xae\x7b\xfb\x7c\x8f\x71\xa2\xc1\xfa\x29\x1a\x28\xe9\xea\x06\xc9\xdf\x09\x8d\x2f\x95\x12\x05\x05\xbf\xf7\x6a\x06\x03\xe1\x2b\xf1\x52\xee\x1a\x6c\xec\xa1\x89\x4b\x0c\xf9\x54\x4c\x1e\x09\x81\x31\x03\xab\x6c\xa5\xd7\xda\xaa\xf9\xba\x32\xd1\x8f\x68\xd5\x83\x32\xd1\x69\x93\xac\x79\x8e\xaa\xf1\xaf\xf7\x35\xf6\x68\xd9\x9f\xd0\xfb\x1e\x3f\x34\xa8\x6a\xdb\xbc\x5e\xa7\x6a\xcf\xf8\x7d\x81\xa1\xdd\xfb\x06\xc0\x51\x6b\x88\x76\x42\x25\x6f\x2a\x1b\x22\xff\x6a\xed\x7d\xbb\xa5\xbc\x05\xed\x35\x10\xc4\xf2\x21\x0d\x77\x8c\x5c\x75\xb7\x6e\x27\x51\x4e\xb5\x1e\xb8\x06\x3e\xbf\xac\xcf\x02\x70\x85\x19\x57\x2e\xd5\xea\xa8\x35\xd7\xaa\xeb\x5c\x82\x4b\xb1\xb2\x96\x89\xa3\x8a\x1f\x36\xd4\x1b\xdf\x00\xb1\xc2\x6f\x8f\x3b\x30\x6d\x42\x62\x1e\xce\x31\x0a\x04\xa7\x5b\x74\xe1\xbb\x87\x1f\x46\xa8\xd9\x37\x64\xee\xa0\x13\xdc\x9c\x5b\x33\x18\x9d\x85\xae\x09\x1c\xe6\x7a\xde\xe5\xc9\x6d\x83\xf6\x23\x39\x71\x48\xdc\xb6\xa3\xdc\x72\xaa\xf8\x17\x1f\x42\x5d\x68\x40\x3e\xcf\x2b\xf8\xfd\xf2\xc3\x6d\x0c\xea\x92\xf8\xb5\x47\xc9\x4a\x24\xf7\xe0\x48\xc4\x2b\x0f\x0f\x03\xf1\x10\x00\xd2\x3c\x54\x93\x2d\xb5\xc3\x08\x6d\x7c\x81\x1d\x5f\x64\x4a\x17\x2c\x95\x26\xcf\xf8\x06\xd0\x18\x0a\x53\x34\x03\x92\xc3\xe7\x36\x5b\x51\xb0\x2f\x8e\xd2\x7f\xa5\xed\xaa\x9c\x84\xf7\x86\xce\x65\xc0\xdc\x87\xc9\xdc\x96\x07\xcc\x88\x35\x57\xa5\x4c\xa6\x6a\x2d\xb8\x8a\xc1\xbb\x84\x46\xb1\x93\x9c\x6a\x41\xa5\x22\x16\x0b\x91\x94\x81\x6b\x1a\x8c\x10\x3f\x53\xfb\xce\xe0\xb0\x6f\xf7\x27\x6f\xe7\xa7\xff\xe0\x2a\x5e\xcb\x35\x40\xc3\x69\x0f\xd1\xd5\xf8\xc4\x28\x2b\x54\x1f\xa6\x2b\xd7\x19\xb5\xf0\x2f\xb7\xa7\xd8\x5c\x94\x8f\x02\xa8\x94\x88\xfb\xa1\x4d\xc7\x3f\xb8\x02\xd5\x21\x79\x93\x27\x9e\x7a\x91\x98\xf5\xb7\xb8\x93\xe9\x80\xc5\x98\x53\xcf\xf9\xa8\x1a\xe4\x8d\x2f\x88\x8d\x02\xbc\xa0\x2f\xc8\x9f\xfb\x02\xae\x69\x6b\x05\x17\x0f\x22\x9d\xaa\x3a\xa3\x26\xe9\x8c\xe1\xc0\xb1\x50\x5b\xf5\x79\xa4\x8d\x9b\xe3\x5e\x31\xae\x73\x60\x11\x0b\xfc\xe1\x9e\x6f\x61\x47\xad\x57\xfc\xe8\xcf\x69\x55\xb9\x32\xd3\x7d\x8d\xe1\x50\x7e\x95\x6a\x27\x52\xa9\xe5\x1a\xf0\xc9\x6f\x4a\xcf\x17\x88\x64\xc2\x1e\x27\x4f\xfe\xfa\xad\x08\x40\x5b\x1b\x53\xe5\x88\x74\x16\x55\x86\x04\xf1\x5d\xe9\x4a\x44\x1f\xea\x92\x7e\x7f\xbd\xe4\x6f\xef\x6f\x66\x51\xb9\x5a\x8f\x4f\x8a\x72\x16\x50\xd6\xb9\x5d\x2f\x94\xa9\x40\xa5\x70\x95\x2a\x21\x20\xb3\x14\x25\xdc\xe6\x69\x95\x21\x56\x15\x22\x49\x40\x45\xca\xb3\x8c\xc9\xd2\x4c\x95\x67\x4e\xc5\x9c\x24\x90\xb0\x2e\xd4\x94\x92\xc9\x05\x5d\x40\xb3\xf0\x33\x57\xa0\x87\xc9\x44\x96\x5b\x99\x1e\x9b\xb8\xba\x5b\x9e\x0b\x8e\x34\x06\xb8\x6c\x53\x15\xdb\x5c\xcd\x45\xa0\x9c\x7f\x9e\x49\x6e\x9e\x23\xfd\x7e\x87\xe3\xd6\x76\xf1\x24\x80\x11\x7e\x9d\x35\xb8\x5c\xe1\x76\x1c\x2d\x51\x27\x11\x20\xdb\x5a\x35\xa5\x71\xb1\xa3\x60\xb7\x42\x3a\x53\x52\x65\xbc\xc0\x3c\xae\x45\x95\x31\xb9\x88\x6a\xd0\xc3\x1a\x20\x6f\xa6\x5d\xae\x44\xc3\x5d\xed\xa2\x47\x86\xaf\x45\x44\xd9\x43\xee\x9d\x2c\x02\x3b\x61\x31\x10\x44\xd1\xd8\xb6\x5e\x8d\xd9\x59\x60\x06\xc6\x15\x86\x33\x11\xf1\x6d\x4b\x83\xe2\xcf\x8f\x37\x62\x9b\x80\xaf\xb3\x43\xd4\xca\x9e\x48\x7f\xea\x3a\x56\x10\xea\xf6\x0c\x43\x52\xb9\xaa\x4d\xbb\x93\x0b\x5a\xd9\x66\xec\xab\x0d\x7c\x95\x3f\x10\x1d\x03\x74\xb7\xc2\xc0\x41\xc6\x5c\xe5\x4f\x18\xa8\xe7\x82\x6f\x19\xec\x7a\x47\xc9\x7b\x58\xc7\x81\x43\x8d\x0a\x48\x0e\x1f\x68\xb4\x73\x62\xdc\x5c\x9f\x99\x5d\xf2\x72\x28\x88\xce\xe7\xec\x0d\x1f\x68\x2b\x60\xb1\xcf\x30\x41\x7a\x0c\x1c\xe7\x89\x7d\xe7\x89\x03\x35\xd5\xfc\x08\x05\xb4\x2f\x05\x05\xa2\x42\xf0\x64\x55\xa7\xcf\x70\x24\xd7\xfe\x0b\x20\x7d\x12\xce\xe3\x70\xe6\x8f\x93\xb0\xe7\xa0\x86\x26\xb3\xc3\x1f\xb3\x0f\x4a\x20\xc4\x55\x2f\xa2\x4b\x85\x06\x40\xc5\x36\xa1\xce\x90\x97\x72\x73\x3b\x30\x75\xef\x58\xc5\xec\x91\x1b\x31\x1e\x5a\x07\xa9\x87\xdb\x06\xa5\x48\x87\x2e\xd9\x56\x95\xeb\x00\xf5\xb2\x1f\x37\x47\xbb\xcd\x1f\x21\xc5\x87\x4b\x80\xb6\xef\xe8\xbf\x2c\x3b\x53\x3e\xbc\x15\xe7\xf2\x3c\xea\xfb\x86\x21\xee\x7b\xdf\xfc\x5e\xad\xea\x70\xe1\x01\xb5\x31\xef\x2e\xcf\xce\xdf\x4d\x2e\xeb\xa5\x27\xff\x70\x77\x7e\x57\xff\xcb\xf5\xdd\xe5\xe5\xe4\xf2\xfb\xf8\x4f\x37\x77\xa7\xa7\xe7\xe7\x67\xf5\xe7\xde\x9d\x4c\x2e\x1a\xcf\xd9\x3f\xd5\x1f\x3a\x79\xfb\xe1\xba\x51\x42\xb3\xa5\xfe\xe5\xed\xe4\xfd\xf9\xd9\xec\xc3\x5d\xad\x0a\xe7\xd9\x7f\x5c\x9e\xbc\x9f\x9c\xce\x5a\xc6\x73\x7d\x7e\xfa\xe1\xa7\xf3\xeb\x3d\xb5\x32\xc3\xf7\xb6\x4e\xe9\x73\xc0\x2a\x9f\x5c\x52\xf5\x84\x2d\x0a\x29\x54\x9a\x6d\x30\x49\xc6\x59\xb6\x0d\xd4\x7b\x23\xe0\xae\xab\x43\x72\x5d\x6e\x57\x82\xe9\x07\x51\x00\x01\x1a\xb6\x46\x6c\x29\x81\x6c\xa1\xd9\x6b\x21\xca\x62\x3b\x2a\xb0\x33\xa1\xb0\x2c\x36\x3e\x65\x75\xd7\x70\x02\x79\x26\x75\xc2\x72\x51\xec\x1a\x0b\x68\x46\x45\x95\x97\x72\xde\x9d\xbd\x34\x98\x73\xa0\xaf\xed\x8d\x54\xcf\xed\xbc\x78\x97\xed\x82\xb1\x96\xc4\x73\x48\x86\x00\xb4\xf0\xd4\x4a\xc1\xfe\x6d\x87\xaa\xce\xab\x79\x26\x13\x26\xd3\xa6\x3f\x85\xa8\x40\xc0\x65\xdc\x64\x84\xcf\x45\x01\xaa\xaa\xb5\x00\xf2\x42\x1c\xf1\xaa\x5c\x21\x7b\x29\xe5\x0c\x51\xfd\x9e\xa9\x32\x22\x29\x04\xc6\x02\x84\x01\x27\x2d\x56\x82\x8d\x7a\x82\xc1\x10\x79\x4f\x0a\x3c\x81\xe3\xa8\x3a\x4f\x47\x8c\x00\xdf\xc4\xd6\x07\x38\x49\xf1\xf9\x9d\x53\x43\x23\x96\x58\x6b\x36\x42\xc4\xc1\x0d\x8f\x3f\xba\x7a\xb2\xf6\xbb\xad\xa4\xf6\xf5\x54\x71\x91\x5d\x92\x55\xfb\x67\xec\xdb\x63\xf1\x46\xa9\x67\x1d\x51\xeb\xf4\xd3\x69\x21\xe0\x12\x21\x48\x83\xf3\x5f\x00\xa4\x8b\x92\xb2\x20\x17\xcb\x9a\x6a\x73\xb1\xe2\xd9\x02\x35\x0e\xbb\x34\xed\x84\x2a\xd8\xfe\xad\xbe\x17\xea\x1a\x17\xec\x57\x11\x87\x0a\x2d\x9f\x40\xe7\xe4\x3d\x42\xc1\x85\x69\xc7\xe8\x76\x95\x4b\x89\x05\x65\xaa\x44\x3b\x21\xfa\x19\x73\xaf\x42\xb1\x06\x97\x4d\xbb\x58\xc8\x4f\xb6\xc1\xa9\x12\xad\x74\xf5\x80\xa3\x73\xc4\x9a\x5e\x2e\x03\x66\x10\xd9\x09\xef\x85\x82\x52\xb2\xc0\x8b\xb8\x7f\xcf\x0e\xf3\x9f\x6f\xaf\xc5\x0e\x87\x3e\xf8\xfc\x64\xad\xc2\x6e\x1c\xe5\x71\xf3\x54\x62\x32\x9c\xa7\x1f\x81\x7d\x73\x7a\x31\x39\xbf\xbc\x9d\x9d\x5e\x9f\x9f\x9d\x5f\xde\x4e\x4e\x2e\x6e\xfa\x1e\xbf\xe7\x48\x60\x6c\x9c\xbe\x66\x1e\x9f\x97\x10\xc7\x74\xf2\x42\x16\xbf\xff\xa8\x70\xec\x60\x49\xf6\x8f\x5e\xa6\xf9\x2c\x95\x26\xb1\xd7\xdf\x66\x26\x54\x0a\x75\x3e\x9e\xb4\x55\xdb\x9b\x6a\x7e\x85\x7f\x82\xf9\x27\x9c\x04\xc1\xdb\xee\xc1\xed\x68\xff\x3b\xa0\x51\xc1\x0d\x59\x08\x7b\xf8\xd3\x1a\xbd\xca\x78\x7f\x71\x37\xdb\xdc\x61\xdf\x56\x6f\xa2\xf9\x4d\x38\x5e\x69\x4c\x05\x2c\x2e\xee\x31\x80\xe2\x76\xcc\x0a\x91\x2f\xc7\xc5\x46\x64\x54\x80\x9f\x49\x33\x55\x6b\xae\x52\x5e\xea\x62\xd3\xf1\x89\xfd\x84\x67\x7c\x6c\xea\x22\x34\xbe\xb2\x95\x10\xa9\x5b\x05\x7c\x94\xab\xe6\x56\xc2\x92\x24\xb7\x1f\x7e\x3c\xbf\xbc\x99\x9d\x5f\xfe\x34\xbb\xba\x3e\x7f\x37\xf9\xa3\x47\x08\xe7\xdc\xb4\xd5\xd5\xce\x0b\x61\xa5\x8b\x63\x78\x6b\x95\x2f\x58\xad\xda\xb5\x43\x15\x4a\xe5\x62\xaa\x9c\x64\x29\x42\xf3\xab\x42\x57\xcb\x55\x7b\x43\xcd\x51\x5e\x9d\xdc\xfe\xf0\xa4\x61\x02\xff\x26\x96\xb4\xc5\xd3\xb6\x8d\x94\x96\x0b\x92\x7b\x08\xaf\x6e\x0c\x0f\x58\x64\xe1\xd1\xb6\x28\x43\x87\x44\x7b\x92\xf5\xb2\x2d\xb4\x76\x2a\xff\x2d\x8f\x77\x6d\xa0\xdb\x48\x6e\xd6\xae\x11\x40\xee\x63\x5d\xf4\xad\xd6\xde\xb4\xfc\xad\x76\x83\x7d\x73\x94\x89\xe5\x52\xa4\xb8\xbd\x9a\x0d\x93\x0f\x8e\x44\x60\x12\xee\xf5\xb6\x59\xa4\xda\xc5\x07\x5c\xcc\x1e\xef\xd5\x5f\x80\x5f\xf9\x57\xda\x65\xc5\x29\x71\x68\x41\x7c\xb3\xe4\xaa\x23\x90\xbc\x3f\x15\xae\xbd\xf9\x0f\x05\xf3\x59\x8a\xe4\x30\x71\x21\x83\x70\x0e\xba\x00\x2f\x87\xe3\x5b\xfd\x38\xae\x45\x9e\xf1\x44\xf8\xdc\x1e\x24\x3f\x06\xbb\xfe\x29\x01\x3c\xaa\x10\xad\xc8\xdf\x12\x55\x8e\x0e\x45\xf1\xda\xb6\x00\x78\x6e\xaf\x9d\x3c\xfe\xfc\xae\x95\x9d\x86\x1b\x51\x9e\x82\xa3\x19\x4b\x74\x52\x4a\x08\xfa\xa2\xa0\xee\x6d\x27\x5c\x7f\xd0\x76\x68\xf4\xfc\x13\x2d\x3c\xda\xcc\x75\x47\x37\x77\xa4\xc2\x7e\x7b\x78\xd5\x71\x97\xbf\xb0\x2c\x8b\x9d\x3c\xe4\xcf\x11\x8e\xb8\x2a\xf4\x5a\x1a\x71\x52\x96\x85\x9c\x57\x71\x21\xe6\x81\x80\xb9\x9a\x71\x12\x3e\x38\x2f\x74\x5a\x25\x8e\x39\x0c\xbe\x36\xc0\x7e\xc8\xcb\xe7\xb4\x8e\x94\x1d\xd9\xdd\x47\x96\x9b\x48\x8f\x20\xd1\x05\xa9\xed\xda\x62\x6c\x4e\x30\x76\xf8\xfe\xae\xdc\x55\xfe\xcc\xe9\xb2\xdd\x93\xe9\xf6\x40\xbf\x0c\x78\xe6\x1e\x07\x0d\xb8\x03\x35\x45\xdb\x65\xce\x31\x80\x5e\xd7\x51\xba\x88\x82\xfc\x55\x33\x0c\xdc\xd5\x0f\x1b\x53\xcf\x24\x43\xbd\x61\xc5\x0d\xaa\xf3\x65\xb2\xaa\x0f\x1c\xbe\xa6\x4e\x98\xdc\x1c\xae\x57\x8f\x0f\x73\x9b\xf4\x0a\xa3\x8d\xd0\xd1\x20\xc9\xb1\x5d\x2b\x7e\xeb\x2b\x79\x77\xfa\xef\x31\xe5\x62\xf6\x4b\x25\x86\x14\xb4\x76\xa9\x1a\x7f\x80\xd7\xf6\x02\x52\x24\x62\xb7\xbc\xef\x15\x32\x4d\x8c\xe0\x45\xb2\x62\x73\x6e\x88\x89\x31\x26\x8a\xc0\xca\xfb\x4c\xda\xb7\x78\x52\x52\x25\x62\xd7\xad\xab\x46\x7c\xeb\xa0\x90\x56\xad\x0d\x5e\x8f\xb6\xed\xb6\x6f\x02\x86\x78\xaf\xdd\x30\x26\x67\x83\x62\x08\xb1\x1e\xee\xed\x64\xbc\x62\xe1\x76\xca\x78\xa5\x92\x15\xcb\x33\x8e\x5c\x1a\x2b\x6e\x50\x50\x38\x84\x0e\x9f\xcb\x4c\x96\x40\x91\x86\x81\xe3\xc6\xbe\xb5\xc6\x33\x2f\xee\x5d\xa5\x09\x1e\xf8\xf0\x76\x89\x92\x03\x91\xd0\xfe\xab\xbe\x28\x16\x3a\x08\xc2\x58\xb8\xf7\x3b\xec\x84\x83\x0e\xcb\x61\xaf\x37\x38\xec\xe1\x5b\x86\x45\x87\xa8\xc5\xab\xe6\xeb\x8d\xf9\xa6\x44\xaf\xc3\x64\xf7\x8e\x14\xb0\xcf\x02\x3a\x0f\x09\x75\xbb\xaf\xd1\xed\x0f\x6e\x51\x82\x87\x03\x9f\xa8\x66\xd4\x93\x92\xde\xb0\xa2\x54\xeb\xb9\x5f\x64\x9a\x97\xbb\x13\xea\xb0\x40\x54\x67\x42\x9d\xae\xe6\x5d\x25\x49\x70\x54\xbd\xd2\xf5\x5a\xdf\x77\xe2\xff\xb9\x7c\xee\xf1\x3d\xca\x4b\x01\x69\x80\x07\x66\x11\xb6\x37\x4e\x09\xdc\x83\xc9\x38\xfc\x36\x08\x65\x0a\xbd\xee\x0f\x90\xd4\x96\xe3\xd4\x54\xf2\x0e\x4a\xf7\x3c\x6c\xbd\xa4\xda\xb3\x95\xf6\x57\x3e\xfb\xdd\x37\x7d\xb2\x11\xff\x50\x71\x7b\x01\x7c\x58\xdc\x20\x37\xda\x21\x1f\x5d\xca\xed\x63\xd5\x2e\x06\x9a\xbd\xde\xd6\xa3\xb4\xf1\xc6\xef\x4d\xf4\xd0\xf6\x35\x37\xf6\xed\xfe\x62\x77\x52\xf3\xc6\xe6\x85\xd4\xc0\x11\xa6\x17\x35\x5d\xa3\x45\x12\xb7\xf6\x7b\xc0\x4c\xfe\x52\x89\x4a\xd8\x0d\x34\xaf\xd2\xe5\x76\xb0\x64\x80\xc1\x15\x3e\x69\xa5\x1f\xd9\xba\x4a\x56\xcc\x35\xce\x52\x91\xf1\x4d\x5d\x8d\xb2\xb6\x46\xa9\x81\x3d\x7a\x10\x55\x62\xc4\xf9\x9f\x54\xa6\xd4\x6b\xc0\xa9\x87\x76\x8b\x4a\xc1\x29\x67\xdc\x9d\xae\xb6\x0b\xad\xc6\x65\xfa\xc4\x08\xf9\xcd\xd5\xf9\xe9\xe4\xdd\xa4\x11\x9e\x3e\xb9\xf9\x31\xfe\xf7\xcf\x1f\xae\x7f\x7c\x77\xf1\xe1\xe7\xf8\x6f\x17\x27\x77\x97\xa7\x3f\xcc\xae\x2e\x4e\x2e\x6b\x41\xec\x93\xdb\x93\x9b\xf3\xdb\x3d\x71\xea\xed\x5e\xbb\x17\x82\x47\x54\xab\x0e\x39\xef\xea\x08\x39\x77\x15\xf5\xfa\x86\x9d\x38\xe2\xd9\x1a\x35\xb2\xc3\x1a\x00\x38\x29\x43\x8c\x25\x42\x12\xce\x78\xc9\x4f\x79\xc9\x33\xbd\x1c\xb3\x13\x46\x79\x05\x98\x2f\x62\xac\x4a\x48\xac\x9c\x76\x75\xb0\x09\xab\x17\x26\xc1\x15\x14\x0a\xa5\xeb\x05\xf1\xe1\x66\x22\x2e\xa9\xe5\x92\x3c\xa7\xea\xfc\x41\xa8\xb2\x02\x45\x9b\x67\x19\xa3\x6e\xdd\x03\x11\x21\x8a\x1b\xa5\x91\x6b\x99\xf1\x22\xd4\xb4\xfe\x40\x6d\x81\xb1\xeb\xc6\xea\x09\xf9\xb6\xd9\x36\x9c\x3f\xe0\x6e\xc2\x60\xdc\xa7\x17\x13\x50\x74\x93\xd2\x15\x6c\x74\x9d\x4f\x15\xf2\xad\x52\x8f\x6b\x0e\x39\x4c\xa5\x26\x07\x3d\x76\x4f\x0f\x77\x6f\xc4\x83\x14\x2b\x17\xca\xfa\x5c\x8e\x09\x3f\x48\xf7\x1f\xe7\xaa\x2c\x36\xbd\xb5\xd7\x5b\x20\xb3\x30\x60\xd7\x11\x24\xb2\x5e\xe7\x1a\xfd\xa7\xcc\xb5\x7e\x09\x2a\xad\xc3\xeb\x52\x78\xcf\x47\xf1\x10\x1e\xd5\x61\x12\x65\xf6\xe6\xfd\xad\xce\x43\x4c\x80\x06\xb3\x30\xd7\x95\x4a\x0d\x81\x37\xd7\x52\x1d\xaf\xf9\xa7\x57\xee\x4b\x91\xbf\xc7\x57\x9b\x03\xb2\x48\x91\x59\x7b\x70\x63\x85\xdc\xee\xe9\x9a\xaa\x1d\xf3\xb5\xdf\x26\x70\x92\x15\x5c\x06\xc1\xbf\x83\x30\xd4\x07\xb1\x69\x5b\xbf\xad\x8a\xa1\x2c\x2e\x7b\x01\x8d\xe4\x85\xb0\x0f\x7a\x8c\x6b\x86\xd0\x65\xff\x6f\xc8\x65\xa9\x55\x35\x6f\x97\xdd\x31\x6c\xe4\xa0\x63\xd3\x0a\x58\xe9\xaf\xf8\xf4\x2e\xf9\x4a\x3d\xd9\x35\x43\xf8\x8a\x8b\x9c\x50\xee\x0e\xc5\xe5\xed\x62\xfd\x45\xcf\xd9\x02\x12\xd9\xc8\x4f\x50\x08\x88\x94\xc1\x52\xb8\x1a\x45\x40\x29\xb8\x85\x89\x71\x5b\x20\x13\x06\xe2\x47\xca\x1a\xd5\xe2\x97\x8a\x20\x00\xaf\xbf\x1e\x76\xcf\x96\x58\xe8\x02\x99\xcd\x9b\x25\x20\xfc\x5d\x0e\xe3\xaa\x94\x6c\xe3\x19\xbd\xae\x94\xbd\x8a\x9f\x03\x3d\xd5\x3f\x3c\xde\xe8\x94\xfe\xb9\x37\xd7\xcc\x45\x76\x0a\x7c\xfe\xb3\x91\x56\xff\xd4\xe0\xaa\xa6\xee\x20\xb3\x81\x5a\x8f\x2f\xb4\x39\x4f\xee\x1f\x79\x91\xa2\xfb\x1f\xe0\x4c\x63\xf6\x83\x7e\x14\x0f\xa2\x18\xb1\x44\x14\x25\x27\xaa\x46\x03\x78\x0e\x38\x50\xd4\xce\x54\x41\xa2\x0f\xf2\x5e\x2a\x53\x15\x82\x95\x72\xb9\x2a\x45\x11\xa3\x71\x74\x61\xc5\x51\x89\x2c\xbd\xb9\x48\x88\x8b\xae\x63\x02\x16\x19\x7f\xd8\xe6\x9e\x7c\x0a\x89\x0e\x9b\xf8\x6c\x65\x17\xee\x76\x75\xdf\x76\xe1\xa7\x68\xc2\x48\x68\x22\x7b\xd8\x88\x2d\x75\xc6\xd5\x72\x3c\x1e\x43\x8d\x93\x57\x83\x36\x3a\x35\x18\x07\xd0\x3d\x4a\x3f\xd3\xda\x88\x6c\xe3\xf9\xd3\x7c\x1e\x15\x00\x77\x3f\x95\x42\x19\x89\x8e\xad\x96\xed\x7f\xd3\x0c\x2e\x7d\xd9\x58\x5c\xbb\x79\x3e\x38\x4b\xb7\xa3\x1d\x28\x23\x3b\xa0\x25\x7c\xbe\xdd\xf2\x7a\x52\xd6\x79\x7b\x5b\x4a\xab\xa1\xa9\xd4\x3f\x69\xd9\x01\x05\x79\x12\xcf\x6a\x6b\x4b\xc4\x01\xf5\xa4\xf4\xd3\xf6\x39\xdb\xca\x08\x3e\x20\x19\x78\x47\x5e\xef\xc0\x94\xde\x3e\x8e\x80\x9b\xe6\x72\x0f\x3e\x16\xfb\x2b\xdb\xb5\x7e\xd0\xc0\x94\xe9\xc0\x6d\x30\x44\x75\xc2\xac\xcb\x6c\x03\x16\x97\x4f\xa0\x86\xf0\x40\x1a\x45\x95\x6a\x41\x33\x48\xe5\x0b\x51\x37\xcf\xcd\x17\x05\xd9\x4c\xa9\x0b\xbe\x14\x6c\x2d\x52\x59\xad\x5b\x85\x8d\x1f\xee\x21\xf0\x51\x9d\x55\xeb\x6e\x96\xd4\x43\x15\xe8\x30\x48\xfc\xaf\x53\xe8\xae\x3f\x87\x8e\xcf\x8c\x70\x05\x46\x69\xbc\x18\x42\xa2\xb9\xb6\x37\x65\x21\x0d\x10\x0c\x3f\x25\x73\xd6\x37\x83\x4d\x43\x00\x7e\x93\xa3\x93\xbd\xb6\xba\x47\x2e\x32\x4a\xaf\x18\x5c\x55\x88\xda\x77\x5f\x0a\x4d\x50\xea\xf0\x32\x83\x85\xae\xb6\xb8\xa7\x7a\x33\xbb\xa9\xa8\xe8\x08\xa1\xe6\xa0\x41\x82\xf6\x94\x9a\x2d\x5c\x2e\xe6\xbd\x88\x58\x1f\x53\x28\x47\xf2\x88\x94\x4f\x3f\x7e\x6b\x1c\x08\x88\x70\x5a\x41\x63\x29\x43\x27\x18\x01\x7a\x78\xed\xe0\x79\xf8\x85\xd8\x04\x70\x33\xa6\x5c\x95\xad\x0d\x04\xf4\x2a\xb4\x85\xaf\xfc\xc4\xab\xac\xfd\x71\x6a\x1f\x1e\xc5\x72\xb5\x27\x3f\xdf\x30\x9c\x6a\x2a\x1d\x51\xec\x1a\x68\xd4\xc8\x7e\x80\x20\x4c\xd7\xec\x09\x9a\x60\x6d\x1d\x70\xd2\x5d\xe5\x12\x3b\xed\xa2\x4c\x56\x41\xf3\x00\x6e\x4a\xcf\xa9\x49\xb5\xc8\xe9\x3b\xd7\xa1\x18\x06\x62\xaf\x63\x10\xab\x5c\x2a\x1d\x57\x91\xd2\x4a\x40\x28\xce\x0a\x20\x1d\x37\xcb\x64\xb9\x1f\x29\x38\x90\x90\x71\xdf\x56\x2b\x35\x22\xc0\xe8\x3b\x6b\x71\x6a\x30\x29\x24\xd2\x55\x39\x98\x35\xda\x44\x54\xda\xba\x59\x24\xa1\x4e\x00\x32\x55\xf5\xae\xb6\x26\xc9\x41\xf9\x64\x21\x90\xdb\xdc\x58\xed\xad\x94\x0f\xf6\xa0\x6e\x6f\x6b\xbf\x41\x41\x02\x6c\xef\x3d\x0a\xdb\xb2\x88\x20\xfd\x5e\x6c\x4c\x5c\x47\x9b\x76\x14\xeb\xda\x90\xd2\x7e\x0f\xad\xd7\xfe\xa5\x80\x89\x9b\x15\xa1\x1a\x66\xbf\xbb\x0c\x3b\x7d\x6f\x5f\xde\x81\x11\xde\x6a\xdc\xee\xc1\x90\xec\x1a\x7c\x8a\x24\x26\xc2\x3c\xd3\x1a\x06\x18\x20\x80\x3c\x63\x18\x67\x9c\xb9\x04\x86\xaf\xb5\x6f\xa7\x8a\x6a\x28\x44\x97\x9c\x15\x38\xdb\xcb\x46\x19\xf8\xc8\xdc\xbe\xa9\xb1\x07\x01\xab\xac\x63\xd8\xad\x77\xe9\xa2\xcb\x50\x92\x10\xb6\x07\x74\x8d\x39\xca\xce\x87\xd7\xda\xe1\x13\xb1\xa5\xb4\xb8\x9d\x78\xd2\x28\x11\x10\x9f\x24\x62\x55\x2c\xc8\x8e\xd6\x4f\x22\xec\xf4\x9d\xa8\x56\x28\xa7\x03\x72\xde\x9c\x9f\x5e\x9f\xdf\x7e\x31\xbc\xa9\x03\x7b\x0e\x06\x9c\xba\x71\x9e\x9d\xbf\x3b\xb9\xbb\xb8\x9d\x9d\x4d\xae\x3f\x07\xe2\x94\x7e\x7a\x02\xe4\xf4\x86\x4a\xb3\x9c\x6a\x55\x8a\x4f\x07\xdd\xc9\x45\xa5\x66\x7c\x40\xea\x93\x2f\xce\xb4\x4b\xdd\xc1\x46\xb7\x4b\xcb\xf8\xba\x2f\x44\xeb\x4b\xa8\x13\x57\x49\x66\x11\x9c\x86\x0b\x99\x65\x90\x09\xee\xdd\xeb\x94\x65\x68\x27\x15\xe4\x8f\x63\x32\x26\x99\x3a\x55\xf3\x5a\xe5\x1f\x70\xf9\xad\xac\x11\x8c\x39\xe0\xb9\x9d\x80\x42\x42\x86\xed\xae\xea\x33\x4b\xa9\x44\x18\x06\xac\x9a\x1d\x5f\x27\x43\x3f\x2d\xe2\xe7\x44\xd6\x91\xe2\xd5\x57\xd7\x74\x3b\xae\xb6\x3f\x9d\xfa\xe9\x7e\xf4\x5f\x88\x87\x58\x2a\x54\x4c\x6b\xa7\xf9\xa6\x7d\xeb\x1e\x87\x23\x00\xf3\x6e\x57\x92\x43\x0c\xc2\x94\xbc\x28\xc3\x42\xd2\x42\x60\x4d\xbc\x10\x9c\xb8\x97\x88\x40\xd3\x8b\xc6\x3c\x5b\x51\x68\xe7\x5a\x42\xa4\x82\x13\xb9\x4d\x92\x55\xa6\x14\x05\xb9\x4d\x4e\x7e\xbe\x99\xaa\xb7\xf6\xfa\x7a\x45\xb7\x10\x55\x2e\xc3\x2e\x10\xa9\xa3\x6b\xfd\x3b\x0d\x25\x96\x60\x2f\xd1\x47\xbd\x16\x5c\x19\x06\x47\x23\xcb\x44\x11\x76\x06\x8e\x47\x88\x94\xea\x87\x03\xcb\x75\x78\xff\x15\x23\x70\xab\x9d\x0a\x3b\x5e\x5f\x41\x6d\xad\xcb\xed\xfd\xd4\x45\x34\x00\x88\xf3\xcf\xb9\x73\x5a\x12\x9f\xfa\xee\x22\x02\xeb\xb7\x6e\xa2\x7a\x1a\x52\xaf\xbd\x74\x8b\xcd\xfd\x7d\x2b\x3d\xe3\x56\xea\x71\xaf\xc7\xb7\x04\x5b\x69\x2b\x40\x7d\x59\xaf\x10\x66\xf6\x44\x27\x19\xa0\xdc\xec\x34\xb6\xde\x3a\x8d\xc2\xba\x87\x60\x3f\xa0\xa9\xc3\x10\xda\x27\x2d\x8c\x4a\xa1\x82\xa3\x8b\xed\xec\xac\xd9\xfb\x79\x98\x0b\x4f\x1c\x56\x55\xe9\xd2\x71\x90\x78\x78\x28\x61\x5d\xed\x03\x9e\xfc\x66\xe7\x18\x89\x50\xc6\x69\x29\xb3\x03\xeb\x5e\xde\xc6\x98\xda\x5a\x56\x36\x8e\x22\xe6\x73\x70\x1c\x0e\x9e\x03\x66\xc8\xe6\x7b\x7a\x65\xe5\xfa\x9e\xf3\x7c\xa2\x4f\x02\x3b\x5c\x7e\xb8\x3c\x8f\xa1\x0a\x93\xcb\xdb\xf3\xef\xcf\xaf\x6b\xf9\xfc\x17\x1f\x4e\x6a\x39\xf9\x37\xb7\xd7\x8d\x54\xfc\xb7\x1f\x3e\x5c\x9c\x6f\x61\x1e\xce\x6f\x27\xef\x6b\x8d\x9f\xdd\x5d\x9f\xdc\x4e\x3e\xd4\x9e\x7b\x3b\xb9\x3c\xb9\xfe\x8f\xf8\x2f\xe7\xd7\xd7\x1f\xae\x1b\xfd\xdd\x9d\xee\x46\x4f\xd4\x3e\xa3\xdd\xfd\x13\x82\xb3\x11\xb5\x6a\xeb\x31\xae\x57\x9e\x3e\xe0\x14\xf7\x44\x9e\xed\xdb\x8e\x2e\x5d\x3f\x8d\x2b\x91\xe0\xc1\xb0\x43\x1d\xb4\xeb\x9e\xbf\x54\x76\x6d\xea\x72\x7e\x98\xd8\xb3\xb7\xda\xec\x39\x90\x80\x3b\x15\x40\xdf\x4b\xc3\x71\x4b\x95\xe9\x71\x6a\x73\x88\x60\x2d\x79\x67\xa9\x36\x95\x7e\xf6\x91\xba\x3e\xf6\x8d\x33\x50\x79\xed\x61\x44\x7a\x2e\x36\x94\x5d\x83\x8e\x3a\x73\x64\x03\x32\x75\x8a\x82\xfb\x31\x86\xdd\xdb\xcf\xb0\x3b\x27\xda\x8e\x5d\x35\x8d\xdb\xd3\x96\x76\xb3\xef\x0d\x1d\x3f\x75\xb2\x3d\xf6\x06\x55\xcb\x80\x71\x03\x65\xd6\x90\x71\xdf\x72\x73\x3f\x74\xdc\xd4\xc9\xf6\xb8\x41\xed\x7b\xd2\xb8\xc1\xe1\x5d\xb6\xd3\xe8\x0c\x10\x62\x71\x33\xf5\xe1\xf9\x1c\x7f\xff\x48\x54\x3a\xbc\xdf\x18\xed\x01\xf8\xbc\xe6\x65\xce\xfb\x07\x32\x60\x34\xfe\xb8\xf2\x06\xab\xfc\x0d\xfc\x0a\x5f\x38\x2f\x04\xbf\x4f\xf5\x23\xad\x47\x13\x19\xca\x7a\x49\xf3\xfa\x04\x59\x19\xee\xae\x88\xb2\xa0\x08\x14\xa2\xd4\x42\xf3\x00\x93\x93\xc4\x8b\x8e\x3a\x58\x54\x75\xba\x49\x44\x04\xd4\x4f\x2a\xac\xce\x54\xa1\x36\xdf\x56\xb9\xda\xae\xaa\x1d\x11\x51\x87\xc0\xa7\x7a\x1d\x1a\x83\xeb\x26\x5a\x58\xca\x03\xaa\x0a\x00\xd3\xcd\x0b\xb0\x99\x60\x42\xa4\x02\x67\x72\x61\x0d\x9e\x42\x24\xd2\x88\xa8\x58\x5e\xeb\x8d\xfd\xcb\x61\xa5\x50\x4a\x5e\xb6\xba\x5d\x7b\xfb\xc3\x79\x52\x56\x3c\x63\x90\xae\x44\x0c\x8c\xe8\xab\xc4\xbf\x24\x5c\x61\x6a\x4c\x29\xd6\x39\x64\xf5\xc7\x39\x1d\x53\xf5\x33\x00\x25\x70\x09\x5e\x18\xf6\x3d\x40\x1e\xdc\xc3\x74\x09\xaf\x79\x09\x77\xf1\x1f\xb0\x0f\xff\xdb\x78\xaa\x6a\xc5\xa7\xa2\xb7\x6a\x75\xa8\xc6\x53\xe5\xaa\x75\xa4\x3a\x31\x63\xb0\xf8\xc6\xba\x58\x1e\x53\x19\x79\xbb\xd9\xf5\xfd\x5c\xeb\xfb\x63\xa1\x8e\xc1\x27\x55\x1e\xf3\xaa\xd4\xc7\x00\x97\xc2\xf5\x37\xc7\xae\xde\xb3\x2b\x98\x6d\x8e\x57\xf2\x41\xc0\xff\x1b\xaf\xca\x75\xf6\x4f\x26\x5f\x7d\x3a\x5a\x66\xc5\x91\x7d\xf7\x28\x7e\xf7\xc8\xbd\x7b\xe4\xde\x3d\xb2\xaf\xe1\xff\xcb\x37\x18\xde\x11\x9f\xb8\xbd\xcb\x46\x53\x25\x95\x11\x45\x09\xda\xcf\x63\x21\xcb\x50\xe5\x6b\xc3\x5e\xfc\xe7\x7f\xb2\x71\xc1\x1f\x31\x23\xf6\x8c\x97\xfc\x0a\xfd\x8b\x7f\xfb\xdb\x0b\x08\xa8\x62\x16\x53\xce\x8b\x5f\x2a\x51\x4e\x95\x11\xf6\x10\xb2\xff\x35\x55\x10\x81\x5d\x6f\x66\x25\xfa\x5d\xd1\x07\x99\x1a\xf6\x1d\xb6\x39\x41\x36\xd2\xd4\xd8\x96\x3a\xd2\x09\x24\xb7\x8d\xf5\x74\xd1\xff\x92\x9d\xd1\xf3\x03\x8e\xf5\x2f\x59\xfd\x54\xbb\x3a\x53\xe6\x97\x0c\x2e\xd0\x4c\x73\x07\xd6\x62\x7e\xf3\x82\x9d\x4c\x83\x6b\x3b\x23\x5b\xd0\x80\xcf\x1a\xa6\x6f\x3f\x2b\x37\xc8\x88\xee\x3c\xf7\x5b\x62\x04\x62\x05\x21\x0e\x01\xd1\x73\x69\x4f\xc8\x0d\x7a\x42\x41\x73\xc3\x2f\x07\x9d\x94\x42\xe7\xbe\x3d\x74\x5c\x98\xdf\xbd\x39\x3e\x1e\xb1\xa5\x81\xff\x99\xff\x02\xff\x03\xe8\xa1\xe7\x22\xf5\xdd\x9a\x4c\x0f\x84\xdb\x5e\xe5\xfd\x2b\xf1\x1c\x28\xba\x2f\xc1\x23\xdf\xd8\xa6\x6f\x2b\x95\x66\x22\xa4\x36\xd6\x42\x22\x99\xb6\x2b\xe9\x16\x6a\xbb\xf2\x10\xac\xf1\x5c\x24\xdc\x0a\xbe\xad\xbe\x11\x5c\xaa\x17\xa5\x50\xe8\x0d\x2b\x42\xa1\x4b\x8e\x9e\x2b\x50\x8b\x01\x0a\xc9\x4b\x82\x9c\x63\xad\x30\xe8\x04\x88\xd9\x47\xcd\x9f\xd8\x46\x57\xc4\x31\x0e\xcc\xb9\xa9\x48\x32\x28\xe4\xe0\xd8\x83\x58\x21\xca\xaa\x50\x8c\xb3\x9c\xab\x94\x1b\xd8\x81\x8b\x02\xa2\x9d\x05\xe3\xdb\x03\x1d\x21\x1c\x57\x57\x25\x70\x62\x21\xb2\x20\x9e\x09\x24\x81\x8f\xc6\x3c\x8a\x06\x81\x77\x02\x70\x51\x6f\xbd\x38\x9e\x2a\x57\x8a\x91\xb0\x70\xe8\x29\x4b\x74\xbe\x21\xc6\xa3\xe6\xa4\x4b\xe7\x39\xa3\xe9\x1e\x05\xbc\x49\xf3\xd9\x11\x93\xf5\xd0\x1a\xf0\xcd\x97\x51\x75\x7b\xf4\xe8\x19\xf6\x52\xa8\x44\xa7\xa2\x30\xaf\xec\x31\x94\xde\xee\x40\xfd\x41\x9a\xb0\x18\x20\xa5\xec\xe5\x46\xde\x42\xdb\xbc\x2f\x30\x65\x67\xa7\xc6\x50\xde\xa6\xe7\xec\x3f\x2a\xbf\x75\x14\x4c\xdb\x78\xe9\x3f\xbf\x28\x22\x26\xc6\x75\x3a\x9b\xf3\xe9\x2e\x08\x3c\xb2\xb1\xc4\xc5\x46\x51\xc7\x21\xe5\xc4\x95\x12\x97\x25\x14\x07\x2d\x84\x29\xa7\x8a\x6e\xe0\x11\x5b\x08\x6e\xf5\xbc\x11\x4b\xcc\x03\x0a\x63\xbc\xee\xcb\x47\x1d\x30\x38\xae\xbc\x0d\x80\x61\x6b\x8d\x07\x27\x31\x3e\xc6\x29\x03\x1b\x01\x06\x5d\x16\xba\x57\x55\x60\xb2\x5a\x05\xe2\x13\xe6\xc1\x55\x4b\x69\x56\x58\x8b\x8b\xf5\xc0\x4c\x6c\x30\x50\xcc\x9a\xe3\xc0\x1f\xac\xe0\xc1\xaf\x43\x18\x48\x24\x1c\x41\xe3\x26\x2c\x2d\x9e\xb3\x10\xc3\x8d\x29\xeb\xc1\x37\xd3\x75\xa8\x76\x4c\x04\x0c\xe0\x69\x7e\x0b\xfb\xea\x5e\x87\x95\x11\x85\x2b\xe5\x82\xdf\x8a\x04\x93\x2b\x59\xa4\x47\x39\x2f\xca\x8d\xdb\xbe\x99\x9c\x43\x05\x88\x4c\xde\x0b\x76\x52\x14\xfa\xf1\xb9\x67\xa1\x53\xb4\x74\x59\xd8\x87\x20\xd9\x87\x5a\xf9\xad\xf4\xb2\x4d\x77\xc7\xd3\xa8\x6c\xbb\x1c\x1f\xad\xfd\x14\xa2\x2c\x36\x33\xbb\x11\xd7\x79\xa7\xa4\xe8\x95\x34\xd1\x5f\xc9\x1d\xc6\x92\xdb\x70\x61\x74\xb2\xe4\xd6\x56\xf5\xb7\xc3\x92\xdb\x42\x80\xbb\xcd\x92\x3b\xb9\x9c\xdc\x4e\x4e\x2e\x26\xff\xa7\xd1\xe2\xcf\x27\x93\xdb\xc9\xe5\xf7\xb3\x77\x1f\xae\x67\xd7\xe7\x37\x1f\xee\xae\x4f\xcf\x77\xd3\x5e\x6d\x8f\x3e\xa8\xe0\x47\x2c\xee\xe7\x0d\xbb\x8d\x80\x1a\x98\x6c\x40\xfa\x37\x95\x06\x86\x5d\x65\x0f\xb3\x54\xcb\x11\x1c\xd4\x37\xec\xbc\x28\x26\x6b\xbe\x14\x57\x55\x96\x01\x9c\x0a\x33\x7b\x4e\x0b\x01\x86\xe7\x88\x5d\xe9\x74\x12\xbd\x07\xe9\x88\xad\x9f\x01\xfd\xf3\x34\x2d\x84\x31\xd8\xfd\x88\xfa\x8f\xc0\x43\x3e\xd5\x91\xc0\x73\xfc\x81\xcb\xcc\xda\x6f\x6f\xd8\x5b\x9e\xdc\xeb\xc5\x02\xd3\x67\x46\x3e\x71\x8a\xfd\x52\xe9\x92\x33\xf1\x29\x01\xaa\xb7\xf6\x7d\x72\xa1\x97\xbf\x02\x54\xb9\x47\x78\xaa\xc3\x48\x81\x52\x77\xb3\xf6\xeb\xbc\x5d\x10\xd0\x57\xbe\xc7\x57\xdf\xe1\x9b\xed\x0e\xca\x32\x7b\x86\xf4\xf8\x0b\xbd\x6c\x2f\x3c\x04\xda\x35\x55\x4b\xa2\x40\x42\x42\xec\x22\x7a\xc9\x8c\x54\xf7\x53\xf5\xf3\x4a\x28\xa6\xab\x02\xff\x04\x66\xbe\x55\x33\xb3\xca\xac\x04\x54\xe8\x1e\xb1\x47\xc1\xd6\x7c\x83\x6a\x33\xd8\x04\xbe\x5a\x0a\x6c\x19\xb8\x45\xec\xdb\x99\x54\x56\x5a\xe4\xd2\xe5\x25\x34\x97\xfe\x39\x2c\x2e\x47\x74\xc8\x0f\xe7\x21\xde\x75\x9f\xd6\xf0\x79\xe0\x2a\x0b\xb8\x49\x07\x10\x22\xc9\x0d\x45\x65\xb5\xbe\xaf\xf2\x40\x89\xfa\xc2\x05\x27\x61\xba\x1f\xb4\x4c\x59\x5a\xe5\x99\x4c\xbc\xdc\x7d\xd4\x45\x27\xef\x33\x26\xd0\xf4\xbf\x75\x9a\x69\x61\xbb\x3e\xac\x25\x3b\x27\x42\xd2\xed\x60\x80\xfe\xcc\x1c\xd8\x4c\xaa\x24\xab\xa0\xcc\x5c\x65\x44\x71\xe4\x4b\x47\xfb\x5c\xbf\xdf\x3e\x49\x76\x20\xe1\x3c\x3c\xad\x2d\x4e\x3a\xcf\xf4\x52\x26\x3c\x8b\xc1\xcd\x01\x15\xe1\x59\x78\xdd\xb1\xa7\x62\xc2\x90\x07\xe1\x06\xd4\x49\xa4\x95\x17\x02\x88\xa0\x67\x20\xca\x67\x24\xee\x0e\x19\xf7\x82\x59\x03\x1d\xc7\x15\x73\xe4\xba\xf0\x82\xbb\xe1\x42\xdf\xae\x12\x1b\xa8\x98\x42\x01\x04\x40\x3f\x2a\x51\x80\x06\x0b\xb0\x0f\xfb\xa5\x4a\x83\x6e\xe2\xab\xb3\x79\x7c\xb2\xab\x4e\xb8\xf0\x40\x6c\xcc\x9c\x5d\xca\x07\xa1\xbe\x3c\xa9\x79\xd4\x41\xc2\x93\x95\x98\x39\xbd\xfc\xb9\x45\x96\xbf\x00\x06\x0a\x2b\x57\x26\x25\x16\xa5\x3e\xbc\x09\xa6\x13\x8e\x78\x5b\x76\x61\x20\x71\x47\x46\x96\x1d\xc4\x2c\x15\xc9\xfd\x17\x17\xcd\x01\x64\xe5\x06\xc2\x38\x3b\x13\xc9\x3d\xbb\xbb\x9e\x60\x36\xb0\x2c\x99\x15\x05\x66\x15\xca\x3e\x75\xda\x6e\x25\x5f\x7e\x06\x0a\xab\xbe\x75\xab\x42\xa9\x02\x5f\xad\xcf\x0e\x88\x00\x51\x90\x2f\x69\x85\x24\xe5\xd2\x00\x10\x8c\x97\xae\x9a\x11\x38\xe2\x99\x59\x43\xf1\xa2\xaa\x8c\x2a\xfe\x65\x7c\x2e\xb2\x0e\xe2\xce\x5c\xa7\x33\x17\x27\x39\x14\xcc\xb3\xd5\x96\xf3\x63\x50\xd4\xd1\xe5\x31\x70\xab\xb1\xde\xd2\x83\xec\xfe\x5b\x13\xd1\x6b\xe8\x98\x3f\x1c\xec\x7a\x6e\x20\xbd\x7b\x21\x97\x2e\xda\x26\x17\x54\x62\x09\x13\xfa\xad\x1e\x0c\xf2\xd2\xb6\x74\xa5\x53\x82\xe9\x79\x2e\x3c\xab\x05\x09\xf2\x9e\x04\x5c\x45\x3c\x04\x87\x03\x84\x7e\xed\x89\x10\x3c\x65\x7a\x41\xde\xc4\x3c\xcf\x24\x30\x43\xa7\x48\x42\x0f\xec\x19\xa6\x8e\x8e\x8f\x5b\x73\x83\x8d\x48\x3e\xae\x1c\x10\xaf\xab\x18\x2f\x08\x0c\xcc\x60\x98\x01\x1b\xdc\xec\x81\x77\x93\xa9\x7d\xf6\x8a\x69\x1d\xe3\xf1\xd1\xe4\x3a\x25\x6c\x8d\xb4\x8f\x7c\x05\x78\xad\xbb\x84\xfc\x84\x67\x49\x45\x71\x32\x28\x97\xef\xaa\xe0\xef\x46\x10\x86\xa8\x9f\x5d\xe8\xba\xd7\xbf\xa9\x64\x1e\x5a\x5d\xd1\x27\x68\x3d\xd5\xa7\xb0\xdb\xbd\xb8\xcc\xf4\x1c\x76\x4e\x37\x4a\x70\xc7\x8d\x65\xc5\x75\x21\xd3\x21\xfa\x8e\x9b\x93\x0f\xfe\xd5\x5d\x03\xfc\xe0\x5c\x3f\xbe\x27\xb7\xef\x19\x15\x32\x68\x30\x37\x0e\xa3\x40\x58\x50\x55\xd5\xba\x79\x52\x52\x19\x0f\xd8\x56\xfe\x7e\xea\xf0\x33\xd4\xbf\xe5\xa0\x85\xde\x66\x8a\xd9\x33\x97\x81\x5c\x66\xf7\x22\x1f\x40\xf7\x81\xa2\xcc\x73\x7e\x74\x7b\x16\x55\x2a\xd2\xd9\x13\xbe\xe1\x9c\xde\xed\xf7\x2d\x7e\xa6\x71\x78\xe0\x03\x54\x47\x56\x55\x48\x79\x91\x86\xef\x18\xc1\x79\x4f\x78\x0e\x6e\x78\x08\x6b\x3c\xbc\x1e\xbb\x3e\xae\x43\x76\x91\x95\x97\x98\xf3\x8f\xf8\x6d\xdd\x52\x03\x67\xdf\x3e\xf2\x9b\x14\xe1\xdd\x76\xe7\x84\xed\x5a\xcb\xbb\xe9\xb5\x77\x9b\x3b\xcc\x09\xf0\x43\x36\xd7\xe7\x90\x1d\x55\xa9\x43\xb4\x07\xbe\x67\x02\xb4\xc3\x71\x46\x1f\x08\xc8\x49\xda\x81\x14\x71\xea\xb7\x13\x42\x03\xf0\xc7\x83\x10\xd0\x79\x21\x5c\xdc\x70\x23\x4a\xcf\xeb\x90\xb9\xba\x82\x10\x16\xf3\x5f\x5d\x27\xb6\x71\xdc\x15\x9e\x8c\x0c\x82\x58\xa4\xea\x27\x7a\x9d\x6b\x05\xb0\x24\xcc\x52\x9b\x2a\x6a\xdc\x55\x87\xf7\x91\xb5\x5a\xaa\xe3\x88\x1c\x9a\x98\x38\x23\x8c\xce\x1e\x28\x84\x1a\x15\x31\x81\xba\x92\x76\x80\xa7\xd6\x36\xd4\x05\x12\x6c\xb9\x9b\x1d\x32\x01\x1a\x25\xd2\x0b\xb1\x94\xa6\x14\x71\x76\x68\xfc\xfe\xb3\x55\xb3\xad\x39\x4f\x76\x4d\x7d\x67\x35\xdb\x7d\x56\x90\x95\x4f\x03\xc6\xb3\xc9\x45\x3a\xf1\xef\xed\xde\x0c\x8d\x04\xfe\x20\x0e\x6b\xf7\x1d\xee\x01\xb4\xfe\x0c\x52\x7d\x19\x5f\x7e\xc4\x2f\x12\x91\x30\xf1\x00\x68\xb4\x4b\xb4\xac\x78\xc1\x55\x29\x84\x99\x2a\x0a\x3c\x23\x65\x5d\xcc\xca\xd2\x00\x42\x7a\xdb\x26\xd1\xa6\x44\x06\x28\x78\x65\xc1\x65\x56\x15\x9d\xee\x06\xdc\x95\x4f\xa2\x9d\xd8\x35\x4b\xa7\xd0\x2c\x6b\x5b\x34\x9f\xc0\x1c\x9d\x22\xcf\x9a\xd2\x0c\x1b\xd7\xf3\x7b\x3b\x3e\xc1\x5d\x2e\xfd\xd7\xdb\xfb\x9a\x3b\x72\x9a\xbf\x35\xb3\x5c\x0f\x90\x78\x3f\x7e\x6b\xae\x74\x47\x36\xb8\xf9\x65\xcb\x27\xba\x03\x3e\xf1\x4b\x57\x41\x16\x6e\xee\x21\xf2\xb8\xcf\x15\xd3\x8b\x8d\x73\x6f\x7c\xb2\x53\x76\xc1\xae\x5d\x71\x95\x66\x56\xe5\xe5\x65\x93\xf7\xda\xe3\xbc\xad\x49\x54\x3a\xe1\xd8\x9d\xd4\x07\x39\x32\xb3\x64\x2b\xc1\x72\xdf\x3c\x35\x32\x33\x77\x62\x29\x1b\xbd\xd4\xf3\x25\xdb\xf2\x74\x82\x0e\x43\x65\x90\xfd\x81\xfd\xd5\xf5\x97\xf3\x78\xec\x5f\x48\x7d\xa9\x9f\xb5\x85\x5c\xfe\x06\x1c\x09\xef\xb7\xaf\x84\x84\x64\x0e\x5d\xd4\x3e\xbb\xe1\x40\xa9\x03\x89\x64\x56\x6a\xc7\x8c\xe3\x53\x45\xe5\xe0\x11\x5d\x00\x61\x65\xe4\x5b\x33\xec\xb5\xcf\x2e\x7e\xfd\x2f\x8e\x6d\x6b\xc3\x16\xb0\xa9\x80\xd2\x4e\x27\x49\x55\x40\xe8\x9f\xdc\x93\x4c\xe0\x25\x6c\x06\x11\xc9\x80\xea\xe1\x01\x5b\xa8\x27\xb6\xa9\x49\xde\x1f\x5d\xfb\xa8\x5b\x70\x43\x62\x61\x7b\x7f\xe9\x53\xbd\xb2\xc2\x94\xcc\x94\x22\x6f\x15\xbf\x35\xed\x52\xae\x03\xf5\xf7\x21\xea\x65\x2b\xc1\xf0\x30\xde\xee\x1d\x31\xfa\x4d\x2e\x4e\x94\xd2\x65\x33\x8b\x66\xf0\x30\xb9\x6f\xa5\xe7\x01\x1f\x70\x65\x9e\x44\x8e\xad\xdf\xdf\x7c\xb8\x64\x39\xdf\x00\x42\xb3\xd4\x0c\x1f\x05\x5a\xd4\xa6\x38\xdd\xb7\x4f\xea\x1f\x5f\x97\x7d\xb8\xf2\x0e\xea\xdd\x1e\x45\xa1\x1e\xb7\x55\x5a\xd8\xd9\x74\x70\xac\x64\x2d\x74\x76\x94\x67\x5c\x45\x20\x7c\x33\x66\x8d\xee\x63\xd4\x85\x8f\xbf\x12\xae\x0d\x06\x00\x5e\x15\xda\xb1\x45\xd5\x0a\xd3\x06\x76\x20\xb7\xed\x0f\x03\x5a\x74\x4a\xb2\x9d\xf0\xd3\xf7\x58\xab\x06\x2b\x37\x20\xc7\x87\x03\x8f\x78\xfc\x11\x37\x00\x0d\xee\xe4\x29\xe7\x49\xc6\x8d\xd9\x89\x25\xfa\x2c\x84\xf7\x51\x6e\xe5\x7e\x21\x5b\x1f\x27\x82\x1d\x81\x81\x05\xad\x67\xff\x33\x70\x3a\x38\x01\x1b\x4a\xd3\x45\x56\x49\x54\xb3\x82\x00\x1a\xc4\x6a\x05\xef\x23\x5f\xe5\xbd\xd8\x38\x3f\x1c\x09\x54\xbe\x16\x23\xef\x12\xf6\x3e\xcf\x08\x9a\xb8\xdd\xf0\x54\x01\x76\xf7\x5d\x3c\x3c\xf6\x4e\xeb\x11\xa2\x48\xa9\x73\x8e\xcd\xf2\x18\x87\x35\x55\xef\xb4\x1e\x73\x6f\x6a\xd3\xf8\x49\x28\x36\x3b\x24\xec\x16\x20\x23\x1b\xcb\xd9\xff\x6c\xfe\x20\x15\x16\x51\x94\x6b\x6b\xe6\xd1\x3c\xc1\x8e\x82\x01\xb9\x9a\xfd\xfa\xd1\xb0\x14\x89\x6f\x2a\x69\x56\x10\x1c\xc2\x68\x2c\xf4\x4f\x17\x1f\xc2\xc6\x0a\xae\x8c\x3d\xc3\x10\x50\x12\x0f\x82\xbc\xca\x35\x24\xc4\xe4\xec\xc2\x83\xab\xf0\x5c\x52\x81\x91\x8e\xd3\x16\x99\x46\x87\xb8\x10\x00\x14\x3f\x80\x76\x8f\xdc\xb0\xef\x79\xbe\x2b\x65\xf7\xe0\x16\xf7\xad\x92\xa7\xfd\x6a\xda\x7d\x50\x6f\x1d\x2a\x2d\xd6\xf2\x76\xe3\xd9\xbb\x53\x5f\xf8\x62\xa4\xc2\x40\xbd\xdd\x20\x03\x45\xc5\xfe\xeb\x26\x62\xe0\xf4\xc0\x46\x6f\xb1\x5a\xc1\x0e\x75\xec\x80\x3a\x10\x8f\xf4\x98\xdd\x08\xc1\x3e\xc2\x4c\xd9\xce\x3e\x52\x9d\x54\xc0\x6a\x97\x5c\xb6\x96\xb1\x83\xa7\x27\x6a\xa1\x0f\x93\xff\xc5\x72\x0b\x0b\x7c\xd0\xac\xb4\x8f\xf3\x50\xb4\x31\xc4\x23\xd4\xe7\x25\x3f\xe9\x75\x31\x34\xd6\xfa\x2a\x78\xc5\x28\x25\xda\x8d\xd4\x2a\x8e\xb0\xc4\x4f\xa1\xd7\x6b\x6c\x12\xfb\x95\x23\xa4\x8c\xbf\x57\xfa\x51\xa1\x3c\xa6\x9e\xd8\x4b\x7b\xfe\x40\x67\xc1\xe8\x15\xea\xab\x15\x4a\xc3\x57\xc0\x61\x7f\xe2\xff\xcd\x6e\x30\x50\x8f\x63\x86\x02\x67\x06\xb4\x72\x2a\x4d\x06\x17\xf8\xcb\x93\x11\x7b\x3b\x62\xa7\x23\x36\x1e\x8f\x5f\x8d\x98\xe0\xc9\xca\x8d\x08\x5f\x41\xd1\x5f\xf2\xa5\x6d\x9b\x8a\x13\x2d\xa2\x0e\xa0\x88\xa1\xd5\x4f\x1c\x55\x23\x0f\x4f\x45\xbe\x3f\xf7\x09\x98\x40\x4e\xd9\x6e\x04\x6a\x4a\x56\x5a\x86\x41\x01\x3e\x5e\x24\xba\x70\x08\x7b\x53\xea\xc2\xa1\x85\x1f\x78\xc1\xa5\x02\x5e\x0d\xbe\x9d\x2b\x41\x3d\x47\xcc\xfa\xe2\x13\x5f\xc3\xf7\x4b\xe5\xc9\x85\xed\x34\xdd\xfa\xf1\x97\x9b\x9c\xa2\x81\x8f\x85\x2c\x4b\xab\x90\x99\xa9\xba\x61\x6f\xbe\x63\x27\x79\x9e\x09\x76\xc2\xfe\x8b\xbd\xe5\x8a\x2b\xce\xde\xb2\xff\x62\xa7\x5c\x95\x3c\xd3\x55\x2e\xd8\x29\xfb\x2f\x3b\x6d\xb6\xbd\x4b\x6d\x35\xa0\xcd\x88\x71\xa6\xaa\x0c\x15\xbd\x97\x0e\x89\xfb\xca\x7f\x17\x0f\xab\x33\x17\xe5\xa3\x10\x8a\x19\xbd\xa6\xab\xf0\x8f\xfe\xf6\x37\x52\x2d\x33\x51\xd2\x7e\xa8\x63\xa6\xb1\x83\x23\xf8\xd2\x37\x53\xe5\xbd\xe9\x7f\xb4\x23\xfe\x23\xfb\x2f\x76\x59\x65\x99\x1d\x92\x15\x34\x76\x23\xbd\x61\x2e\x87\x4d\xa8\xf1\xa3\xbc\x97\xb9\x48\x25\x87\x2c\x36\xfb\xaf\xe3\x5b\x58\xed\x59\x15\x08\x4b\xe3\x33\xed\x8b\xc6\x1d\x22\x7a\x3e\x0b\x23\x86\x2f\x69\x18\x6b\x2b\x9d\x50\x99\xf8\xd5\xe1\x4a\x70\xa0\x69\xa6\xf3\x40\x36\x0a\x16\xfc\x8b\xc3\xa8\xed\xfd\xfb\xda\x64\xb9\xfd\xaf\x56\x92\x92\x5e\x35\xca\x76\xcd\x47\x18\x23\x28\xa7\xb8\x38\x21\x85\x14\x0c\x19\xc8\x78\xc4\x73\xb7\x81\xc2\x24\xae\x6d\x34\x8e\x31\x08\x6f\x0d\x7e\xd4\x46\x4b\xbe\x1c\xb1\xdc\x57\xbb\x72\x87\xca\x87\xdf\xf1\x1c\x63\x65\x07\x52\x36\x5f\x3a\x98\x93\xdd\xcb\x94\x25\x79\x9c\xea\x35\x97\xea\x15\xf4\xe1\x08\xfe\xf6\x4c\x54\x8b\xb9\xb2\x7f\x86\x6e\xf9\x4e\xcc\x65\x77\x01\x82\xba\xb2\xd3\x28\x34\xd7\x76\x1c\x0e\xac\xb4\x16\xea\xb0\x7e\x41\x73\xe8\xa7\xad\x2d\xba\xe7\xca\xdb\xaa\xb3\x56\xe3\x78\x01\x5d\x3e\xf0\xdc\xf5\x42\x00\xf8\xfa\x6a\x3f\xd5\x0b\xd1\xd6\xa6\x58\xcb\x5e\x15\x7b\x1b\x83\xbd\x23\x4b\x0c\xb3\xb3\xad\x98\x94\xd9\xb1\x15\x95\xc7\x97\x5a\x09\xc6\x8d\x91\x4b\xe4\xe6\x03\xb7\x1f\x96\xba\x75\x4a\xd9\x6d\xdd\x64\x88\x44\x10\xe8\x67\x76\x48\x88\xeb\x2e\xad\x14\xb6\x4b\x90\x6d\xa6\xca\xbe\x41\x1a\x01\xe4\x78\x49\x4f\xe1\x8e\xbd\x11\x43\xba\xeb\x8b\x2e\xc4\xa8\xf1\x96\x0d\xb6\x8b\x40\xe2\x80\x0d\x47\x27\xf1\x80\xb8\xe0\x65\x44\x5f\x4a\xad\x39\x6e\x2b\x04\xfd\xcc\x45\xa6\xd5\xd2\xee\x8a\x2e\x21\x0c\x52\xe0\x99\x86\x80\x8d\x75\x8e\xc0\x2a\x2b\xf4\x08\x2d\x89\xd5\x53\x64\x1a\x1c\x7f\xa6\x9a\x5b\x3d\xce\xc7\xa4\xbc\x36\x42\x1f\xd7\xc5\xa6\x71\x18\xb8\xea\xce\xca\x60\x5d\x38\x78\x9f\x8f\x77\xa2\xe2\x12\x98\xa6\xf0\x8b\xba\x70\x24\xc5\x20\x57\x4e\x47\xfc\x7d\xc4\x74\x81\x24\xa3\x2e\xce\xee\x59\xc2\xb6\x7b\xef\x3e\xd2\x3b\x73\x52\xda\x3d\xb4\x14\xcd\xdd\x62\x35\xe9\x71\x1a\x7e\xcd\xf4\x94\x3e\x49\x2b\xef\x4e\x26\x17\x8d\xe7\xb6\x93\x56\x5a\x32\x5b\x6e\x27\xef\xcf\xcf\x66\x1f\xee\x6e\xb7\x9e\xb3\xad\xd1\x9f\xf6\xe4\xad\x74\xce\xde\x73\x20\xf7\x7f\xc1\x4a\x6b\x33\xbd\x70\x24\x06\xfd\xaf\xe7\xad\x5a\x77\xfd\x00\xa2\x65\x64\x5d\xc7\x35\xe1\xb6\x37\x4e\x27\x15\x8b\x9a\x51\x44\xb8\xdf\x60\x9b\x13\xf6\x41\xbd\xc3\xd7\xaf\x74\x26\x93\xdd\x78\x73\x77\x59\x5a\xad\x6a\x1b\xc0\x3b\x17\x90\x80\x41\x0e\x5f\x1a\x14\xda\x67\xa5\x48\xca\x80\x78\xd8\xfe\xb8\xff\xa7\x31\xae\xfb\x3d\x30\xe8\x87\xf5\xd3\x06\x25\xd4\x3d\x86\x02\x6e\x76\xe0\xb6\x86\x92\x2e\xa8\xe5\x82\x67\x17\x64\x5e\xc2\x29\x32\x56\x9b\x79\xb8\x1e\x1e\x57\x3a\x23\x7f\x2c\xf2\x84\x4f\x55\x2e\x8a\x44\x03\x36\x14\x29\x68\x34\x4b\x56\x32\x4b\x43\xdd\xb4\x97\x90\x4c\x03\x90\xf7\x57\x54\x02\x58\x78\x8c\x8f\x6b\x7e\xc7\x9d\xef\xb6\xdd\x19\x9e\xee\x83\xf0\x71\xcf\x89\x8e\xdf\xb5\xed\x7f\x26\x14\x37\x4e\x05\x31\xfb\x35\xd0\x1a\xa0\xf6\xc7\xe3\x19\x14\xd2\xb1\x97\x3d\x95\xc4\x4a\x82\xd9\x5c\x36\xd6\x95\xb6\x59\x73\x2a\x81\xef\x1d\xfd\xe8\x08\x55\x34\x02\x86\xb3\x16\x1c\x35\xc1\xc0\xbe\x4c\x8b\x3a\x55\x01\x9f\xf2\xc2\xc4\x5a\x61\xeb\x3a\xa3\xf7\xdd\xe1\xef\x47\xec\x45\xed\x43\x5f\x00\x1f\xb8\xd2\xd0\x1f\x61\x08\x6a\x53\x03\xdb\x75\xc4\x64\x39\x55\xd6\x66\xb3\x3b\xb3\x10\x99\x78\xb0\xa3\x8b\xa3\x43\x84\xaa\x74\x9e\x13\xf7\xd9\x90\xc2\xc5\x1d\xf3\x07\x6d\x1b\x3a\x84\x45\xcc\x2b\x8d\xc1\xf3\x54\x18\xab\xb5\x42\x45\x2c\xf1\xc9\x1e\x00\x09\x21\x5a\x84\xdf\xa5\x42\xb9\xf1\x01\x2a\x0f\xc6\x36\x9e\xaa\xc9\x02\xe8\x17\x80\xf4\x21\x4d\xd1\x07\xe1\x6a\x24\x79\x92\x4f\x49\xd1\x20\x4d\x1e\x19\xb7\x10\x54\xc1\x1a\x4f\x92\x78\x10\xc5\xa6\x04\x97\x3e\xcc\xab\x12\xbc\x5c\x31\x59\x8e\x80\x9d\xd5\x49\xca\xa9\xe2\x69\x4a\x59\xeb\xd8\x5c\x64\xce\x76\xae\x33\xfd\x3e\xd7\x0f\xbb\xd4\xea\x43\xf1\xc5\x78\xaa\xf3\x8c\xab\x19\xde\x20\xbf\x02\xc2\x38\x2a\x2e\xde\x05\x35\xa9\xe6\x33\xcf\x28\xf7\x2c\xe3\xf4\xf2\xfe\xda\x01\xac\xc9\xb4\xa9\xe6\xae\xa3\x51\x0d\x40\x3e\x0f\xe4\x23\xde\x4b\x47\xe8\xae\x82\x39\x04\x4c\x7f\x29\x10\xc0\xc7\xbc\x81\x04\x73\xbb\x75\x1f\xfa\xd8\xed\x80\xdf\x2a\x3e\xb4\xcf\xca\x37\xee\x90\xe6\xb2\x0f\x87\x26\x6e\x69\x88\x4f\x82\x27\xee\x19\xd6\xe7\x85\x28\x76\x7a\x71\xb6\xa1\x8a\xee\x6b\xa3\xf8\x3e\x25\x38\xa0\x17\xd6\x3b\xd0\xda\x8b\xc7\xc7\x56\xa0\x6e\x41\xf1\x3f\x67\x84\x02\xe4\x54\x5f\x3f\x4d\xa0\x3d\x81\x71\x8d\xd9\x44\x31\xa7\xee\x8d\xd8\x0b\xdc\x58\xe6\x05\x39\xa0\xad\x9d\xcb\x01\x47\x2b\x8a\x07\x91\xd2\xe9\x21\xa2\x88\x26\x14\x0e\xd3\xf5\xc2\x71\xc3\x38\xe0\x4e\x56\xe1\xcf\x3a\x2f\x6f\x25\xa4\x0b\x3e\x85\x11\x06\x63\xc8\x73\x6c\xc0\x65\xbb\x44\xae\x50\xfa\x5c\x88\x65\x84\x0f\x76\xd1\x4e\xf6\xd6\xbd\x68\xa7\x28\xaf\xe8\x3e\x75\xbf\x33\x5d\x4c\x95\x6b\x8d\x1c\xd2\x06\xcb\x18\x36\x9b\x8a\xb2\x97\x48\xe7\x8f\x76\x2a\x40\x01\x5c\xe5\x4a\x28\x88\x1a\xa8\xcf\x9b\x52\x00\xb0\x5a\x73\x8f\x93\x85\x5a\x19\xa1\x37\xab\x78\xd8\x0d\xbe\xc6\x6b\xbe\x49\x8f\x9c\x65\x76\x52\x64\xe9\xd8\x98\xa3\xcc\x42\x53\x01\xa7\xf8\xa2\xb2\xc2\x28\x22\x5e\x9f\x2a\x3b\x79\x6c\x21\x21\xc3\x84\xe6\x65\xaa\xde\x6b\xe3\x88\x6c\x4c\x98\x0f\x07\x2c\xa0\x69\x7b\xe1\x0b\x78\xd2\x1f\xce\xe0\xd2\xa6\x88\x0f\x52\xd2\xf9\xab\x05\x52\x4a\x89\x8d\x6a\xa3\xab\x22\x7c\x54\xc2\xd5\x54\xfd\xc5\x4e\x0f\x98\x53\x5c\xb9\x65\xd5\x0b\x3c\xc2\xb0\x82\x10\x2a\xfb\x88\x8d\xbe\xfc\x97\x57\x1f\x5f\x61\x0a\x58\x65\xa0\x66\xf2\xa8\x7e\x81\xf8\x1a\x1c\x55\x96\x01\x0e\xc1\x7d\x81\xe7\x81\x0a\x5d\xec\x44\x0b\x92\x51\x37\x53\x75\x15\xa3\xcf\x41\xef\xe7\xd6\x3f\x61\x09\x2f\x93\xd5\x91\xd3\xe5\x48\x8c\xb9\xdb\x8f\x96\x0f\x73\xb5\xac\xa6\xc5\x5a\xcb\x50\x58\x83\xb3\x58\x7b\x62\xdc\xda\x7e\xb1\x9f\x00\xee\xff\xdb\x66\x4d\x36\xcf\xdb\x8d\x9b\x13\x71\x40\x75\x3d\xcf\x3f\xee\x2a\xa2\x06\x8b\x93\x62\x24\x8a\xaf\x45\xca\x5e\x40\xb2\xf2\x0b\xb7\xf8\x53\x95\xcf\xc7\xd9\x66\x51\x12\xbb\xa2\x9d\x94\x31\xd4\x0e\xdc\x73\xcb\xcd\xd2\x6d\x33\x69\xcf\x64\x77\x1a\x5a\xed\xba\x8e\x9f\x1b\xdf\x53\x7f\x85\x05\x7d\x5c\x7e\x76\x6e\xea\xc8\xc5\x7a\x11\x13\x6e\xee\x47\x6c\x5e\x70\x05\x65\x9f\xd2\x58\xa9\x0a\xa7\x13\x8c\x67\xa4\x2e\x74\xd9\x8b\x8a\x67\x1b\xc8\x52\x1a\x4d\x15\xf2\x3c\x42\x41\x80\x4d\x92\xc9\x84\x2d\x0b\x9e\xaf\x1a\x7a\x90\x78\x10\xaa\x84\xea\xe1\xd7\x82\x9b\xc3\xb0\x1a\x45\xb3\x05\xd6\x3b\x9a\x76\xa2\xc0\xfa\xe0\xaa\xc1\xcc\x0d\xc3\xeb\xb8\x5a\x00\x45\x2a\xd2\xd9\x30\x56\xae\xbd\xdc\xd1\x35\x46\x52\xa2\xc7\x83\xf8\xb3\xfd\x38\xe6\x7a\xdd\x07\x7e\xc0\x79\x25\xc2\x28\x87\x3b\x3e\x14\xb0\xe1\x09\xa8\x0e\xa2\x11\x9e\xd4\xb5\x48\x1e\x98\xb5\x82\xdf\x9c\xc2\x7e\xe8\xa9\x70\xc9\x1a\x5e\x70\x8c\xa8\xba\x2b\x50\x8c\xb2\x3f\x54\x73\x9d\x39\x8e\xd6\xc9\x19\xd3\x05\x94\x47\x2a\x35\xfd\x49\xa6\x5d\xda\x81\x54\xa9\xf8\x74\x10\x51\xd2\xee\x8b\xde\xa9\xcd\xb6\x9b\xa8\x0a\x4f\xf3\x63\x41\x3a\x15\xc2\x5e\xc2\xa5\xb3\x8c\xb7\x9e\x32\x4d\x40\xf5\x49\x56\xae\x00\xe5\x8c\x89\x44\x61\x52\xd7\x7c\xc3\x92\x15\x57\xcb\xc8\x35\x01\x70\x4e\x91\xeb\x02\xcb\x08\x3f\x00\x23\xa9\x2e\x1c\x11\x05\xd1\x2b\x50\x36\x93\x0f\x63\x60\x12\x81\x76\x1c\x0a\x7c\xb9\x2c\xc4\x12\x92\x6d\xa7\xaa\x46\x10\x03\x6c\xac\xae\x82\x11\xf6\xb3\x8b\x5f\xe3\x79\x48\xaa\xba\xac\xc1\xb2\xd8\x78\x76\x02\xaa\xc1\x1d\xce\x73\x73\x5a\x47\x4c\x8a\xf1\x88\x7d\x13\x12\x27\x44\xa2\x95\xa7\x37\xe8\xc8\x6d\x6f\xb8\xfc\xd9\x1e\xd3\x61\x9b\xcd\xaa\x7d\xec\xf0\xdb\x56\x25\xef\xd6\x4d\xb3\x93\x1f\xa2\xe4\x65\x35\xe0\x0e\x3a\xe5\x25\xcf\xf4\xf2\xd4\xbe\x7c\x83\xef\xee\xda\xd7\xa7\x98\xd5\xe0\x98\x04\xed\xf3\xf6\xe6\xb4\x7d\x87\x4a\x03\x6d\x73\xbd\xd7\x81\x9c\xe9\x6e\x07\xf2\x73\xa8\xea\x8e\x2e\x6a\xbf\x0f\x39\xeb\xa0\x40\xda\xf1\x4d\x43\x5d\xc4\x2e\xf7\x80\xd2\xa7\x4c\xd3\x8c\x6d\x91\x00\x79\xa1\xd3\x2a\x11\xa9\x3d\xb9\x60\x0f\x21\x1e\xca\x33\x31\xd5\x84\x64\xdb\x45\x5b\xa3\x93\x83\x5b\xf7\x4b\xf9\x1c\x7a\x31\xf8\xfb\xe9\xbf\xeb\xf0\x37\x38\x8d\xaf\x6d\xd2\xe3\xf3\x89\xf3\x54\x0c\xbc\xa7\x7c\xf7\x75\xde\x7d\x5d\xc8\xa5\x54\xbc\xd4\x05\x7b\xe9\xf9\x16\x5e\xf9\x62\x7d\xdd\x1a\xc2\x40\x31\x51\x9b\x22\x14\x13\x5f\x54\xf1\x68\xdb\xa4\xf6\x29\x53\xf2\x75\x1e\x33\x59\x83\x17\x38\x9a\x99\x0c\x27\xc1\xeb\x26\xe0\x3b\x95\x26\xe4\x16\x4f\x15\x45\x1c\x70\xdd\x74\x11\x97\x62\xe8\xbc\x9b\xf3\xaa\x9c\x3d\x91\x9d\x0d\x5f\x1e\xe6\x78\x22\x10\xc4\x7b\x9e\xef\xe6\xbb\xe2\xe4\x72\xc0\xe4\x4a\x72\x47\x04\x4d\xa5\xbe\x3f\x77\x17\x3b\x1a\xc8\xbf\xdd\x0c\xdc\x5f\x5f\xb8\x40\x51\xb0\x07\x6b\x06\x16\x2c\x04\x12\xff\x62\xb2\x1a\x9a\xf6\x5e\xac\xd9\x5b\xdc\x91\x64\x9d\x66\xba\x4a\x19\x09\x35\x02\x01\x14\x63\xbc\x1d\x81\x89\x7b\x3c\xee\x4a\xbe\x1b\x58\x84\xdd\xcb\x1f\x78\xaf\xfd\x04\xc2\x6f\x1d\x12\x78\xe7\xd1\xa7\x99\xfd\x6c\x4b\x4f\x33\x0d\x6b\xef\xc5\xf1\xa0\xb5\xf7\x5e\x70\xa0\x05\x1d\xe6\x20\x05\x7b\x54\xa6\x19\x9c\xb7\x38\x80\xd0\x42\x5c\x5e\x0b\xcc\x9a\xfb\x83\xbb\x73\x5c\x19\xbb\xbb\xca\x79\x21\x54\x39\x83\x1e\x87\x75\x06\x9d\x5c\xc1\xeb\x35\x85\xa9\x97\x23\xf8\x4f\xb7\x1a\xfd\xfb\x8e\x03\xec\xcf\xec\x86\x7c\x5a\x56\x5e\x49\x80\x10\x9b\x7b\xf6\x52\x02\xe2\x29\x8a\x85\xfa\x85\xeb\x58\x2e\xfa\xa0\x27\xcc\x5e\xf4\x41\x35\xd1\xde\xeb\x83\xc2\xe8\x21\x54\x0d\xad\x90\x7b\x8f\x98\x0b\xac\xa8\x75\x7f\x8b\xea\x82\x5c\xd6\xfe\x0d\x1c\xce\x76\xfd\x32\xf6\x57\x51\xe8\x90\xff\x85\xce\xaa\xb8\xe1\x9d\xfa\xfa\xd3\x4b\x9a\xa3\x3e\x8e\xc5\xb4\xe3\x6a\xb2\xf0\x17\xa2\x59\x43\x8f\xc2\x7c\xe3\xcc\x91\x8e\x10\x52\x2e\x92\x59\x47\xe9\xa0\x5e\x43\x89\x0c\xcf\xb8\x14\x90\x6c\x5c\x66\xee\x80\x1e\x83\xbf\x82\x12\xab\xd6\x3c\x27\x74\x21\x01\xc9\x9b\xc1\x9b\x31\x7c\xc4\x9f\xfe\xf8\xe7\xb1\xec\x48\x44\x87\xa1\x0f\x05\x6b\xf9\xc1\xbf\x2b\xa4\x50\x29\x04\x63\x79\xba\x5d\xd5\x4e\xd5\xbc\xf3\x35\xf1\x6c\xb7\xe1\xb3\x64\xad\xb7\x5f\xb5\x66\x86\x9b\xe8\x0b\x44\xf4\x83\x90\xf5\xc7\xb7\x16\xef\xeb\x52\x25\xcc\x2c\xdd\x28\xbe\x96\xc9\x17\x1d\xe3\x46\x8a\x2c\x85\x21\x52\xef\xfb\xa2\x52\xa9\x48\xee\x87\xea\x04\x4f\xae\xc9\x21\x92\x7b\xf6\xc3\xed\xfb\x0b\x2c\xc1\x2c\xcd\x54\x5d\xf2\x52\x3e\x88\xbb\x22\xf3\xe1\x00\x02\x69\x17\x99\x3b\x23\x75\x8e\xf8\x88\x8f\xcc\x11\xca\x3b\xc5\x21\x2e\xe1\xb1\xde\x1c\xcd\xab\xe4\x5e\x94\xc7\x05\x57\xa9\x5e\xe3\x67\x1c\x9b\x6a\xb1\x90\x9f\xc6\x25\x2f\x3a\xea\x79\xa0\x1f\xe1\x57\xd4\x73\x43\x95\xb6\x32\xe8\xbc\xa8\xea\x3e\x42\x32\x3a\xd5\xfe\xaf\x29\xb7\x98\x95\xc8\xd7\x02\x08\x59\x59\xbd\x16\x0e\xb4\x82\xf9\xdd\x50\x32\xd6\x18\xca\x9f\xd0\x54\x90\xfe\x63\xa4\xdc\x7f\x8c\x46\x15\x42\xd8\xf1\xa0\x42\x19\xd6\x35\xbf\x47\xfb\x70\x59\x08\x63\x46\xcc\x68\x18\xf1\x54\xb9\x4c\x04\x97\x2d\x07\xb8\x17\xa0\x74\xce\x36\x2c\xd1\xb9\x87\xcc\xe3\x77\xad\xf4\x23\xf8\xe9\xe3\x3c\x61\x28\x34\x5e\xa9\x52\x66\x8c\x2f\x4a\x72\xe2\x43\xfd\x0a\x57\xaf\xce\x8c\xa7\x0a\x42\xb1\x09\x7c\x3e\x40\x24\x7c\xf8\xc5\x7f\x84\x61\x0b\x9e\xc8\x4c\x96\xc4\xaa\x07\x29\x66\xdc\x7e\xaf\xbd\x0f\xec\x5c\x16\x7c\xc3\xb3\x60\x58\xf1\xac\x0a\xa9\xd1\x47\x46\xec\x60\x6d\x95\x66\x86\x0e\x82\xcf\x77\xc0\x03\x0a\x50\xc6\xc1\x07\x64\xb8\x3f\xb1\x9d\x5f\x36\x6e\xd1\x7f\x88\xff\xb7\x66\x87\xef\xd2\x0a\x0e\x30\xc8\x0f\xb9\x1c\xb7\x4d\x6e\x5f\xe4\x3d\xe8\x19\x32\x75\xe8\xe4\x9a\x2a\x1e\x92\x8f\xfd\xf5\x08\x31\x93\x0e\xa3\x7f\xec\x4a\xf3\x6d\xf7\x30\x60\xf6\xda\x95\xc4\x2f\xe4\xce\xe8\x2a\x3b\xd0\x67\xf8\xce\x1b\x7f\xa5\x75\x76\xa8\x47\x9e\x88\x43\xa4\x56\x33\xa8\x56\x7d\x88\x39\x89\x1b\xc0\x3b\xb6\x26\x67\x3e\xe6\xee\x79\xfc\xeb\x35\xee\x08\x0e\x46\x43\x00\x41\x06\x83\xd8\x81\x53\x37\x79\x0b\xe8\x62\x20\xde\x1e\xda\x40\xb4\x96\x53\xed\xb7\x43\x04\x11\x87\x0c\x0f\x63\x04\xae\xe3\xc6\x08\x07\x39\xeb\xb0\xb6\x74\xa3\x2b\xef\xb8\x8b\x39\xd1\xfd\x3c\x46\x7d\xbb\xf9\x5c\x73\x45\x9e\x3f\xd2\xe2\xa7\x2a\xd2\xd8\x91\xb7\xcf\x25\x34\xf8\x59\x6b\xf3\xe7\xd5\xb6\xe1\xc1\xfe\xbc\x43\x0a\x5f\xec\x94\x9c\x67\x71\x09\x4b\xc0\x82\x24\x7a\x3d\x97\xca\x71\x52\x90\x93\x1b\x4c\x8d\x13\xc7\x2b\xec\x03\x12\xce\x64\xc0\xc2\x46\x8d\xb9\xf7\x6a\x4e\x4c\xd1\x1c\x8b\xac\x7d\xe6\x78\x6c\xdf\x3d\x6f\x8d\x8e\x8e\x48\x63\xf3\x0b\xec\x05\x92\x3d\xf2\x8d\x81\x32\xef\xc2\x4a\xc5\x05\x3a\x76\xeb\xe3\x1f\x45\xea\x87\xe3\xac\x9e\x2a\x98\x21\xe4\x34\x73\x82\xd4\x4a\x56\xd8\x80\x99\x2b\x68\x1f\xf8\xe8\x5e\x98\xf6\xc9\xf9\x75\x62\x35\xc5\xce\x58\x0d\x06\xa1\xff\x7b\x84\x67\x76\x38\x81\x0f\xf4\x45\x47\xd7\x24\x6a\x8c\x04\x13\x82\xb4\x31\x1f\xa2\x1e\xb1\x35\x97\x8a\x8e\x01\x16\x0d\x4d\xc5\xbc\x5a\x2e\x3b\x5d\xa4\xbf\xfd\x58\x4b\xfd\x9c\xfc\x8f\xf7\x85\xef\x64\x54\x7c\x0e\x6f\xf1\xc4\xf5\x84\xee\x6b\x6b\xf7\x7d\x19\x07\xf1\xaf\xe8\x8d\x6f\x0d\x89\x6d\x6d\xa2\xe7\xf1\xc6\x4f\xfa\x78\xe3\x1d\xb6\x0b\x12\xfc\xc8\x9c\x76\xf8\x9b\xbf\xbb\xe9\xbf\x8c\x9b\xbe\xd7\xa6\x40\x52\x9f\x99\xac\x2b\xe8\x3b\x46\xf8\x44\x76\x4e\x4f\x58\x0d\xa3\x42\x06\x3c\x2b\xdd\x53\xc3\xe6\x3c\xf9\x0c\x74\x9d\x70\x3b\x1e\xee\x0f\xdc\x03\x7e\xb9\xd1\x6b\xc1\xa0\x2b\x83\xe5\xa6\x18\x65\x31\x8e\x00\xad\x6a\x3f\x30\x20\x46\x08\x8f\x02\xd7\x29\x22\x57\xd2\xa0\x54\xbf\x54\xe2\x91\xd9\xdb\x6a\x14\xc3\xf7\xa2\xe5\x81\x3a\x84\xaf\xac\x76\x58\xc3\xfa\x7b\xc2\x8e\x42\x2c\x79\x91\x42\x86\x09\x1d\xc9\x8c\x27\xf7\xf6\xbf\x61\x7c\xd4\x23\x41\x0c\x1d\x57\x00\xc2\x5e\x43\x6b\x52\x25\x48\xd8\xe8\x98\xe7\xfd\xf8\xf0\x75\xc3\x78\x52\x68\x83\x4e\x23\x5f\xbe\x1b\xf2\xab\x41\x81\x7d\x90\x69\xc5\x33\xec\xb1\xd3\xd3\x3e\x14\xbe\xd6\x04\x1c\x45\x95\xf6\xb6\xd1\x6c\xb4\x1c\xc8\x50\x05\xd3\x38\x9e\xaa\x33\x1f\x30\x79\xc3\xee\x8c\x20\x94\x99\x71\xb5\x0a\x76\x8e\xf4\xb3\xa9\x0f\x5b\x98\xc0\x4e\x1d\x62\xc7\x04\x38\x90\x75\x34\x11\xa6\x7b\x26\xf6\x90\xbe\x1e\xb2\x28\x83\xc9\xab\x27\x51\xb9\xff\x30\x2d\x68\x27\x14\x82\xa7\x9b\x98\x31\x52\x2a\x06\x51\x3a\xc6\xd3\xb5\x54\xf6\x10\xb8\x92\xb2\xfe\xa6\x71\xd5\x25\x10\x72\x0c\x95\xd7\xb2\xac\x21\x04\x0d\x53\xc2\x2a\x97\xbc\x90\xd9\x06\xec\x89\xbc\x10\x47\x51\x3f\xd1\xfa\x50\xc6\x13\xd4\xc9\x20\x12\x99\xca\x88\x45\x95\xa1\xd5\x01\x76\xb9\xff\x00\x92\x48\x77\x93\x91\x55\x38\x4a\xaa\x77\x14\x75\x8c\x55\x44\x9f\x23\x7b\x64\x2b\x5a\x39\x2c\xe2\x16\x18\x4d\x0b\x00\xb9\xaf\xf4\xa3\x4b\x75\x7b\xe4\x01\xcb\xdc\x75\xbb\x3e\x5b\x94\x65\xb7\x1e\xea\x2c\x40\x27\xa7\x22\xc2\x3f\x1f\x5a\xa3\xdf\x44\xea\x65\x93\x54\xf0\x39\x54\x88\x3b\x78\xae\x2b\x83\x19\x73\x76\x2d\xe1\xfe\x72\x8e\x8e\xba\xe3\x9a\xf9\xaf\x93\x46\x2b\x36\xad\xbe\xfe\xfa\x77\x82\x7d\x0d\x29\x84\x64\x8f\x60\x7c\x0c\x38\x4d\xb1\x75\x10\xd9\xbe\x03\x81\x84\xa7\x5b\x2b\xc2\xda\x20\xaa\x2e\x5f\x1f\x40\x9e\x3c\x59\x31\x53\xcd\x11\xc1\xc8\x29\xc4\xc2\x95\xe7\x46\xbf\xd0\x00\x46\xc4\x9b\xdd\x8d\xfe\xff\x91\x80\x02\x96\xa6\x99\xaa\x5c\x23\x7d\x3f\x40\x3f\xe7\x82\xad\x79\x71\x0f\x95\x86\xd1\x3d\x0f\xe5\x0a\x5e\x4a\x31\xae\x87\x17\x5e\xd5\xc6\x43\x01\x1d\xa4\xe5\x66\x45\xa5\x94\x2b\x9d\xc6\xac\x62\x1a\x7c\xfd\xa3\xa9\x9a\x57\xb1\xed\x59\x0b\x16\x84\xad\x05\x01\x03\x10\xb6\x1a\x98\x4a\x68\x50\xdc\x84\x71\x8d\x59\x8f\xa8\xc1\x54\x3d\x73\xd8\x60\x9f\xc3\xef\x8a\x74\x30\xe7\xcc\x8b\xf2\x15\xe0\x73\xe3\xea\xde\xb0\x1c\xb8\xed\x41\xc9\xb9\x82\x12\xdf\x23\xf6\x83\x7c\x10\x23\x76\x93\xf3\xe2\x7e\xc4\xce\x30\xfc\xf7\x7b\x3d\x6f\xf3\xe1\x6d\x11\x4a\x1c\xec\xc7\x7b\x9a\x1b\x6b\x17\xcd\x4b\xbb\xf6\xff\xf3\x16\x31\x00\xeb\x8a\x7d\xff\xf7\x44\xe4\x75\x70\x7d\xfc\x4f\xf7\x44\xec\x09\x53\xff\x1d\xbc\xf6\x3f\xd2\x2a\xde\x4d\xf3\xf1\x0f\xf1\xff\x3a\xf9\xe5\x34\x2e\xd0\x3d\x49\xca\xb5\xa2\xd2\x7e\x5b\x89\xcd\x32\x6d\x5e\xca\xdb\xf9\xcd\xfd\x8e\x02\xa5\x8f\xa7\x3e\xb5\x7d\x00\xe8\x9e\x5e\x75\xf3\x75\x9a\x69\x53\x15\xbb\x0f\xff\x75\x7d\xd4\xae\xf7\x16\xa2\x57\xd8\x6c\xeb\xb9\x00\xd6\x82\xbe\xf0\x13\x7c\x6c\xf6\x17\x3d\x9f\x01\xd6\xea\xb0\x13\xde\xd6\x9c\xa7\x8f\xd6\x49\x6d\xa8\xe1\x86\xbc\xc9\x05\xf0\x5d\x05\x55\x34\x04\x04\x1a\x3b\xcc\xbb\x46\xa6\xca\xd5\x05\xc0\x8c\xd9\xa2\x10\x40\x0d\x5e\x08\x28\x47\xc9\x88\xe1\x30\xdb\x44\x1a\x51\x64\xf9\x04\x50\x4c\x9c\xe5\x06\xc9\xaa\x64\x6f\xcd\x85\x50\x7e\xb6\x87\xa8\x12\x40\x83\xdd\x98\x7d\x42\xbb\x3d\x0a\x57\x1e\xa2\xa3\x74\xee\xd6\x7b\x91\x2d\x08\x2a\xf7\x52\x94\x91\x34\x6f\xa8\x16\xb5\xa3\x59\x8b\x50\xfd\xa6\x10\xff\xad\x31\xe8\x06\x39\x57\xcd\x81\xd2\x2b\xa6\xf7\x1c\xfe\xf2\x2b\x5e\xae\xd0\xa0\x5d\xeb\x52\xa0\xcc\x44\x96\x20\xdc\x2f\xe8\x75\x9e\x67\x7a\x0e\x75\x20\xcb\x1d\x0c\x92\x09\x1d\xed\x5e\x53\xb7\xbd\x60\x7d\x24\x83\x95\x26\x90\x69\x5b\x08\x03\x84\x2b\xdb\x51\xaa\xbe\xf8\xe4\x61\x46\xf7\xf6\x70\xad\xd0\x3f\xdb\x32\xb6\xb7\x0b\x87\xd8\x63\x0d\x60\xd5\xf3\x27\x64\xd0\x6c\x95\x61\x21\xaa\x6a\x0a\x03\x23\x5b\x6d\xe3\x7b\x91\x2d\x67\x03\x44\x7c\xf0\x4b\x74\x09\xf0\x50\x09\xcc\xe3\x41\xa9\xb2\xb4\x3f\x7f\x98\xbe\xca\x4e\x62\x04\x22\x79\x08\x46\xc1\x97\x09\xc6\xc0\x08\xb2\x1a\x55\x29\x0b\xc1\x14\xa0\x10\xa6\xca\x54\xf3\xa3\x40\x4c\x62\xad\xb8\x07\x20\xd3\x31\x22\xe7\x60\xca\x00\x5f\xd1\x51\xcb\x35\x8c\x9e\xc9\x50\xd1\xc7\xd1\x07\xf2\x8c\x84\x3f\xe4\x4a\x62\x66\xbc\xff\x76\xdf\x8e\x35\xd6\xc0\x8a\x76\x70\x25\xbc\xec\x76\xc9\x0b\xa8\x39\x06\x19\x98\xd7\x88\xa2\xf8\xb5\x2f\xf0\x38\x1a\xda\xf7\xea\x86\x78\xda\x54\xfd\xb3\xbb\x1b\xba\x41\xc5\x03\x76\xba\x9d\x19\x7b\x45\x75\x82\x9d\x6b\x63\x73\x26\x64\xa4\x04\x76\x0f\x6a\x6b\xcb\xb7\xb5\xca\x1d\xae\x25\x2e\x3c\xa3\x29\x5d\x16\x7e\x7d\x90\x26\x22\x7b\x87\xde\x6e\x84\x60\x6f\x0a\xb1\x78\xf3\xb1\x10\x8b\x99\x5b\xe9\x31\x7c\xd0\xd8\x7e\xd1\x36\xe5\x7b\xcf\xcd\x61\x72\xad\xda\xc9\x0f\xf7\x50\xa3\x36\x3e\x09\xdb\x89\xbe\x49\x2e\x58\xa8\xc1\x6b\xbf\x07\x18\x20\x44\xda\xe4\xa2\xdf\x1a\xd9\x17\xbf\xe6\xba\x90\x60\x3d\xa0\x56\x1d\xa5\x5a\xff\xe7\x5f\x6f\xb5\x39\xeb\x73\xbd\xdd\xd6\x21\x33\x4e\xd8\x73\xe5\x2f\xbc\x6e\x5c\xe8\x97\x45\xa7\xc3\x02\x9a\x9c\x3f\x2a\xe2\xb1\x19\xe4\x7a\xea\x77\xad\x35\x00\x44\xd1\xb5\xb6\x85\x81\x0b\xa7\x4c\x39\x4f\x9f\xf4\xd5\x3e\x47\x2c\x58\xd0\x3c\xcb\xe2\x8a\x1a\x21\xd2\x36\x55\x21\x2f\xd5\x6a\xad\x59\xe6\x5c\x78\x35\x7d\xc3\x97\x65\x36\x25\x2f\xc5\xc8\x91\xae\x10\x5d\x21\xc5\xc3\x8e\xe6\x1c\x0a\x70\xfb\x4a\x6f\xfb\x4e\xf3\x73\x19\x91\xbf\xb1\xbc\xe8\x3d\x91\x67\xec\x76\x76\x2f\xb6\xe0\xcc\x7b\xc7\xda\x1e\xe9\x88\x28\x25\xe0\x30\x3b\x29\x9b\xf0\xa2\x70\x28\x7f\xea\x95\x39\xba\xf3\xd8\x2a\xe9\x18\xe7\x4a\x24\xf7\xb9\x96\x6a\xb0\x2c\xaa\x51\x5c\xc0\x66\x2f\x59\x68\xcd\x5b\x87\xbd\x2e\xc7\x9a\x3e\x89\x1f\x62\x00\x5e\xe1\xa0\xa1\x81\x8c\x8d\x33\x5f\xcf\xbb\x7b\xdb\x3d\xb7\xff\x42\x84\xbb\xe1\x33\xf8\x62\x5b\xe2\x43\x8d\x5b\x85\xb7\x38\x76\x6a\x4c\xa0\x7c\x2b\xfb\xab\xe7\x64\x73\x56\xa3\x30\x6c\x9d\x52\x70\x41\xfe\xdd\x33\xf4\x77\xcf\xd0\x7f\x73\xcf\xd0\x97\x74\x0b\x01\x36\xe6\x73\xfa\x84\x76\x04\xc8\x0f\x38\x8e\xbe\xd7\xc1\x39\x8e\xad\xda\xf1\x28\x2a\x4d\x1e\x65\x3a\x6e\x03\xfd\x1d\x11\x86\x9d\x9f\x39\x4f\xee\x85\xea\x8c\xd1\x3b\xfa\xa2\xce\x2a\xb1\xcf\x8b\x60\x69\x63\x5f\x8a\xde\xde\x0d\x65\x09\x50\x27\x22\x0d\x6e\x23\x04\xb1\xe7\x04\x74\x4f\xfb\xe1\x47\x00\x1a\xd3\x85\x27\xb6\x36\x94\x85\x87\xc1\x48\xa4\x49\x42\xb0\x54\x83\x0a\xba\x2f\x26\xce\x75\x3c\xcb\xb5\xce\x5a\xa1\x71\xcf\x3a\x81\x5b\x89\x32\x7d\x27\x6f\x82\xca\xa8\x89\x01\x63\x6e\x16\x43\xd2\x45\x48\xd1\xc0\x7c\x0c\xa8\xc4\x01\xbb\x29\xad\x20\x97\x32\x4c\x47\x54\x5e\x91\x7b\x87\x0b\x61\xc4\xe6\x22\xe1\x50\x9e\xd6\x81\xf7\x12\xee\xb3\x4f\x62\x52\xa4\xad\x74\x10\xb3\xdd\x4f\x47\xd4\x12\xda\x9d\xc9\xb6\xb2\x1b\x43\x0f\x57\x43\x43\x70\xd0\x72\x1c\xb9\x43\x92\x38\xda\xc5\x7d\x65\x97\x1d\xc7\xf4\x0c\xaa\x2f\xf6\xbb\xe1\x5a\xe5\xce\x84\x1a\x3a\x85\x76\xfa\x0b\xd2\x1f\x20\x1d\x67\xdd\x13\xb9\x33\x55\x27\xbe\x1a\x6f\xc0\x7e\x79\xe4\x1e\x86\x4b\x11\xb3\xb8\xb5\x34\xc8\xe5\x18\x2c\x97\x11\x33\x55\xb2\x02\xb6\xca\xba\x9c\x8a\xe5\xd6\xf6\x89\x1d\x4d\x95\x35\x88\xc0\xd5\xb2\xe6\x90\x17\xff\x68\x95\x55\x23\xff\x2a\x3c\x3c\x8b\xc8\xbb\x62\x44\x16\x1a\x4e\x5a\xb5\xa2\xd7\x1c\x71\x28\x02\x2c\x02\xa6\xa4\xca\x53\x5e\x8a\xf1\x34\xa0\x6d\x24\x7a\x3a\x1d\xca\x83\x54\x66\x13\x7f\x58\x8c\x63\x6c\x48\xda\x4c\x2e\x44\xb2\x49\xb6\xaa\x10\xed\xa6\x89\xf8\xbb\xd9\xf6\xdb\x32\xdb\x90\x65\x17\x73\x06\x87\x4c\x2d\x0d\xf5\x3a\xbc\x7e\xd8\xe4\x0a\x16\x8d\xc4\x0c\x98\xe7\x2f\x68\x76\xb6\xe8\xc0\xc3\xf4\xf9\xde\x76\xd0\xee\xeb\x2c\x18\xb6\xe1\xb2\x8e\x28\x10\xb6\xd4\xc2\x38\xb8\x58\xc6\x5b\xc7\x2a\xb4\xbd\xc3\xfa\xdd\x2c\x33\xbf\x29\x70\x52\x1f\xc3\xd5\x6a\xdc\x1e\xae\x74\xe9\x34\x6d\x25\xf0\xbe\xdb\xa1\x71\x47\xac\xee\xbc\x7c\x61\xfc\xac\xd7\x25\xa0\xc3\xfe\x9f\xa8\xcd\x41\x09\x98\x9b\x5c\xcc\xaa\x22\x3b\x08\x6e\x7c\x77\x7d\x71\xec\xb5\x0d\xd0\x9c\x3b\xeb\x1e\x95\x8d\xd2\xd0\xae\x26\xb1\x48\x09\x0e\x9a\xe8\x8c\xcd\xab\xc5\x02\xea\x97\x10\x30\xd4\x09\x23\xa8\x9f\x5f\x99\xd2\xdd\x27\xc8\x34\xc3\x4d\x39\x55\x5a\x09\x36\xfd\xea\x78\xfa\x95\xbd\xca\x0a\x9e\x94\xa2\x40\x92\x81\x8c\x9b\x92\x19\xb1\x04\x55\x8b\x3a\xbd\xbb\xbe\x80\xac\xc4\x72\x85\xcd\x79\x93\x15\xf3\x3d\x91\xf3\x19\x6a\xfd\x00\x41\xb5\x8a\x2a\x6e\xc1\xd8\x5f\x72\xc3\xa4\x9a\xaa\x8f\xb6\x89\xe3\xa5\xd6\xcb\x4c\x8c\xdd\x82\x8c\xcf\xc8\xf5\xf8\xf1\x15\x8e\x00\x5e\x8f\x61\xfd\xf6\x42\xe4\x4a\x2b\x99\xf0\x0c\x12\x72\xa6\x0a\xb4\xe6\x91\xfd\x18\x70\x8d\x4e\xbf\x1a\x4f\xbf\x62\x10\x3e\x2d\x19\x4f\x12\x91\x97\x22\xc5\xd2\xa6\x13\xc5\x72\xc0\x2f\x26\x62\xc4\x4a\xc1\xd7\xc6\x51\x3a\xb3\xdc\xda\x98\x60\x1a\x32\xa9\x08\xe9\x34\x97\x8a\x17\x1b\x04\x33\x61\xb1\x72\x4a\xfe\xd8\x4c\x95\xf8\x04\xf4\x9f\x12\x18\x40\x2b\xe3\x69\x69\xa8\x30\x81\xfd\xe4\x13\xb5\x19\xb3\x1f\x90\xa1\x01\x29\x50\xef\xae\x2f\x1c\xbd\x11\xe5\x80\x4e\x95\x49\x56\x62\x2d\xd8\xc7\x55\x59\xe6\x1f\x47\xf8\xbf\xe6\x23\x44\x1c\x95\x66\xf8\xeb\x88\xd9\x25\xb2\x8a\xaa\xc3\xcb\x67\x1b\xa8\x21\x5b\xe5\x54\x70\x7e\xaa\x80\x8b\xbd\x88\xd1\xbd\x76\xb6\xa1\xc7\xc8\x04\xaf\xe1\xc2\xad\x14\x87\xe2\x8e\x6f\xec\xe4\xfc\x2f\x36\x59\x84\x2e\xed\x04\xba\xda\x62\x7e\x54\xa0\x90\x18\x48\xd9\x1a\xdb\x17\x4e\x14\xfb\xe1\xf6\xf6\x8a\x7d\x7f\x7e\xeb\x94\x9d\xbb\xeb\x0b\xdc\x17\x40\xa7\xc2\x38\xfb\x53\x73\x89\x6f\x37\xb9\xf8\xf3\x9f\xfe\x3c\x55\xcc\xd5\x28\x57\x6e\xa6\xf1\x44\x8f\x90\x12\x16\xf0\x4e\x10\x98\x05\x2a\x67\xe8\x0f\x4b\xee\xd0\xf0\x0b\xd4\xce\x1f\xc9\x5b\x00\x77\x54\xa6\xf5\x7d\x95\x7b\x37\x77\xac\x87\xd9\x0e\xef\xae\x2f\xa0\x75\xa0\x53\x2a\x57\x50\x3f\x4d\x78\xef\x0b\x2c\x3c\x77\x83\xb1\xff\xfd\xa0\x65\xca\xb8\xda\xd8\x77\xb1\x69\xd8\x96\x85\x58\xe8\x42\x8c\xdc\x93\xb6\x01\x5e\xca\xb9\xcc\x64\xb9\x01\x29\xe5\xea\xda\xe7\x8e\x23\xdf\x36\x60\xad\x19\x02\x78\xdb\x0d\x86\x65\x6c\x5f\xde\x99\x18\x01\x0e\x8b\xe6\x6b\x23\xa2\xa1\x63\xdf\x9d\x17\x82\xdf\xdb\xdd\x4d\x2d\x8c\x5f\x51\xcd\x58\xf1\x06\xef\x98\x45\xa5\x12\xdc\x1a\x76\x0c\xb4\xfb\xc9\x72\xca\x36\x8c\x3f\x70\x89\x35\x65\x5d\xb8\x7c\xb1\x90\x89\xe4\x19\x49\x8e\x79\xb5\x80\xb2\x31\xdc\x50\xc9\x22\x04\x1f\xda\x46\xc0\xca\x70\x05\xfb\x71\x43\xcd\xc5\x52\x22\xe0\xf8\x51\x96\x2b\xcc\x2b\x18\xe3\x3a\xf3\x5c\x9a\x71\xa2\xd7\x70\xde\x6e\x60\x2b\x19\x32\x7a\x01\x07\xde\xd8\xe7\xec\xa5\x83\xda\xad\xf3\x72\x43\x7b\xef\x15\x5b\xcb\xe5\xaa\x84\x42\x2e\xd0\x3b\x40\x22\xe4\x3a\xcf\xc0\xe8\xa3\x08\xa3\xc3\xfb\x1a\xb1\xe6\xaa\x94\x49\x57\x4c\xa9\xb5\x24\x78\x3f\x8c\xe7\x7c\x53\xee\xf6\xe3\xbd\x27\x9e\x7d\x8e\x14\xfa\x91\x44\x66\x4d\x81\x4c\x32\x10\xca\xcb\x44\x04\xfe\xcd\x92\xb3\xfb\x4c\xa8\x8f\x27\x6a\xf3\x31\x90\x90\x72\x15\xd5\xbe\xda\xd1\xbb\x3b\xff\x3c\xd3\xb4\x6a\x8c\x4f\x15\xa0\x3a\xad\xc0\xa0\x62\xb4\x3b\xef\x18\x7f\xa5\xd8\x95\xbd\x72\x9b\x26\x93\x73\xe8\x9b\x64\x85\x61\xa6\xca\x21\x9f\xa0\xd4\x2c\xe7\xc9\xfd\x71\xa5\xec\xff\x58\x61\x88\xc7\xdd\xc4\xe4\x44\x53\xa5\x17\xac\x2a\xf1\xe0\xb8\x2d\x0c\x4e\x91\xc8\x15\x10\x0c\xb4\xb5\x28\x57\x3a\xf5\x79\x61\xb6\x4d\x98\x3f\x3b\xa2\x73\xa2\x97\x7e\xfd\x86\x5d\xd9\x0e\xed\x26\xa6\xbe\xb9\xff\x7c\xa9\xd8\xe9\x3f\xff\x33\x3c\x6f\x27\xf7\x9d\xd6\x6c\xa1\x35\xfb\x8e\x8d\xc7\xe3\x7f\xc7\xbf\xd9\x46\xb9\xda\xd0\xbf\xb8\xda\x8c\x6d\x73\xef\x0a\xbd\x7e\xb9\xd0\xfa\x15\xfd\x1d\x8a\x36\xdb\xff\x90\x0b\xf6\xd2\x3e\x74\x07\x5d\xdd\xea\x97\xd3\xea\xeb\xaf\xbf\xf9\x57\xfb\xe8\x2b\xf6\x9f\xf8\x4c\xf4\xf8\xdf\xe2\xa1\x7e\xb3\x67\xa8\xbf\xe7\x0f\xbc\xcf\x58\xd9\x77\x70\xd7\xd8\x06\x76\x8e\x51\x9a\x97\xef\xb4\x1e\x83\xf5\x1f\x8f\x0e\x9b\xb5\x4f\xe0\x28\xa2\xa7\xfe\x3d\x1a\x36\x73\xe3\xfe\xdd\x9e\x71\x23\xaa\xde\x8f\x1c\x9b\x7f\xa7\xf5\xcb\xf1\xd8\xca\x2d\x9a\x57\x1c\xf5\xcb\x57\xf5\x89\x86\x0f\xd8\x1e\xbf\xfd\x79\x82\xc3\x3f\x3b\xbf\x39\xbd\x9e\x5c\xdd\x7e\xb8\x7e\xf5\xc6\x7d\x41\x58\x81\xe8\x7d\xe6\x4a\x6b\xfb\x81\xff\xef\x3d\x03\xff\x5e\xbb\x31\xc3\xa0\xdf\x7c\xc7\x70\x35\xf3\xf9\xf8\x9d\xd6\xff\x39\x1e\x8f\xff\x46\x3f\x73\xb5\x19\xd9\x8b\xc9\x3e\x93\xa3\x28\x7f\xcf\x0b\xb3\xe2\x99\xfd\xa6\x68\x0c\xfe\x23\x5a\x5b\x74\xcd\xc9\x45\xa3\xb1\x3b\xb5\x0e\xcd\x41\x67\xb0\xb0\xf0\xd4\x3f\x7e\xc7\x94\xcc\xc2\xf2\x45\x7d\xc0\x3a\xdd\x02\xb5\x44\x72\xef\x8f\x8b\xaf\x11\x3a\xdf\xb0\xbc\x79\x70\x31\xef\x6c\xe3\x2a\x14\x58\x71\x3f\x55\x2f\x5a\x24\xfa\xb1\x55\xed\xc6\xf0\x83\xbd\xa0\x5e\xb8\xea\xf1\xee\x5a\xf0\x95\xb5\x70\x66\x21\x10\x8d\xa7\x55\x51\x8e\x5a\x9b\x7e\xe8\x2f\xbc\x88\xac\x0a\xd4\xce\x17\xc7\x2f\x28\x51\x28\x74\x51\x27\x92\x9f\x7e\xb5\xd0\x7a\x3c\xe7\x05\x8c\xee\xd3\xf1\x66\xfc\xd7\xe9\x57\xf8\x3d\xa8\x7c\xa0\x62\x04\x8d\x4f\xbf\x82\x5f\x61\x3b\x4c\xd5\xef\x6f\x3e\x5c\x4e\xd5\x77\xdf\x7d\xf7\x1d\xce\x96\xfd\x77\x4b\xec\xc5\x5e\x57\x20\x6e\x51\x4f\xa9\x8c\x2b\x29\x29\x96\x55\xc6\x8b\xa9\x6a\x0f\xd7\xa4\x22\x08\xcd\x51\x08\xde\xd0\x3e\x1b\xb9\xea\x16\x50\xa4\xcc\xc9\x38\xf4\x4d\x7e\xfc\xff\xed\x90\x3f\x92\x8a\xe8\x85\x7c\x3c\x05\x63\xb7\x99\xdf\xb8\xad\x6a\x27\xdb\xee\xdf\xa0\x67\x2d\x64\x26\xe8\xe0\xba\xcd\x7d\x25\x0a\xa3\x55\xd8\x33\x64\x10\x00\xb7\x19\x04\x00\xd8\x77\xec\xf5\xbf\x37\x7e\xb5\xeb\xe0\x7e\xfc\xa6\x26\x09\x18\x0b\x4d\x4d\xbf\x82\x51\x4f\xbf\x7a\xc3\xa6\x5f\xb5\xed\x9b\xfa\xc0\xc6\x38\x94\xe9\x57\xa3\xd0\x00\x0c\xe3\x92\xaf\xb1\x91\xea\xeb\xaf\x7f\x97\xe0\x10\x30\x75\x2d\x7a\xd2\x0e\xa9\xfb\xc1\x68\x88\x93\x46\xe8\xcc\x4d\x84\x4b\x81\x7c\x14\x59\x76\x74\xaf\xf4\x23\xd6\x19\x87\x38\x11\x65\x29\x33\xdc\x1e\xf5\xc5\xa5\xda\x64\x8d\x15\x77\x49\x9b\xbe\x1b\x5f\xde\x0e\x16\x74\xaa\x3e\xc2\xd6\x71\x2b\x4a\x74\x44\x40\x07\xea\x7b\x02\xa3\x86\x76\x82\xcb\xb1\xa0\x8d\x30\x55\xd0\x8c\x5f\x73\xf6\x12\x80\x5f\xf4\x29\x5b\x9a\xb5\x33\x9e\xfe\xfc\xa7\x3f\xbf\x7a\x73\xc8\x3a\xd5\x9b\xab\x2d\x15\x7c\x0f\xb6\xf1\x7a\xfc\xcd\xeb\x6f\xcc\xf4\x2b\x9a\xf5\x76\x13\xfb\x42\x9a\xf2\xa7\x86\x06\xf6\x84\x62\xe7\x56\x71\xf8\x5c\xc1\x0b\x37\x54\x1c\x66\xdf\xa0\xc5\x75\x3d\xac\xa0\x17\xce\xad\x03\xc6\x99\x2b\x03\x6f\xc7\x3d\x48\xbd\xf3\xf3\x85\xc6\x16\x7b\x2c\x78\x9e\x8b\xc2\xf9\xca\xb7\xc2\x19\x50\x53\x1d\x7a\x71\xa2\xbf\x4d\x98\xd9\x6d\xd3\x68\x1a\x1e\x83\xa9\x1b\xb7\xaf\xdc\x65\x95\x65\x9d\x2b\xb7\xbf\x58\xf2\xe5\xdd\xc5\xc5\xec\xa7\x93\x8b\xbb\x73\xf7\xf9\xad\xc5\x87\xa3\xc7\x3a\xe7\xc4\x8f\x84\xe6\x04\x71\x55\x25\x60\xa9\xaa\xb5\x28\x1c\x53\x58\xf8\x6a\xc4\x91\x54\x59\x56\x2f\x8b\x3d\x55\x1f\xa9\x1d\x10\x03\x95\x92\x4e\x4d\xd9\x39\x71\xf5\xfe\xe1\xb1\x8f\xb6\xf1\x8f\xf8\xee\x11\x0b\x1f\xf1\x86\x5d\xfa\x5e\x3b\xe6\x95\x08\x27\x0e\x38\x0e\x98\x6f\xdb\x75\x1c\x9e\xbb\xf0\xff\xd3\x8e\xc7\x9d\x82\xa2\x5f\x56\xf2\x62\xbd\xfe\x67\x39\x1d\x38\x77\x1f\xeb\x50\x70\xef\x2e\x4d\x31\x6a\x08\xed\x8e\xb0\x5c\xbb\x29\x89\xb3\x18\xe7\x6c\xaa\x50\x10\xdb\x31\x95\xba\x7b\x4c\x6c\x42\x11\xa4\x8c\xab\x65\xc5\x97\xc2\x8c\x98\xeb\x7c\xaa\x9c\x75\xea\x6c\x1d\x0f\xcc\x01\x46\xd6\xc6\x16\x6a\xa4\x00\x4b\x35\x55\xf4\x4d\x70\xc3\x52\xf3\x98\x8e\xfa\xfb\x1b\xff\x39\x94\xf7\x8d\x0d\x51\xc5\x79\x35\x55\xb8\xb8\xe8\x1b\x73\x60\x43\x50\x3b\xb6\xef\x26\x0e\xf0\x60\xb4\xeb\x52\x56\xea\x25\xc0\x1e\xa7\xca\xb3\x60\x21\x38\xc3\xd9\x6b\xa1\x36\x28\x0e\x69\xbf\x3c\x71\x8b\xe1\xce\x04\x8d\xad\x7d\xd7\x1f\x7c\x07\xd8\x03\x37\x6b\xb5\xe5\x77\x6f\xdb\x20\xc6\x7a\x02\x72\x78\x24\x38\xba\xa8\x11\x81\xfa\xac\x7d\x34\xee\xbb\xf0\x99\xce\xec\x51\x5d\xcd\xb3\x01\x43\xc2\xe7\x77\x0e\x0a\x45\xf2\xee\x41\xf5\xf0\x48\x5f\x37\x8e\x96\xdd\xa6\xbb\xba\x9d\x6b\xdd\xb1\x2e\xcf\x88\xd9\xad\x0d\x8a\x5e\xd8\x37\x19\x55\x52\x3e\x65\xbf\xf4\xe0\x03\x6a\x4e\x91\x93\x3e\xbb\x06\x94\x49\xf3\xa4\xe1\x04\xfd\xa9\xf7\x88\xbc\x86\x40\x97\xdd\x20\x09\x4b\xf7\x5c\x4d\xc0\x76\x88\x49\x67\xa6\x60\x7a\x8b\x90\x28\x5e\xec\xe1\x19\xc1\x21\xb2\xfb\x7f\xe4\x37\xd1\x28\xac\xdc\x08\x06\x99\x54\x85\xb1\xe2\x92\xe4\x1d\x49\x6d\x5d\x30\x3e\x55\x8e\x0d\xc6\x89\xe3\x13\xe7\x0f\x2e\xfc\x5f\x91\x63\x29\xc7\x92\x75\x10\x14\x2a\xc1\x4b\x4e\xd2\x70\xaa\x1e\x78\x21\xb9\x02\x4c\xf3\xdc\x40\xbd\x61\x30\xe9\x36\x8c\x7e\xf0\x04\x1c\x26\x76\x32\xef\x91\x79\x0d\x35\xa0\x76\xcf\xff\x83\xfd\xbf\xbf\xfd\xc3\xff\x0d\x00\x00\xff\xff\x47\x6b\xb4\x43\xf7\xfd\x06\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: 457324, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)} + info := bindataFileInfo{name: "admin.swagger.json", size: 458231, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -157,13 +157,11 @@ var _bindata = map[string]func() (*asset, error){ // directory embedded in the file by go-bindata. // For example if you run go-bindata on data/... and data contains the // following hierarchy: -// -// data/ -// foo.txt -// img/ -// a.png -// b.png -// +// data/ +// foo.txt +// img/ +// a.png +// b.png // then AssetDir("data") would return []string{"foo.txt", "img"} // AssetDir("data/img") would return []string{"a.png", "b.png"} // AssetDir("foo.txt") and AssetDir("notexist") would return an error diff --git a/flyteidl/gen/pb-java/flyteidl/artifact/Artifacts.java b/flyteidl/gen/pb-java/flyteidl/artifact/Artifacts.java index 92f92c7e09..96cb8d9edd 100644 --- a/flyteidl/gen/pb-java/flyteidl/artifact/Artifacts.java +++ b/flyteidl/gen/pb-java/flyteidl/artifact/Artifacts.java @@ -1357,14 +1357,17 @@ java.lang.String getPartitionsOrThrow( java.lang.String key); /** - * string tag = 5; + * .google.protobuf.Timestamp time_partition_value = 5; */ - java.lang.String getTag(); + boolean hasTimePartitionValue(); /** - * string tag = 5; + * .google.protobuf.Timestamp time_partition_value = 5; */ - com.google.protobuf.ByteString - getTagBytes(); + com.google.protobuf.Timestamp getTimePartitionValue(); + /** + * .google.protobuf.Timestamp time_partition_value = 5; + */ + com.google.protobuf.TimestampOrBuilder getTimePartitionValueOrBuilder(); /** * .flyteidl.artifact.ArtifactSource source = 6; @@ -1393,7 +1396,6 @@ private CreateArtifactRequest(com.google.protobuf.GeneratedMessageV3.Builder } private CreateArtifactRequest() { version_ = ""; - tag_ = ""; } @java.lang.Override @@ -1466,9 +1468,16 @@ private CreateArtifactRequest( break; } case 42: { - java.lang.String s = input.readStringRequireUtf8(); + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (timePartitionValue_ != null) { + subBuilder = timePartitionValue_.toBuilder(); + } + timePartitionValue_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(timePartitionValue_); + timePartitionValue_ = subBuilder.buildPartial(); + } - tag_ = s; break; } case 50: { @@ -1693,38 +1702,25 @@ public java.lang.String getPartitionsOrThrow( return map.get(key); } - public static final int TAG_FIELD_NUMBER = 5; - private volatile java.lang.Object tag_; + public static final int TIME_PARTITION_VALUE_FIELD_NUMBER = 5; + private com.google.protobuf.Timestamp timePartitionValue_; /** - * string tag = 5; + * .google.protobuf.Timestamp time_partition_value = 5; */ - public java.lang.String getTag() { - java.lang.Object ref = tag_; - 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(); - tag_ = s; - return s; - } + public boolean hasTimePartitionValue() { + return timePartitionValue_ != null; } /** - * string tag = 5; + * .google.protobuf.Timestamp time_partition_value = 5; */ - public com.google.protobuf.ByteString - getTagBytes() { - java.lang.Object ref = tag_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - tag_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public com.google.protobuf.Timestamp getTimePartitionValue() { + return timePartitionValue_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : timePartitionValue_; + } + /** + * .google.protobuf.Timestamp time_partition_value = 5; + */ + public com.google.protobuf.TimestampOrBuilder getTimePartitionValueOrBuilder() { + return getTimePartitionValue(); } public static final int SOURCE_FIELD_NUMBER = 6; @@ -1777,8 +1773,8 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) internalGetPartitions(), PartitionsDefaultEntryHolder.defaultEntry, 4); - if (!getTagBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 5, tag_); + if (timePartitionValue_ != null) { + output.writeMessage(5, getTimePartitionValue()); } if (source_ != null) { output.writeMessage(6, getSource()); @@ -1813,8 +1809,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, partitions__); } - if (!getTagBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, tag_); + if (timePartitionValue_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getTimePartitionValue()); } if (source_ != null) { size += com.google.protobuf.CodedOutputStream @@ -1849,8 +1846,11 @@ public boolean equals(final java.lang.Object obj) { } if (!internalGetPartitions().equals( other.internalGetPartitions())) return false; - if (!getTag() - .equals(other.getTag())) return false; + if (hasTimePartitionValue() != other.hasTimePartitionValue()) return false; + if (hasTimePartitionValue()) { + if (!getTimePartitionValue() + .equals(other.getTimePartitionValue())) return false; + } if (hasSource() != other.hasSource()) return false; if (hasSource()) { if (!getSource() @@ -1881,8 +1881,10 @@ public int hashCode() { hash = (37 * hash) + PARTITIONS_FIELD_NUMBER; hash = (53 * hash) + internalGetPartitions().hashCode(); } - hash = (37 * hash) + TAG_FIELD_NUMBER; - hash = (53 * hash) + getTag().hashCode(); + if (hasTimePartitionValue()) { + hash = (37 * hash) + TIME_PARTITION_VALUE_FIELD_NUMBER; + hash = (53 * hash) + getTimePartitionValue().hashCode(); + } if (hasSource()) { hash = (37 * hash) + SOURCE_FIELD_NUMBER; hash = (53 * hash) + getSource().hashCode(); @@ -2057,8 +2059,12 @@ public Builder clear() { specBuilder_ = null; } internalGetMutablePartitions().clear(); - tag_ = ""; - + if (timePartitionValueBuilder_ == null) { + timePartitionValue_ = null; + } else { + timePartitionValue_ = null; + timePartitionValueBuilder_ = null; + } if (sourceBuilder_ == null) { source_ = null; } else { @@ -2106,7 +2112,11 @@ public flyteidl.artifact.Artifacts.CreateArtifactRequest buildPartial() { } result.partitions_ = internalGetPartitions(); result.partitions_.makeImmutable(); - result.tag_ = tag_; + if (timePartitionValueBuilder_ == null) { + result.timePartitionValue_ = timePartitionValue_; + } else { + result.timePartitionValue_ = timePartitionValueBuilder_.build(); + } if (sourceBuilder_ == null) { result.source_ = source_; } else { @@ -2173,9 +2183,8 @@ public Builder mergeFrom(flyteidl.artifact.Artifacts.CreateArtifactRequest other } internalGetMutablePartitions().mergeFrom( other.internalGetPartitions()); - if (!other.getTag().isEmpty()) { - tag_ = other.tag_; - onChanged(); + if (other.hasTimePartitionValue()) { + mergeTimePartitionValue(other.getTimePartitionValue()); } if (other.hasSource()) { mergeSource(other.getSource()); @@ -2672,73 +2681,121 @@ public Builder putAllPartitions( return this; } - private java.lang.Object tag_ = ""; + private com.google.protobuf.Timestamp timePartitionValue_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> timePartitionValueBuilder_; /** - * string tag = 5; + * .google.protobuf.Timestamp time_partition_value = 5; */ - public java.lang.String getTag() { - java.lang.Object ref = tag_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - tag_ = s; - return s; + public boolean hasTimePartitionValue() { + return timePartitionValueBuilder_ != null || timePartitionValue_ != null; + } + /** + * .google.protobuf.Timestamp time_partition_value = 5; + */ + public com.google.protobuf.Timestamp getTimePartitionValue() { + if (timePartitionValueBuilder_ == null) { + return timePartitionValue_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : timePartitionValue_; } else { - return (java.lang.String) ref; + return timePartitionValueBuilder_.getMessage(); } } /** - * string tag = 5; + * .google.protobuf.Timestamp time_partition_value = 5; */ - public com.google.protobuf.ByteString - getTagBytes() { - java.lang.Object ref = tag_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - tag_ = b; - return b; + public Builder setTimePartitionValue(com.google.protobuf.Timestamp value) { + if (timePartitionValueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + timePartitionValue_ = value; + onChanged(); } else { - return (com.google.protobuf.ByteString) ref; + timePartitionValueBuilder_.setMessage(value); } + + return this; } /** - * string tag = 5; + * .google.protobuf.Timestamp time_partition_value = 5; */ - public Builder setTag( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - tag_ = value; - onChanged(); + public Builder setTimePartitionValue( + com.google.protobuf.Timestamp.Builder builderForValue) { + if (timePartitionValueBuilder_ == null) { + timePartitionValue_ = builderForValue.build(); + onChanged(); + } else { + timePartitionValueBuilder_.setMessage(builderForValue.build()); + } + return this; } /** - * string tag = 5; + * .google.protobuf.Timestamp time_partition_value = 5; */ - public Builder clearTag() { - - tag_ = getDefaultInstance().getTag(); - onChanged(); + public Builder mergeTimePartitionValue(com.google.protobuf.Timestamp value) { + if (timePartitionValueBuilder_ == null) { + if (timePartitionValue_ != null) { + timePartitionValue_ = + com.google.protobuf.Timestamp.newBuilder(timePartitionValue_).mergeFrom(value).buildPartial(); + } else { + timePartitionValue_ = value; + } + onChanged(); + } else { + timePartitionValueBuilder_.mergeFrom(value); + } + return this; } /** - * string tag = 5; + * .google.protobuf.Timestamp time_partition_value = 5; */ - public Builder setTagBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); + public Builder clearTimePartitionValue() { + if (timePartitionValueBuilder_ == null) { + timePartitionValue_ = null; + onChanged(); + } else { + timePartitionValue_ = null; + timePartitionValueBuilder_ = null; + } + + return this; + } + /** + * .google.protobuf.Timestamp time_partition_value = 5; + */ + public com.google.protobuf.Timestamp.Builder getTimePartitionValueBuilder() { - tag_ = value; onChanged(); - return this; + return getTimePartitionValueFieldBuilder().getBuilder(); + } + /** + * .google.protobuf.Timestamp time_partition_value = 5; + */ + public com.google.protobuf.TimestampOrBuilder getTimePartitionValueOrBuilder() { + if (timePartitionValueBuilder_ != null) { + return timePartitionValueBuilder_.getMessageOrBuilder(); + } else { + return timePartitionValue_ == null ? + com.google.protobuf.Timestamp.getDefaultInstance() : timePartitionValue_; + } + } + /** + * .google.protobuf.Timestamp time_partition_value = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> + getTimePartitionValueFieldBuilder() { + if (timePartitionValueBuilder_ == null) { + timePartitionValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>( + getTimePartitionValue(), + getParentForChildren(), + isClean()); + timePartitionValue_ = null; + } + return timePartitionValueBuilder_; } private flyteidl.artifact.Artifacts.ArtifactSource source_; @@ -4174,6 +4231,29 @@ public interface ArtifactSpecOrBuilder extends */ com.google.protobuf.ByteString getMetadataTypeBytes(); + + /** + * .google.protobuf.Timestamp created_at = 6; + */ + boolean hasCreatedAt(); + /** + * .google.protobuf.Timestamp created_at = 6; + */ + com.google.protobuf.Timestamp getCreatedAt(); + /** + * .google.protobuf.Timestamp created_at = 6; + */ + com.google.protobuf.TimestampOrBuilder getCreatedAtOrBuilder(); + + /** + * string file_format = 7; + */ + java.lang.String getFileFormat(); + /** + * string file_format = 7; + */ + com.google.protobuf.ByteString + getFileFormatBytes(); } /** * Protobuf type {@code flyteidl.artifact.ArtifactSpec} @@ -4190,6 +4270,7 @@ private ArtifactSpec(com.google.protobuf.GeneratedMessageV3.Builder builder) private ArtifactSpec() { shortDescription_ = ""; metadataType_ = ""; + fileFormat_ = ""; } @java.lang.Override @@ -4267,6 +4348,25 @@ private ArtifactSpec( metadataType_ = s; break; } + case 50: { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (createdAt_ != null) { + subBuilder = createdAt_.toBuilder(); + } + createdAt_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(createdAt_); + createdAt_ = subBuilder.buildPartial(); + } + + break; + } + case 58: { + java.lang.String s = input.readStringRequireUtf8(); + + fileFormat_ = s; + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -4460,6 +4560,61 @@ public java.lang.String getMetadataType() { } } + public static final int CREATED_AT_FIELD_NUMBER = 6; + private com.google.protobuf.Timestamp createdAt_; + /** + * .google.protobuf.Timestamp created_at = 6; + */ + public boolean hasCreatedAt() { + return createdAt_ != null; + } + /** + * .google.protobuf.Timestamp created_at = 6; + */ + public com.google.protobuf.Timestamp getCreatedAt() { + return createdAt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createdAt_; + } + /** + * .google.protobuf.Timestamp created_at = 6; + */ + public com.google.protobuf.TimestampOrBuilder getCreatedAtOrBuilder() { + return getCreatedAt(); + } + + public static final int FILE_FORMAT_FIELD_NUMBER = 7; + private volatile java.lang.Object fileFormat_; + /** + * string file_format = 7; + */ + public java.lang.String getFileFormat() { + java.lang.Object ref = fileFormat_; + 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(); + fileFormat_ = s; + return s; + } + } + /** + * string file_format = 7; + */ + public com.google.protobuf.ByteString + getFileFormatBytes() { + java.lang.Object ref = fileFormat_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + fileFormat_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -4489,6 +4644,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getMetadataTypeBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 5, metadataType_); } + if (createdAt_ != null) { + output.writeMessage(6, getCreatedAt()); + } + if (!getFileFormatBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 7, fileFormat_); + } unknownFields.writeTo(output); } @@ -4516,6 +4677,13 @@ public int getSerializedSize() { if (!getMetadataTypeBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, metadataType_); } + if (createdAt_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, getCreatedAt()); + } + if (!getFileFormatBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, fileFormat_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -4550,6 +4718,13 @@ public boolean equals(final java.lang.Object obj) { } if (!getMetadataType() .equals(other.getMetadataType())) return false; + if (hasCreatedAt() != other.hasCreatedAt()) return false; + if (hasCreatedAt()) { + if (!getCreatedAt() + .equals(other.getCreatedAt())) return false; + } + if (!getFileFormat() + .equals(other.getFileFormat())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -4577,6 +4752,12 @@ public int hashCode() { } hash = (37 * hash) + METADATA_TYPE_FIELD_NUMBER; hash = (53 * hash) + getMetadataType().hashCode(); + if (hasCreatedAt()) { + hash = (37 * hash) + CREATED_AT_FIELD_NUMBER; + hash = (53 * hash) + getCreatedAt().hashCode(); + } + hash = (37 * hash) + FILE_FORMAT_FIELD_NUMBER; + hash = (53 * hash) + getFileFormat().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -4732,6 +4913,14 @@ public Builder clear() { } metadataType_ = ""; + if (createdAtBuilder_ == null) { + createdAt_ = null; + } else { + createdAt_ = null; + createdAtBuilder_ = null; + } + fileFormat_ = ""; + return this; } @@ -4775,6 +4964,12 @@ public flyteidl.artifact.Artifacts.ArtifactSpec buildPartial() { result.userMetadata_ = userMetadataBuilder_.build(); } result.metadataType_ = metadataType_; + if (createdAtBuilder_ == null) { + result.createdAt_ = createdAt_; + } else { + result.createdAt_ = createdAtBuilder_.build(); + } + result.fileFormat_ = fileFormat_; onBuilt(); return result; } @@ -4840,6 +5035,13 @@ public Builder mergeFrom(flyteidl.artifact.Artifacts.ArtifactSpec other) { metadataType_ = other.metadataType_; onChanged(); } + if (other.hasCreatedAt()) { + mergeCreatedAt(other.getCreatedAt()); + } + if (!other.getFileFormat().isEmpty()) { + fileFormat_ = other.fileFormat_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -5447,6 +5649,192 @@ public Builder setMetadataTypeBytes( onChanged(); return this; } + + private com.google.protobuf.Timestamp createdAt_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> createdAtBuilder_; + /** + * .google.protobuf.Timestamp created_at = 6; + */ + public boolean hasCreatedAt() { + return createdAtBuilder_ != null || createdAt_ != null; + } + /** + * .google.protobuf.Timestamp created_at = 6; + */ + public com.google.protobuf.Timestamp getCreatedAt() { + if (createdAtBuilder_ == null) { + return createdAt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createdAt_; + } else { + return createdAtBuilder_.getMessage(); + } + } + /** + * .google.protobuf.Timestamp created_at = 6; + */ + public Builder setCreatedAt(com.google.protobuf.Timestamp value) { + if (createdAtBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createdAt_ = value; + onChanged(); + } else { + createdAtBuilder_.setMessage(value); + } + + return this; + } + /** + * .google.protobuf.Timestamp created_at = 6; + */ + public Builder setCreatedAt( + com.google.protobuf.Timestamp.Builder builderForValue) { + if (createdAtBuilder_ == null) { + createdAt_ = builderForValue.build(); + onChanged(); + } else { + createdAtBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .google.protobuf.Timestamp created_at = 6; + */ + public Builder mergeCreatedAt(com.google.protobuf.Timestamp value) { + if (createdAtBuilder_ == null) { + if (createdAt_ != null) { + createdAt_ = + com.google.protobuf.Timestamp.newBuilder(createdAt_).mergeFrom(value).buildPartial(); + } else { + createdAt_ = value; + } + onChanged(); + } else { + createdAtBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .google.protobuf.Timestamp created_at = 6; + */ + public Builder clearCreatedAt() { + if (createdAtBuilder_ == null) { + createdAt_ = null; + onChanged(); + } else { + createdAt_ = null; + createdAtBuilder_ = null; + } + + return this; + } + /** + * .google.protobuf.Timestamp created_at = 6; + */ + public com.google.protobuf.Timestamp.Builder getCreatedAtBuilder() { + + onChanged(); + return getCreatedAtFieldBuilder().getBuilder(); + } + /** + * .google.protobuf.Timestamp created_at = 6; + */ + public com.google.protobuf.TimestampOrBuilder getCreatedAtOrBuilder() { + if (createdAtBuilder_ != null) { + return createdAtBuilder_.getMessageOrBuilder(); + } else { + return createdAt_ == null ? + com.google.protobuf.Timestamp.getDefaultInstance() : createdAt_; + } + } + /** + * .google.protobuf.Timestamp created_at = 6; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> + getCreatedAtFieldBuilder() { + if (createdAtBuilder_ == null) { + createdAtBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>( + getCreatedAt(), + getParentForChildren(), + isClean()); + createdAt_ = null; + } + return createdAtBuilder_; + } + + private java.lang.Object fileFormat_ = ""; + /** + * string file_format = 7; + */ + public java.lang.String getFileFormat() { + java.lang.Object ref = fileFormat_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + fileFormat_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string file_format = 7; + */ + public com.google.protobuf.ByteString + getFileFormatBytes() { + java.lang.Object ref = fileFormat_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + fileFormat_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string file_format = 7; + */ + public Builder setFileFormat( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + fileFormat_ = value; + onChanged(); + return this; + } + /** + * string file_format = 7; + */ + public Builder clearFileFormat() { + + fileFormat_ = getDefaultInstance().getFileFormat(); + onChanged(); + return this; + } + /** + * string file_format = 7; + */ + public Builder setFileFormatBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + fileFormat_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -8015,50 +8403,63 @@ public interface SearchArtifactsRequestOrBuilder extends flyteidl.core.ArtifactId.PartitionsOrBuilder getPartitionsOrBuilder(); /** - * string principal = 3; + * .google.protobuf.Timestamp time_partition_value = 3; + */ + boolean hasTimePartitionValue(); + /** + * .google.protobuf.Timestamp time_partition_value = 3; + */ + com.google.protobuf.Timestamp getTimePartitionValue(); + /** + * .google.protobuf.Timestamp time_partition_value = 3; + */ + com.google.protobuf.TimestampOrBuilder getTimePartitionValueOrBuilder(); + + /** + * string principal = 4; */ java.lang.String getPrincipal(); /** - * string principal = 3; + * string principal = 4; */ com.google.protobuf.ByteString getPrincipalBytes(); /** - * string version = 4; + * string version = 5; */ java.lang.String getVersion(); /** - * string version = 4; + * string version = 5; */ com.google.protobuf.ByteString getVersionBytes(); /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ boolean hasOptions(); /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ flyteidl.artifact.Artifacts.SearchOptions getOptions(); /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ flyteidl.artifact.Artifacts.SearchOptionsOrBuilder getOptionsOrBuilder(); /** - * string token = 6; + * string token = 7; */ java.lang.String getToken(); /** - * string token = 6; + * string token = 7; */ com.google.protobuf.ByteString getTokenBytes(); /** - * int32 limit = 7; + * int32 limit = 8; */ int getLimit(); } @@ -8131,18 +8532,31 @@ private SearchArtifactsRequest( break; } case 26: { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (timePartitionValue_ != null) { + subBuilder = timePartitionValue_.toBuilder(); + } + timePartitionValue_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(timePartitionValue_); + timePartitionValue_ = subBuilder.buildPartial(); + } + + break; + } + case 34: { java.lang.String s = input.readStringRequireUtf8(); principal_ = s; break; } - case 34: { + case 42: { java.lang.String s = input.readStringRequireUtf8(); version_ = s; break; } - case 42: { + case 50: { flyteidl.artifact.Artifacts.SearchOptions.Builder subBuilder = null; if (options_ != null) { subBuilder = options_.toBuilder(); @@ -8155,13 +8569,13 @@ private SearchArtifactsRequest( break; } - case 50: { + case 58: { java.lang.String s = input.readStringRequireUtf8(); token_ = s; break; } - case 56: { + case 64: { limit_ = input.readInt32(); break; @@ -8240,10 +8654,31 @@ public flyteidl.core.ArtifactId.PartitionsOrBuilder getPartitionsOrBuilder() { return getPartitions(); } - public static final int PRINCIPAL_FIELD_NUMBER = 3; + public static final int TIME_PARTITION_VALUE_FIELD_NUMBER = 3; + private com.google.protobuf.Timestamp timePartitionValue_; + /** + * .google.protobuf.Timestamp time_partition_value = 3; + */ + public boolean hasTimePartitionValue() { + return timePartitionValue_ != null; + } + /** + * .google.protobuf.Timestamp time_partition_value = 3; + */ + public com.google.protobuf.Timestamp getTimePartitionValue() { + return timePartitionValue_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : timePartitionValue_; + } + /** + * .google.protobuf.Timestamp time_partition_value = 3; + */ + public com.google.protobuf.TimestampOrBuilder getTimePartitionValueOrBuilder() { + return getTimePartitionValue(); + } + + public static final int PRINCIPAL_FIELD_NUMBER = 4; private volatile java.lang.Object principal_; /** - * string principal = 3; + * string principal = 4; */ public java.lang.String getPrincipal() { java.lang.Object ref = principal_; @@ -8258,7 +8693,7 @@ public java.lang.String getPrincipal() { } } /** - * string principal = 3; + * string principal = 4; */ public com.google.protobuf.ByteString getPrincipalBytes() { @@ -8274,10 +8709,10 @@ public java.lang.String getPrincipal() { } } - public static final int VERSION_FIELD_NUMBER = 4; + public static final int VERSION_FIELD_NUMBER = 5; private volatile java.lang.Object version_; /** - * string version = 4; + * string version = 5; */ public java.lang.String getVersion() { java.lang.Object ref = version_; @@ -8292,7 +8727,7 @@ public java.lang.String getVersion() { } } /** - * string version = 4; + * string version = 5; */ public com.google.protobuf.ByteString getVersionBytes() { @@ -8308,31 +8743,31 @@ public java.lang.String getVersion() { } } - public static final int OPTIONS_FIELD_NUMBER = 5; + public static final int OPTIONS_FIELD_NUMBER = 6; private flyteidl.artifact.Artifacts.SearchOptions options_; /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ public boolean hasOptions() { return options_ != null; } /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ public flyteidl.artifact.Artifacts.SearchOptions getOptions() { return options_ == null ? flyteidl.artifact.Artifacts.SearchOptions.getDefaultInstance() : options_; } /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ public flyteidl.artifact.Artifacts.SearchOptionsOrBuilder getOptionsOrBuilder() { return getOptions(); } - public static final int TOKEN_FIELD_NUMBER = 6; + public static final int TOKEN_FIELD_NUMBER = 7; private volatile java.lang.Object token_; /** - * string token = 6; + * string token = 7; */ public java.lang.String getToken() { java.lang.Object ref = token_; @@ -8347,7 +8782,7 @@ public java.lang.String getToken() { } } /** - * string token = 6; + * string token = 7; */ public com.google.protobuf.ByteString getTokenBytes() { @@ -8363,10 +8798,10 @@ public java.lang.String getToken() { } } - public static final int LIMIT_FIELD_NUMBER = 7; + public static final int LIMIT_FIELD_NUMBER = 8; private int limit_; /** - * int32 limit = 7; + * int32 limit = 8; */ public int getLimit() { return limit_; @@ -8392,20 +8827,23 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (partitions_ != null) { output.writeMessage(2, getPartitions()); } + if (timePartitionValue_ != null) { + output.writeMessage(3, getTimePartitionValue()); + } if (!getPrincipalBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, principal_); + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, principal_); } if (!getVersionBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 4, version_); + com.google.protobuf.GeneratedMessageV3.writeString(output, 5, version_); } if (options_ != null) { - output.writeMessage(5, getOptions()); + output.writeMessage(6, getOptions()); } if (!getTokenBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 6, token_); + com.google.protobuf.GeneratedMessageV3.writeString(output, 7, token_); } if (limit_ != 0) { - output.writeInt32(7, limit_); + output.writeInt32(8, limit_); } unknownFields.writeTo(output); } @@ -8424,22 +8862,26 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getPartitions()); } + if (timePartitionValue_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getTimePartitionValue()); + } if (!getPrincipalBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, principal_); + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, principal_); } if (!getVersionBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, version_); + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, version_); } if (options_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(5, getOptions()); + .computeMessageSize(6, getOptions()); } if (!getTokenBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, token_); + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, token_); } if (limit_ != 0) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(7, limit_); + .computeInt32Size(8, limit_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -8466,6 +8908,11 @@ public boolean equals(final java.lang.Object obj) { if (!getPartitions() .equals(other.getPartitions())) return false; } + if (hasTimePartitionValue() != other.hasTimePartitionValue()) return false; + if (hasTimePartitionValue()) { + if (!getTimePartitionValue() + .equals(other.getTimePartitionValue())) return false; + } if (!getPrincipal() .equals(other.getPrincipal())) return false; if (!getVersion() @@ -8498,6 +8945,10 @@ public int hashCode() { hash = (37 * hash) + PARTITIONS_FIELD_NUMBER; hash = (53 * hash) + getPartitions().hashCode(); } + if (hasTimePartitionValue()) { + hash = (37 * hash) + TIME_PARTITION_VALUE_FIELD_NUMBER; + hash = (53 * hash) + getTimePartitionValue().hashCode(); + } hash = (37 * hash) + PRINCIPAL_FIELD_NUMBER; hash = (53 * hash) + getPrincipal().hashCode(); hash = (37 * hash) + VERSION_FIELD_NUMBER; @@ -8655,6 +9106,12 @@ public Builder clear() { partitions_ = null; partitionsBuilder_ = null; } + if (timePartitionValueBuilder_ == null) { + timePartitionValue_ = null; + } else { + timePartitionValue_ = null; + timePartitionValueBuilder_ = null; + } principal_ = ""; version_ = ""; @@ -8705,6 +9162,11 @@ public flyteidl.artifact.Artifacts.SearchArtifactsRequest buildPartial() { } else { result.partitions_ = partitionsBuilder_.build(); } + if (timePartitionValueBuilder_ == null) { + result.timePartitionValue_ = timePartitionValue_; + } else { + result.timePartitionValue_ = timePartitionValueBuilder_.build(); + } result.principal_ = principal_; result.version_ = version_; if (optionsBuilder_ == null) { @@ -8768,6 +9230,9 @@ public Builder mergeFrom(flyteidl.artifact.Artifacts.SearchArtifactsRequest othe if (other.hasPartitions()) { mergePartitions(other.getPartitions()); } + if (other.hasTimePartitionValue()) { + mergeTimePartitionValue(other.getTimePartitionValue()); + } if (!other.getPrincipal().isEmpty()) { principal_ = other.principal_; onChanged(); @@ -9049,9 +9514,126 @@ public flyteidl.core.ArtifactId.PartitionsOrBuilder getPartitionsOrBuilder() { return partitionsBuilder_; } + private com.google.protobuf.Timestamp timePartitionValue_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> timePartitionValueBuilder_; + /** + * .google.protobuf.Timestamp time_partition_value = 3; + */ + public boolean hasTimePartitionValue() { + return timePartitionValueBuilder_ != null || timePartitionValue_ != null; + } + /** + * .google.protobuf.Timestamp time_partition_value = 3; + */ + public com.google.protobuf.Timestamp getTimePartitionValue() { + if (timePartitionValueBuilder_ == null) { + return timePartitionValue_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : timePartitionValue_; + } else { + return timePartitionValueBuilder_.getMessage(); + } + } + /** + * .google.protobuf.Timestamp time_partition_value = 3; + */ + public Builder setTimePartitionValue(com.google.protobuf.Timestamp value) { + if (timePartitionValueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + timePartitionValue_ = value; + onChanged(); + } else { + timePartitionValueBuilder_.setMessage(value); + } + + return this; + } + /** + * .google.protobuf.Timestamp time_partition_value = 3; + */ + public Builder setTimePartitionValue( + com.google.protobuf.Timestamp.Builder builderForValue) { + if (timePartitionValueBuilder_ == null) { + timePartitionValue_ = builderForValue.build(); + onChanged(); + } else { + timePartitionValueBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .google.protobuf.Timestamp time_partition_value = 3; + */ + public Builder mergeTimePartitionValue(com.google.protobuf.Timestamp value) { + if (timePartitionValueBuilder_ == null) { + if (timePartitionValue_ != null) { + timePartitionValue_ = + com.google.protobuf.Timestamp.newBuilder(timePartitionValue_).mergeFrom(value).buildPartial(); + } else { + timePartitionValue_ = value; + } + onChanged(); + } else { + timePartitionValueBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .google.protobuf.Timestamp time_partition_value = 3; + */ + public Builder clearTimePartitionValue() { + if (timePartitionValueBuilder_ == null) { + timePartitionValue_ = null; + onChanged(); + } else { + timePartitionValue_ = null; + timePartitionValueBuilder_ = null; + } + + return this; + } + /** + * .google.protobuf.Timestamp time_partition_value = 3; + */ + public com.google.protobuf.Timestamp.Builder getTimePartitionValueBuilder() { + + onChanged(); + return getTimePartitionValueFieldBuilder().getBuilder(); + } + /** + * .google.protobuf.Timestamp time_partition_value = 3; + */ + public com.google.protobuf.TimestampOrBuilder getTimePartitionValueOrBuilder() { + if (timePartitionValueBuilder_ != null) { + return timePartitionValueBuilder_.getMessageOrBuilder(); + } else { + return timePartitionValue_ == null ? + com.google.protobuf.Timestamp.getDefaultInstance() : timePartitionValue_; + } + } + /** + * .google.protobuf.Timestamp time_partition_value = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> + getTimePartitionValueFieldBuilder() { + if (timePartitionValueBuilder_ == null) { + timePartitionValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>( + getTimePartitionValue(), + getParentForChildren(), + isClean()); + timePartitionValue_ = null; + } + return timePartitionValueBuilder_; + } + private java.lang.Object principal_ = ""; /** - * string principal = 3; + * string principal = 4; */ public java.lang.String getPrincipal() { java.lang.Object ref = principal_; @@ -9066,7 +9648,7 @@ public java.lang.String getPrincipal() { } } /** - * string principal = 3; + * string principal = 4; */ public com.google.protobuf.ByteString getPrincipalBytes() { @@ -9082,7 +9664,7 @@ public java.lang.String getPrincipal() { } } /** - * string principal = 3; + * string principal = 4; */ public Builder setPrincipal( java.lang.String value) { @@ -9095,7 +9677,7 @@ public Builder setPrincipal( return this; } /** - * string principal = 3; + * string principal = 4; */ public Builder clearPrincipal() { @@ -9104,7 +9686,7 @@ public Builder clearPrincipal() { return this; } /** - * string principal = 3; + * string principal = 4; */ public Builder setPrincipalBytes( com.google.protobuf.ByteString value) { @@ -9120,7 +9702,7 @@ public Builder setPrincipalBytes( private java.lang.Object version_ = ""; /** - * string version = 4; + * string version = 5; */ public java.lang.String getVersion() { java.lang.Object ref = version_; @@ -9135,7 +9717,7 @@ public java.lang.String getVersion() { } } /** - * string version = 4; + * string version = 5; */ public com.google.protobuf.ByteString getVersionBytes() { @@ -9151,7 +9733,7 @@ public java.lang.String getVersion() { } } /** - * string version = 4; + * string version = 5; */ public Builder setVersion( java.lang.String value) { @@ -9164,7 +9746,7 @@ public Builder setVersion( return this; } /** - * string version = 4; + * string version = 5; */ public Builder clearVersion() { @@ -9173,7 +9755,7 @@ public Builder clearVersion() { return this; } /** - * string version = 4; + * string version = 5; */ public Builder setVersionBytes( com.google.protobuf.ByteString value) { @@ -9191,13 +9773,13 @@ public Builder setVersionBytes( private com.google.protobuf.SingleFieldBuilderV3< flyteidl.artifact.Artifacts.SearchOptions, flyteidl.artifact.Artifacts.SearchOptions.Builder, flyteidl.artifact.Artifacts.SearchOptionsOrBuilder> optionsBuilder_; /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ public boolean hasOptions() { return optionsBuilder_ != null || options_ != null; } /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ public flyteidl.artifact.Artifacts.SearchOptions getOptions() { if (optionsBuilder_ == null) { @@ -9207,7 +9789,7 @@ public flyteidl.artifact.Artifacts.SearchOptions getOptions() { } } /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ public Builder setOptions(flyteidl.artifact.Artifacts.SearchOptions value) { if (optionsBuilder_ == null) { @@ -9223,7 +9805,7 @@ public Builder setOptions(flyteidl.artifact.Artifacts.SearchOptions value) { return this; } /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ public Builder setOptions( flyteidl.artifact.Artifacts.SearchOptions.Builder builderForValue) { @@ -9237,7 +9819,7 @@ public Builder setOptions( return this; } /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ public Builder mergeOptions(flyteidl.artifact.Artifacts.SearchOptions value) { if (optionsBuilder_ == null) { @@ -9255,7 +9837,7 @@ public Builder mergeOptions(flyteidl.artifact.Artifacts.SearchOptions value) { return this; } /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ public Builder clearOptions() { if (optionsBuilder_ == null) { @@ -9269,7 +9851,7 @@ public Builder clearOptions() { return this; } /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ public flyteidl.artifact.Artifacts.SearchOptions.Builder getOptionsBuilder() { @@ -9277,7 +9859,7 @@ public flyteidl.artifact.Artifacts.SearchOptions.Builder getOptionsBuilder() { return getOptionsFieldBuilder().getBuilder(); } /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ public flyteidl.artifact.Artifacts.SearchOptionsOrBuilder getOptionsOrBuilder() { if (optionsBuilder_ != null) { @@ -9288,7 +9870,7 @@ public flyteidl.artifact.Artifacts.SearchOptionsOrBuilder getOptionsOrBuilder() } } /** - * .flyteidl.artifact.SearchOptions options = 5; + * .flyteidl.artifact.SearchOptions options = 6; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.artifact.Artifacts.SearchOptions, flyteidl.artifact.Artifacts.SearchOptions.Builder, flyteidl.artifact.Artifacts.SearchOptionsOrBuilder> @@ -9306,7 +9888,7 @@ public flyteidl.artifact.Artifacts.SearchOptionsOrBuilder getOptionsOrBuilder() private java.lang.Object token_ = ""; /** - * string token = 6; + * string token = 7; */ public java.lang.String getToken() { java.lang.Object ref = token_; @@ -9321,7 +9903,7 @@ public java.lang.String getToken() { } } /** - * string token = 6; + * string token = 7; */ public com.google.protobuf.ByteString getTokenBytes() { @@ -9337,7 +9919,7 @@ public java.lang.String getToken() { } } /** - * string token = 6; + * string token = 7; */ public Builder setToken( java.lang.String value) { @@ -9350,7 +9932,7 @@ public Builder setToken( return this; } /** - * string token = 6; + * string token = 7; */ public Builder clearToken() { @@ -9359,7 +9941,7 @@ public Builder clearToken() { return this; } /** - * string token = 6; + * string token = 7; */ public Builder setTokenBytes( com.google.protobuf.ByteString value) { @@ -9375,13 +9957,13 @@ public Builder setTokenBytes( private int limit_ ; /** - * int32 limit = 7; + * int32 limit = 8; */ public int getLimit() { return limit_; } /** - * int32 limit = 7; + * int32 limit = 8; */ public Builder setLimit(int value) { @@ -9390,7 +9972,7 @@ public Builder setLimit(int value) { return this; } /** - * int32 limit = 7; + * int32 limit = 8; */ public Builder clearLimit() { @@ -21343,122 +21925,127 @@ public flyteidl.artifact.Artifacts.ListUsageResponse getDefaultInstanceForType() java.lang.String[] descriptorData = { "\n!flyteidl/artifact/artifacts.proto\022\021fly" + "teidl.artifact\032\031google/protobuf/any.prot" + - "o\032\034google/api/annotations.proto\032 flyteid" + - "l/admin/launch_plan.proto\032\034flyteidl/core" + - "/literals.proto\032\031flyteidl/core/types.pro" + - "to\032\036flyteidl/core/identifier.proto\032\037flyt" + - "eidl/core/artifact_id.proto\032\035flyteidl/co" + - "re/interface.proto\032 flyteidl/event/cloud" + - "events.proto\"\252\001\n\010Artifact\022.\n\013artifact_id" + - "\030\001 \001(\0132\031.flyteidl.core.ArtifactID\022-\n\004spe" + - "c\030\002 \001(\0132\037.flyteidl.artifact.ArtifactSpec" + - "\022\014\n\004tags\030\003 \003(\t\0221\n\006source\030\004 \001(\0132!.flyteid" + - "l.artifact.ArtifactSource\"\312\002\n\025CreateArti" + - "factRequest\0220\n\014artifact_key\030\001 \001(\0132\032.flyt" + - "eidl.core.ArtifactKey\022\017\n\007version\030\003 \001(\t\022-" + - "\n\004spec\030\002 \001(\0132\037.flyteidl.artifact.Artifac" + - "tSpec\022L\n\npartitions\030\004 \003(\01328.flyteidl.art" + - "ifact.CreateArtifactRequest.PartitionsEn" + - "try\022\013\n\003tag\030\005 \001(\t\0221\n\006source\030\006 \001(\0132!.flyte" + - "idl.artifact.ArtifactSource\0321\n\017Partition" + - "sEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\277" + - "\001\n\016ArtifactSource\022F\n\022workflow_execution\030" + - "\001 \001(\0132*.flyteidl.core.WorkflowExecutionI" + - "dentifier\022\017\n\007node_id\030\002 \001(\t\022*\n\007task_id\030\003 " + - "\001(\0132\031.flyteidl.core.Identifier\022\025\n\rretry_" + - "attempt\030\004 \001(\r\022\021\n\tprincipal\030\005 \001(\t\"\276\001\n\014Art" + - "ifactSpec\022%\n\005value\030\001 \001(\0132\026.flyteidl.core" + - ".Literal\022(\n\004type\030\002 \001(\0132\032.flyteidl.core.L" + - "iteralType\022\031\n\021short_description\030\003 \001(\t\022+\n" + - "\ruser_metadata\030\004 \001(\0132\024.google.protobuf.A" + - "ny\022\025\n\rmetadata_type\030\005 \001(\t\"G\n\026CreateArtif" + - "actResponse\022-\n\010artifact\030\001 \001(\0132\033.flyteidl" + - ".artifact.Artifact\"R\n\022GetArtifactRequest" + - "\022+\n\005query\030\001 \001(\0132\034.flyteidl.core.Artifact" + - "Query\022\017\n\007details\030\002 \001(\010\"D\n\023GetArtifactRes" + - "ponse\022-\n\010artifact\030\001 \001(\0132\033.flyteidl.artif" + - "act.Artifact\"A\n\rSearchOptions\022\031\n\021strict_" + - "partitions\030\001 \001(\010\022\025\n\rlatest_by_key\030\002 \001(\010\"" + - "\356\001\n\026SearchArtifactsRequest\0220\n\014artifact_k" + - "ey\030\001 \001(\0132\032.flyteidl.core.ArtifactKey\022-\n\n" + - "partitions\030\002 \001(\0132\031.flyteidl.core.Partiti" + - "ons\022\021\n\tprincipal\030\003 \001(\t\022\017\n\007version\030\004 \001(\t\022" + - "1\n\007options\030\005 \001(\0132 .flyteidl.artifact.Sea" + - "rchOptions\022\r\n\005token\030\006 \001(\t\022\r\n\005limit\030\007 \001(\005" + - "\"X\n\027SearchArtifactsResponse\022.\n\tartifacts" + - "\030\001 \003(\0132\033.flyteidl.artifact.Artifact\022\r\n\005t" + - "oken\030\002 \001(\t\"\311\001\n\031FindByWorkflowExecRequest" + - "\022;\n\007exec_id\030\001 \001(\0132*.flyteidl.core.Workfl" + - "owExecutionIdentifier\022I\n\tdirection\030\002 \001(\016" + - "26.flyteidl.artifact.FindByWorkflowExecR" + - "equest.Direction\"$\n\tDirection\022\n\n\006INPUTS\020" + - "\000\022\013\n\007OUTPUTS\020\001\"a\n\rAddTagRequest\022.\n\013artif" + - "act_id\030\001 \001(\0132\031.flyteidl.core.ArtifactID\022" + - "\r\n\005value\030\002 \001(\t\022\021\n\toverwrite\030\003 \001(\010\"\020\n\016Add" + - "TagResponse\"O\n\024CreateTriggerRequest\0227\n\023t" + - "rigger_launch_plan\030\001 \001(\0132\032.flyteidl.admi" + - "n.LaunchPlan\"\027\n\025CreateTriggerResponse\"I\n" + - "\030DeactivateTriggerRequest\022-\n\ntrigger_id\030" + - "\001 \001(\0132\031.flyteidl.core.Identifier\"\033\n\031Deac" + - "tivateTriggerResponse\"m\n\020ArtifactProduce" + - "r\022,\n\tentity_id\030\001 \001(\0132\031.flyteidl.core.Ide" + - "ntifier\022+\n\007outputs\030\002 \001(\0132\032.flyteidl.core" + - ".VariableMap\"Q\n\027RegisterProducerRequest\022" + - "6\n\tproducers\030\001 \003(\0132#.flyteidl.artifact.A" + - "rtifactProducer\"m\n\020ArtifactConsumer\022,\n\te" + - "ntity_id\030\001 \001(\0132\031.flyteidl.core.Identifie" + - "r\022+\n\006inputs\030\002 \001(\0132\033.flyteidl.core.Parame" + - "terMap\"Q\n\027RegisterConsumerRequest\0226\n\tcon" + - "sumers\030\001 \003(\0132#.flyteidl.artifact.Artifac" + - "tConsumer\"\022\n\020RegisterResponse\"\205\001\n\026Execut" + - "ionInputsRequest\022@\n\014execution_id\030\001 \001(\0132*" + - ".flyteidl.core.WorkflowExecutionIdentifi" + - "er\022)\n\006inputs\030\002 \003(\0132\031.flyteidl.core.Artif" + - "actID\"\031\n\027ExecutionInputsResponse\"B\n\020List" + - "UsageRequest\022.\n\013artifact_id\030\001 \001(\0132\031.flyt" + - "eidl.core.ArtifactID\"S\n\021ListUsageRespons" + - "e\022>\n\nexecutions\030\001 \003(\0132*.flyteidl.core.Wo" + - "rkflowExecutionIdentifier2\373\013\n\020ArtifactRe" + - "gistry\022g\n\016CreateArtifact\022(.flyteidl.arti" + - "fact.CreateArtifactRequest\032).flyteidl.ar" + - "tifact.CreateArtifactResponse\"\000\022\204\001\n\013GetA" + - "rtifact\022%.flyteidl.artifact.GetArtifactR" + - "equest\032&.flyteidl.artifact.GetArtifactRe" + - "sponse\"&\202\323\344\223\002 \"\033/artifacts/api/v1/artifa" + - "cts:\001*\022\215\001\n\017SearchArtifacts\022).flyteidl.ar" + - "tifact.SearchArtifactsRequest\032*.flyteidl" + - ".artifact.SearchArtifactsResponse\"#\202\323\344\223\002" + - "\035\"\030/artifacts/api/v1/search:\001*\022d\n\rCreate" + - "Trigger\022\'.flyteidl.artifact.CreateTrigge" + - "rRequest\032(.flyteidl.artifact.CreateTrigg" + - "erResponse\"\000\022\237\001\n\021DeactivateTrigger\022+.fly" + - "teidl.artifact.DeactivateTriggerRequest\032" + - ",.flyteidl.artifact.DeactivateTriggerRes" + - "ponse\"/\202\323\344\223\002)2$/artifacts/api/v1/trigger" + - "/deactivate:\001*\022O\n\006AddTag\022 .flyteidl.arti" + - "fact.AddTagRequest\032!.flyteidl.artifact.A" + - "ddTagResponse\"\000\022e\n\020RegisterProducer\022*.fl" + - "yteidl.artifact.RegisterProducerRequest\032" + - "#.flyteidl.artifact.RegisterResponse\"\000\022e" + - "\n\020RegisterConsumer\022*.flyteidl.artifact.R" + - "egisterConsumerRequest\032#.flyteidl.artifa" + - "ct.RegisterResponse\"\000\022m\n\022SetExecutionInp" + - "uts\022).flyteidl.artifact.ExecutionInputsR" + - "equest\032*.flyteidl.artifact.ExecutionInpu" + - "tsResponse\"\000\022\330\001\n\022FindByWorkflowExec\022,.fl" + - "yteidl.artifact.FindByWorkflowExecReques" + - "t\032*.flyteidl.artifact.SearchArtifactsRes" + - "ponse\"h\202\323\344\223\002b\022`/artifacts/api/v1/search/" + - "execution/{exec_id.project}/{exec_id.dom" + - "ain}/{exec_id.name}/{direction}\022\365\001\n\tList" + - "Usage\022#.flyteidl.artifact.ListUsageReque" + - "st\032$.flyteidl.artifact.ListUsageResponse" + - "\"\234\001\202\323\344\223\002\225\001\022\222\001/artifacts/api/v1/usage/{ar" + - "tifact_id.artifact_key.project}/{artifac" + - "t_id.artifact_key.domain}/{artifact_id.a" + - "rtifact_key.name}/{artifact_id.version}B" + - "@Z>github.com/flyteorg/flyte/flyteidl/ge" + - "n/pb-go/flyteidl/artifactb\006proto3" + "o\032\034google/api/annotations.proto\032\037google/" + + "protobuf/timestamp.proto\032 flyteidl/admin" + + "/launch_plan.proto\032\034flyteidl/core/litera" + + "ls.proto\032\031flyteidl/core/types.proto\032\036fly" + + "teidl/core/identifier.proto\032\037flyteidl/co" + + "re/artifact_id.proto\032\035flyteidl/core/inte" + + "rface.proto\032 flyteidl/event/cloudevents." + + "proto\"\252\001\n\010Artifact\022.\n\013artifact_id\030\001 \001(\0132" + + "\031.flyteidl.core.ArtifactID\022-\n\004spec\030\002 \001(\013" + + "2\037.flyteidl.artifact.ArtifactSpec\022\014\n\004tag" + + "s\030\003 \003(\t\0221\n\006source\030\004 \001(\0132!.flyteidl.artif" + + "act.ArtifactSource\"\367\002\n\025CreateArtifactReq" + + "uest\0220\n\014artifact_key\030\001 \001(\0132\032.flyteidl.co" + + "re.ArtifactKey\022\017\n\007version\030\003 \001(\t\022-\n\004spec\030" + + "\002 \001(\0132\037.flyteidl.artifact.ArtifactSpec\022L" + + "\n\npartitions\030\004 \003(\01328.flyteidl.artifact.C" + + "reateArtifactRequest.PartitionsEntry\0228\n\024" + + "time_partition_value\030\005 \001(\0132\032.google.prot" + + "obuf.Timestamp\0221\n\006source\030\006 \001(\0132!.flyteid" + + "l.artifact.ArtifactSource\0321\n\017PartitionsE" + + "ntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\277\001\n" + + "\016ArtifactSource\022F\n\022workflow_execution\030\001 " + + "\001(\0132*.flyteidl.core.WorkflowExecutionIde" + + "ntifier\022\017\n\007node_id\030\002 \001(\t\022*\n\007task_id\030\003 \001(" + + "\0132\031.flyteidl.core.Identifier\022\025\n\rretry_at" + + "tempt\030\004 \001(\r\022\021\n\tprincipal\030\005 \001(\t\"\203\002\n\014Artif" + + "actSpec\022%\n\005value\030\001 \001(\0132\026.flyteidl.core.L" + + "iteral\022(\n\004type\030\002 \001(\0132\032.flyteidl.core.Lit" + + "eralType\022\031\n\021short_description\030\003 \001(\t\022+\n\ru" + + "ser_metadata\030\004 \001(\0132\024.google.protobuf.Any" + + "\022\025\n\rmetadata_type\030\005 \001(\t\022.\n\ncreated_at\030\006 " + + "\001(\0132\032.google.protobuf.Timestamp\022\023\n\013file_" + + "format\030\007 \001(\t\"G\n\026CreateArtifactResponse\022-" + + "\n\010artifact\030\001 \001(\0132\033.flyteidl.artifact.Art" + + "ifact\"R\n\022GetArtifactRequest\022+\n\005query\030\001 \001" + + "(\0132\034.flyteidl.core.ArtifactQuery\022\017\n\007deta" + + "ils\030\002 \001(\010\"D\n\023GetArtifactResponse\022-\n\010arti" + + "fact\030\001 \001(\0132\033.flyteidl.artifact.Artifact\"" + + "A\n\rSearchOptions\022\031\n\021strict_partitions\030\001 " + + "\001(\010\022\025\n\rlatest_by_key\030\002 \001(\010\"\250\002\n\026SearchArt" + + "ifactsRequest\0220\n\014artifact_key\030\001 \001(\0132\032.fl" + + "yteidl.core.ArtifactKey\022-\n\npartitions\030\002 " + + "\001(\0132\031.flyteidl.core.Partitions\0228\n\024time_p" + + "artition_value\030\003 \001(\0132\032.google.protobuf.T" + + "imestamp\022\021\n\tprincipal\030\004 \001(\t\022\017\n\007version\030\005" + + " \001(\t\0221\n\007options\030\006 \001(\0132 .flyteidl.artifac" + + "t.SearchOptions\022\r\n\005token\030\007 \001(\t\022\r\n\005limit\030" + + "\010 \001(\005\"X\n\027SearchArtifactsResponse\022.\n\tarti" + + "facts\030\001 \003(\0132\033.flyteidl.artifact.Artifact" + + "\022\r\n\005token\030\002 \001(\t\"\311\001\n\031FindByWorkflowExecRe" + + "quest\022;\n\007exec_id\030\001 \001(\0132*.flyteidl.core.W" + + "orkflowExecutionIdentifier\022I\n\tdirection\030" + + "\002 \001(\01626.flyteidl.artifact.FindByWorkflow" + + "ExecRequest.Direction\"$\n\tDirection\022\n\n\006IN" + + "PUTS\020\000\022\013\n\007OUTPUTS\020\001\"a\n\rAddTagRequest\022.\n\013" + + "artifact_id\030\001 \001(\0132\031.flyteidl.core.Artifa" + + "ctID\022\r\n\005value\030\002 \001(\t\022\021\n\toverwrite\030\003 \001(\010\"\020" + + "\n\016AddTagResponse\"O\n\024CreateTriggerRequest" + + "\0227\n\023trigger_launch_plan\030\001 \001(\0132\032.flyteidl" + + ".admin.LaunchPlan\"\027\n\025CreateTriggerRespon" + + "se\"I\n\030DeactivateTriggerRequest\022-\n\ntrigge" + + "r_id\030\001 \001(\0132\031.flyteidl.core.Identifier\"\033\n" + + "\031DeactivateTriggerResponse\"m\n\020ArtifactPr" + + "oducer\022,\n\tentity_id\030\001 \001(\0132\031.flyteidl.cor" + + "e.Identifier\022+\n\007outputs\030\002 \001(\0132\032.flyteidl" + + ".core.VariableMap\"Q\n\027RegisterProducerReq" + + "uest\0226\n\tproducers\030\001 \003(\0132#.flyteidl.artif" + + "act.ArtifactProducer\"m\n\020ArtifactConsumer" + + "\022,\n\tentity_id\030\001 \001(\0132\031.flyteidl.core.Iden" + + "tifier\022+\n\006inputs\030\002 \001(\0132\033.flyteidl.core.P" + + "arameterMap\"Q\n\027RegisterConsumerRequest\0226" + + "\n\tconsumers\030\001 \003(\0132#.flyteidl.artifact.Ar" + + "tifactConsumer\"\022\n\020RegisterResponse\"\205\001\n\026E" + + "xecutionInputsRequest\022@\n\014execution_id\030\001 " + + "\001(\0132*.flyteidl.core.WorkflowExecutionIde" + + "ntifier\022)\n\006inputs\030\002 \003(\0132\031.flyteidl.core." + + "ArtifactID\"\031\n\027ExecutionInputsResponse\"B\n" + + "\020ListUsageRequest\022.\n\013artifact_id\030\001 \001(\0132\031" + + ".flyteidl.core.ArtifactID\"S\n\021ListUsageRe" + + "sponse\022>\n\nexecutions\030\001 \003(\0132*.flyteidl.co" + + "re.WorkflowExecutionIdentifier2\373\013\n\020Artif" + + "actRegistry\022g\n\016CreateArtifact\022(.flyteidl" + + ".artifact.CreateArtifactRequest\032).flytei" + + "dl.artifact.CreateArtifactResponse\"\000\022\204\001\n" + + "\013GetArtifact\022%.flyteidl.artifact.GetArti" + + "factRequest\032&.flyteidl.artifact.GetArtif" + + "actResponse\"&\202\323\344\223\002 \"\033/artifacts/api/v1/a" + + "rtifacts:\001*\022\215\001\n\017SearchArtifacts\022).flytei" + + "dl.artifact.SearchArtifactsRequest\032*.fly" + + "teidl.artifact.SearchArtifactsResponse\"#" + + "\202\323\344\223\002\035\"\030/artifacts/api/v1/search:\001*\022d\n\rC" + + "reateTrigger\022\'.flyteidl.artifact.CreateT" + + "riggerRequest\032(.flyteidl.artifact.Create" + + "TriggerResponse\"\000\022\237\001\n\021DeactivateTrigger\022" + + "+.flyteidl.artifact.DeactivateTriggerReq" + + "uest\032,.flyteidl.artifact.DeactivateTrigg" + + "erResponse\"/\202\323\344\223\002)2$/artifacts/api/v1/tr" + + "igger/deactivate:\001*\022O\n\006AddTag\022 .flyteidl" + + ".artifact.AddTagRequest\032!.flyteidl.artif" + + "act.AddTagResponse\"\000\022e\n\020RegisterProducer" + + "\022*.flyteidl.artifact.RegisterProducerReq" + + "uest\032#.flyteidl.artifact.RegisterRespons" + + "e\"\000\022e\n\020RegisterConsumer\022*.flyteidl.artif" + + "act.RegisterConsumerRequest\032#.flyteidl.a" + + "rtifact.RegisterResponse\"\000\022m\n\022SetExecuti" + + "onInputs\022).flyteidl.artifact.ExecutionIn" + + "putsRequest\032*.flyteidl.artifact.Executio" + + "nInputsResponse\"\000\022\330\001\n\022FindByWorkflowExec" + + "\022,.flyteidl.artifact.FindByWorkflowExecR" + + "equest\032*.flyteidl.artifact.SearchArtifac" + + "tsResponse\"h\202\323\344\223\002b\022`/artifacts/api/v1/se" + + "arch/execution/{exec_id.project}/{exec_i" + + "d.domain}/{exec_id.name}/{direction}\022\365\001\n" + + "\tListUsage\022#.flyteidl.artifact.ListUsage" + + "Request\032$.flyteidl.artifact.ListUsageRes" + + "ponse\"\234\001\202\323\344\223\002\225\001\022\222\001/artifacts/api/v1/usag" + + "e/{artifact_id.artifact_key.project}/{ar" + + "tifact_id.artifact_key.domain}/{artifact" + + "_id.artifact_key.name}/{artifact_id.vers" + + "ion}B@Z>github.com/flyteorg/flyte/flytei" + + "dl/gen/pb-go/flyteidl/artifactb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -21473,6 +22060,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( new com.google.protobuf.Descriptors.FileDescriptor[] { com.google.protobuf.AnyProto.getDescriptor(), com.google.api.AnnotationsProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), flyteidl.admin.LaunchPlanOuterClass.getDescriptor(), flyteidl.core.Literals.getDescriptor(), flyteidl.core.Types.getDescriptor(), @@ -21492,7 +22080,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_artifact_CreateArtifactRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_artifact_CreateArtifactRequest_descriptor, - new java.lang.String[] { "ArtifactKey", "Version", "Spec", "Partitions", "Tag", "Source", }); + new java.lang.String[] { "ArtifactKey", "Version", "Spec", "Partitions", "TimePartitionValue", "Source", }); internal_static_flyteidl_artifact_CreateArtifactRequest_PartitionsEntry_descriptor = internal_static_flyteidl_artifact_CreateArtifactRequest_descriptor.getNestedTypes().get(0); internal_static_flyteidl_artifact_CreateArtifactRequest_PartitionsEntry_fieldAccessorTable = new @@ -21510,7 +22098,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_artifact_ArtifactSpec_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_artifact_ArtifactSpec_descriptor, - new java.lang.String[] { "Value", "Type", "ShortDescription", "UserMetadata", "MetadataType", }); + new java.lang.String[] { "Value", "Type", "ShortDescription", "UserMetadata", "MetadataType", "CreatedAt", "FileFormat", }); internal_static_flyteidl_artifact_CreateArtifactResponse_descriptor = getDescriptor().getMessageTypes().get(4); internal_static_flyteidl_artifact_CreateArtifactResponse_fieldAccessorTable = new @@ -21540,7 +22128,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_artifact_SearchArtifactsRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_artifact_SearchArtifactsRequest_descriptor, - new java.lang.String[] { "ArtifactKey", "Partitions", "Principal", "Version", "Options", "Token", "Limit", }); + new java.lang.String[] { "ArtifactKey", "Partitions", "TimePartitionValue", "Principal", "Version", "Options", "Token", "Limit", }); internal_static_flyteidl_artifact_SearchArtifactsResponse_descriptor = getDescriptor().getMessageTypes().get(9); internal_static_flyteidl_artifact_SearchArtifactsResponse_fieldAccessorTable = new @@ -21650,6 +22238,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( .internalUpdateFileDescriptor(descriptor, registry); com.google.protobuf.AnyProto.getDescriptor(); com.google.api.AnnotationsProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); flyteidl.admin.LaunchPlanOuterClass.getDescriptor(); flyteidl.core.Literals.getDescriptor(); flyteidl.core.Types.getDescriptor(); diff --git a/flyteidl/gen/pb-java/flyteidl/core/ArtifactId.java b/flyteidl/gen/pb-java/flyteidl/core/ArtifactId.java index 3f9d3c7616..3b4a1132e7 100644 --- a/flyteidl/gen/pb-java/flyteidl/core/ArtifactId.java +++ b/flyteidl/gen/pb-java/flyteidl/core/ArtifactId.java @@ -883,32 +883,39 @@ public interface ArtifactBindingDataOrBuilder extends int getIndex(); /** - *
-     * These two fields are only relevant in the partition value case
-     * 
- * * string partition_key = 2; */ java.lang.String getPartitionKey(); /** - *
-     * These two fields are only relevant in the partition value case
-     * 
- * * string partition_key = 2; */ com.google.protobuf.ByteString getPartitionKeyBytes(); /** - * string transform = 3; + * bool bind_to_time_partition = 3; + */ + boolean getBindToTimePartition(); + + /** + *
+     * This is only relevant in the time partition case
+     * 
+ * + * string transform = 4; */ java.lang.String getTransform(); /** - * string transform = 3; + *
+     * This is only relevant in the time partition case
+     * 
+ * + * string transform = 4; */ com.google.protobuf.ByteString getTransformBytes(); + + public flyteidl.core.ArtifactId.ArtifactBindingData.PartitionDataCase getPartitionDataCase(); } /** *
@@ -927,7 +934,6 @@ private ArtifactBindingData(com.google.protobuf.GeneratedMessageV3.Builder bu
       super(builder);
     }
     private ArtifactBindingData() {
-      partitionKey_ = "";
       transform_ = "";
     }
 
@@ -962,11 +968,16 @@ private ArtifactBindingData(
             }
             case 18: {
               java.lang.String s = input.readStringRequireUtf8();
-
-              partitionKey_ = s;
+              partitionDataCase_ = 2;
+              partitionData_ = s;
               break;
             }
-            case 26: {
+            case 24: {
+              partitionDataCase_ = 3;
+              partitionData_ = input.readBool();
+              break;
+            }
+            case 34: {
               java.lang.String s = input.readStringRequireUtf8();
 
               transform_ = s;
@@ -1004,6 +1015,44 @@ private ArtifactBindingData(
               flyteidl.core.ArtifactId.ArtifactBindingData.class, flyteidl.core.ArtifactId.ArtifactBindingData.Builder.class);
     }
 
+    private int partitionDataCase_ = 0;
+    private java.lang.Object partitionData_;
+    public enum PartitionDataCase
+        implements com.google.protobuf.Internal.EnumLite {
+      PARTITION_KEY(2),
+      BIND_TO_TIME_PARTITION(3),
+      PARTITIONDATA_NOT_SET(0);
+      private final int value;
+      private PartitionDataCase(int value) {
+        this.value = value;
+      }
+      /**
+       * @deprecated Use {@link #forNumber(int)} instead.
+       */
+      @java.lang.Deprecated
+      public static PartitionDataCase valueOf(int value) {
+        return forNumber(value);
+      }
+
+      public static PartitionDataCase forNumber(int value) {
+        switch (value) {
+          case 2: return PARTITION_KEY;
+          case 3: return BIND_TO_TIME_PARTITION;
+          case 0: return PARTITIONDATA_NOT_SET;
+          default: return null;
+        }
+      }
+      public int getNumber() {
+        return this.value;
+      }
+    };
+
+    public PartitionDataCase
+    getPartitionDataCase() {
+      return PartitionDataCase.forNumber(
+          partitionDataCase_);
+    }
+
     public static final int INDEX_FIELD_NUMBER = 1;
     private int index_;
     /**
@@ -1014,51 +1063,67 @@ public int getIndex() {
     }
 
     public static final int PARTITION_KEY_FIELD_NUMBER = 2;
-    private volatile java.lang.Object partitionKey_;
     /**
-     * 
-     * These two fields are only relevant in the partition value case
-     * 
- * * string partition_key = 2; */ public java.lang.String getPartitionKey() { - java.lang.Object ref = partitionKey_; + java.lang.Object ref = ""; + if (partitionDataCase_ == 2) { + ref = partitionData_; + } 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(); - partitionKey_ = s; + if (partitionDataCase_ == 2) { + partitionData_ = s; + } return s; } } /** - *
-     * These two fields are only relevant in the partition value case
-     * 
- * * string partition_key = 2; */ public com.google.protobuf.ByteString getPartitionKeyBytes() { - java.lang.Object ref = partitionKey_; + java.lang.Object ref = ""; + if (partitionDataCase_ == 2) { + ref = partitionData_; + } if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - partitionKey_ = b; + if (partitionDataCase_ == 2) { + partitionData_ = b; + } return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int TRANSFORM_FIELD_NUMBER = 3; + public static final int BIND_TO_TIME_PARTITION_FIELD_NUMBER = 3; + /** + * bool bind_to_time_partition = 3; + */ + public boolean getBindToTimePartition() { + if (partitionDataCase_ == 3) { + return (java.lang.Boolean) partitionData_; + } + return false; + } + + public static final int TRANSFORM_FIELD_NUMBER = 4; private volatile java.lang.Object transform_; /** - * string transform = 3; + *
+     * This is only relevant in the time partition case
+     * 
+ * + * string transform = 4; */ public java.lang.String getTransform() { java.lang.Object ref = transform_; @@ -1073,7 +1138,11 @@ public java.lang.String getTransform() { } } /** - * string transform = 3; + *
+     * This is only relevant in the time partition case
+     * 
+ * + * string transform = 4; */ public com.google.protobuf.ByteString getTransformBytes() { @@ -1106,11 +1175,15 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (index_ != 0) { output.writeUInt32(1, index_); } - if (!getPartitionKeyBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, partitionKey_); + if (partitionDataCase_ == 2) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, partitionData_); + } + if (partitionDataCase_ == 3) { + output.writeBool( + 3, (boolean)((java.lang.Boolean) partitionData_)); } if (!getTransformBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, transform_); + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, transform_); } unknownFields.writeTo(output); } @@ -1125,11 +1198,16 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeUInt32Size(1, index_); } - if (!getPartitionKeyBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, partitionKey_); + if (partitionDataCase_ == 2) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, partitionData_); + } + if (partitionDataCase_ == 3) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize( + 3, (boolean)((java.lang.Boolean) partitionData_)); } if (!getTransformBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, transform_); + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, transform_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -1148,10 +1226,21 @@ public boolean equals(final java.lang.Object obj) { if (getIndex() != other.getIndex()) return false; - if (!getPartitionKey() - .equals(other.getPartitionKey())) return false; if (!getTransform() .equals(other.getTransform())) return false; + if (!getPartitionDataCase().equals(other.getPartitionDataCase())) return false; + switch (partitionDataCase_) { + case 2: + if (!getPartitionKey() + .equals(other.getPartitionKey())) return false; + break; + case 3: + if (getBindToTimePartition() + != other.getBindToTimePartition()) return false; + break; + case 0: + default: + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -1165,10 +1254,21 @@ public int hashCode() { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + INDEX_FIELD_NUMBER; hash = (53 * hash) + getIndex(); - hash = (37 * hash) + PARTITION_KEY_FIELD_NUMBER; - hash = (53 * hash) + getPartitionKey().hashCode(); hash = (37 * hash) + TRANSFORM_FIELD_NUMBER; hash = (53 * hash) + getTransform().hashCode(); + switch (partitionDataCase_) { + case 2: + hash = (37 * hash) + PARTITION_KEY_FIELD_NUMBER; + hash = (53 * hash) + getPartitionKey().hashCode(); + break; + case 3: + hash = (37 * hash) + BIND_TO_TIME_PARTITION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getBindToTimePartition()); + break; + case 0: + default: + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -1308,10 +1408,10 @@ public Builder clear() { super.clear(); index_ = 0; - partitionKey_ = ""; - transform_ = ""; + partitionDataCase_ = 0; + partitionData_ = null; return this; } @@ -1339,8 +1439,14 @@ public flyteidl.core.ArtifactId.ArtifactBindingData build() { public flyteidl.core.ArtifactId.ArtifactBindingData buildPartial() { flyteidl.core.ArtifactId.ArtifactBindingData result = new flyteidl.core.ArtifactId.ArtifactBindingData(this); result.index_ = index_; - result.partitionKey_ = partitionKey_; + if (partitionDataCase_ == 2) { + result.partitionData_ = partitionData_; + } + if (partitionDataCase_ == 3) { + result.partitionData_ = partitionData_; + } result.transform_ = transform_; + result.partitionDataCase_ = partitionDataCase_; onBuilt(); return result; } @@ -1392,14 +1498,25 @@ public Builder mergeFrom(flyteidl.core.ArtifactId.ArtifactBindingData other) { if (other.getIndex() != 0) { setIndex(other.getIndex()); } - if (!other.getPartitionKey().isEmpty()) { - partitionKey_ = other.partitionKey_; - onChanged(); - } if (!other.getTransform().isEmpty()) { transform_ = other.transform_; onChanged(); } + switch (other.getPartitionDataCase()) { + case PARTITION_KEY: { + partitionDataCase_ = 2; + partitionData_ = other.partitionData_; + onChanged(); + break; + } + case BIND_TO_TIME_PARTITION: { + setBindToTimePartition(other.getBindToTimePartition()); + break; + } + case PARTITIONDATA_NOT_SET: { + break; + } + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -1428,6 +1545,21 @@ public Builder mergeFrom( } return this; } + private int partitionDataCase_ = 0; + private java.lang.Object partitionData_; + public PartitionDataCase + getPartitionDataCase() { + return PartitionDataCase.forNumber( + partitionDataCase_); + } + + public Builder clearPartitionData() { + partitionDataCase_ = 0; + partitionData_ = null; + onChanged(); + return this; + } + private int index_ ; /** @@ -1455,51 +1587,48 @@ public Builder clearIndex() { return this; } - private java.lang.Object partitionKey_ = ""; /** - *
-       * These two fields are only relevant in the partition value case
-       * 
- * * string partition_key = 2; */ public java.lang.String getPartitionKey() { - java.lang.Object ref = partitionKey_; + java.lang.Object ref = ""; + if (partitionDataCase_ == 2) { + ref = partitionData_; + } if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - partitionKey_ = s; + if (partitionDataCase_ == 2) { + partitionData_ = s; + } return s; } else { return (java.lang.String) ref; } } /** - *
-       * These two fields are only relevant in the partition value case
-       * 
- * * string partition_key = 2; */ public com.google.protobuf.ByteString getPartitionKeyBytes() { - java.lang.Object ref = partitionKey_; + java.lang.Object ref = ""; + if (partitionDataCase_ == 2) { + ref = partitionData_; + } if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - partitionKey_ = b; + if (partitionDataCase_ == 2) { + partitionData_ = b; + } return b; } else { return (com.google.protobuf.ByteString) ref; } } /** - *
-       * These two fields are only relevant in the partition value case
-       * 
- * * string partition_key = 2; */ public Builder setPartitionKey( @@ -1507,29 +1636,23 @@ public Builder setPartitionKey( if (value == null) { throw new NullPointerException(); } - - partitionKey_ = value; + partitionDataCase_ = 2; + partitionData_ = value; onChanged(); return this; } /** - *
-       * These two fields are only relevant in the partition value case
-       * 
- * * string partition_key = 2; */ public Builder clearPartitionKey() { - - partitionKey_ = getDefaultInstance().getPartitionKey(); - onChanged(); + if (partitionDataCase_ == 2) { + partitionDataCase_ = 0; + partitionData_ = null; + onChanged(); + } return this; } /** - *
-       * These two fields are only relevant in the partition value case
-       * 
- * * string partition_key = 2; */ public Builder setPartitionKeyBytes( @@ -1538,15 +1661,49 @@ public Builder setPartitionKeyBytes( throw new NullPointerException(); } checkByteStringIsUtf8(value); - - partitionKey_ = value; + partitionDataCase_ = 2; + partitionData_ = value; + onChanged(); + return this; + } + + /** + * bool bind_to_time_partition = 3; + */ + public boolean getBindToTimePartition() { + if (partitionDataCase_ == 3) { + return (java.lang.Boolean) partitionData_; + } + return false; + } + /** + * bool bind_to_time_partition = 3; + */ + public Builder setBindToTimePartition(boolean value) { + partitionDataCase_ = 3; + partitionData_ = value; onChanged(); return this; } + /** + * bool bind_to_time_partition = 3; + */ + public Builder clearBindToTimePartition() { + if (partitionDataCase_ == 3) { + partitionDataCase_ = 0; + partitionData_ = null; + onChanged(); + } + return this; + } private java.lang.Object transform_ = ""; /** - * string transform = 3; + *
+       * This is only relevant in the time partition case
+       * 
+ * + * string transform = 4; */ public java.lang.String getTransform() { java.lang.Object ref = transform_; @@ -1561,7 +1718,11 @@ public java.lang.String getTransform() { } } /** - * string transform = 3; + *
+       * This is only relevant in the time partition case
+       * 
+ * + * string transform = 4; */ public com.google.protobuf.ByteString getTransformBytes() { @@ -1577,7 +1738,11 @@ public java.lang.String getTransform() { } } /** - * string transform = 3; + *
+       * This is only relevant in the time partition case
+       * 
+ * + * string transform = 4; */ public Builder setTransform( java.lang.String value) { @@ -1590,7 +1755,11 @@ public Builder setTransform( return this; } /** - * string transform = 3; + *
+       * This is only relevant in the time partition case
+       * 
+ * + * string transform = 4; */ public Builder clearTransform() { @@ -1599,7 +1768,11 @@ public Builder clearTransform() { return this; } /** - * string transform = 3; + *
+       * This is only relevant in the time partition case
+       * 
+ * + * string transform = 4; */ public Builder setTransformBytes( com.google.protobuf.ByteString value) { @@ -2219,38 +2392,71 @@ public interface LabelValueOrBuilder extends com.google.protobuf.MessageOrBuilder { /** + *
+     * The string static value is for use in the Partitions object
+     * 
+ * * string static_value = 1; */ java.lang.String getStaticValue(); /** + *
+     * The string static value is for use in the Partitions object
+     * 
+ * * string static_value = 1; */ com.google.protobuf.ByteString getStaticValueBytes(); /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + *
+     * The time value is for use in the TimePartition case
+     * 
+ * + * .google.protobuf.Timestamp time_value = 2; + */ + boolean hasTimeValue(); + /** + *
+     * The time value is for use in the TimePartition case
+     * 
+ * + * .google.protobuf.Timestamp time_value = 2; + */ + com.google.protobuf.Timestamp getTimeValue(); + /** + *
+     * The time value is for use in the TimePartition case
+     * 
+ * + * .google.protobuf.Timestamp time_value = 2; + */ + com.google.protobuf.TimestampOrBuilder getTimeValueOrBuilder(); + + /** + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; */ boolean hasTriggeredBinding(); /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; */ flyteidl.core.ArtifactId.ArtifactBindingData getTriggeredBinding(); /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; */ flyteidl.core.ArtifactId.ArtifactBindingDataOrBuilder getTriggeredBindingOrBuilder(); /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ boolean hasInputBinding(); /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ flyteidl.core.ArtifactId.InputBindingData getInputBinding(); /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ flyteidl.core.ArtifactId.InputBindingDataOrBuilder getInputBindingOrBuilder(); @@ -2302,8 +2508,22 @@ private LabelValue( break; } case 18: { - flyteidl.core.ArtifactId.ArtifactBindingData.Builder subBuilder = null; + com.google.protobuf.Timestamp.Builder subBuilder = null; if (valueCase_ == 2) { + subBuilder = ((com.google.protobuf.Timestamp) value_).toBuilder(); + } + value_ = + input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((com.google.protobuf.Timestamp) value_); + value_ = subBuilder.buildPartial(); + } + valueCase_ = 2; + break; + } + case 26: { + flyteidl.core.ArtifactId.ArtifactBindingData.Builder subBuilder = null; + if (valueCase_ == 3) { subBuilder = ((flyteidl.core.ArtifactId.ArtifactBindingData) value_).toBuilder(); } value_ = @@ -2312,12 +2532,12 @@ private LabelValue( subBuilder.mergeFrom((flyteidl.core.ArtifactId.ArtifactBindingData) value_); value_ = subBuilder.buildPartial(); } - valueCase_ = 2; + valueCase_ = 3; break; } - case 26: { + case 34: { flyteidl.core.ArtifactId.InputBindingData.Builder subBuilder = null; - if (valueCase_ == 3) { + if (valueCase_ == 4) { subBuilder = ((flyteidl.core.ArtifactId.InputBindingData) value_).toBuilder(); } value_ = @@ -2326,7 +2546,7 @@ private LabelValue( subBuilder.mergeFrom((flyteidl.core.ArtifactId.InputBindingData) value_); value_ = subBuilder.buildPartial(); } - valueCase_ = 3; + valueCase_ = 4; break; } default: { @@ -2366,8 +2586,9 @@ private LabelValue( public enum ValueCase implements com.google.protobuf.Internal.EnumLite { STATIC_VALUE(1), - TRIGGERED_BINDING(2), - INPUT_BINDING(3), + TIME_VALUE(2), + TRIGGERED_BINDING(3), + INPUT_BINDING(4), VALUE_NOT_SET(0); private final int value; private ValueCase(int value) { @@ -2384,8 +2605,9 @@ public static ValueCase valueOf(int value) { public static ValueCase forNumber(int value) { switch (value) { case 1: return STATIC_VALUE; - case 2: return TRIGGERED_BINDING; - case 3: return INPUT_BINDING; + case 2: return TIME_VALUE; + case 3: return TRIGGERED_BINDING; + case 4: return INPUT_BINDING; case 0: return VALUE_NOT_SET; default: return null; } @@ -2403,6 +2625,10 @@ public int getNumber() { public static final int STATIC_VALUE_FIELD_NUMBER = 1; /** + *
+     * The string static value is for use in the Partitions object
+     * 
+ * * string static_value = 1; */ public java.lang.String getStaticValue() { @@ -2423,6 +2649,10 @@ public java.lang.String getStaticValue() { } } /** + *
+     * The string static value is for use in the Partitions object
+     * 
+ * * string static_value = 1; */ public com.google.protobuf.ByteString @@ -2444,53 +2674,91 @@ public java.lang.String getStaticValue() { } } - public static final int TRIGGERED_BINDING_FIELD_NUMBER = 2; + public static final int TIME_VALUE_FIELD_NUMBER = 2; /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + *
+     * The time value is for use in the TimePartition case
+     * 
+ * + * .google.protobuf.Timestamp time_value = 2; */ - public boolean hasTriggeredBinding() { + public boolean hasTimeValue() { return valueCase_ == 2; } /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + *
+     * The time value is for use in the TimePartition case
+     * 
+ * + * .google.protobuf.Timestamp time_value = 2; */ - public flyteidl.core.ArtifactId.ArtifactBindingData getTriggeredBinding() { + public com.google.protobuf.Timestamp getTimeValue() { + if (valueCase_ == 2) { + return (com.google.protobuf.Timestamp) value_; + } + return com.google.protobuf.Timestamp.getDefaultInstance(); + } + /** + *
+     * The time value is for use in the TimePartition case
+     * 
+ * + * .google.protobuf.Timestamp time_value = 2; + */ + public com.google.protobuf.TimestampOrBuilder getTimeValueOrBuilder() { if (valueCase_ == 2) { + return (com.google.protobuf.Timestamp) value_; + } + return com.google.protobuf.Timestamp.getDefaultInstance(); + } + + public static final int TRIGGERED_BINDING_FIELD_NUMBER = 3; + /** + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; + */ + public boolean hasTriggeredBinding() { + return valueCase_ == 3; + } + /** + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; + */ + public flyteidl.core.ArtifactId.ArtifactBindingData getTriggeredBinding() { + if (valueCase_ == 3) { return (flyteidl.core.ArtifactId.ArtifactBindingData) value_; } return flyteidl.core.ArtifactId.ArtifactBindingData.getDefaultInstance(); } /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; */ public flyteidl.core.ArtifactId.ArtifactBindingDataOrBuilder getTriggeredBindingOrBuilder() { - if (valueCase_ == 2) { + if (valueCase_ == 3) { return (flyteidl.core.ArtifactId.ArtifactBindingData) value_; } return flyteidl.core.ArtifactId.ArtifactBindingData.getDefaultInstance(); } - public static final int INPUT_BINDING_FIELD_NUMBER = 3; + public static final int INPUT_BINDING_FIELD_NUMBER = 4; /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ public boolean hasInputBinding() { - return valueCase_ == 3; + return valueCase_ == 4; } /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ public flyteidl.core.ArtifactId.InputBindingData getInputBinding() { - if (valueCase_ == 3) { + if (valueCase_ == 4) { return (flyteidl.core.ArtifactId.InputBindingData) value_; } return flyteidl.core.ArtifactId.InputBindingData.getDefaultInstance(); } /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ public flyteidl.core.ArtifactId.InputBindingDataOrBuilder getInputBindingOrBuilder() { - if (valueCase_ == 3) { + if (valueCase_ == 4) { return (flyteidl.core.ArtifactId.InputBindingData) value_; } return flyteidl.core.ArtifactId.InputBindingData.getDefaultInstance(); @@ -2514,10 +2782,13 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) com.google.protobuf.GeneratedMessageV3.writeString(output, 1, value_); } if (valueCase_ == 2) { - output.writeMessage(2, (flyteidl.core.ArtifactId.ArtifactBindingData) value_); + output.writeMessage(2, (com.google.protobuf.Timestamp) value_); } if (valueCase_ == 3) { - output.writeMessage(3, (flyteidl.core.ArtifactId.InputBindingData) value_); + output.writeMessage(3, (flyteidl.core.ArtifactId.ArtifactBindingData) value_); + } + if (valueCase_ == 4) { + output.writeMessage(4, (flyteidl.core.ArtifactId.InputBindingData) value_); } unknownFields.writeTo(output); } @@ -2533,11 +2804,15 @@ public int getSerializedSize() { } if (valueCase_ == 2) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, (flyteidl.core.ArtifactId.ArtifactBindingData) value_); + .computeMessageSize(2, (com.google.protobuf.Timestamp) value_); } if (valueCase_ == 3) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, (flyteidl.core.ArtifactId.InputBindingData) value_); + .computeMessageSize(3, (flyteidl.core.ArtifactId.ArtifactBindingData) value_); + } + if (valueCase_ == 4) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, (flyteidl.core.ArtifactId.InputBindingData) value_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -2561,10 +2836,14 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getStaticValue())) return false; break; case 2: + if (!getTimeValue() + .equals(other.getTimeValue())) return false; + break; + case 3: if (!getTriggeredBinding() .equals(other.getTriggeredBinding())) return false; break; - case 3: + case 4: if (!getInputBinding() .equals(other.getInputBinding())) return false; break; @@ -2588,10 +2867,14 @@ public int hashCode() { hash = (53 * hash) + getStaticValue().hashCode(); break; case 2: + hash = (37 * hash) + TIME_VALUE_FIELD_NUMBER; + hash = (53 * hash) + getTimeValue().hashCode(); + break; + case 3: hash = (37 * hash) + TRIGGERED_BINDING_FIELD_NUMBER; hash = (53 * hash) + getTriggeredBinding().hashCode(); break; - case 3: + case 4: hash = (37 * hash) + INPUT_BINDING_FIELD_NUMBER; hash = (53 * hash) + getInputBinding().hashCode(); break; @@ -2763,13 +3046,20 @@ public flyteidl.core.ArtifactId.LabelValue buildPartial() { result.value_ = value_; } if (valueCase_ == 2) { + if (timeValueBuilder_ == null) { + result.value_ = value_; + } else { + result.value_ = timeValueBuilder_.build(); + } + } + if (valueCase_ == 3) { if (triggeredBindingBuilder_ == null) { result.value_ = value_; } else { result.value_ = triggeredBindingBuilder_.build(); } } - if (valueCase_ == 3) { + if (valueCase_ == 4) { if (inputBindingBuilder_ == null) { result.value_ = value_; } else { @@ -2832,6 +3122,10 @@ public Builder mergeFrom(flyteidl.core.ArtifactId.LabelValue other) { onChanged(); break; } + case TIME_VALUE: { + mergeTimeValue(other.getTimeValue()); + break; + } case TRIGGERED_BINDING: { mergeTriggeredBinding(other.getTriggeredBinding()); break; @@ -2889,6 +3183,10 @@ public Builder clearValue() { /** + *
+       * The string static value is for use in the Partitions object
+       * 
+ * * string static_value = 1; */ public java.lang.String getStaticValue() { @@ -2909,6 +3207,10 @@ public java.lang.String getStaticValue() { } } /** + *
+       * The string static value is for use in the Partitions object
+       * 
+ * * string static_value = 1; */ public com.google.protobuf.ByteString @@ -2930,6 +3232,10 @@ public java.lang.String getStaticValue() { } } /** + *
+       * The string static value is for use in the Partitions object
+       * 
+ * * string static_value = 1; */ public Builder setStaticValue( @@ -2943,6 +3249,10 @@ public Builder setStaticValue( return this; } /** + *
+       * The string static value is for use in the Partitions object
+       * 
+ * * string static_value = 1; */ public Builder clearStaticValue() { @@ -2954,6 +3264,10 @@ public Builder clearStaticValue() { return this; } /** + *
+       * The string static value is for use in the Partitions object
+       * 
+ * * string static_value = 1; */ public Builder setStaticValueBytes( @@ -2968,32 +3282,204 @@ public Builder setStaticValueBytes( return this; } + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> timeValueBuilder_; + /** + *
+       * The time value is for use in the TimePartition case
+       * 
+ * + * .google.protobuf.Timestamp time_value = 2; + */ + public boolean hasTimeValue() { + return valueCase_ == 2; + } + /** + *
+       * The time value is for use in the TimePartition case
+       * 
+ * + * .google.protobuf.Timestamp time_value = 2; + */ + public com.google.protobuf.Timestamp getTimeValue() { + if (timeValueBuilder_ == null) { + if (valueCase_ == 2) { + return (com.google.protobuf.Timestamp) value_; + } + return com.google.protobuf.Timestamp.getDefaultInstance(); + } else { + if (valueCase_ == 2) { + return timeValueBuilder_.getMessage(); + } + return com.google.protobuf.Timestamp.getDefaultInstance(); + } + } + /** + *
+       * The time value is for use in the TimePartition case
+       * 
+ * + * .google.protobuf.Timestamp time_value = 2; + */ + public Builder setTimeValue(com.google.protobuf.Timestamp value) { + if (timeValueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + value_ = value; + onChanged(); + } else { + timeValueBuilder_.setMessage(value); + } + valueCase_ = 2; + return this; + } + /** + *
+       * The time value is for use in the TimePartition case
+       * 
+ * + * .google.protobuf.Timestamp time_value = 2; + */ + public Builder setTimeValue( + com.google.protobuf.Timestamp.Builder builderForValue) { + if (timeValueBuilder_ == null) { + value_ = builderForValue.build(); + onChanged(); + } else { + timeValueBuilder_.setMessage(builderForValue.build()); + } + valueCase_ = 2; + return this; + } + /** + *
+       * The time value is for use in the TimePartition case
+       * 
+ * + * .google.protobuf.Timestamp time_value = 2; + */ + public Builder mergeTimeValue(com.google.protobuf.Timestamp value) { + if (timeValueBuilder_ == null) { + if (valueCase_ == 2 && + value_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + value_ = com.google.protobuf.Timestamp.newBuilder((com.google.protobuf.Timestamp) value_) + .mergeFrom(value).buildPartial(); + } else { + value_ = value; + } + onChanged(); + } else { + if (valueCase_ == 2) { + timeValueBuilder_.mergeFrom(value); + } + timeValueBuilder_.setMessage(value); + } + valueCase_ = 2; + return this; + } + /** + *
+       * The time value is for use in the TimePartition case
+       * 
+ * + * .google.protobuf.Timestamp time_value = 2; + */ + public Builder clearTimeValue() { + if (timeValueBuilder_ == null) { + if (valueCase_ == 2) { + valueCase_ = 0; + value_ = null; + onChanged(); + } + } else { + if (valueCase_ == 2) { + valueCase_ = 0; + value_ = null; + } + timeValueBuilder_.clear(); + } + return this; + } + /** + *
+       * The time value is for use in the TimePartition case
+       * 
+ * + * .google.protobuf.Timestamp time_value = 2; + */ + public com.google.protobuf.Timestamp.Builder getTimeValueBuilder() { + return getTimeValueFieldBuilder().getBuilder(); + } + /** + *
+       * The time value is for use in the TimePartition case
+       * 
+ * + * .google.protobuf.Timestamp time_value = 2; + */ + public com.google.protobuf.TimestampOrBuilder getTimeValueOrBuilder() { + if ((valueCase_ == 2) && (timeValueBuilder_ != null)) { + return timeValueBuilder_.getMessageOrBuilder(); + } else { + if (valueCase_ == 2) { + return (com.google.protobuf.Timestamp) value_; + } + return com.google.protobuf.Timestamp.getDefaultInstance(); + } + } + /** + *
+       * The time value is for use in the TimePartition case
+       * 
+ * + * .google.protobuf.Timestamp time_value = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> + getTimeValueFieldBuilder() { + if (timeValueBuilder_ == null) { + if (!(valueCase_ == 2)) { + value_ = com.google.protobuf.Timestamp.getDefaultInstance(); + } + timeValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>( + (com.google.protobuf.Timestamp) value_, + getParentForChildren(), + isClean()); + value_ = null; + } + valueCase_ = 2; + onChanged();; + return timeValueBuilder_; + } + private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.ArtifactId.ArtifactBindingData, flyteidl.core.ArtifactId.ArtifactBindingData.Builder, flyteidl.core.ArtifactId.ArtifactBindingDataOrBuilder> triggeredBindingBuilder_; /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; */ public boolean hasTriggeredBinding() { - return valueCase_ == 2; + return valueCase_ == 3; } /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; */ public flyteidl.core.ArtifactId.ArtifactBindingData getTriggeredBinding() { if (triggeredBindingBuilder_ == null) { - if (valueCase_ == 2) { + if (valueCase_ == 3) { return (flyteidl.core.ArtifactId.ArtifactBindingData) value_; } return flyteidl.core.ArtifactId.ArtifactBindingData.getDefaultInstance(); } else { - if (valueCase_ == 2) { + if (valueCase_ == 3) { return triggeredBindingBuilder_.getMessage(); } return flyteidl.core.ArtifactId.ArtifactBindingData.getDefaultInstance(); } } /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; */ public Builder setTriggeredBinding(flyteidl.core.ArtifactId.ArtifactBindingData value) { if (triggeredBindingBuilder_ == null) { @@ -3005,11 +3491,11 @@ public Builder setTriggeredBinding(flyteidl.core.ArtifactId.ArtifactBindingData } else { triggeredBindingBuilder_.setMessage(value); } - valueCase_ = 2; + valueCase_ = 3; return this; } /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; */ public Builder setTriggeredBinding( flyteidl.core.ArtifactId.ArtifactBindingData.Builder builderForValue) { @@ -3019,15 +3505,15 @@ public Builder setTriggeredBinding( } else { triggeredBindingBuilder_.setMessage(builderForValue.build()); } - valueCase_ = 2; + valueCase_ = 3; return this; } /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; */ public Builder mergeTriggeredBinding(flyteidl.core.ArtifactId.ArtifactBindingData value) { if (triggeredBindingBuilder_ == null) { - if (valueCase_ == 2 && + if (valueCase_ == 3 && value_ != flyteidl.core.ArtifactId.ArtifactBindingData.getDefaultInstance()) { value_ = flyteidl.core.ArtifactId.ArtifactBindingData.newBuilder((flyteidl.core.ArtifactId.ArtifactBindingData) value_) .mergeFrom(value).buildPartial(); @@ -3036,26 +3522,26 @@ public Builder mergeTriggeredBinding(flyteidl.core.ArtifactId.ArtifactBindingDat } onChanged(); } else { - if (valueCase_ == 2) { + if (valueCase_ == 3) { triggeredBindingBuilder_.mergeFrom(value); } triggeredBindingBuilder_.setMessage(value); } - valueCase_ = 2; + valueCase_ = 3; return this; } /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; */ public Builder clearTriggeredBinding() { if (triggeredBindingBuilder_ == null) { - if (valueCase_ == 2) { + if (valueCase_ == 3) { valueCase_ = 0; value_ = null; onChanged(); } } else { - if (valueCase_ == 2) { + if (valueCase_ == 3) { valueCase_ = 0; value_ = null; } @@ -3064,32 +3550,32 @@ public Builder clearTriggeredBinding() { return this; } /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; */ public flyteidl.core.ArtifactId.ArtifactBindingData.Builder getTriggeredBindingBuilder() { return getTriggeredBindingFieldBuilder().getBuilder(); } /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; */ public flyteidl.core.ArtifactId.ArtifactBindingDataOrBuilder getTriggeredBindingOrBuilder() { - if ((valueCase_ == 2) && (triggeredBindingBuilder_ != null)) { + if ((valueCase_ == 3) && (triggeredBindingBuilder_ != null)) { return triggeredBindingBuilder_.getMessageOrBuilder(); } else { - if (valueCase_ == 2) { + if (valueCase_ == 3) { return (flyteidl.core.ArtifactId.ArtifactBindingData) value_; } return flyteidl.core.ArtifactId.ArtifactBindingData.getDefaultInstance(); } } /** - * .flyteidl.core.ArtifactBindingData triggered_binding = 2; + * .flyteidl.core.ArtifactBindingData triggered_binding = 3; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.ArtifactId.ArtifactBindingData, flyteidl.core.ArtifactId.ArtifactBindingData.Builder, flyteidl.core.ArtifactId.ArtifactBindingDataOrBuilder> getTriggeredBindingFieldBuilder() { if (triggeredBindingBuilder_ == null) { - if (!(valueCase_ == 2)) { + if (!(valueCase_ == 3)) { value_ = flyteidl.core.ArtifactId.ArtifactBindingData.getDefaultInstance(); } triggeredBindingBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -3099,7 +3585,7 @@ public flyteidl.core.ArtifactId.ArtifactBindingDataOrBuilder getTriggeredBinding isClean()); value_ = null; } - valueCase_ = 2; + valueCase_ = 3; onChanged();; return triggeredBindingBuilder_; } @@ -3107,29 +3593,29 @@ public flyteidl.core.ArtifactId.ArtifactBindingDataOrBuilder getTriggeredBinding private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.ArtifactId.InputBindingData, flyteidl.core.ArtifactId.InputBindingData.Builder, flyteidl.core.ArtifactId.InputBindingDataOrBuilder> inputBindingBuilder_; /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ public boolean hasInputBinding() { - return valueCase_ == 3; + return valueCase_ == 4; } /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ public flyteidl.core.ArtifactId.InputBindingData getInputBinding() { if (inputBindingBuilder_ == null) { - if (valueCase_ == 3) { + if (valueCase_ == 4) { return (flyteidl.core.ArtifactId.InputBindingData) value_; } return flyteidl.core.ArtifactId.InputBindingData.getDefaultInstance(); } else { - if (valueCase_ == 3) { + if (valueCase_ == 4) { return inputBindingBuilder_.getMessage(); } return flyteidl.core.ArtifactId.InputBindingData.getDefaultInstance(); } } /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ public Builder setInputBinding(flyteidl.core.ArtifactId.InputBindingData value) { if (inputBindingBuilder_ == null) { @@ -3141,11 +3627,11 @@ public Builder setInputBinding(flyteidl.core.ArtifactId.InputBindingData value) } else { inputBindingBuilder_.setMessage(value); } - valueCase_ = 3; + valueCase_ = 4; return this; } /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ public Builder setInputBinding( flyteidl.core.ArtifactId.InputBindingData.Builder builderForValue) { @@ -3155,15 +3641,15 @@ public Builder setInputBinding( } else { inputBindingBuilder_.setMessage(builderForValue.build()); } - valueCase_ = 3; + valueCase_ = 4; return this; } /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ public Builder mergeInputBinding(flyteidl.core.ArtifactId.InputBindingData value) { if (inputBindingBuilder_ == null) { - if (valueCase_ == 3 && + if (valueCase_ == 4 && value_ != flyteidl.core.ArtifactId.InputBindingData.getDefaultInstance()) { value_ = flyteidl.core.ArtifactId.InputBindingData.newBuilder((flyteidl.core.ArtifactId.InputBindingData) value_) .mergeFrom(value).buildPartial(); @@ -3172,26 +3658,26 @@ public Builder mergeInputBinding(flyteidl.core.ArtifactId.InputBindingData value } onChanged(); } else { - if (valueCase_ == 3) { + if (valueCase_ == 4) { inputBindingBuilder_.mergeFrom(value); } inputBindingBuilder_.setMessage(value); } - valueCase_ = 3; + valueCase_ = 4; return this; } /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ public Builder clearInputBinding() { if (inputBindingBuilder_ == null) { - if (valueCase_ == 3) { + if (valueCase_ == 4) { valueCase_ = 0; value_ = null; onChanged(); } } else { - if (valueCase_ == 3) { + if (valueCase_ == 4) { valueCase_ = 0; value_ = null; } @@ -3200,32 +3686,32 @@ public Builder clearInputBinding() { return this; } /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ public flyteidl.core.ArtifactId.InputBindingData.Builder getInputBindingBuilder() { return getInputBindingFieldBuilder().getBuilder(); } /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ public flyteidl.core.ArtifactId.InputBindingDataOrBuilder getInputBindingOrBuilder() { - if ((valueCase_ == 3) && (inputBindingBuilder_ != null)) { + if ((valueCase_ == 4) && (inputBindingBuilder_ != null)) { return inputBindingBuilder_.getMessageOrBuilder(); } else { - if (valueCase_ == 3) { + if (valueCase_ == 4) { return (flyteidl.core.ArtifactId.InputBindingData) value_; } return flyteidl.core.ArtifactId.InputBindingData.getDefaultInstance(); } } /** - * .flyteidl.core.InputBindingData input_binding = 3; + * .flyteidl.core.InputBindingData input_binding = 4; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.ArtifactId.InputBindingData, flyteidl.core.ArtifactId.InputBindingData.Builder, flyteidl.core.ArtifactId.InputBindingDataOrBuilder> getInputBindingFieldBuilder() { if (inputBindingBuilder_ == null) { - if (!(valueCase_ == 3)) { + if (!(valueCase_ == 4)) { value_ = flyteidl.core.ArtifactId.InputBindingData.getDefaultInstance(); } inputBindingBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< @@ -3235,7 +3721,7 @@ public flyteidl.core.ArtifactId.InputBindingDataOrBuilder getInputBindingOrBuild isClean()); value_ = null; } - valueCase_ = 3; + valueCase_ = 4; onChanged();; return inputBindingBuilder_; } @@ -4013,47 +4499,691 @@ public flyteidl.core.ArtifactId.Partitions getDefaultInstanceForType() { } - public interface ArtifactIDOrBuilder extends - // @@protoc_insertion_point(interface_extends:flyteidl.core.ArtifactID) + public interface TimePartitionOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.core.TimePartition) com.google.protobuf.MessageOrBuilder { /** - * .flyteidl.core.ArtifactKey artifact_key = 1; + * .flyteidl.core.LabelValue value = 1; */ - boolean hasArtifactKey(); + boolean hasValue(); /** - * .flyteidl.core.ArtifactKey artifact_key = 1; + * .flyteidl.core.LabelValue value = 1; */ - flyteidl.core.ArtifactId.ArtifactKey getArtifactKey(); + flyteidl.core.ArtifactId.LabelValue getValue(); /** - * .flyteidl.core.ArtifactKey artifact_key = 1; + * .flyteidl.core.LabelValue value = 1; */ - flyteidl.core.ArtifactId.ArtifactKeyOrBuilder getArtifactKeyOrBuilder(); + flyteidl.core.ArtifactId.LabelValueOrBuilder getValueOrBuilder(); + } + /** + * Protobuf type {@code flyteidl.core.TimePartition} + */ + public static final class TimePartition extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.core.TimePartition) + TimePartitionOrBuilder { + private static final long serialVersionUID = 0L; + // Use TimePartition.newBuilder() to construct. + private TimePartition(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private TimePartition() { + } - /** - * string version = 2; - */ - java.lang.String getVersion(); - /** - * string version = 2; - */ - com.google.protobuf.ByteString - getVersionBytes(); + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private TimePartition( + 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.ArtifactId.LabelValue.Builder subBuilder = null; + if (value_ != null) { + subBuilder = value_.toBuilder(); + } + value_ = input.readMessage(flyteidl.core.ArtifactId.LabelValue.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(value_); + value_ = subBuilder.buildPartial(); + } - /** - * .flyteidl.core.Partitions partitions = 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.ArtifactId.internal_static_flyteidl_core_TimePartition_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.ArtifactId.internal_static_flyteidl_core_TimePartition_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.ArtifactId.TimePartition.class, flyteidl.core.ArtifactId.TimePartition.Builder.class); + } + + public static final int VALUE_FIELD_NUMBER = 1; + private flyteidl.core.ArtifactId.LabelValue value_; + /** + * .flyteidl.core.LabelValue value = 1; + */ + public boolean hasValue() { + return value_ != null; + } + /** + * .flyteidl.core.LabelValue value = 1; + */ + public flyteidl.core.ArtifactId.LabelValue getValue() { + return value_ == null ? flyteidl.core.ArtifactId.LabelValue.getDefaultInstance() : value_; + } + /** + * .flyteidl.core.LabelValue value = 1; + */ + public flyteidl.core.ArtifactId.LabelValueOrBuilder 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 (value_ != null) { + output.writeMessage(1, getValue()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (value_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, 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.core.ArtifactId.TimePartition)) { + return super.equals(obj); + } + flyteidl.core.ArtifactId.TimePartition other = (flyteidl.core.ArtifactId.TimePartition) obj; + + 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 (hasValue()) { + hash = (37 * hash) + VALUE_FIELD_NUMBER; + hash = (53 * hash) + getValue().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.core.ArtifactId.TimePartition parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.ArtifactId.TimePartition parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.ArtifactId.TimePartition parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.ArtifactId.TimePartition 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.ArtifactId.TimePartition parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.ArtifactId.TimePartition parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.ArtifactId.TimePartition parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.ArtifactId.TimePartition 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.ArtifactId.TimePartition parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.core.ArtifactId.TimePartition 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.ArtifactId.TimePartition parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.ArtifactId.TimePartition 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.ArtifactId.TimePartition 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; + } + /** + * Protobuf type {@code flyteidl.core.TimePartition} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.core.TimePartition) + flyteidl.core.ArtifactId.TimePartitionOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.ArtifactId.internal_static_flyteidl_core_TimePartition_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.ArtifactId.internal_static_flyteidl_core_TimePartition_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.ArtifactId.TimePartition.class, flyteidl.core.ArtifactId.TimePartition.Builder.class); + } + + // Construct using flyteidl.core.ArtifactId.TimePartition.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 (valueBuilder_ == null) { + value_ = null; + } else { + value_ = null; + valueBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.core.ArtifactId.internal_static_flyteidl_core_TimePartition_descriptor; + } + + @java.lang.Override + public flyteidl.core.ArtifactId.TimePartition getDefaultInstanceForType() { + return flyteidl.core.ArtifactId.TimePartition.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.core.ArtifactId.TimePartition build() { + flyteidl.core.ArtifactId.TimePartition result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.core.ArtifactId.TimePartition buildPartial() { + flyteidl.core.ArtifactId.TimePartition result = new flyteidl.core.ArtifactId.TimePartition(this); + 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.core.ArtifactId.TimePartition) { + return mergeFrom((flyteidl.core.ArtifactId.TimePartition)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.core.ArtifactId.TimePartition other) { + if (other == flyteidl.core.ArtifactId.TimePartition.getDefaultInstance()) return this; + 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.core.ArtifactId.TimePartition parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.core.ArtifactId.TimePartition) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private flyteidl.core.ArtifactId.LabelValue value_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.ArtifactId.LabelValue, flyteidl.core.ArtifactId.LabelValue.Builder, flyteidl.core.ArtifactId.LabelValueOrBuilder> valueBuilder_; + /** + * .flyteidl.core.LabelValue value = 1; + */ + public boolean hasValue() { + return valueBuilder_ != null || value_ != null; + } + /** + * .flyteidl.core.LabelValue value = 1; + */ + public flyteidl.core.ArtifactId.LabelValue getValue() { + if (valueBuilder_ == null) { + return value_ == null ? flyteidl.core.ArtifactId.LabelValue.getDefaultInstance() : value_; + } else { + return valueBuilder_.getMessage(); + } + } + /** + * .flyteidl.core.LabelValue value = 1; + */ + public Builder setValue(flyteidl.core.ArtifactId.LabelValue value) { + if (valueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + value_ = value; + onChanged(); + } else { + valueBuilder_.setMessage(value); + } + + return this; + } + /** + * .flyteidl.core.LabelValue value = 1; + */ + public Builder setValue( + flyteidl.core.ArtifactId.LabelValue.Builder builderForValue) { + if (valueBuilder_ == null) { + value_ = builderForValue.build(); + onChanged(); + } else { + valueBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .flyteidl.core.LabelValue value = 1; + */ + public Builder mergeValue(flyteidl.core.ArtifactId.LabelValue value) { + if (valueBuilder_ == null) { + if (value_ != null) { + value_ = + flyteidl.core.ArtifactId.LabelValue.newBuilder(value_).mergeFrom(value).buildPartial(); + } else { + value_ = value; + } + onChanged(); + } else { + valueBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .flyteidl.core.LabelValue value = 1; + */ + public Builder clearValue() { + if (valueBuilder_ == null) { + value_ = null; + onChanged(); + } else { + value_ = null; + valueBuilder_ = null; + } + + return this; + } + /** + * .flyteidl.core.LabelValue value = 1; + */ + public flyteidl.core.ArtifactId.LabelValue.Builder getValueBuilder() { + + onChanged(); + return getValueFieldBuilder().getBuilder(); + } + /** + * .flyteidl.core.LabelValue value = 1; + */ + public flyteidl.core.ArtifactId.LabelValueOrBuilder getValueOrBuilder() { + if (valueBuilder_ != null) { + return valueBuilder_.getMessageOrBuilder(); + } else { + return value_ == null ? + flyteidl.core.ArtifactId.LabelValue.getDefaultInstance() : value_; + } + } + /** + * .flyteidl.core.LabelValue value = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.ArtifactId.LabelValue, flyteidl.core.ArtifactId.LabelValue.Builder, flyteidl.core.ArtifactId.LabelValueOrBuilder> + getValueFieldBuilder() { + if (valueBuilder_ == null) { + valueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.ArtifactId.LabelValue, flyteidl.core.ArtifactId.LabelValue.Builder, flyteidl.core.ArtifactId.LabelValueOrBuilder>( + 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.core.TimePartition) + } + + // @@protoc_insertion_point(class_scope:flyteidl.core.TimePartition) + private static final flyteidl.core.ArtifactId.TimePartition DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.core.ArtifactId.TimePartition(); + } + + public static flyteidl.core.ArtifactId.TimePartition getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public TimePartition parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new TimePartition(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.ArtifactId.TimePartition getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ArtifactIDOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.core.ArtifactID) + com.google.protobuf.MessageOrBuilder { + + /** + * .flyteidl.core.ArtifactKey artifact_key = 1; + */ + boolean hasArtifactKey(); + /** + * .flyteidl.core.ArtifactKey artifact_key = 1; + */ + flyteidl.core.ArtifactId.ArtifactKey getArtifactKey(); + /** + * .flyteidl.core.ArtifactKey artifact_key = 1; + */ + flyteidl.core.ArtifactId.ArtifactKeyOrBuilder getArtifactKeyOrBuilder(); + + /** + * string version = 2; + */ + java.lang.String getVersion(); + /** + * string version = 2; + */ + com.google.protobuf.ByteString + getVersionBytes(); + + /** + *
+     * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+     * Different partitions naturally have different versions (execution ids).
+     * 
+ * + * .flyteidl.core.Partitions partitions = 3; + */ + boolean hasPartitions(); + /** + *
+     * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+     * Different partitions naturally have different versions (execution ids).
+     * 
+ * + * .flyteidl.core.Partitions partitions = 3; + */ + flyteidl.core.ArtifactId.Partitions getPartitions(); + /** + *
+     * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+     * Different partitions naturally have different versions (execution ids).
+     * 
+ * + * .flyteidl.core.Partitions partitions = 3; + */ + flyteidl.core.ArtifactId.PartitionsOrBuilder getPartitionsOrBuilder(); + + /** + *
+     * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+     * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; */ - boolean hasPartitions(); + boolean hasTimePartition(); /** - * .flyteidl.core.Partitions partitions = 3; + *
+     * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+     * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; */ - flyteidl.core.ArtifactId.Partitions getPartitions(); + flyteidl.core.ArtifactId.TimePartition getTimePartition(); /** - * .flyteidl.core.Partitions partitions = 3; + *
+     * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+     * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; */ - flyteidl.core.ArtifactId.PartitionsOrBuilder getPartitionsOrBuilder(); - - public flyteidl.core.ArtifactId.ArtifactID.DimensionsCase getDimensionsCase(); + flyteidl.core.ArtifactId.TimePartitionOrBuilder getTimePartitionOrBuilder(); } /** * Protobuf type {@code flyteidl.core.ArtifactID} @@ -4116,16 +5246,28 @@ private ArtifactID( } case 26: { flyteidl.core.ArtifactId.Partitions.Builder subBuilder = null; - if (dimensionsCase_ == 3) { - subBuilder = ((flyteidl.core.ArtifactId.Partitions) dimensions_).toBuilder(); + if (partitions_ != null) { + subBuilder = partitions_.toBuilder(); + } + partitions_ = input.readMessage(flyteidl.core.ArtifactId.Partitions.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(partitions_); + partitions_ = subBuilder.buildPartial(); + } + + break; + } + case 34: { + flyteidl.core.ArtifactId.TimePartition.Builder subBuilder = null; + if (timePartition_ != null) { + subBuilder = timePartition_.toBuilder(); } - dimensions_ = - input.readMessage(flyteidl.core.ArtifactId.Partitions.parser(), extensionRegistry); + timePartition_ = input.readMessage(flyteidl.core.ArtifactId.TimePartition.parser(), extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom((flyteidl.core.ArtifactId.Partitions) dimensions_); - dimensions_ = subBuilder.buildPartial(); + subBuilder.mergeFrom(timePartition_); + timePartition_ = subBuilder.buildPartial(); } - dimensionsCase_ = 3; + break; } default: { @@ -4160,42 +5302,6 @@ private ArtifactID( flyteidl.core.ArtifactId.ArtifactID.class, flyteidl.core.ArtifactId.ArtifactID.Builder.class); } - private int dimensionsCase_ = 0; - private java.lang.Object dimensions_; - public enum DimensionsCase - implements com.google.protobuf.Internal.EnumLite { - PARTITIONS(3), - DIMENSIONS_NOT_SET(0); - private final int value; - private DimensionsCase(int value) { - this.value = value; - } - /** - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static DimensionsCase valueOf(int value) { - return forNumber(value); - } - - public static DimensionsCase forNumber(int value) { - switch (value) { - case 3: return PARTITIONS; - case 0: return DIMENSIONS_NOT_SET; - default: return null; - } - } - public int getNumber() { - return this.value; - } - }; - - public DimensionsCase - getDimensionsCase() { - return DimensionsCase.forNumber( - dimensionsCase_); - } - public static final int ARTIFACT_KEY_FIELD_NUMBER = 1; private flyteidl.core.ArtifactId.ArtifactKey artifactKey_; /** @@ -4252,29 +5358,72 @@ public java.lang.String getVersion() { } public static final int PARTITIONS_FIELD_NUMBER = 3; + private flyteidl.core.ArtifactId.Partitions partitions_; /** + *
+     * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+     * Different partitions naturally have different versions (execution ids).
+     * 
+ * * .flyteidl.core.Partitions partitions = 3; */ public boolean hasPartitions() { - return dimensionsCase_ == 3; + return partitions_ != null; } /** + *
+     * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+     * Different partitions naturally have different versions (execution ids).
+     * 
+ * * .flyteidl.core.Partitions partitions = 3; */ public flyteidl.core.ArtifactId.Partitions getPartitions() { - if (dimensionsCase_ == 3) { - return (flyteidl.core.ArtifactId.Partitions) dimensions_; - } - return flyteidl.core.ArtifactId.Partitions.getDefaultInstance(); + return partitions_ == null ? flyteidl.core.ArtifactId.Partitions.getDefaultInstance() : partitions_; } /** + *
+     * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+     * Different partitions naturally have different versions (execution ids).
+     * 
+ * * .flyteidl.core.Partitions partitions = 3; */ public flyteidl.core.ArtifactId.PartitionsOrBuilder getPartitionsOrBuilder() { - if (dimensionsCase_ == 3) { - return (flyteidl.core.ArtifactId.Partitions) dimensions_; - } - return flyteidl.core.ArtifactId.Partitions.getDefaultInstance(); + return getPartitions(); + } + + public static final int TIME_PARTITION_FIELD_NUMBER = 4; + private flyteidl.core.ArtifactId.TimePartition timePartition_; + /** + *
+     * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+     * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; + */ + public boolean hasTimePartition() { + return timePartition_ != null; + } + /** + *
+     * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+     * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; + */ + public flyteidl.core.ArtifactId.TimePartition getTimePartition() { + return timePartition_ == null ? flyteidl.core.ArtifactId.TimePartition.getDefaultInstance() : timePartition_; + } + /** + *
+     * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+     * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; + */ + public flyteidl.core.ArtifactId.TimePartitionOrBuilder getTimePartitionOrBuilder() { + return getTimePartition(); } private byte memoizedIsInitialized = -1; @@ -4297,8 +5446,11 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getVersionBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, version_); } - if (dimensionsCase_ == 3) { - output.writeMessage(3, (flyteidl.core.ArtifactId.Partitions) dimensions_); + if (partitions_ != null) { + output.writeMessage(3, getPartitions()); + } + if (timePartition_ != null) { + output.writeMessage(4, getTimePartition()); } unknownFields.writeTo(output); } @@ -4316,9 +5468,13 @@ public int getSerializedSize() { if (!getVersionBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, version_); } - if (dimensionsCase_ == 3) { + if (partitions_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getPartitions()); + } + if (timePartition_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, (flyteidl.core.ArtifactId.Partitions) dimensions_); + .computeMessageSize(4, getTimePartition()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -4342,14 +5498,15 @@ public boolean equals(final java.lang.Object obj) { } if (!getVersion() .equals(other.getVersion())) return false; - if (!getDimensionsCase().equals(other.getDimensionsCase())) return false; - switch (dimensionsCase_) { - case 3: - if (!getPartitions() - .equals(other.getPartitions())) return false; - break; - case 0: - default: + if (hasPartitions() != other.hasPartitions()) return false; + if (hasPartitions()) { + if (!getPartitions() + .equals(other.getPartitions())) return false; + } + if (hasTimePartition() != other.hasTimePartition()) return false; + if (hasTimePartition()) { + if (!getTimePartition() + .equals(other.getTimePartition())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; @@ -4368,13 +5525,13 @@ public int hashCode() { } hash = (37 * hash) + VERSION_FIELD_NUMBER; hash = (53 * hash) + getVersion().hashCode(); - switch (dimensionsCase_) { - case 3: - hash = (37 * hash) + PARTITIONS_FIELD_NUMBER; - hash = (53 * hash) + getPartitions().hashCode(); - break; - case 0: - default: + if (hasPartitions()) { + hash = (37 * hash) + PARTITIONS_FIELD_NUMBER; + hash = (53 * hash) + getPartitions().hashCode(); + } + if (hasTimePartition()) { + hash = (37 * hash) + TIME_PARTITION_FIELD_NUMBER; + hash = (53 * hash) + getTimePartition().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; @@ -4517,8 +5674,18 @@ public Builder clear() { } version_ = ""; - dimensionsCase_ = 0; - dimensions_ = null; + if (partitionsBuilder_ == null) { + partitions_ = null; + } else { + partitions_ = null; + partitionsBuilder_ = null; + } + if (timePartitionBuilder_ == null) { + timePartition_ = null; + } else { + timePartition_ = null; + timePartitionBuilder_ = null; + } return this; } @@ -4551,14 +5718,16 @@ public flyteidl.core.ArtifactId.ArtifactID buildPartial() { result.artifactKey_ = artifactKeyBuilder_.build(); } result.version_ = version_; - if (dimensionsCase_ == 3) { - if (partitionsBuilder_ == null) { - result.dimensions_ = dimensions_; - } else { - result.dimensions_ = partitionsBuilder_.build(); - } + if (partitionsBuilder_ == null) { + result.partitions_ = partitions_; + } else { + result.partitions_ = partitionsBuilder_.build(); + } + if (timePartitionBuilder_ == null) { + result.timePartition_ = timePartition_; + } else { + result.timePartition_ = timePartitionBuilder_.build(); } - result.dimensionsCase_ = dimensionsCase_; onBuilt(); return result; } @@ -4614,14 +5783,11 @@ public Builder mergeFrom(flyteidl.core.ArtifactId.ArtifactID other) { version_ = other.version_; onChanged(); } - switch (other.getDimensionsCase()) { - case PARTITIONS: { - mergePartitions(other.getPartitions()); - break; - } - case DIMENSIONS_NOT_SET: { - break; - } + if (other.hasPartitions()) { + mergePartitions(other.getPartitions()); + } + if (other.hasTimePartition()) { + mergeTimePartition(other.getTimePartition()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -4651,21 +5817,6 @@ public Builder mergeFrom( } return this; } - private int dimensionsCase_ = 0; - private java.lang.Object dimensions_; - public DimensionsCase - getDimensionsCase() { - return DimensionsCase.forNumber( - dimensionsCase_); - } - - public Builder clearDimensions() { - dimensionsCase_ = 0; - dimensions_ = null; - onChanged(); - return this; - } - private flyteidl.core.ArtifactId.ArtifactKey artifactKey_; private com.google.protobuf.SingleFieldBuilderV3< @@ -4853,31 +6004,41 @@ public Builder setVersionBytes( return this; } + private flyteidl.core.ArtifactId.Partitions partitions_; private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.ArtifactId.Partitions, flyteidl.core.ArtifactId.Partitions.Builder, flyteidl.core.ArtifactId.PartitionsOrBuilder> partitionsBuilder_; /** + *
+       * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+       * Different partitions naturally have different versions (execution ids).
+       * 
+ * * .flyteidl.core.Partitions partitions = 3; */ public boolean hasPartitions() { - return dimensionsCase_ == 3; + return partitionsBuilder_ != null || partitions_ != null; } /** + *
+       * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+       * Different partitions naturally have different versions (execution ids).
+       * 
+ * * .flyteidl.core.Partitions partitions = 3; */ public flyteidl.core.ArtifactId.Partitions getPartitions() { if (partitionsBuilder_ == null) { - if (dimensionsCase_ == 3) { - return (flyteidl.core.ArtifactId.Partitions) dimensions_; - } - return flyteidl.core.ArtifactId.Partitions.getDefaultInstance(); + return partitions_ == null ? flyteidl.core.ArtifactId.Partitions.getDefaultInstance() : partitions_; } else { - if (dimensionsCase_ == 3) { - return partitionsBuilder_.getMessage(); - } - return flyteidl.core.ArtifactId.Partitions.getDefaultInstance(); + return partitionsBuilder_.getMessage(); } } /** + *
+       * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+       * Different partitions naturally have different versions (execution ids).
+       * 
+ * * .flyteidl.core.Partitions partitions = 3; */ public Builder setPartitions(flyteidl.core.ArtifactId.Partitions value) { @@ -4885,109 +6046,278 @@ public Builder setPartitions(flyteidl.core.ArtifactId.Partitions value) { if (value == null) { throw new NullPointerException(); } - dimensions_ = value; + partitions_ = value; onChanged(); } else { partitionsBuilder_.setMessage(value); } - dimensionsCase_ = 3; + return this; } /** + *
+       * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+       * Different partitions naturally have different versions (execution ids).
+       * 
+ * * .flyteidl.core.Partitions partitions = 3; */ public Builder setPartitions( flyteidl.core.ArtifactId.Partitions.Builder builderForValue) { if (partitionsBuilder_ == null) { - dimensions_ = builderForValue.build(); + partitions_ = builderForValue.build(); onChanged(); } else { partitionsBuilder_.setMessage(builderForValue.build()); } - dimensionsCase_ = 3; + return this; } /** + *
+       * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+       * Different partitions naturally have different versions (execution ids).
+       * 
+ * * .flyteidl.core.Partitions partitions = 3; */ public Builder mergePartitions(flyteidl.core.ArtifactId.Partitions value) { if (partitionsBuilder_ == null) { - if (dimensionsCase_ == 3 && - dimensions_ != flyteidl.core.ArtifactId.Partitions.getDefaultInstance()) { - dimensions_ = flyteidl.core.ArtifactId.Partitions.newBuilder((flyteidl.core.ArtifactId.Partitions) dimensions_) - .mergeFrom(value).buildPartial(); + if (partitions_ != null) { + partitions_ = + flyteidl.core.ArtifactId.Partitions.newBuilder(partitions_).mergeFrom(value).buildPartial(); } else { - dimensions_ = value; + partitions_ = value; } onChanged(); } else { - if (dimensionsCase_ == 3) { - partitionsBuilder_.mergeFrom(value); - } - partitionsBuilder_.setMessage(value); + partitionsBuilder_.mergeFrom(value); } - dimensionsCase_ = 3; + return this; } /** + *
+       * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+       * Different partitions naturally have different versions (execution ids).
+       * 
+ * * .flyteidl.core.Partitions partitions = 3; */ public Builder clearPartitions() { if (partitionsBuilder_ == null) { - if (dimensionsCase_ == 3) { - dimensionsCase_ = 0; - dimensions_ = null; - onChanged(); - } + partitions_ = null; + onChanged(); } else { - if (dimensionsCase_ == 3) { - dimensionsCase_ = 0; - dimensions_ = null; - } - partitionsBuilder_.clear(); + partitions_ = null; + partitionsBuilder_ = null; } + return this; } /** + *
+       * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+       * Different partitions naturally have different versions (execution ids).
+       * 
+ * * .flyteidl.core.Partitions partitions = 3; */ public flyteidl.core.ArtifactId.Partitions.Builder getPartitionsBuilder() { + + onChanged(); return getPartitionsFieldBuilder().getBuilder(); } /** + *
+       * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+       * Different partitions naturally have different versions (execution ids).
+       * 
+ * * .flyteidl.core.Partitions partitions = 3; */ public flyteidl.core.ArtifactId.PartitionsOrBuilder getPartitionsOrBuilder() { - if ((dimensionsCase_ == 3) && (partitionsBuilder_ != null)) { + if (partitionsBuilder_ != null) { return partitionsBuilder_.getMessageOrBuilder(); } else { - if (dimensionsCase_ == 3) { - return (flyteidl.core.ArtifactId.Partitions) dimensions_; - } - return flyteidl.core.ArtifactId.Partitions.getDefaultInstance(); + return partitions_ == null ? + flyteidl.core.ArtifactId.Partitions.getDefaultInstance() : partitions_; } } /** + *
+       * Think of a partition as a tag on an Artifact, except it's a key-value pair.
+       * Different partitions naturally have different versions (execution ids).
+       * 
+ * * .flyteidl.core.Partitions partitions = 3; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.ArtifactId.Partitions, flyteidl.core.ArtifactId.Partitions.Builder, flyteidl.core.ArtifactId.PartitionsOrBuilder> getPartitionsFieldBuilder() { if (partitionsBuilder_ == null) { - if (!(dimensionsCase_ == 3)) { - dimensions_ = flyteidl.core.ArtifactId.Partitions.getDefaultInstance(); - } partitionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.ArtifactId.Partitions, flyteidl.core.ArtifactId.Partitions.Builder, flyteidl.core.ArtifactId.PartitionsOrBuilder>( - (flyteidl.core.ArtifactId.Partitions) dimensions_, + getPartitions(), getParentForChildren(), isClean()); - dimensions_ = null; + partitions_ = null; } - dimensionsCase_ = 3; - onChanged();; return partitionsBuilder_; } + + private flyteidl.core.ArtifactId.TimePartition timePartition_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.ArtifactId.TimePartition, flyteidl.core.ArtifactId.TimePartition.Builder, flyteidl.core.ArtifactId.TimePartitionOrBuilder> timePartitionBuilder_; + /** + *
+       * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+       * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; + */ + public boolean hasTimePartition() { + return timePartitionBuilder_ != null || timePartition_ != null; + } + /** + *
+       * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+       * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; + */ + public flyteidl.core.ArtifactId.TimePartition getTimePartition() { + if (timePartitionBuilder_ == null) { + return timePartition_ == null ? flyteidl.core.ArtifactId.TimePartition.getDefaultInstance() : timePartition_; + } else { + return timePartitionBuilder_.getMessage(); + } + } + /** + *
+       * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+       * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; + */ + public Builder setTimePartition(flyteidl.core.ArtifactId.TimePartition value) { + if (timePartitionBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + timePartition_ = value; + onChanged(); + } else { + timePartitionBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+       * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; + */ + public Builder setTimePartition( + flyteidl.core.ArtifactId.TimePartition.Builder builderForValue) { + if (timePartitionBuilder_ == null) { + timePartition_ = builderForValue.build(); + onChanged(); + } else { + timePartitionBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+       * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; + */ + public Builder mergeTimePartition(flyteidl.core.ArtifactId.TimePartition value) { + if (timePartitionBuilder_ == null) { + if (timePartition_ != null) { + timePartition_ = + flyteidl.core.ArtifactId.TimePartition.newBuilder(timePartition_).mergeFrom(value).buildPartial(); + } else { + timePartition_ = value; + } + onChanged(); + } else { + timePartitionBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+       * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; + */ + public Builder clearTimePartition() { + if (timePartitionBuilder_ == null) { + timePartition_ = null; + onChanged(); + } else { + timePartition_ = null; + timePartitionBuilder_ = null; + } + + return this; + } + /** + *
+       * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+       * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; + */ + public flyteidl.core.ArtifactId.TimePartition.Builder getTimePartitionBuilder() { + + onChanged(); + return getTimePartitionFieldBuilder().getBuilder(); + } + /** + *
+       * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+       * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; + */ + public flyteidl.core.ArtifactId.TimePartitionOrBuilder getTimePartitionOrBuilder() { + if (timePartitionBuilder_ != null) { + return timePartitionBuilder_.getMessageOrBuilder(); + } else { + return timePartition_ == null ? + flyteidl.core.ArtifactId.TimePartition.getDefaultInstance() : timePartition_; + } + } + /** + *
+       * There is no such thing as an empty time partition - if it's not set, then there is no time partition.
+       * 
+ * + * .flyteidl.core.TimePartition time_partition = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.ArtifactId.TimePartition, flyteidl.core.ArtifactId.TimePartition.Builder, flyteidl.core.ArtifactId.TimePartitionOrBuilder> + getTimePartitionFieldBuilder() { + if (timePartitionBuilder_ == null) { + timePartitionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.ArtifactId.TimePartition, flyteidl.core.ArtifactId.TimePartition.Builder, flyteidl.core.ArtifactId.TimePartitionOrBuilder>( + getTimePartition(), + getParentForChildren(), + isClean()); + timePartition_ = null; + } + return timePartitionBuilder_; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -8435,6 +9765,11 @@ public flyteidl.core.ArtifactId.Trigger getDefaultInstanceForType() { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_flyteidl_core_Partitions_ValueEntry_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_core_TimePartition_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_core_TimePartition_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_flyteidl_core_ArtifactID_descriptor; private static final @@ -8465,35 +9800,41 @@ public flyteidl.core.ArtifactId.Trigger getDefaultInstanceForType() { static { java.lang.String[] descriptorData = { "\n\037flyteidl/core/artifact_id.proto\022\rflyte" + - "idl.core\032\036flyteidl/core/identifier.proto" + - "\"<\n\013ArtifactKey\022\017\n\007project\030\001 \001(\t\022\016\n\006doma" + - "in\030\002 \001(\t\022\014\n\004name\030\003 \001(\t\"N\n\023ArtifactBindin" + - "gData\022\r\n\005index\030\001 \001(\r\022\025\n\rpartition_key\030\002 " + - "\001(\t\022\021\n\ttransform\030\003 \001(\t\"\037\n\020InputBindingDa" + - "ta\022\013\n\003var\030\001 \001(\t\"\250\001\n\nLabelValue\022\026\n\014static" + - "_value\030\001 \001(\tH\000\022?\n\021triggered_binding\030\002 \001(" + - "\0132\".flyteidl.core.ArtifactBindingDataH\000\022" + - "8\n\rinput_binding\030\003 \001(\0132\037.flyteidl.core.I" + - "nputBindingDataH\000B\007\n\005value\"\212\001\n\nPartition" + - "s\0223\n\005value\030\001 \003(\0132$.flyteidl.core.Partiti" + - "ons.ValueEntry\032G\n\nValueEntry\022\013\n\003key\030\001 \001(" + - "\t\022(\n\005value\030\002 \001(\0132\031.flyteidl.core.LabelVa" + - "lue:\0028\001\"\216\001\n\nArtifactID\0220\n\014artifact_key\030\001" + - " \001(\0132\032.flyteidl.core.ArtifactKey\022\017\n\007vers" + - "ion\030\002 \001(\t\022/\n\npartitions\030\003 \001(\0132\031.flyteidl" + - ".core.PartitionsH\000B\014\n\ndimensions\"i\n\013Arti" + - "factTag\0220\n\014artifact_key\030\001 \001(\0132\032.flyteidl" + - ".core.ArtifactKey\022(\n\005value\030\002 \001(\0132\031.flyte" + - "idl.core.LabelValue\"\311\001\n\rArtifactQuery\0220\n" + - "\013artifact_id\030\001 \001(\0132\031.flyteidl.core.Artif" + - "actIDH\000\0222\n\014artifact_tag\030\002 \001(\0132\032.flyteidl" + - ".core.ArtifactTagH\000\022\r\n\003uri\030\003 \001(\tH\000\0225\n\007bi" + - "nding\030\004 \001(\0132\".flyteidl.core.ArtifactBind" + - "ingDataH\000B\014\n\nidentifier\"e\n\007Trigger\022-\n\ntr" + - "igger_id\030\001 \001(\0132\031.flyteidl.core.Identifie" + - "r\022+\n\010triggers\030\002 \003(\0132\031.flyteidl.core.Arti" + - "factIDB>> 3) { + case 1: + message.value = $root.flyteidl.core.LabelValue.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a TimePartition message. + * @function verify + * @memberof flyteidl.core.TimePartition + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TimePartition.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) { + var error = $root.flyteidl.core.LabelValue.verify(message.value); + if (error) + return "value." + error; + } + return null; + }; + + return TimePartition; + })(); + core.ArtifactID = (function() { /** @@ -742,6 +916,7 @@ * @property {flyteidl.core.IArtifactKey|null} [artifactKey] ArtifactID artifactKey * @property {string|null} [version] ArtifactID version * @property {flyteidl.core.IPartitions|null} [partitions] ArtifactID partitions + * @property {flyteidl.core.ITimePartition|null} [timePartition] ArtifactID timePartition */ /** @@ -783,19 +958,13 @@ */ ArtifactID.prototype.partitions = null; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - /** - * ArtifactID dimensions. - * @member {"partitions"|undefined} dimensions + * ArtifactID timePartition. + * @member {flyteidl.core.ITimePartition|null|undefined} timePartition * @memberof flyteidl.core.ArtifactID * @instance */ - Object.defineProperty(ArtifactID.prototype, "dimensions", { - get: $util.oneOfGetter($oneOfFields = ["partitions"]), - set: $util.oneOfSetter($oneOfFields) - }); + ArtifactID.prototype.timePartition = null; /** * Creates a new ArtifactID instance using the specified properties. @@ -827,6 +996,8 @@ writer.uint32(/* id 2, wireType 2 =*/18).string(message.version); if (message.partitions != null && message.hasOwnProperty("partitions")) $root.flyteidl.core.Partitions.encode(message.partitions, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.timePartition != null && message.hasOwnProperty("timePartition")) + $root.flyteidl.core.TimePartition.encode(message.timePartition, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -857,6 +1028,9 @@ case 3: message.partitions = $root.flyteidl.core.Partitions.decode(reader, reader.uint32()); break; + case 4: + message.timePartition = $root.flyteidl.core.TimePartition.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -876,7 +1050,6 @@ ArtifactID.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - var properties = {}; if (message.artifactKey != null && message.hasOwnProperty("artifactKey")) { var error = $root.flyteidl.core.ArtifactKey.verify(message.artifactKey); if (error) @@ -886,12 +1059,14 @@ if (!$util.isString(message.version)) return "version: string expected"; if (message.partitions != null && message.hasOwnProperty("partitions")) { - properties.dimensions = 1; - { - var error = $root.flyteidl.core.Partitions.verify(message.partitions); - if (error) - return "partitions." + error; - } + var error = $root.flyteidl.core.Partitions.verify(message.partitions); + if (error) + return "partitions." + error; + } + if (message.timePartition != null && message.hasOwnProperty("timePartition")) { + var error = $root.flyteidl.core.TimePartition.verify(message.timePartition); + if (error) + return "timePartition." + error; } return null; }; diff --git a/flyteidl/gen/pb_python/flyteidl/artifact/artifacts_pb2.py b/flyteidl/gen/pb_python/flyteidl/artifact/artifacts_pb2.py index 983ab99c0b..c253948ddb 100644 --- a/flyteidl/gen/pb_python/flyteidl/artifact/artifacts_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/artifact/artifacts_pb2.py @@ -13,6 +13,7 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from flyteidl.admin import launch_plan_pb2 as flyteidl_dot_admin_dot_launch__plan__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 @@ -22,7 +23,7 @@ from flyteidl.event import cloudevents_pb2 as flyteidl_dot_event_dot_cloudevents__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!flyteidl/artifact/artifacts.proto\x12\x11\x66lyteidl.artifact\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/api/annotations.proto\x1a flyteidl/admin/launch_plan.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x19\x66lyteidl/core/types.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1f\x66lyteidl/core/artifact_id.proto\x1a\x1d\x66lyteidl/core/interface.proto\x1a flyteidl/event/cloudevents.proto\"\xca\x01\n\x08\x41rtifact\x12:\n\x0b\x61rtifact_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.ArtifactIDR\nartifactId\x12\x33\n\x04spec\x18\x02 \x01(\x0b\x32\x1f.flyteidl.artifact.ArtifactSpecR\x04spec\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags\x12\x39\n\x06source\x18\x04 \x01(\x0b\x32!.flyteidl.artifact.ArtifactSourceR\x06source\"\x8b\x03\n\x15\x43reateArtifactRequest\x12=\n\x0c\x61rtifact_key\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.ArtifactKeyR\x0b\x61rtifactKey\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x33\n\x04spec\x18\x02 \x01(\x0b\x32\x1f.flyteidl.artifact.ArtifactSpecR\x04spec\x12X\n\npartitions\x18\x04 \x03(\x0b\x32\x38.flyteidl.artifact.CreateArtifactRequest.PartitionsEntryR\npartitions\x12\x10\n\x03tag\x18\x05 \x01(\tR\x03tag\x12\x39\n\x06source\x18\x06 \x01(\x0b\x32!.flyteidl.artifact.ArtifactSourceR\x06source\x1a=\n\x0fPartitionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xfb\x01\n\x0e\x41rtifactSource\x12Y\n\x12workflow_execution\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x11workflowExecution\x12\x17\n\x07node_id\x18\x02 \x01(\tR\x06nodeId\x12\x32\n\x07task_id\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x06taskId\x12#\n\rretry_attempt\x18\x04 \x01(\rR\x0cretryAttempt\x12\x1c\n\tprincipal\x18\x05 \x01(\tR\tprincipal\"\xf9\x01\n\x0c\x41rtifactSpec\x12,\n\x05value\x18\x01 \x01(\x0b\x32\x16.flyteidl.core.LiteralR\x05value\x12.\n\x04type\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.LiteralTypeR\x04type\x12+\n\x11short_description\x18\x03 \x01(\tR\x10shortDescription\x12\x39\n\ruser_metadata\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyR\x0cuserMetadata\x12#\n\rmetadata_type\x18\x05 \x01(\tR\x0cmetadataType\"Q\n\x16\x43reateArtifactResponse\x12\x37\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x1b.flyteidl.artifact.ArtifactR\x08\x61rtifact\"b\n\x12GetArtifactRequest\x12\x32\n\x05query\x18\x01 \x01(\x0b\x32\x1c.flyteidl.core.ArtifactQueryR\x05query\x12\x18\n\x07\x64\x65tails\x18\x02 \x01(\x08R\x07\x64\x65tails\"N\n\x13GetArtifactResponse\x12\x37\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x1b.flyteidl.artifact.ArtifactR\x08\x61rtifact\"`\n\rSearchOptions\x12+\n\x11strict_partitions\x18\x01 \x01(\x08R\x10strictPartitions\x12\"\n\rlatest_by_key\x18\x02 \x01(\x08R\x0blatestByKey\"\xb2\x02\n\x16SearchArtifactsRequest\x12=\n\x0c\x61rtifact_key\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.ArtifactKeyR\x0b\x61rtifactKey\x12\x39\n\npartitions\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.PartitionsR\npartitions\x12\x1c\n\tprincipal\x18\x03 \x01(\tR\tprincipal\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x12:\n\x07options\x18\x05 \x01(\x0b\x32 .flyteidl.artifact.SearchOptionsR\x07options\x12\x14\n\x05token\x18\x06 \x01(\tR\x05token\x12\x14\n\x05limit\x18\x07 \x01(\x05R\x05limit\"j\n\x17SearchArtifactsResponse\x12\x39\n\tartifacts\x18\x01 \x03(\x0b\x32\x1b.flyteidl.artifact.ArtifactR\tartifacts\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\xdc\x01\n\x19\x46indByWorkflowExecRequest\x12\x43\n\x07\x65xec_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x06\x65xecId\x12T\n\tdirection\x18\x02 \x01(\x0e\x32\x36.flyteidl.artifact.FindByWorkflowExecRequest.DirectionR\tdirection\"$\n\tDirection\x12\n\n\x06INPUTS\x10\x00\x12\x0b\n\x07OUTPUTS\x10\x01\"\x7f\n\rAddTagRequest\x12:\n\x0b\x61rtifact_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.ArtifactIDR\nartifactId\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\x12\x1c\n\toverwrite\x18\x03 \x01(\x08R\toverwrite\"\x10\n\x0e\x41\x64\x64TagResponse\"b\n\x14\x43reateTriggerRequest\x12J\n\x13trigger_launch_plan\x18\x01 \x01(\x0b\x32\x1a.flyteidl.admin.LaunchPlanR\x11triggerLaunchPlan\"\x17\n\x15\x43reateTriggerResponse\"T\n\x18\x44\x65\x61\x63tivateTriggerRequest\x12\x38\n\ntrigger_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\ttriggerId\"\x1b\n\x19\x44\x65\x61\x63tivateTriggerResponse\"\x80\x01\n\x10\x41rtifactProducer\x12\x36\n\tentity_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x08\x65ntityId\x12\x34\n\x07outputs\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.VariableMapR\x07outputs\"\\\n\x17RegisterProducerRequest\x12\x41\n\tproducers\x18\x01 \x03(\x0b\x32#.flyteidl.artifact.ArtifactProducerR\tproducers\"\x7f\n\x10\x41rtifactConsumer\x12\x36\n\tentity_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x08\x65ntityId\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.ParameterMapR\x06inputs\"\\\n\x17RegisterConsumerRequest\x12\x41\n\tconsumers\x18\x01 \x03(\x0b\x32#.flyteidl.artifact.ArtifactConsumerR\tconsumers\"\x12\n\x10RegisterResponse\"\x9a\x01\n\x16\x45xecutionInputsRequest\x12M\n\x0c\x65xecution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\x12\x31\n\x06inputs\x18\x02 \x03(\x0b\x32\x19.flyteidl.core.ArtifactIDR\x06inputs\"\x19\n\x17\x45xecutionInputsResponse\"N\n\x10ListUsageRequest\x12:\n\x0b\x61rtifact_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.ArtifactIDR\nartifactId\"_\n\x11ListUsageResponse\x12J\n\nexecutions\x18\x01 \x03(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\nexecutions2\xfb\x0b\n\x10\x41rtifactRegistry\x12g\n\x0e\x43reateArtifact\x12(.flyteidl.artifact.CreateArtifactRequest\x1a).flyteidl.artifact.CreateArtifactResponse\"\x00\x12\x84\x01\n\x0bGetArtifact\x12%.flyteidl.artifact.GetArtifactRequest\x1a&.flyteidl.artifact.GetArtifactResponse\"&\x82\xd3\xe4\x93\x02 :\x01*\"\x1b/artifacts/api/v1/artifacts\x12\x8d\x01\n\x0fSearchArtifacts\x12).flyteidl.artifact.SearchArtifactsRequest\x1a*.flyteidl.artifact.SearchArtifactsResponse\"#\x82\xd3\xe4\x93\x02\x1d:\x01*\"\x18/artifacts/api/v1/search\x12\x64\n\rCreateTrigger\x12\'.flyteidl.artifact.CreateTriggerRequest\x1a(.flyteidl.artifact.CreateTriggerResponse\"\x00\x12\x9f\x01\n\x11\x44\x65\x61\x63tivateTrigger\x12+.flyteidl.artifact.DeactivateTriggerRequest\x1a,.flyteidl.artifact.DeactivateTriggerResponse\"/\x82\xd3\xe4\x93\x02):\x01*2$/artifacts/api/v1/trigger/deactivate\x12O\n\x06\x41\x64\x64Tag\x12 .flyteidl.artifact.AddTagRequest\x1a!.flyteidl.artifact.AddTagResponse\"\x00\x12\x65\n\x10RegisterProducer\x12*.flyteidl.artifact.RegisterProducerRequest\x1a#.flyteidl.artifact.RegisterResponse\"\x00\x12\x65\n\x10RegisterConsumer\x12*.flyteidl.artifact.RegisterConsumerRequest\x1a#.flyteidl.artifact.RegisterResponse\"\x00\x12m\n\x12SetExecutionInputs\x12).flyteidl.artifact.ExecutionInputsRequest\x1a*.flyteidl.artifact.ExecutionInputsResponse\"\x00\x12\xd8\x01\n\x12\x46indByWorkflowExec\x12,.flyteidl.artifact.FindByWorkflowExecRequest\x1a*.flyteidl.artifact.SearchArtifactsResponse\"h\x82\xd3\xe4\x93\x02\x62\x12`/artifacts/api/v1/search/execution/{exec_id.project}/{exec_id.domain}/{exec_id.name}/{direction}\x12\xf5\x01\n\tListUsage\x12#.flyteidl.artifact.ListUsageRequest\x1a$.flyteidl.artifact.ListUsageResponse\"\x9c\x01\x82\xd3\xe4\x93\x02\x95\x01\x12\x92\x01/artifacts/api/v1/usage/{artifact_id.artifact_key.project}/{artifact_id.artifact_key.domain}/{artifact_id.artifact_key.name}/{artifact_id.version}B\xcc\x01\n\x15\x63om.flyteidl.artifactB\x0e\x41rtifactsProtoP\x01Z>github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/artifact\xa2\x02\x03\x46\x41X\xaa\x02\x11\x46lyteidl.Artifact\xca\x02\x11\x46lyteidl\\Artifact\xe2\x02\x1d\x46lyteidl\\Artifact\\GPBMetadata\xea\x02\x12\x46lyteidl::Artifactb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!flyteidl/artifact/artifacts.proto\x12\x11\x66lyteidl.artifact\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a flyteidl/admin/launch_plan.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x19\x66lyteidl/core/types.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1f\x66lyteidl/core/artifact_id.proto\x1a\x1d\x66lyteidl/core/interface.proto\x1a flyteidl/event/cloudevents.proto\"\xca\x01\n\x08\x41rtifact\x12:\n\x0b\x61rtifact_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.ArtifactIDR\nartifactId\x12\x33\n\x04spec\x18\x02 \x01(\x0b\x32\x1f.flyteidl.artifact.ArtifactSpecR\x04spec\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags\x12\x39\n\x06source\x18\x04 \x01(\x0b\x32!.flyteidl.artifact.ArtifactSourceR\x06source\"\xc7\x03\n\x15\x43reateArtifactRequest\x12=\n\x0c\x61rtifact_key\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.ArtifactKeyR\x0b\x61rtifactKey\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x33\n\x04spec\x18\x02 \x01(\x0b\x32\x1f.flyteidl.artifact.ArtifactSpecR\x04spec\x12X\n\npartitions\x18\x04 \x03(\x0b\x32\x38.flyteidl.artifact.CreateArtifactRequest.PartitionsEntryR\npartitions\x12L\n\x14time_partition_value\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x12timePartitionValue\x12\x39\n\x06source\x18\x06 \x01(\x0b\x32!.flyteidl.artifact.ArtifactSourceR\x06source\x1a=\n\x0fPartitionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xfb\x01\n\x0e\x41rtifactSource\x12Y\n\x12workflow_execution\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x11workflowExecution\x12\x17\n\x07node_id\x18\x02 \x01(\tR\x06nodeId\x12\x32\n\x07task_id\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x06taskId\x12#\n\rretry_attempt\x18\x04 \x01(\rR\x0cretryAttempt\x12\x1c\n\tprincipal\x18\x05 \x01(\tR\tprincipal\"\xd5\x02\n\x0c\x41rtifactSpec\x12,\n\x05value\x18\x01 \x01(\x0b\x32\x16.flyteidl.core.LiteralR\x05value\x12.\n\x04type\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.LiteralTypeR\x04type\x12+\n\x11short_description\x18\x03 \x01(\tR\x10shortDescription\x12\x39\n\ruser_metadata\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyR\x0cuserMetadata\x12#\n\rmetadata_type\x18\x05 \x01(\tR\x0cmetadataType\x12\x39\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1f\n\x0b\x66ile_format\x18\x07 \x01(\tR\nfileFormat\"Q\n\x16\x43reateArtifactResponse\x12\x37\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x1b.flyteidl.artifact.ArtifactR\x08\x61rtifact\"b\n\x12GetArtifactRequest\x12\x32\n\x05query\x18\x01 \x01(\x0b\x32\x1c.flyteidl.core.ArtifactQueryR\x05query\x12\x18\n\x07\x64\x65tails\x18\x02 \x01(\x08R\x07\x64\x65tails\"N\n\x13GetArtifactResponse\x12\x37\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x1b.flyteidl.artifact.ArtifactR\x08\x61rtifact\"`\n\rSearchOptions\x12+\n\x11strict_partitions\x18\x01 \x01(\x08R\x10strictPartitions\x12\"\n\rlatest_by_key\x18\x02 \x01(\x08R\x0blatestByKey\"\x80\x03\n\x16SearchArtifactsRequest\x12=\n\x0c\x61rtifact_key\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.ArtifactKeyR\x0b\x61rtifactKey\x12\x39\n\npartitions\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.PartitionsR\npartitions\x12L\n\x14time_partition_value\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x12timePartitionValue\x12\x1c\n\tprincipal\x18\x04 \x01(\tR\tprincipal\x12\x18\n\x07version\x18\x05 \x01(\tR\x07version\x12:\n\x07options\x18\x06 \x01(\x0b\x32 .flyteidl.artifact.SearchOptionsR\x07options\x12\x14\n\x05token\x18\x07 \x01(\tR\x05token\x12\x14\n\x05limit\x18\x08 \x01(\x05R\x05limit\"j\n\x17SearchArtifactsResponse\x12\x39\n\tartifacts\x18\x01 \x03(\x0b\x32\x1b.flyteidl.artifact.ArtifactR\tartifacts\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\xdc\x01\n\x19\x46indByWorkflowExecRequest\x12\x43\n\x07\x65xec_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x06\x65xecId\x12T\n\tdirection\x18\x02 \x01(\x0e\x32\x36.flyteidl.artifact.FindByWorkflowExecRequest.DirectionR\tdirection\"$\n\tDirection\x12\n\n\x06INPUTS\x10\x00\x12\x0b\n\x07OUTPUTS\x10\x01\"\x7f\n\rAddTagRequest\x12:\n\x0b\x61rtifact_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.ArtifactIDR\nartifactId\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\x12\x1c\n\toverwrite\x18\x03 \x01(\x08R\toverwrite\"\x10\n\x0e\x41\x64\x64TagResponse\"b\n\x14\x43reateTriggerRequest\x12J\n\x13trigger_launch_plan\x18\x01 \x01(\x0b\x32\x1a.flyteidl.admin.LaunchPlanR\x11triggerLaunchPlan\"\x17\n\x15\x43reateTriggerResponse\"T\n\x18\x44\x65\x61\x63tivateTriggerRequest\x12\x38\n\ntrigger_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\ttriggerId\"\x1b\n\x19\x44\x65\x61\x63tivateTriggerResponse\"\x80\x01\n\x10\x41rtifactProducer\x12\x36\n\tentity_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x08\x65ntityId\x12\x34\n\x07outputs\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.VariableMapR\x07outputs\"\\\n\x17RegisterProducerRequest\x12\x41\n\tproducers\x18\x01 \x03(\x0b\x32#.flyteidl.artifact.ArtifactProducerR\tproducers\"\x7f\n\x10\x41rtifactConsumer\x12\x36\n\tentity_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x08\x65ntityId\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.ParameterMapR\x06inputs\"\\\n\x17RegisterConsumerRequest\x12\x41\n\tconsumers\x18\x01 \x03(\x0b\x32#.flyteidl.artifact.ArtifactConsumerR\tconsumers\"\x12\n\x10RegisterResponse\"\x9a\x01\n\x16\x45xecutionInputsRequest\x12M\n\x0c\x65xecution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\x12\x31\n\x06inputs\x18\x02 \x03(\x0b\x32\x19.flyteidl.core.ArtifactIDR\x06inputs\"\x19\n\x17\x45xecutionInputsResponse\"N\n\x10ListUsageRequest\x12:\n\x0b\x61rtifact_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.ArtifactIDR\nartifactId\"_\n\x11ListUsageResponse\x12J\n\nexecutions\x18\x01 \x03(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\nexecutions2\xfb\x0b\n\x10\x41rtifactRegistry\x12g\n\x0e\x43reateArtifact\x12(.flyteidl.artifact.CreateArtifactRequest\x1a).flyteidl.artifact.CreateArtifactResponse\"\x00\x12\x84\x01\n\x0bGetArtifact\x12%.flyteidl.artifact.GetArtifactRequest\x1a&.flyteidl.artifact.GetArtifactResponse\"&\x82\xd3\xe4\x93\x02 :\x01*\"\x1b/artifacts/api/v1/artifacts\x12\x8d\x01\n\x0fSearchArtifacts\x12).flyteidl.artifact.SearchArtifactsRequest\x1a*.flyteidl.artifact.SearchArtifactsResponse\"#\x82\xd3\xe4\x93\x02\x1d:\x01*\"\x18/artifacts/api/v1/search\x12\x64\n\rCreateTrigger\x12\'.flyteidl.artifact.CreateTriggerRequest\x1a(.flyteidl.artifact.CreateTriggerResponse\"\x00\x12\x9f\x01\n\x11\x44\x65\x61\x63tivateTrigger\x12+.flyteidl.artifact.DeactivateTriggerRequest\x1a,.flyteidl.artifact.DeactivateTriggerResponse\"/\x82\xd3\xe4\x93\x02):\x01*2$/artifacts/api/v1/trigger/deactivate\x12O\n\x06\x41\x64\x64Tag\x12 .flyteidl.artifact.AddTagRequest\x1a!.flyteidl.artifact.AddTagResponse\"\x00\x12\x65\n\x10RegisterProducer\x12*.flyteidl.artifact.RegisterProducerRequest\x1a#.flyteidl.artifact.RegisterResponse\"\x00\x12\x65\n\x10RegisterConsumer\x12*.flyteidl.artifact.RegisterConsumerRequest\x1a#.flyteidl.artifact.RegisterResponse\"\x00\x12m\n\x12SetExecutionInputs\x12).flyteidl.artifact.ExecutionInputsRequest\x1a*.flyteidl.artifact.ExecutionInputsResponse\"\x00\x12\xd8\x01\n\x12\x46indByWorkflowExec\x12,.flyteidl.artifact.FindByWorkflowExecRequest\x1a*.flyteidl.artifact.SearchArtifactsResponse\"h\x82\xd3\xe4\x93\x02\x62\x12`/artifacts/api/v1/search/execution/{exec_id.project}/{exec_id.domain}/{exec_id.name}/{direction}\x12\xf5\x01\n\tListUsage\x12#.flyteidl.artifact.ListUsageRequest\x1a$.flyteidl.artifact.ListUsageResponse\"\x9c\x01\x82\xd3\xe4\x93\x02\x95\x01\x12\x92\x01/artifacts/api/v1/usage/{artifact_id.artifact_key.project}/{artifact_id.artifact_key.domain}/{artifact_id.artifact_key.name}/{artifact_id.version}B\xcc\x01\n\x15\x63om.flyteidl.artifactB\x0e\x41rtifactsProtoP\x01Z>github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/artifact\xa2\x02\x03\x46\x41X\xaa\x02\x11\x46lyteidl.Artifact\xca\x02\x11\x46lyteidl\\Artifact\xe2\x02\x1d\x46lyteidl\\Artifact\\GPBMetadata\xea\x02\x12\x46lyteidl::Artifactb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -43,62 +44,62 @@ _ARTIFACTREGISTRY.methods_by_name['FindByWorkflowExec']._serialized_options = b'\202\323\344\223\002b\022`/artifacts/api/v1/search/execution/{exec_id.project}/{exec_id.domain}/{exec_id.name}/{direction}' _ARTIFACTREGISTRY.methods_by_name['ListUsage']._options = None _ARTIFACTREGISTRY.methods_by_name['ListUsage']._serialized_options = b'\202\323\344\223\002\225\001\022\222\001/artifacts/api/v1/usage/{artifact_id.artifact_key.project}/{artifact_id.artifact_key.domain}/{artifact_id.artifact_key.name}/{artifact_id.version}' - _globals['_ARTIFACT']._serialized_start=335 - _globals['_ARTIFACT']._serialized_end=537 - _globals['_CREATEARTIFACTREQUEST']._serialized_start=540 - _globals['_CREATEARTIFACTREQUEST']._serialized_end=935 - _globals['_CREATEARTIFACTREQUEST_PARTITIONSENTRY']._serialized_start=874 - _globals['_CREATEARTIFACTREQUEST_PARTITIONSENTRY']._serialized_end=935 - _globals['_ARTIFACTSOURCE']._serialized_start=938 - _globals['_ARTIFACTSOURCE']._serialized_end=1189 - _globals['_ARTIFACTSPEC']._serialized_start=1192 - _globals['_ARTIFACTSPEC']._serialized_end=1441 - _globals['_CREATEARTIFACTRESPONSE']._serialized_start=1443 - _globals['_CREATEARTIFACTRESPONSE']._serialized_end=1524 - _globals['_GETARTIFACTREQUEST']._serialized_start=1526 - _globals['_GETARTIFACTREQUEST']._serialized_end=1624 - _globals['_GETARTIFACTRESPONSE']._serialized_start=1626 - _globals['_GETARTIFACTRESPONSE']._serialized_end=1704 - _globals['_SEARCHOPTIONS']._serialized_start=1706 - _globals['_SEARCHOPTIONS']._serialized_end=1802 - _globals['_SEARCHARTIFACTSREQUEST']._serialized_start=1805 - _globals['_SEARCHARTIFACTSREQUEST']._serialized_end=2111 - _globals['_SEARCHARTIFACTSRESPONSE']._serialized_start=2113 - _globals['_SEARCHARTIFACTSRESPONSE']._serialized_end=2219 - _globals['_FINDBYWORKFLOWEXECREQUEST']._serialized_start=2222 - _globals['_FINDBYWORKFLOWEXECREQUEST']._serialized_end=2442 - _globals['_FINDBYWORKFLOWEXECREQUEST_DIRECTION']._serialized_start=2406 - _globals['_FINDBYWORKFLOWEXECREQUEST_DIRECTION']._serialized_end=2442 - _globals['_ADDTAGREQUEST']._serialized_start=2444 - _globals['_ADDTAGREQUEST']._serialized_end=2571 - _globals['_ADDTAGRESPONSE']._serialized_start=2573 - _globals['_ADDTAGRESPONSE']._serialized_end=2589 - _globals['_CREATETRIGGERREQUEST']._serialized_start=2591 - _globals['_CREATETRIGGERREQUEST']._serialized_end=2689 - _globals['_CREATETRIGGERRESPONSE']._serialized_start=2691 - _globals['_CREATETRIGGERRESPONSE']._serialized_end=2714 - _globals['_DEACTIVATETRIGGERREQUEST']._serialized_start=2716 - _globals['_DEACTIVATETRIGGERREQUEST']._serialized_end=2800 - _globals['_DEACTIVATETRIGGERRESPONSE']._serialized_start=2802 - _globals['_DEACTIVATETRIGGERRESPONSE']._serialized_end=2829 - _globals['_ARTIFACTPRODUCER']._serialized_start=2832 - _globals['_ARTIFACTPRODUCER']._serialized_end=2960 - _globals['_REGISTERPRODUCERREQUEST']._serialized_start=2962 - _globals['_REGISTERPRODUCERREQUEST']._serialized_end=3054 - _globals['_ARTIFACTCONSUMER']._serialized_start=3056 - _globals['_ARTIFACTCONSUMER']._serialized_end=3183 - _globals['_REGISTERCONSUMERREQUEST']._serialized_start=3185 - _globals['_REGISTERCONSUMERREQUEST']._serialized_end=3277 - _globals['_REGISTERRESPONSE']._serialized_start=3279 - _globals['_REGISTERRESPONSE']._serialized_end=3297 - _globals['_EXECUTIONINPUTSREQUEST']._serialized_start=3300 - _globals['_EXECUTIONINPUTSREQUEST']._serialized_end=3454 - _globals['_EXECUTIONINPUTSRESPONSE']._serialized_start=3456 - _globals['_EXECUTIONINPUTSRESPONSE']._serialized_end=3481 - _globals['_LISTUSAGEREQUEST']._serialized_start=3483 - _globals['_LISTUSAGEREQUEST']._serialized_end=3561 - _globals['_LISTUSAGERESPONSE']._serialized_start=3563 - _globals['_LISTUSAGERESPONSE']._serialized_end=3658 - _globals['_ARTIFACTREGISTRY']._serialized_start=3661 - _globals['_ARTIFACTREGISTRY']._serialized_end=5192 + _globals['_ARTIFACT']._serialized_start=368 + _globals['_ARTIFACT']._serialized_end=570 + _globals['_CREATEARTIFACTREQUEST']._serialized_start=573 + _globals['_CREATEARTIFACTREQUEST']._serialized_end=1028 + _globals['_CREATEARTIFACTREQUEST_PARTITIONSENTRY']._serialized_start=967 + _globals['_CREATEARTIFACTREQUEST_PARTITIONSENTRY']._serialized_end=1028 + _globals['_ARTIFACTSOURCE']._serialized_start=1031 + _globals['_ARTIFACTSOURCE']._serialized_end=1282 + _globals['_ARTIFACTSPEC']._serialized_start=1285 + _globals['_ARTIFACTSPEC']._serialized_end=1626 + _globals['_CREATEARTIFACTRESPONSE']._serialized_start=1628 + _globals['_CREATEARTIFACTRESPONSE']._serialized_end=1709 + _globals['_GETARTIFACTREQUEST']._serialized_start=1711 + _globals['_GETARTIFACTREQUEST']._serialized_end=1809 + _globals['_GETARTIFACTRESPONSE']._serialized_start=1811 + _globals['_GETARTIFACTRESPONSE']._serialized_end=1889 + _globals['_SEARCHOPTIONS']._serialized_start=1891 + _globals['_SEARCHOPTIONS']._serialized_end=1987 + _globals['_SEARCHARTIFACTSREQUEST']._serialized_start=1990 + _globals['_SEARCHARTIFACTSREQUEST']._serialized_end=2374 + _globals['_SEARCHARTIFACTSRESPONSE']._serialized_start=2376 + _globals['_SEARCHARTIFACTSRESPONSE']._serialized_end=2482 + _globals['_FINDBYWORKFLOWEXECREQUEST']._serialized_start=2485 + _globals['_FINDBYWORKFLOWEXECREQUEST']._serialized_end=2705 + _globals['_FINDBYWORKFLOWEXECREQUEST_DIRECTION']._serialized_start=2669 + _globals['_FINDBYWORKFLOWEXECREQUEST_DIRECTION']._serialized_end=2705 + _globals['_ADDTAGREQUEST']._serialized_start=2707 + _globals['_ADDTAGREQUEST']._serialized_end=2834 + _globals['_ADDTAGRESPONSE']._serialized_start=2836 + _globals['_ADDTAGRESPONSE']._serialized_end=2852 + _globals['_CREATETRIGGERREQUEST']._serialized_start=2854 + _globals['_CREATETRIGGERREQUEST']._serialized_end=2952 + _globals['_CREATETRIGGERRESPONSE']._serialized_start=2954 + _globals['_CREATETRIGGERRESPONSE']._serialized_end=2977 + _globals['_DEACTIVATETRIGGERREQUEST']._serialized_start=2979 + _globals['_DEACTIVATETRIGGERREQUEST']._serialized_end=3063 + _globals['_DEACTIVATETRIGGERRESPONSE']._serialized_start=3065 + _globals['_DEACTIVATETRIGGERRESPONSE']._serialized_end=3092 + _globals['_ARTIFACTPRODUCER']._serialized_start=3095 + _globals['_ARTIFACTPRODUCER']._serialized_end=3223 + _globals['_REGISTERPRODUCERREQUEST']._serialized_start=3225 + _globals['_REGISTERPRODUCERREQUEST']._serialized_end=3317 + _globals['_ARTIFACTCONSUMER']._serialized_start=3319 + _globals['_ARTIFACTCONSUMER']._serialized_end=3446 + _globals['_REGISTERCONSUMERREQUEST']._serialized_start=3448 + _globals['_REGISTERCONSUMERREQUEST']._serialized_end=3540 + _globals['_REGISTERRESPONSE']._serialized_start=3542 + _globals['_REGISTERRESPONSE']._serialized_end=3560 + _globals['_EXECUTIONINPUTSREQUEST']._serialized_start=3563 + _globals['_EXECUTIONINPUTSREQUEST']._serialized_end=3717 + _globals['_EXECUTIONINPUTSRESPONSE']._serialized_start=3719 + _globals['_EXECUTIONINPUTSRESPONSE']._serialized_end=3744 + _globals['_LISTUSAGEREQUEST']._serialized_start=3746 + _globals['_LISTUSAGEREQUEST']._serialized_end=3824 + _globals['_LISTUSAGERESPONSE']._serialized_start=3826 + _globals['_LISTUSAGERESPONSE']._serialized_end=3921 + _globals['_ARTIFACTREGISTRY']._serialized_start=3924 + _globals['_ARTIFACTREGISTRY']._serialized_end=5455 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/artifact/artifacts_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/artifact/artifacts_pb2.pyi index 92ba6c0904..fe6c5fecfb 100644 --- a/flyteidl/gen/pb_python/flyteidl/artifact/artifacts_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/artifact/artifacts_pb2.pyi @@ -1,5 +1,6 @@ from google.protobuf import any_pb2 as _any_pb2 from google.api import annotations_pb2 as _annotations_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 from flyteidl.admin import launch_plan_pb2 as _launch_plan_pb2 from flyteidl.core import literals_pb2 as _literals_pb2 from flyteidl.core import types_pb2 as _types_pb2 @@ -28,7 +29,7 @@ class Artifact(_message.Message): def __init__(self, artifact_id: _Optional[_Union[_artifact_id_pb2.ArtifactID, _Mapping]] = ..., spec: _Optional[_Union[ArtifactSpec, _Mapping]] = ..., tags: _Optional[_Iterable[str]] = ..., source: _Optional[_Union[ArtifactSource, _Mapping]] = ...) -> None: ... class CreateArtifactRequest(_message.Message): - __slots__ = ["artifact_key", "version", "spec", "partitions", "tag", "source"] + __slots__ = ["artifact_key", "version", "spec", "partitions", "time_partition_value", "source"] class PartitionsEntry(_message.Message): __slots__ = ["key", "value"] KEY_FIELD_NUMBER: _ClassVar[int] @@ -40,15 +41,15 @@ class CreateArtifactRequest(_message.Message): VERSION_FIELD_NUMBER: _ClassVar[int] SPEC_FIELD_NUMBER: _ClassVar[int] PARTITIONS_FIELD_NUMBER: _ClassVar[int] - TAG_FIELD_NUMBER: _ClassVar[int] + TIME_PARTITION_VALUE_FIELD_NUMBER: _ClassVar[int] SOURCE_FIELD_NUMBER: _ClassVar[int] artifact_key: _artifact_id_pb2.ArtifactKey version: str spec: ArtifactSpec partitions: _containers.ScalarMap[str, str] - tag: str + time_partition_value: _timestamp_pb2.Timestamp source: ArtifactSource - def __init__(self, artifact_key: _Optional[_Union[_artifact_id_pb2.ArtifactKey, _Mapping]] = ..., version: _Optional[str] = ..., spec: _Optional[_Union[ArtifactSpec, _Mapping]] = ..., partitions: _Optional[_Mapping[str, str]] = ..., tag: _Optional[str] = ..., source: _Optional[_Union[ArtifactSource, _Mapping]] = ...) -> None: ... + def __init__(self, artifact_key: _Optional[_Union[_artifact_id_pb2.ArtifactKey, _Mapping]] = ..., version: _Optional[str] = ..., spec: _Optional[_Union[ArtifactSpec, _Mapping]] = ..., partitions: _Optional[_Mapping[str, str]] = ..., time_partition_value: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., source: _Optional[_Union[ArtifactSource, _Mapping]] = ...) -> None: ... class ArtifactSource(_message.Message): __slots__ = ["workflow_execution", "node_id", "task_id", "retry_attempt", "principal"] @@ -65,18 +66,22 @@ class ArtifactSource(_message.Message): def __init__(self, workflow_execution: _Optional[_Union[_identifier_pb2.WorkflowExecutionIdentifier, _Mapping]] = ..., node_id: _Optional[str] = ..., task_id: _Optional[_Union[_identifier_pb2.Identifier, _Mapping]] = ..., retry_attempt: _Optional[int] = ..., principal: _Optional[str] = ...) -> None: ... class ArtifactSpec(_message.Message): - __slots__ = ["value", "type", "short_description", "user_metadata", "metadata_type"] + __slots__ = ["value", "type", "short_description", "user_metadata", "metadata_type", "created_at", "file_format"] VALUE_FIELD_NUMBER: _ClassVar[int] TYPE_FIELD_NUMBER: _ClassVar[int] SHORT_DESCRIPTION_FIELD_NUMBER: _ClassVar[int] USER_METADATA_FIELD_NUMBER: _ClassVar[int] METADATA_TYPE_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + FILE_FORMAT_FIELD_NUMBER: _ClassVar[int] value: _literals_pb2.Literal type: _types_pb2.LiteralType short_description: str user_metadata: _any_pb2.Any metadata_type: str - def __init__(self, value: _Optional[_Union[_literals_pb2.Literal, _Mapping]] = ..., type: _Optional[_Union[_types_pb2.LiteralType, _Mapping]] = ..., short_description: _Optional[str] = ..., user_metadata: _Optional[_Union[_any_pb2.Any, _Mapping]] = ..., metadata_type: _Optional[str] = ...) -> None: ... + created_at: _timestamp_pb2.Timestamp + file_format: str + def __init__(self, value: _Optional[_Union[_literals_pb2.Literal, _Mapping]] = ..., type: _Optional[_Union[_types_pb2.LiteralType, _Mapping]] = ..., short_description: _Optional[str] = ..., user_metadata: _Optional[_Union[_any_pb2.Any, _Mapping]] = ..., metadata_type: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., file_format: _Optional[str] = ...) -> None: ... class CreateArtifactResponse(_message.Message): __slots__ = ["artifact"] @@ -107,9 +112,10 @@ class SearchOptions(_message.Message): def __init__(self, strict_partitions: bool = ..., latest_by_key: bool = ...) -> None: ... class SearchArtifactsRequest(_message.Message): - __slots__ = ["artifact_key", "partitions", "principal", "version", "options", "token", "limit"] + __slots__ = ["artifact_key", "partitions", "time_partition_value", "principal", "version", "options", "token", "limit"] ARTIFACT_KEY_FIELD_NUMBER: _ClassVar[int] PARTITIONS_FIELD_NUMBER: _ClassVar[int] + TIME_PARTITION_VALUE_FIELD_NUMBER: _ClassVar[int] PRINCIPAL_FIELD_NUMBER: _ClassVar[int] VERSION_FIELD_NUMBER: _ClassVar[int] OPTIONS_FIELD_NUMBER: _ClassVar[int] @@ -117,12 +123,13 @@ class SearchArtifactsRequest(_message.Message): LIMIT_FIELD_NUMBER: _ClassVar[int] artifact_key: _artifact_id_pb2.ArtifactKey partitions: _artifact_id_pb2.Partitions + time_partition_value: _timestamp_pb2.Timestamp principal: str version: str options: SearchOptions token: str limit: int - def __init__(self, artifact_key: _Optional[_Union[_artifact_id_pb2.ArtifactKey, _Mapping]] = ..., partitions: _Optional[_Union[_artifact_id_pb2.Partitions, _Mapping]] = ..., principal: _Optional[str] = ..., version: _Optional[str] = ..., options: _Optional[_Union[SearchOptions, _Mapping]] = ..., token: _Optional[str] = ..., limit: _Optional[int] = ...) -> None: ... + def __init__(self, artifact_key: _Optional[_Union[_artifact_id_pb2.ArtifactKey, _Mapping]] = ..., partitions: _Optional[_Union[_artifact_id_pb2.Partitions, _Mapping]] = ..., time_partition_value: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., principal: _Optional[str] = ..., version: _Optional[str] = ..., options: _Optional[_Union[SearchOptions, _Mapping]] = ..., token: _Optional[str] = ..., limit: _Optional[int] = ...) -> None: ... class SearchArtifactsResponse(_message.Message): __slots__ = ["artifacts", "token"] diff --git a/flyteidl/gen/pb_python/flyteidl/core/artifact_id_pb2.py b/flyteidl/gen/pb_python/flyteidl/core/artifact_id_pb2.py index 9496d9c008..a84b5629ed 100644 --- a/flyteidl/gen/pb_python/flyteidl/core/artifact_id_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/core/artifact_id_pb2.py @@ -11,10 +11,11 @@ _sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from flyteidl.core import identifier_pb2 as flyteidl_dot_core_dot_identifier__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x66lyteidl/core/artifact_id.proto\x12\rflyteidl.core\x1a\x1e\x66lyteidl/core/identifier.proto\"S\n\x0b\x41rtifactKey\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\"n\n\x13\x41rtifactBindingData\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12#\n\rpartition_key\x18\x02 \x01(\tR\x0cpartitionKey\x12\x1c\n\ttransform\x18\x03 \x01(\tR\ttransform\"$\n\x10InputBindingData\x12\x10\n\x03var\x18\x01 \x01(\tR\x03var\"\xd5\x01\n\nLabelValue\x12#\n\x0cstatic_value\x18\x01 \x01(\tH\x00R\x0bstaticValue\x12Q\n\x11triggered_binding\x18\x02 \x01(\x0b\x32\".flyteidl.core.ArtifactBindingDataH\x00R\x10triggeredBinding\x12\x46\n\rinput_binding\x18\x03 \x01(\x0b\x32\x1f.flyteidl.core.InputBindingDataH\x00R\x0cinputBindingB\x07\n\x05value\"\x9d\x01\n\nPartitions\x12:\n\x05value\x18\x01 \x03(\x0b\x32$.flyteidl.core.Partitions.ValueEntryR\x05value\x1aS\n\nValueEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12/\n\x05value\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LabelValueR\x05value:\x02\x38\x01\"\xb0\x01\n\nArtifactID\x12=\n\x0c\x61rtifact_key\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.ArtifactKeyR\x0b\x61rtifactKey\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12;\n\npartitions\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.PartitionsH\x00R\npartitionsB\x0c\n\ndimensions\"}\n\x0b\x41rtifactTag\x12=\n\x0c\x61rtifact_key\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.ArtifactKeyR\x0b\x61rtifactKey\x12/\n\x05value\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LabelValueR\x05value\"\xf0\x01\n\rArtifactQuery\x12<\n\x0b\x61rtifact_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.ArtifactIDH\x00R\nartifactId\x12?\n\x0c\x61rtifact_tag\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.ArtifactTagH\x00R\x0b\x61rtifactTag\x12\x12\n\x03uri\x18\x03 \x01(\tH\x00R\x03uri\x12>\n\x07\x62inding\x18\x04 \x01(\x0b\x32\".flyteidl.core.ArtifactBindingDataH\x00R\x07\x62indingB\x0c\n\nidentifier\"z\n\x07Trigger\x12\x38\n\ntrigger_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\ttriggerId\x12\x35\n\x08triggers\x18\x02 \x03(\x0b\x32\x19.flyteidl.core.ArtifactIDR\x08triggersB\xb5\x01\n\x11\x63om.flyteidl.coreB\x0f\x41rtifactIdProtoP\x01Z:github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core\xa2\x02\x03\x46\x43X\xaa\x02\rFlyteidl.Core\xca\x02\rFlyteidl\\Core\xe2\x02\x19\x46lyteidl\\Core\\GPBMetadata\xea\x02\x0e\x46lyteidl::Coreb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x66lyteidl/core/artifact_id.proto\x12\rflyteidl.core\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1e\x66lyteidl/core/identifier.proto\"S\n\x0b\x41rtifactKey\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\"\xb9\x01\n\x13\x41rtifactBindingData\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12%\n\rpartition_key\x18\x02 \x01(\tH\x00R\x0cpartitionKey\x12\x35\n\x16\x62ind_to_time_partition\x18\x03 \x01(\x08H\x00R\x13\x62indToTimePartition\x12\x1c\n\ttransform\x18\x04 \x01(\tR\ttransformB\x10\n\x0epartition_data\"$\n\x10InputBindingData\x12\x10\n\x03var\x18\x01 \x01(\tR\x03var\"\x92\x02\n\nLabelValue\x12#\n\x0cstatic_value\x18\x01 \x01(\tH\x00R\x0bstaticValue\x12;\n\ntime_value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\ttimeValue\x12Q\n\x11triggered_binding\x18\x03 \x01(\x0b\x32\".flyteidl.core.ArtifactBindingDataH\x00R\x10triggeredBinding\x12\x46\n\rinput_binding\x18\x04 \x01(\x0b\x32\x1f.flyteidl.core.InputBindingDataH\x00R\x0cinputBindingB\x07\n\x05value\"\x9d\x01\n\nPartitions\x12:\n\x05value\x18\x01 \x03(\x0b\x32$.flyteidl.core.Partitions.ValueEntryR\x05value\x1aS\n\nValueEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12/\n\x05value\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LabelValueR\x05value:\x02\x38\x01\"@\n\rTimePartition\x12/\n\x05value\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LabelValueR\x05value\"\xe5\x01\n\nArtifactID\x12=\n\x0c\x61rtifact_key\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.ArtifactKeyR\x0b\x61rtifactKey\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x39\n\npartitions\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.PartitionsR\npartitions\x12\x43\n\x0etime_partition\x18\x04 \x01(\x0b\x32\x1c.flyteidl.core.TimePartitionR\rtimePartition\"}\n\x0b\x41rtifactTag\x12=\n\x0c\x61rtifact_key\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.ArtifactKeyR\x0b\x61rtifactKey\x12/\n\x05value\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LabelValueR\x05value\"\xf0\x01\n\rArtifactQuery\x12<\n\x0b\x61rtifact_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.ArtifactIDH\x00R\nartifactId\x12?\n\x0c\x61rtifact_tag\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.ArtifactTagH\x00R\x0b\x61rtifactTag\x12\x12\n\x03uri\x18\x03 \x01(\tH\x00R\x03uri\x12>\n\x07\x62inding\x18\x04 \x01(\x0b\x32\".flyteidl.core.ArtifactBindingDataH\x00R\x07\x62indingB\x0c\n\nidentifier\"z\n\x07Trigger\x12\x38\n\ntrigger_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\ttriggerId\x12\x35\n\x08triggers\x18\x02 \x03(\x0b\x32\x19.flyteidl.core.ArtifactIDR\x08triggersB\xb5\x01\n\x11\x63om.flyteidl.coreB\x0f\x41rtifactIdProtoP\x01Z:github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core\xa2\x02\x03\x46\x43X\xaa\x02\rFlyteidl.Core\xca\x02\rFlyteidl\\Core\xe2\x02\x19\x46lyteidl\\Core\\GPBMetadata\xea\x02\x0e\x46lyteidl::Coreb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -25,24 +26,26 @@ DESCRIPTOR._serialized_options = b'\n\021com.flyteidl.coreB\017ArtifactIdProtoP\001Z:github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core\242\002\003FCX\252\002\rFlyteidl.Core\312\002\rFlyteidl\\Core\342\002\031Flyteidl\\Core\\GPBMetadata\352\002\016Flyteidl::Core' _PARTITIONS_VALUEENTRY._options = None _PARTITIONS_VALUEENTRY._serialized_options = b'8\001' - _globals['_ARTIFACTKEY']._serialized_start=82 - _globals['_ARTIFACTKEY']._serialized_end=165 - _globals['_ARTIFACTBINDINGDATA']._serialized_start=167 - _globals['_ARTIFACTBINDINGDATA']._serialized_end=277 - _globals['_INPUTBINDINGDATA']._serialized_start=279 - _globals['_INPUTBINDINGDATA']._serialized_end=315 - _globals['_LABELVALUE']._serialized_start=318 - _globals['_LABELVALUE']._serialized_end=531 - _globals['_PARTITIONS']._serialized_start=534 - _globals['_PARTITIONS']._serialized_end=691 - _globals['_PARTITIONS_VALUEENTRY']._serialized_start=608 - _globals['_PARTITIONS_VALUEENTRY']._serialized_end=691 - _globals['_ARTIFACTID']._serialized_start=694 - _globals['_ARTIFACTID']._serialized_end=870 - _globals['_ARTIFACTTAG']._serialized_start=872 - _globals['_ARTIFACTTAG']._serialized_end=997 - _globals['_ARTIFACTQUERY']._serialized_start=1000 - _globals['_ARTIFACTQUERY']._serialized_end=1240 - _globals['_TRIGGER']._serialized_start=1242 - _globals['_TRIGGER']._serialized_end=1364 + _globals['_ARTIFACTKEY']._serialized_start=115 + _globals['_ARTIFACTKEY']._serialized_end=198 + _globals['_ARTIFACTBINDINGDATA']._serialized_start=201 + _globals['_ARTIFACTBINDINGDATA']._serialized_end=386 + _globals['_INPUTBINDINGDATA']._serialized_start=388 + _globals['_INPUTBINDINGDATA']._serialized_end=424 + _globals['_LABELVALUE']._serialized_start=427 + _globals['_LABELVALUE']._serialized_end=701 + _globals['_PARTITIONS']._serialized_start=704 + _globals['_PARTITIONS']._serialized_end=861 + _globals['_PARTITIONS_VALUEENTRY']._serialized_start=778 + _globals['_PARTITIONS_VALUEENTRY']._serialized_end=861 + _globals['_TIMEPARTITION']._serialized_start=863 + _globals['_TIMEPARTITION']._serialized_end=927 + _globals['_ARTIFACTID']._serialized_start=930 + _globals['_ARTIFACTID']._serialized_end=1159 + _globals['_ARTIFACTTAG']._serialized_start=1161 + _globals['_ARTIFACTTAG']._serialized_end=1286 + _globals['_ARTIFACTQUERY']._serialized_start=1289 + _globals['_ARTIFACTQUERY']._serialized_end=1529 + _globals['_TRIGGER']._serialized_start=1531 + _globals['_TRIGGER']._serialized_end=1653 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/core/artifact_id_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/core/artifact_id_pb2.pyi index 4f65759ae7..1e0aedd6d4 100644 --- a/flyteidl/gen/pb_python/flyteidl/core/artifact_id_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/core/artifact_id_pb2.pyi @@ -1,3 +1,4 @@ +from google.protobuf import timestamp_pb2 as _timestamp_pb2 from flyteidl.core import identifier_pb2 as _identifier_pb2 from google.protobuf.internal import containers as _containers from google.protobuf import descriptor as _descriptor @@ -17,14 +18,16 @@ class ArtifactKey(_message.Message): def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ... class ArtifactBindingData(_message.Message): - __slots__ = ["index", "partition_key", "transform"] + __slots__ = ["index", "partition_key", "bind_to_time_partition", "transform"] INDEX_FIELD_NUMBER: _ClassVar[int] PARTITION_KEY_FIELD_NUMBER: _ClassVar[int] + BIND_TO_TIME_PARTITION_FIELD_NUMBER: _ClassVar[int] TRANSFORM_FIELD_NUMBER: _ClassVar[int] index: int partition_key: str + bind_to_time_partition: bool transform: str - def __init__(self, index: _Optional[int] = ..., partition_key: _Optional[str] = ..., transform: _Optional[str] = ...) -> None: ... + def __init__(self, index: _Optional[int] = ..., partition_key: _Optional[str] = ..., bind_to_time_partition: bool = ..., transform: _Optional[str] = ...) -> None: ... class InputBindingData(_message.Message): __slots__ = ["var"] @@ -33,14 +36,16 @@ class InputBindingData(_message.Message): def __init__(self, var: _Optional[str] = ...) -> None: ... class LabelValue(_message.Message): - __slots__ = ["static_value", "triggered_binding", "input_binding"] + __slots__ = ["static_value", "time_value", "triggered_binding", "input_binding"] STATIC_VALUE_FIELD_NUMBER: _ClassVar[int] + TIME_VALUE_FIELD_NUMBER: _ClassVar[int] TRIGGERED_BINDING_FIELD_NUMBER: _ClassVar[int] INPUT_BINDING_FIELD_NUMBER: _ClassVar[int] static_value: str + time_value: _timestamp_pb2.Timestamp triggered_binding: ArtifactBindingData input_binding: InputBindingData - def __init__(self, static_value: _Optional[str] = ..., triggered_binding: _Optional[_Union[ArtifactBindingData, _Mapping]] = ..., input_binding: _Optional[_Union[InputBindingData, _Mapping]] = ...) -> None: ... + def __init__(self, static_value: _Optional[str] = ..., time_value: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., triggered_binding: _Optional[_Union[ArtifactBindingData, _Mapping]] = ..., input_binding: _Optional[_Union[InputBindingData, _Mapping]] = ...) -> None: ... class Partitions(_message.Message): __slots__ = ["value"] @@ -55,15 +60,23 @@ class Partitions(_message.Message): value: _containers.MessageMap[str, LabelValue] def __init__(self, value: _Optional[_Mapping[str, LabelValue]] = ...) -> None: ... +class TimePartition(_message.Message): + __slots__ = ["value"] + VALUE_FIELD_NUMBER: _ClassVar[int] + value: LabelValue + def __init__(self, value: _Optional[_Union[LabelValue, _Mapping]] = ...) -> None: ... + class ArtifactID(_message.Message): - __slots__ = ["artifact_key", "version", "partitions"] + __slots__ = ["artifact_key", "version", "partitions", "time_partition"] ARTIFACT_KEY_FIELD_NUMBER: _ClassVar[int] VERSION_FIELD_NUMBER: _ClassVar[int] PARTITIONS_FIELD_NUMBER: _ClassVar[int] + TIME_PARTITION_FIELD_NUMBER: _ClassVar[int] artifact_key: ArtifactKey version: str partitions: Partitions - def __init__(self, artifact_key: _Optional[_Union[ArtifactKey, _Mapping]] = ..., version: _Optional[str] = ..., partitions: _Optional[_Union[Partitions, _Mapping]] = ...) -> None: ... + time_partition: TimePartition + def __init__(self, artifact_key: _Optional[_Union[ArtifactKey, _Mapping]] = ..., version: _Optional[str] = ..., partitions: _Optional[_Union[Partitions, _Mapping]] = ..., time_partition: _Optional[_Union[TimePartition, _Mapping]] = ...) -> None: ... class ArtifactTag(_message.Message): __slots__ = ["artifact_key", "value"] diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/README.md b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/README.md index ebc981f1b5..9c5645628b 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/README.md +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/README.md @@ -410,6 +410,7 @@ Class | Method | HTTP request | Description - [CoreTaskNode](docs/CoreTaskNode.md) - [CoreTaskNodeOverrides](docs/CoreTaskNodeOverrides.md) - [CoreTaskTemplate](docs/CoreTaskTemplate.md) + - [CoreTimePartition](docs/CoreTimePartition.md) - [CoreTypeAnnotation](docs/CoreTypeAnnotation.md) - [CoreTypeStructure](docs/CoreTypeStructure.md) - [CoreTypedInterface](docs/CoreTypedInterface.md) diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/__init__.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/__init__.py index 83fb266b30..f57c6ff9a0 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/__init__.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/__init__.py @@ -243,6 +243,7 @@ from flyteadmin.models.core_task_node import CoreTaskNode from flyteadmin.models.core_task_node_overrides import CoreTaskNodeOverrides from flyteadmin.models.core_task_template import CoreTaskTemplate +from flyteadmin.models.core_time_partition import CoreTimePartition from flyteadmin.models.core_type_annotation import CoreTypeAnnotation from flyteadmin.models.core_type_structure import CoreTypeStructure from flyteadmin.models.core_typed_interface import CoreTypedInterface diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py index f5ee9c3e3e..3089fff468 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py @@ -236,6 +236,7 @@ from flyteadmin.models.core_task_node import CoreTaskNode from flyteadmin.models.core_task_node_overrides import CoreTaskNodeOverrides from flyteadmin.models.core_task_template import CoreTaskTemplate +from flyteadmin.models.core_time_partition import CoreTimePartition from flyteadmin.models.core_type_annotation import CoreTypeAnnotation from flyteadmin.models.core_type_structure import CoreTypeStructure from flyteadmin.models.core_typed_interface import CoreTypedInterface diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_artifact_binding_data.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_artifact_binding_data.py index 01bdc123bd..0375fc40bb 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_artifact_binding_data.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_artifact_binding_data.py @@ -33,20 +33,23 @@ class CoreArtifactBindingData(object): swagger_types = { 'index': 'int', 'partition_key': 'str', + 'bind_to_time_partition': 'bool', 'transform': 'str' } attribute_map = { 'index': 'index', 'partition_key': 'partition_key', + 'bind_to_time_partition': 'bind_to_time_partition', 'transform': 'transform' } - def __init__(self, index=None, partition_key=None, transform=None): # noqa: E501 + def __init__(self, index=None, partition_key=None, bind_to_time_partition=None, transform=None): # noqa: E501 """CoreArtifactBindingData - a model defined in Swagger""" # noqa: E501 self._index = None self._partition_key = None + self._bind_to_time_partition = None self._transform = None self.discriminator = None @@ -54,6 +57,8 @@ def __init__(self, index=None, partition_key=None, transform=None): # noqa: E50 self.index = index if partition_key is not None: self.partition_key = partition_key + if bind_to_time_partition is not None: + self.bind_to_time_partition = bind_to_time_partition if transform is not None: self.transform = transform @@ -99,6 +104,27 @@ def partition_key(self, partition_key): self._partition_key = partition_key + @property + def bind_to_time_partition(self): + """Gets the bind_to_time_partition of this CoreArtifactBindingData. # noqa: E501 + + + :return: The bind_to_time_partition of this CoreArtifactBindingData. # noqa: E501 + :rtype: bool + """ + return self._bind_to_time_partition + + @bind_to_time_partition.setter + def bind_to_time_partition(self, bind_to_time_partition): + """Sets the bind_to_time_partition of this CoreArtifactBindingData. + + + :param bind_to_time_partition: The bind_to_time_partition of this CoreArtifactBindingData. # noqa: E501 + :type: bool + """ + + self._bind_to_time_partition = bind_to_time_partition + @property def transform(self): """Gets the transform of this CoreArtifactBindingData. # noqa: E501 diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_artifact_id.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_artifact_id.py index 3d643ce5b9..26a7a4f3fb 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_artifact_id.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_artifact_id.py @@ -18,6 +18,7 @@ from flyteadmin.models.core_artifact_key import CoreArtifactKey # noqa: F401,E501 from flyteadmin.models.core_partitions import CorePartitions # noqa: F401,E501 +from flyteadmin.models.core_time_partition import CoreTimePartition # noqa: F401,E501 class CoreArtifactID(object): @@ -36,21 +37,24 @@ class CoreArtifactID(object): swagger_types = { 'artifact_key': 'CoreArtifactKey', 'version': 'str', - 'partitions': 'CorePartitions' + 'partitions': 'CorePartitions', + 'time_partition': 'CoreTimePartition' } attribute_map = { 'artifact_key': 'artifact_key', 'version': 'version', - 'partitions': 'partitions' + 'partitions': 'partitions', + 'time_partition': 'time_partition' } - def __init__(self, artifact_key=None, version=None, partitions=None): # noqa: E501 + def __init__(self, artifact_key=None, version=None, partitions=None, time_partition=None): # noqa: E501 """CoreArtifactID - a model defined in Swagger""" # noqa: E501 self._artifact_key = None self._version = None self._partitions = None + self._time_partition = None self.discriminator = None if artifact_key is not None: @@ -59,6 +63,8 @@ def __init__(self, artifact_key=None, version=None, partitions=None): # noqa: E self.version = version if partitions is not None: self.partitions = partitions + if time_partition is not None: + self.time_partition = time_partition @property def artifact_key(self): @@ -106,6 +112,7 @@ def version(self, version): def partitions(self): """Gets the partitions of this CoreArtifactID. # noqa: E501 + Think of a partition as a tag on an Artifact, except it's a key-value pair. Different partitions naturally have different versions (execution ids). # noqa: E501 :return: The partitions of this CoreArtifactID. # noqa: E501 :rtype: CorePartitions @@ -116,6 +123,7 @@ def partitions(self): def partitions(self, partitions): """Sets the partitions of this CoreArtifactID. + Think of a partition as a tag on an Artifact, except it's a key-value pair. Different partitions naturally have different versions (execution ids). # noqa: E501 :param partitions: The partitions of this CoreArtifactID. # noqa: E501 :type: CorePartitions @@ -123,6 +131,29 @@ def partitions(self, partitions): self._partitions = partitions + @property + def time_partition(self): + """Gets the time_partition of this CoreArtifactID. # noqa: E501 + + There is no such thing as an empty time partition - if it's not set, then there is no time partition. # noqa: E501 + + :return: The time_partition of this CoreArtifactID. # noqa: E501 + :rtype: CoreTimePartition + """ + return self._time_partition + + @time_partition.setter + def time_partition(self, time_partition): + """Sets the time_partition of this CoreArtifactID. + + There is no such thing as an empty time partition - if it's not set, then there is no time partition. # noqa: E501 + + :param time_partition: The time_partition of this CoreArtifactID. # noqa: E501 + :type: CoreTimePartition + """ + + self._time_partition = time_partition + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_label_value.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_label_value.py index a15f0fba07..915c128b6e 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_label_value.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_label_value.py @@ -35,26 +35,31 @@ class CoreLabelValue(object): """ swagger_types = { 'static_value': 'str', + 'time_value': 'datetime', 'triggered_binding': 'CoreArtifactBindingData', 'input_binding': 'CoreInputBindingData' } attribute_map = { 'static_value': 'static_value', + 'time_value': 'time_value', 'triggered_binding': 'triggered_binding', 'input_binding': 'input_binding' } - def __init__(self, static_value=None, triggered_binding=None, input_binding=None): # noqa: E501 + def __init__(self, static_value=None, time_value=None, triggered_binding=None, input_binding=None): # noqa: E501 """CoreLabelValue - a model defined in Swagger""" # noqa: E501 self._static_value = None + self._time_value = None self._triggered_binding = None self._input_binding = None self.discriminator = None if static_value is not None: self.static_value = static_value + if time_value is not None: + self.time_value = time_value if triggered_binding is not None: self.triggered_binding = triggered_binding if input_binding is not None: @@ -81,6 +86,27 @@ def static_value(self, static_value): self._static_value = static_value + @property + def time_value(self): + """Gets the time_value of this CoreLabelValue. # noqa: E501 + + + :return: The time_value of this CoreLabelValue. # noqa: E501 + :rtype: datetime + """ + return self._time_value + + @time_value.setter + def time_value(self, time_value): + """Sets the time_value of this CoreLabelValue. + + + :param time_value: The time_value of this CoreLabelValue. # noqa: E501 + :type: datetime + """ + + self._time_value = time_value + @property def triggered_binding(self): """Gets the triggered_binding of this CoreLabelValue. # noqa: E501 diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_time_partition.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_time_partition.py new file mode 100644 index 0000000000..5f8dfa515f --- /dev/null +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_time_partition.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 + +from flyteadmin.models.core_label_value import CoreLabelValue # noqa: F401,E501 + + +class CoreTimePartition(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 = { + 'value': 'CoreLabelValue' + } + + attribute_map = { + 'value': 'value' + } + + def __init__(self, value=None): # noqa: E501 + """CoreTimePartition - a model defined in Swagger""" # noqa: E501 + + self._value = None + self.discriminator = None + + if value is not None: + self.value = value + + @property + def value(self): + """Gets the value of this CoreTimePartition. # noqa: E501 + + + :return: The value of this CoreTimePartition. # noqa: E501 + :rtype: CoreLabelValue + """ + return self._value + + @value.setter + def value(self, value): + """Sets the value of this CoreTimePartition. + + + :param value: The value of this CoreTimePartition. # noqa: E501 + :type: CoreLabelValue + """ + + self._value = value + + 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(CoreTimePartition, 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, CoreTimePartition): + 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/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_time_partition.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_time_partition.py new file mode 100644 index 0000000000..11a3aba894 --- /dev/null +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_time_partition.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_time_partition import CoreTimePartition # noqa: E501 +from flyteadmin.rest import ApiException + + +class TestCoreTimePartition(unittest.TestCase): + """CoreTimePartition unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCoreTimePartition(self): + """Test CoreTimePartition""" + # FIXME: construct object with mandatory attributes with example values + # model = flyteadmin.models.core_time_partition.CoreTimePartition() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/flyteidl/gen/pb_rust/flyteidl.artifact.rs b/flyteidl/gen/pb_rust/flyteidl.artifact.rs index 5423067bbd..d15c98c74e 100644 --- a/flyteidl/gen/pb_rust/flyteidl.artifact.rs +++ b/flyteidl/gen/pb_rust/flyteidl.artifact.rs @@ -24,8 +24,8 @@ pub struct CreateArtifactRequest { pub spec: ::core::option::Option, #[prost(map="string, string", tag="4")] pub partitions: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, - #[prost(string, tag="5")] - pub tag: ::prost::alloc::string::String, + #[prost(message, optional, tag="5")] + pub time_partition_value: ::core::option::Option<::prost_types::Timestamp>, #[prost(message, optional, tag="6")] pub source: ::core::option::Option, } @@ -61,6 +61,10 @@ pub struct ArtifactSpec { pub user_metadata: ::core::option::Option<::prost_types::Any>, #[prost(string, tag="5")] pub metadata_type: ::prost::alloc::string::String, + #[prost(message, optional, tag="6")] + pub created_at: ::core::option::Option<::prost_types::Timestamp>, + #[prost(string, tag="7")] + pub file_format: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -101,15 +105,17 @@ pub struct SearchArtifactsRequest { pub artifact_key: ::core::option::Option, #[prost(message, optional, tag="2")] pub partitions: ::core::option::Option, - #[prost(string, tag="3")] - pub principal: ::prost::alloc::string::String, + #[prost(message, optional, tag="3")] + pub time_partition_value: ::core::option::Option<::prost_types::Timestamp>, #[prost(string, tag="4")] + pub principal: ::prost::alloc::string::String, + #[prost(string, tag="5")] pub version: ::prost::alloc::string::String, - #[prost(message, optional, tag="5")] + #[prost(message, optional, tag="6")] pub options: ::core::option::Option, - #[prost(string, tag="6")] + #[prost(string, tag="7")] pub token: ::prost::alloc::string::String, - #[prost(int32, tag="7")] + #[prost(int32, tag="8")] pub limit: i32, } #[allow(clippy::derive_partial_eq_without_eq)] diff --git a/flyteidl/gen/pb_rust/flyteidl.core.rs b/flyteidl/gen/pb_rust/flyteidl.core.rs index 5c104cb4f9..fab797191d 100644 --- a/flyteidl/gen/pb_rust/flyteidl.core.rs +++ b/flyteidl/gen/pb_rust/flyteidl.core.rs @@ -730,11 +730,24 @@ pub struct ArtifactKey { pub struct ArtifactBindingData { #[prost(uint32, tag="1")] pub index: u32, - /// These two fields are only relevant in the partition value case - #[prost(string, tag="2")] - pub partition_key: ::prost::alloc::string::String, - #[prost(string, tag="3")] + /// This is only relevant in the time partition case + #[prost(string, tag="4")] pub transform: ::prost::alloc::string::String, + /// These two fields are only relevant in the partition value case + #[prost(oneof="artifact_binding_data::PartitionData", tags="2, 3")] + pub partition_data: ::core::option::Option, +} +/// Nested message and enum types in `ArtifactBindingData`. +pub mod artifact_binding_data { + /// These two fields are only relevant in the partition value case + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum PartitionData { + #[prost(string, tag="2")] + PartitionKey(::prost::alloc::string::String), + #[prost(bool, tag="3")] + BindToTimePartition(bool), + } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -745,7 +758,7 @@ pub struct InputBindingData { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LabelValue { - #[prost(oneof="label_value::Value", tags="1, 2, 3")] + #[prost(oneof="label_value::Value", tags="1, 2, 3, 4")] pub value: ::core::option::Option, } /// Nested message and enum types in `LabelValue`. @@ -753,11 +766,15 @@ pub mod label_value { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum Value { + /// The string static value is for use in the Partitions object #[prost(string, tag="1")] StaticValue(::prost::alloc::string::String), + /// The time value is for use in the TimePartition case #[prost(message, tag="2")] - TriggeredBinding(super::ArtifactBindingData), + TimeValue(::prost_types::Timestamp), #[prost(message, tag="3")] + TriggeredBinding(super::ArtifactBindingData), + #[prost(message, tag="4")] InputBinding(super::InputBindingData), } } @@ -769,6 +786,12 @@ pub struct Partitions { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] +pub struct TimePartition { + #[prost(message, optional, tag="1")] + pub value: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct ArtifactId { #[prost(message, optional, tag="1")] pub artifact_key: ::core::option::Option, @@ -776,27 +799,11 @@ pub struct ArtifactId { pub version: ::prost::alloc::string::String, /// Think of a partition as a tag on an Artifact, except it's a key-value pair. /// Different partitions naturally have different versions (execution ids). - /// This is a oneof because of partition querying... we need a way to distinguish between - /// a user not-specifying partitions when searching, and specifically searching for an Artifact - /// that is not partitioned (this can happen if an Artifact goes from partitioned to non- - /// partitioned across executions). - #[prost(oneof="artifact_id::Dimensions", tags="3")] - pub dimensions: ::core::option::Option, -} -/// Nested message and enum types in `ArtifactID`. -pub mod artifact_id { - /// Think of a partition as a tag on an Artifact, except it's a key-value pair. - /// Different partitions naturally have different versions (execution ids). - /// This is a oneof because of partition querying... we need a way to distinguish between - /// a user not-specifying partitions when searching, and specifically searching for an Artifact - /// that is not partitioned (this can happen if an Artifact goes from partitioned to non- - /// partitioned across executions). - #[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Dimensions { - #[prost(message, tag="3")] - Partitions(super::Partitions), - } + #[prost(message, optional, tag="3")] + pub partitions: ::core::option::Option, + /// There is no such thing as an empty time partition - if it's not set, then there is no time partition. + #[prost(message, optional, tag="4")] + pub time_partition: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] diff --git a/flyteidl/protos/flyteidl/artifact/artifacts.proto b/flyteidl/protos/flyteidl/artifact/artifacts.proto index 5a3135d793..b67da65c86 100644 --- a/flyteidl/protos/flyteidl/artifact/artifacts.proto +++ b/flyteidl/protos/flyteidl/artifact/artifacts.proto @@ -5,6 +5,7 @@ option go_package = "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/artif import "google/protobuf/any.proto"; import "google/api/annotations.proto"; +import "google/protobuf/timestamp.proto"; import "flyteidl/admin/launch_plan.proto"; import "flyteidl/core/literals.proto"; @@ -35,7 +36,7 @@ message CreateArtifactRequest { map partitions = 4; - string tag = 5; + google.protobuf.Timestamp time_partition_value = 5; ArtifactSource source = 6; } @@ -64,6 +65,10 @@ message ArtifactSpec { google.protobuf.Any user_metadata = 4; string metadata_type = 5; + + google.protobuf.Timestamp created_at = 6; + + string file_format = 7; } @@ -96,13 +101,15 @@ message SearchArtifactsRequest { core.Partitions partitions = 2; - string principal = 3; - string version = 4; + google.protobuf.Timestamp time_partition_value = 3; + + string principal = 4; + string version = 5; - SearchOptions options = 5; + SearchOptions options = 6; - string token = 6; - int32 limit = 7; + string token = 7; + int32 limit = 8; } message SearchArtifactsResponse { diff --git a/flyteidl/protos/flyteidl/core/artifact_id.proto b/flyteidl/protos/flyteidl/core/artifact_id.proto index e7719cf010..c00a176239 100644 --- a/flyteidl/protos/flyteidl/core/artifact_id.proto +++ b/flyteidl/protos/flyteidl/core/artifact_id.proto @@ -4,6 +4,7 @@ package flyteidl.core; option go_package = "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core"; +import "google/protobuf/timestamp.proto"; import "flyteidl/core/identifier.proto"; @@ -19,8 +20,13 @@ message ArtifactBindingData { uint32 index = 1; // These two fields are only relevant in the partition value case - string partition_key = 2; - string transform = 3; + oneof partition_data { + string partition_key = 2; + bool bind_to_time_partition = 3; + } + + // This is only relevant in the time partition case + string transform = 4; } message InputBindingData { @@ -29,15 +35,24 @@ message InputBindingData { message LabelValue { oneof value { + // The string static value is for use in the Partitions object string static_value = 1; - ArtifactBindingData triggered_binding = 2; - InputBindingData input_binding = 3; + + // The time value is for use in the TimePartition case + google.protobuf.Timestamp time_value = 2; + ArtifactBindingData triggered_binding = 3; + InputBindingData input_binding = 4; } } + message Partitions { map value = 1; } +message TimePartition { + LabelValue value = 1; +} + message ArtifactID { ArtifactKey artifact_key = 1; @@ -45,13 +60,10 @@ message ArtifactID { // Think of a partition as a tag on an Artifact, except it's a key-value pair. // Different partitions naturally have different versions (execution ids). - // This is a oneof because of partition querying... we need a way to distinguish between - // a user not-specifying partitions when searching, and specifically searching for an Artifact - // that is not partitioned (this can happen if an Artifact goes from partitioned to non- - // partitioned across executions). - oneof dimensions { - Partitions partitions = 3; - } + Partitions partitions = 3; + + // There is no such thing as an empty time partition - if it's not set, then there is no time partition. + TimePartition time_partition = 4; } message ArtifactTag {