Refine list import task api (#16690)

Signed-off-by: groot <yihua.mo@zilliz.com>
pull/16712/head
groot 2022-04-28 17:21:47 +08:00 committed by GitHub
parent 2205b878b1
commit 21b5973253
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 749 additions and 547 deletions

View File

@ -22,6 +22,7 @@ extern PROTOBUF_INTERNAL_EXPORT_common_2eproto ::PROTOBUF_NAMESPACE_ID::internal
extern PROTOBUF_INTERNAL_EXPORT_common_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Status_common_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_CompactionMergeInfo_milvus_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_FlushResponse_CollSegIDsEntry_DoNotUse_milvus_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_GetImportStateResponse_milvus_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_IndexDescription_milvus_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PersistentSegmentInfo_milvus_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PlaceholderValue_milvus_2eproto;
@ -1349,9 +1350,10 @@ static void InitDefaultsscc_info_ListImportTasksResponse_milvus_2eproto() {
::milvus::proto::milvus::ListImportTasksResponse::InitAsDefaultInstance();
}
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_ListImportTasksResponse_milvus_2eproto =
{{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_ListImportTasksResponse_milvus_2eproto}, {
&scc_info_Status_common_2eproto.base,}};
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_ListImportTasksResponse_milvus_2eproto =
{{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsscc_info_ListImportTasksResponse_milvus_2eproto}, {
&scc_info_Status_common_2eproto.base,
&scc_info_GetImportStateResponse_milvus_2eproto.base,}};
static void InitDefaultsscc_info_LoadBalanceRequest_milvus_2eproto() {
GOOGLE_PROTOBUF_VERIFY_VERSION;
@ -2521,6 +2523,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::GetImportStateResponse, row_count_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::GetImportStateResponse, id_list_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::GetImportStateResponse, infos_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::GetImportStateResponse, id_),
~0u, // no _has_bits_
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ListImportTasksRequest, _internal_metadata_),
~0u, // no _extensions_
@ -2691,17 +2694,17 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB
{ 690, -1, sizeof(::milvus::proto::milvus::ImportResponse)},
{ 697, -1, sizeof(::milvus::proto::milvus::GetImportStateRequest)},
{ 703, -1, sizeof(::milvus::proto::milvus::GetImportStateResponse)},
{ 713, -1, sizeof(::milvus::proto::milvus::ListImportTasksRequest)},
{ 718, -1, sizeof(::milvus::proto::milvus::ListImportTasksResponse)},
{ 725, -1, sizeof(::milvus::proto::milvus::GetReplicasRequest)},
{ 733, -1, sizeof(::milvus::proto::milvus::GetReplicasResponse)},
{ 740, -1, sizeof(::milvus::proto::milvus::ReplicaInfo)},
{ 750, -1, sizeof(::milvus::proto::milvus::ShardReplica)},
{ 759, -1, sizeof(::milvus::proto::milvus::CreateCredentialRequest)},
{ 769, -1, sizeof(::milvus::proto::milvus::UpdateCredentialRequest)},
{ 780, -1, sizeof(::milvus::proto::milvus::DeleteCredentialRequest)},
{ 787, -1, sizeof(::milvus::proto::milvus::ListCredUsersResponse)},
{ 794, -1, sizeof(::milvus::proto::milvus::ListCredUsersRequest)},
{ 714, -1, sizeof(::milvus::proto::milvus::ListImportTasksRequest)},
{ 719, -1, sizeof(::milvus::proto::milvus::ListImportTasksResponse)},
{ 726, -1, sizeof(::milvus::proto::milvus::GetReplicasRequest)},
{ 734, -1, sizeof(::milvus::proto::milvus::GetReplicasResponse)},
{ 741, -1, sizeof(::milvus::proto::milvus::ReplicaInfo)},
{ 751, -1, sizeof(::milvus::proto::milvus::ShardReplica)},
{ 760, -1, sizeof(::milvus::proto::milvus::CreateCredentialRequest)},
{ 770, -1, sizeof(::milvus::proto::milvus::UpdateCredentialRequest)},
{ 781, -1, sizeof(::milvus::proto::milvus::DeleteCredentialRequest)},
{ 788, -1, sizeof(::milvus::proto::milvus::ListCredUsersResponse)},
{ 795, -1, sizeof(::milvus::proto::milvus::ListCredUsersRequest)},
};
static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
@ -3075,170 +3078,172 @@ const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE(
"us.proto.common.KeyValuePair\"L\n\016ImportRe"
"sponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.co"
"mmon.Status\022\r\n\005tasks\030\002 \003(\003\"%\n\025GetImportS"
"tateRequest\022\014\n\004task\030\001 \001(\003\"\314\001\n\026GetImportS"
"tateRequest\022\014\n\004task\030\001 \001(\003\"\330\001\n\026GetImportS"
"tateResponse\022+\n\006status\030\001 \001(\0132\033.milvus.pr"
"oto.common.Status\022/\n\005state\030\002 \001(\0162 .milvu"
"s.proto.common.ImportState\022\021\n\trow_count\030"
"\003 \001(\003\022\017\n\007id_list\030\004 \003(\003\0220\n\005infos\030\005 \003(\0132!."
"milvus.proto.common.KeyValuePair\"\030\n\026List"
"ImportTasksRequest\"U\n\027ListImportTasksRes"
"ponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.com"
"mon.Status\022\r\n\005tasks\030\002 \003(\003\"p\n\022GetReplicas"
"Request\022*\n\004base\030\001 \001(\0132\034.milvus.proto.com"
"mon.MsgBase\022\024\n\014collectionID\030\002 \001(\003\022\030\n\020wit"
"h_shard_nodes\030\003 \001(\010\"v\n\023GetReplicasRespon"
"se\022+\n\006status\030\001 \001(\0132\033.milvus.proto.common"
".Status\0222\n\010replicas\030\002 \003(\0132 .milvus.proto"
".milvus.ReplicaInfo\"\232\001\n\013ReplicaInfo\022\021\n\tr"
"eplicaID\030\001 \001(\003\022\024\n\014collectionID\030\002 \001(\003\022\025\n\r"
"partition_ids\030\003 \003(\003\0229\n\016shard_replicas\030\004 "
"\003(\0132!.milvus.proto.milvus.ShardReplica\022\020"
"\n\010node_ids\030\005 \003(\003\"`\n\014ShardReplica\022\020\n\010lead"
"erID\030\001 \001(\003\022\023\n\013leader_addr\030\002 \001(\t\022\027\n\017dm_ch"
"annel_name\030\003 \001(\t\022\020\n\010node_ids\030\004 \003(\003\"\252\001\n\027C"
"reateCredentialRequest\022*\n\004base\030\001 \001(\0132\034.m"
"ilvus.proto.common.MsgBase\022\020\n\010username\030\002"
" \001(\t\022\020\n\010password\030\003 \001(\t\022\036\n\026created_utc_ti"
"mestamps\030\004 \001(\004\022\037\n\027modified_utc_timestamp"
"s\030\005 \001(\004\"\302\001\n\027UpdateCredentialRequest\022*\n\004b"
"ase\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022"
"\020\n\010username\030\002 \001(\t\022\023\n\013oldPassword\030\003 \001(\t\022\023"
"\n\013newPassword\030\004 \001(\t\022\036\n\026created_utc_times"
"tamps\030\005 \001(\004\022\037\n\027modified_utc_timestamps\030\006"
" \001(\004\"W\n\027DeleteCredentialRequest\022*\n\004base\030"
"\001 \001(\0132\034.milvus.proto.common.MsgBase\022\020\n\010u"
"sername\030\002 \001(\t\"W\n\025ListCredUsersResponse\022+"
"\n\006status\030\001 \001(\0132\033.milvus.proto.common.Sta"
"tus\022\021\n\tusernames\030\002 \003(\t\"B\n\024ListCredUsersR"
"equest\022*\n\004base\030\001 \001(\0132\034.milvus.proto.comm"
"on.MsgBase*!\n\010ShowType\022\007\n\003All\020\000\022\014\n\010InMem"
"ory\020\001*>\n\017PlaceholderType\022\010\n\004None\020\000\022\020\n\014Bi"
"naryVector\020d\022\017\n\013FloatVector\020e2\250%\n\rMilvus"
"Service\022_\n\020CreateCollection\022,.milvus.pro"
"to.milvus.CreateCollectionRequest\032\033.milv"
"us.proto.common.Status\"\000\022[\n\016DropCollecti"
"on\022*.milvus.proto.milvus.DropCollectionR"
"equest\032\033.milvus.proto.common.Status\"\000\022_\n"
"\rHasCollection\022).milvus.proto.milvus.Has"
"CollectionRequest\032!.milvus.proto.milvus."
"BoolResponse\"\000\022[\n\016LoadCollection\022*.milvu"
"s.proto.milvus.LoadCollectionRequest\032\033.m"
"ilvus.proto.common.Status\"\000\022a\n\021ReleaseCo"
"llection\022-.milvus.proto.milvus.ReleaseCo"
"llectionRequest\032\033.milvus.proto.common.St"
"atus\"\000\022w\n\022DescribeCollection\022..milvus.pr"
"oto.milvus.DescribeCollectionRequest\032/.m"
"ilvus.proto.milvus.DescribeCollectionRes"
"ponse\"\000\022\206\001\n\027GetCollectionStatistics\0223.mi"
"lvus.proto.milvus.GetCollectionStatistic"
"sRequest\0324.milvus.proto.milvus.GetCollec"
"tionStatisticsResponse\"\000\022n\n\017ShowCollecti"
"ons\022+.milvus.proto.milvus.ShowCollection"
"sRequest\032,.milvus.proto.milvus.ShowColle"
"ctionsResponse\"\000\022]\n\017CreatePartition\022+.mi"
"lvus.proto.milvus.CreatePartitionRequest"
"\032\033.milvus.proto.common.Status\"\000\022Y\n\rDropP"
"artition\022).milvus.proto.milvus.DropParti"
"milvus.proto.common.KeyValuePair\022\n\n\002id\030\006"
" \001(\003\"\030\n\026ListImportTasksRequest\"\202\001\n\027ListI"
"mportTasksResponse\022+\n\006status\030\001 \001(\0132\033.mil"
"vus.proto.common.Status\022:\n\005tasks\030\002 \003(\0132+"
".milvus.proto.milvus.GetImportStateRespo"
"nse\"p\n\022GetReplicasRequest\022*\n\004base\030\001 \001(\0132"
"\034.milvus.proto.common.MsgBase\022\024\n\014collect"
"ionID\030\002 \001(\003\022\030\n\020with_shard_nodes\030\003 \001(\010\"v\n"
"\023GetReplicasResponse\022+\n\006status\030\001 \001(\0132\033.m"
"ilvus.proto.common.Status\0222\n\010replicas\030\002 "
"\003(\0132 .milvus.proto.milvus.ReplicaInfo\"\232\001"
"\n\013ReplicaInfo\022\021\n\treplicaID\030\001 \001(\003\022\024\n\014coll"
"ectionID\030\002 \001(\003\022\025\n\rpartition_ids\030\003 \003(\003\0229\n"
"\016shard_replicas\030\004 \003(\0132!.milvus.proto.mil"
"vus.ShardReplica\022\020\n\010node_ids\030\005 \003(\003\"`\n\014Sh"
"ardReplica\022\020\n\010leaderID\030\001 \001(\003\022\023\n\013leader_a"
"ddr\030\002 \001(\t\022\027\n\017dm_channel_name\030\003 \001(\t\022\020\n\010no"
"de_ids\030\004 \003(\003\"\252\001\n\027CreateCredentialRequest"
"\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common.Msg"
"Base\022\020\n\010username\030\002 \001(\t\022\020\n\010password\030\003 \001(\t"
"\022\036\n\026created_utc_timestamps\030\004 \001(\004\022\037\n\027modi"
"fied_utc_timestamps\030\005 \001(\004\"\302\001\n\027UpdateCred"
"entialRequest\022*\n\004base\030\001 \001(\0132\034.milvus.pro"
"to.common.MsgBase\022\020\n\010username\030\002 \001(\t\022\023\n\013o"
"ldPassword\030\003 \001(\t\022\023\n\013newPassword\030\004 \001(\t\022\036\n"
"\026created_utc_timestamps\030\005 \001(\004\022\037\n\027modifie"
"d_utc_timestamps\030\006 \001(\004\"W\n\027DeleteCredenti"
"alRequest\022*\n\004base\030\001 \001(\0132\034.milvus.proto.c"
"ommon.MsgBase\022\020\n\010username\030\002 \001(\t\"W\n\025ListC"
"redUsersResponse\022+\n\006status\030\001 \001(\0132\033.milvu"
"s.proto.common.Status\022\021\n\tusernames\030\002 \003(\t"
"\"B\n\024ListCredUsersRequest\022*\n\004base\030\001 \001(\0132\034"
".milvus.proto.common.MsgBase*!\n\010ShowType"
"\022\007\n\003All\020\000\022\014\n\010InMemory\020\001*>\n\017PlaceholderTy"
"pe\022\010\n\004None\020\000\022\020\n\014BinaryVector\020d\022\017\n\013FloatV"
"ector\020e2\250%\n\rMilvusService\022_\n\020CreateColle"
"ction\022,.milvus.proto.milvus.CreateCollec"
"tionRequest\032\033.milvus.proto.common.Status"
"\"\000\022]\n\014HasPartition\022(.milvus.proto.milvus"
".HasPartitionRequest\032!.milvus.proto.milv"
"us.BoolResponse\"\000\022[\n\016LoadPartitions\022*.mi"
"lvus.proto.milvus.LoadPartitionsRequest\032"
"\033.milvus.proto.common.Status\"\000\022a\n\021Releas"
"ePartitions\022-.milvus.proto.milvus.Releas"
"ePartitionsRequest\032\033.milvus.proto.common"
".Status\"\000\022\203\001\n\026GetPartitionStatistics\0222.m"
"ilvus.proto.milvus.GetPartitionStatistic"
"sRequest\0323.milvus.proto.milvus.GetPartit"
"ionStatisticsResponse\"\000\022k\n\016ShowPartition"
"s\022*.milvus.proto.milvus.ShowPartitionsRe"
"quest\032+.milvus.proto.milvus.ShowPartitio"
"nsResponse\"\000\022U\n\013CreateAlias\022\'.milvus.pro"
"to.milvus.CreateAliasRequest\032\033.milvus.pr"
"oto.common.Status\"\000\022Q\n\tDropAlias\022%.milvu"
"s.proto.milvus.DropAliasRequest\032\033.milvus"
".proto.common.Status\"\000\022S\n\nAlterAlias\022&.m"
"ilvus.proto.milvus.AlterAliasRequest\032\033.m"
"ilvus.proto.common.Status\"\000\022U\n\013CreateInd"
"ex\022\'.milvus.proto.milvus.CreateIndexRequ"
"est\032\033.milvus.proto.common.Status\"\000\022h\n\rDe"
"scribeIndex\022).milvus.proto.milvus.Descri"
"beIndexRequest\032*.milvus.proto.milvus.Des"
"cribeIndexResponse\"\000\022h\n\rGetIndexState\022)."
"milvus.proto.milvus.GetIndexStateRequest"
"\032*.milvus.proto.milvus.GetIndexStateResp"
"onse\"\000\022\200\001\n\025GetIndexBuildProgress\0221.milvu"
"s.proto.milvus.GetIndexBuildProgressRequ"
"est\0322.milvus.proto.milvus.GetIndexBuildP"
"rogressResponse\"\000\022Q\n\tDropIndex\022%.milvus."
"proto.milvus.DropIndexRequest\032\033.milvus.p"
"roto.common.Status\"\000\022S\n\006Insert\022\".milvus."
"proto.milvus.InsertRequest\032#.milvus.prot"
"o.milvus.MutationResult\"\000\022S\n\006Delete\022\".mi"
"lvus.proto.milvus.DeleteRequest\032#.milvus"
".proto.milvus.MutationResult\"\000\022R\n\006Search"
"\022\".milvus.proto.milvus.SearchRequest\032\".m"
"ilvus.proto.milvus.SearchResults\"\000\022P\n\005Fl"
"ush\022!.milvus.proto.milvus.FlushRequest\032\""
".milvus.proto.milvus.FlushResponse\"\000\022O\n\005"
"Query\022!.milvus.proto.milvus.QueryRequest"
"\032!.milvus.proto.milvus.QueryResults\"\000\022d\n"
"\014CalcDistance\022(.milvus.proto.milvus.Calc"
"DistanceRequest\032(.milvus.proto.milvus.Ca"
"lcDistanceResults\"\000\022h\n\rGetFlushState\022).m"
"ilvus.proto.milvus.GetFlushStateRequest\032"
"*.milvus.proto.milvus.GetFlushStateRespo"
"nse\"\000\022\211\001\n\030GetPersistentSegmentInfo\0224.mil"
"vus.proto.milvus.GetPersistentSegmentInf"
"oRequest\0325.milvus.proto.milvus.GetPersis"
"tentSegmentInfoResponse\"\000\022z\n\023GetQuerySeg"
"mentInfo\022/.milvus.proto.milvus.GetQueryS"
"egmentInfoRequest\0320.milvus.proto.milvus."
"GetQuerySegmentInfoResponse\"\000\022b\n\013GetRepl"
"icas\022\'.milvus.proto.milvus.GetReplicasRe"
"quest\032(.milvus.proto.milvus.GetReplicasR"
"esponse\"\000\022P\n\005Dummy\022!.milvus.proto.milvus"
".DummyRequest\032\".milvus.proto.milvus.Dumm"
"yResponse\"\000\022e\n\014RegisterLink\022(.milvus.pro"
"to.milvus.RegisterLinkRequest\032).milvus.p"
"roto.milvus.RegisterLinkResponse\"\000\022_\n\nGe"
"tMetrics\022&.milvus.proto.milvus.GetMetric"
"sRequest\032\'.milvus.proto.milvus.GetMetric"
"sResponse\"\000\022U\n\013LoadBalance\022\'.milvus.prot"
"o.milvus.LoadBalanceRequest\032\033.milvus.pro"
"to.common.Status\"\000\022w\n\022GetCompactionState"
"\022..milvus.proto.milvus.GetCompactionStat"
"eRequest\032/.milvus.proto.milvus.GetCompac"
"tionStateResponse\"\000\022q\n\020ManualCompaction\022"
",.milvus.proto.milvus.ManualCompactionRe"
"quest\032-.milvus.proto.milvus.ManualCompac"
"tionResponse\"\000\022\200\001\n\033GetCompactionStateWit"
"hPlans\022..milvus.proto.milvus.GetCompacti"
"onPlansRequest\032/.milvus.proto.milvus.Get"
"CompactionPlansResponse\"\000\022S\n\006Import\022\".mi"
"lvus.proto.milvus.ImportRequest\032#.milvus"
".proto.milvus.ImportResponse\"\000\022k\n\016GetImp"
"ortState\022*.milvus.proto.milvus.GetImport"
"StateRequest\032+.milvus.proto.milvus.GetIm"
"portStateResponse\"\000\022n\n\017ListImportTasks\022+"
".milvus.proto.milvus.ListImportTasksRequ"
"est\032,.milvus.proto.milvus.ListImportTask"
"sResponse\"\000\022_\n\020CreateCredential\022,.milvus"
".proto.milvus.CreateCredentialRequest\032\033."
"milvus.proto.common.Status\"\000\022_\n\020UpdateCr"
"edential\022,.milvus.proto.milvus.UpdateCre"
"dentialRequest\032\033.milvus.proto.common.Sta"
"tus\"\000\022_\n\020DeleteCredential\022,.milvus.proto"
".milvus.DeleteCredentialRequest\032\033.milvus"
".proto.common.Status\"\000\022h\n\rListCredUsers\022"
").milvus.proto.milvus.ListCredUsersReque"
"st\032*.milvus.proto.milvus.ListCredUsersRe"
"sponse\"\0002u\n\014ProxyService\022e\n\014RegisterLink"
"\022(.milvus.proto.milvus.RegisterLinkReque"
"st\032).milvus.proto.milvus.RegisterLinkRes"
"ponse\"\000BW\n\016io.milvus.grpcB\013MilvusProtoP\001"
"Z3github.com/milvus-io/milvus/internal/p"
"roto/milvuspb\240\001\001b\006proto3"
"\"\000\022[\n\016DropCollection\022*.milvus.proto.milv"
"us.DropCollectionRequest\032\033.milvus.proto."
"common.Status\"\000\022_\n\rHasCollection\022).milvu"
"s.proto.milvus.HasCollectionRequest\032!.mi"
"lvus.proto.milvus.BoolResponse\"\000\022[\n\016Load"
"Collection\022*.milvus.proto.milvus.LoadCol"
"lectionRequest\032\033.milvus.proto.common.Sta"
"tus\"\000\022a\n\021ReleaseCollection\022-.milvus.prot"
"o.milvus.ReleaseCollectionRequest\032\033.milv"
"us.proto.common.Status\"\000\022w\n\022DescribeColl"
"ection\022..milvus.proto.milvus.DescribeCol"
"lectionRequest\032/.milvus.proto.milvus.Des"
"cribeCollectionResponse\"\000\022\206\001\n\027GetCollect"
"ionStatistics\0223.milvus.proto.milvus.GetC"
"ollectionStatisticsRequest\0324.milvus.prot"
"o.milvus.GetCollectionStatisticsResponse"
"\"\000\022n\n\017ShowCollections\022+.milvus.proto.mil"
"vus.ShowCollectionsRequest\032,.milvus.prot"
"o.milvus.ShowCollectionsResponse\"\000\022]\n\017Cr"
"eatePartition\022+.milvus.proto.milvus.Crea"
"tePartitionRequest\032\033.milvus.proto.common"
".Status\"\000\022Y\n\rDropPartition\022).milvus.prot"
"o.milvus.DropPartitionRequest\032\033.milvus.p"
"roto.common.Status\"\000\022]\n\014HasPartition\022(.m"
"ilvus.proto.milvus.HasPartitionRequest\032!"
".milvus.proto.milvus.BoolResponse\"\000\022[\n\016L"
"oadPartitions\022*.milvus.proto.milvus.Load"
"PartitionsRequest\032\033.milvus.proto.common."
"Status\"\000\022a\n\021ReleasePartitions\022-.milvus.p"
"roto.milvus.ReleasePartitionsRequest\032\033.m"
"ilvus.proto.common.Status\"\000\022\203\001\n\026GetParti"
"tionStatistics\0222.milvus.proto.milvus.Get"
"PartitionStatisticsRequest\0323.milvus.prot"
"o.milvus.GetPartitionStatisticsResponse\""
"\000\022k\n\016ShowPartitions\022*.milvus.proto.milvu"
"s.ShowPartitionsRequest\032+.milvus.proto.m"
"ilvus.ShowPartitionsResponse\"\000\022U\n\013Create"
"Alias\022\'.milvus.proto.milvus.CreateAliasR"
"equest\032\033.milvus.proto.common.Status\"\000\022Q\n"
"\tDropAlias\022%.milvus.proto.milvus.DropAli"
"asRequest\032\033.milvus.proto.common.Status\"\000"
"\022S\n\nAlterAlias\022&.milvus.proto.milvus.Alt"
"erAliasRequest\032\033.milvus.proto.common.Sta"
"tus\"\000\022U\n\013CreateIndex\022\'.milvus.proto.milv"
"us.CreateIndexRequest\032\033.milvus.proto.com"
"mon.Status\"\000\022h\n\rDescribeIndex\022).milvus.p"
"roto.milvus.DescribeIndexRequest\032*.milvu"
"s.proto.milvus.DescribeIndexResponse\"\000\022h"
"\n\rGetIndexState\022).milvus.proto.milvus.Ge"
"tIndexStateRequest\032*.milvus.proto.milvus"
".GetIndexStateResponse\"\000\022\200\001\n\025GetIndexBui"
"ldProgress\0221.milvus.proto.milvus.GetInde"
"xBuildProgressRequest\0322.milvus.proto.mil"
"vus.GetIndexBuildProgressResponse\"\000\022Q\n\tD"
"ropIndex\022%.milvus.proto.milvus.DropIndex"
"Request\032\033.milvus.proto.common.Status\"\000\022S"
"\n\006Insert\022\".milvus.proto.milvus.InsertReq"
"uest\032#.milvus.proto.milvus.MutationResul"
"t\"\000\022S\n\006Delete\022\".milvus.proto.milvus.Dele"
"teRequest\032#.milvus.proto.milvus.Mutation"
"Result\"\000\022R\n\006Search\022\".milvus.proto.milvus"
".SearchRequest\032\".milvus.proto.milvus.Sea"
"rchResults\"\000\022P\n\005Flush\022!.milvus.proto.mil"
"vus.FlushRequest\032\".milvus.proto.milvus.F"
"lushResponse\"\000\022O\n\005Query\022!.milvus.proto.m"
"ilvus.QueryRequest\032!.milvus.proto.milvus"
".QueryResults\"\000\022d\n\014CalcDistance\022(.milvus"
".proto.milvus.CalcDistanceRequest\032(.milv"
"us.proto.milvus.CalcDistanceResults\"\000\022h\n"
"\rGetFlushState\022).milvus.proto.milvus.Get"
"FlushStateRequest\032*.milvus.proto.milvus."
"GetFlushStateResponse\"\000\022\211\001\n\030GetPersisten"
"tSegmentInfo\0224.milvus.proto.milvus.GetPe"
"rsistentSegmentInfoRequest\0325.milvus.prot"
"o.milvus.GetPersistentSegmentInfoRespons"
"e\"\000\022z\n\023GetQuerySegmentInfo\022/.milvus.prot"
"o.milvus.GetQuerySegmentInfoRequest\0320.mi"
"lvus.proto.milvus.GetQuerySegmentInfoRes"
"ponse\"\000\022b\n\013GetReplicas\022\'.milvus.proto.mi"
"lvus.GetReplicasRequest\032(.milvus.proto.m"
"ilvus.GetReplicasResponse\"\000\022P\n\005Dummy\022!.m"
"ilvus.proto.milvus.DummyRequest\032\".milvus"
".proto.milvus.DummyResponse\"\000\022e\n\014Registe"
"rLink\022(.milvus.proto.milvus.RegisterLink"
"Request\032).milvus.proto.milvus.RegisterLi"
"nkResponse\"\000\022_\n\nGetMetrics\022&.milvus.prot"
"o.milvus.GetMetricsRequest\032\'.milvus.prot"
"o.milvus.GetMetricsResponse\"\000\022U\n\013LoadBal"
"ance\022\'.milvus.proto.milvus.LoadBalanceRe"
"quest\032\033.milvus.proto.common.Status\"\000\022w\n\022"
"GetCompactionState\022..milvus.proto.milvus"
".GetCompactionStateRequest\032/.milvus.prot"
"o.milvus.GetCompactionStateResponse\"\000\022q\n"
"\020ManualCompaction\022,.milvus.proto.milvus."
"ManualCompactionRequest\032-.milvus.proto.m"
"ilvus.ManualCompactionResponse\"\000\022\200\001\n\033Get"
"CompactionStateWithPlans\022..milvus.proto."
"milvus.GetCompactionPlansRequest\032/.milvu"
"s.proto.milvus.GetCompactionPlansRespons"
"e\"\000\022S\n\006Import\022\".milvus.proto.milvus.Impo"
"rtRequest\032#.milvus.proto.milvus.ImportRe"
"sponse\"\000\022k\n\016GetImportState\022*.milvus.prot"
"o.milvus.GetImportStateRequest\032+.milvus."
"proto.milvus.GetImportStateResponse\"\000\022n\n"
"\017ListImportTasks\022+.milvus.proto.milvus.L"
"istImportTasksRequest\032,.milvus.proto.mil"
"vus.ListImportTasksResponse\"\000\022_\n\020CreateC"
"redential\022,.milvus.proto.milvus.CreateCr"
"edentialRequest\032\033.milvus.proto.common.St"
"atus\"\000\022_\n\020UpdateCredential\022,.milvus.prot"
"o.milvus.UpdateCredentialRequest\032\033.milvu"
"s.proto.common.Status\"\000\022_\n\020DeleteCredent"
"ial\022,.milvus.proto.milvus.DeleteCredenti"
"alRequest\032\033.milvus.proto.common.Status\"\000"
"\022h\n\rListCredUsers\022).milvus.proto.milvus."
"ListCredUsersRequest\032*.milvus.proto.milv"
"us.ListCredUsersResponse\"\0002u\n\014ProxyServi"
"ce\022e\n\014RegisterLink\022(.milvus.proto.milvus"
".RegisterLinkRequest\032).milvus.proto.milv"
"us.RegisterLinkResponse\"\000BW\n\016io.milvus.g"
"rpcB\013MilvusProtoP\001Z3github.com/milvus-io"
"/milvus/internal/proto/milvuspb\240\001\001b\006prot"
"o3"
;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[2] = {
&::descriptor_table_common_2eproto,
@ -3341,7 +3346,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mil
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_milvus_2eproto_once;
static bool descriptor_table_milvus_2eproto_initialized = false;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_milvus_2eproto = {
&descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 17544,
&descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 17602,
&descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 92, 2,
schemas, file_default_instances, TableStruct_milvus_2eproto::offsets,
file_level_metadata_milvus_2eproto, 92, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto,
@ -37508,6 +37513,13 @@ const char* GetImportStateResponse::_InternalParse(const char* ptr, ::PROTOBUF_N
} while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42);
} else goto handle_unusual;
continue;
// int64 id = 6;
case 6:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
} else goto handle_unusual;
continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@ -37603,6 +37615,19 @@ bool GetImportStateResponse::MergePartialFromCodedStream(
break;
}
// int64 id = 6;
case 6: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (48 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
input, &id_)));
} else {
goto handle_unusual;
}
break;
}
default: {
handle_unusual:
if (tag == 0) {
@ -37667,6 +37692,11 @@ void GetImportStateResponse::SerializeWithCachedSizes(
output);
}
// int64 id = 6;
if (this->id() != 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(6, this->id(), output);
}
if (_internal_metadata_.have_unknown_fields()) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
_internal_metadata_.unknown_fields(), output);
@ -37719,6 +37749,11 @@ void GetImportStateResponse::SerializeWithCachedSizes(
5, this->infos(static_cast<int>(i)), target);
}
// int64 id = 6;
if (this->id() != 0) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(6, this->id(), target);
}
if (_internal_metadata_.have_unknown_fields()) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields(), target);
@ -37780,6 +37815,13 @@ size_t GetImportStateResponse::ByteSizeLong() const {
this->row_count());
}
// int64 id = 6;
if (this->id() != 0) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
this->id());
}
// .milvus.proto.common.ImportState state = 2;
if (this->state() != 0) {
total_size += 1 +
@ -37821,6 +37863,9 @@ void GetImportStateResponse::MergeFrom(const GetImportStateResponse& from) {
if (from.row_count() != 0) {
set_row_count(from.row_count());
}
if (from.id() != 0) {
set_id(from.id());
}
if (from.state() != 0) {
set_state(from.state());
}
@ -37851,6 +37896,7 @@ void GetImportStateResponse::InternalSwap(GetImportStateResponse* other) {
CastToBase(&infos_)->InternalSwap(CastToBase(&other->infos_));
swap(status_, other->status_);
swap(row_count_, other->row_count_);
swap(id_, other->id_);
swap(state_, other->state_);
}
@ -38149,14 +38195,16 @@ const char* ListImportTasksResponse::_InternalParse(const char* ptr, ::PROTOBUF_
CHK_(ptr);
} else goto handle_unusual;
continue;
// repeated int64 tasks = 2;
// repeated .milvus.proto.milvus.GetImportStateResponse tasks = 2;
case 2:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_tasks(), ptr, ctx);
CHK_(ptr);
} else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
add_tasks(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
ptr -= 1;
do {
ptr += 1;
ptr = ctx->ParseMessage(add_tasks(), ptr);
CHK_(ptr);
if (!ctx->DataAvailable(ptr)) break;
} while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18);
} else goto handle_unusual;
continue;
default: {
@ -38200,16 +38248,11 @@ bool ListImportTasksResponse::MergePartialFromCodedStream(
break;
}
// repeated int64 tasks = 2;
// repeated .milvus.proto.milvus.GetImportStateResponse tasks = 2;
case 2: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive<
::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
input, this->mutable_tasks())));
} else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
1, 18u, input, this->mutable_tasks())));
DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
input, add_tasks()));
} else {
goto handle_unusual;
}
@ -38249,15 +38292,13 @@ void ListImportTasksResponse::SerializeWithCachedSizes(
1, _Internal::status(this), output);
}
// repeated int64 tasks = 2;
if (this->tasks_size() > 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(2, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
output->WriteVarint32(_tasks_cached_byte_size_.load(
std::memory_order_relaxed));
}
for (int i = 0, n = this->tasks_size(); i < n; i++) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag(
this->tasks(i), output);
// repeated .milvus.proto.milvus.GetImportStateResponse tasks = 2;
for (unsigned int i = 0,
n = static_cast<unsigned int>(this->tasks_size()); i < n; i++) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
2,
this->tasks(static_cast<int>(i)),
output);
}
if (_internal_metadata_.have_unknown_fields()) {
@ -38280,17 +38321,12 @@ void ListImportTasksResponse::SerializeWithCachedSizes(
1, _Internal::status(this), target);
}
// repeated int64 tasks = 2;
if (this->tasks_size() > 0) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray(
2,
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
target);
target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray(
_tasks_cached_byte_size_.load(std::memory_order_relaxed),
target);
// repeated .milvus.proto.milvus.GetImportStateResponse tasks = 2;
for (unsigned int i = 0,
n = static_cast<unsigned int>(this->tasks_size()); i < n; i++) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
WriteInt64NoTagToArray(this->tasks_, target);
InternalWriteMessageToArray(
2, this->tasks(static_cast<int>(i)), target);
}
if (_internal_metadata_.have_unknown_fields()) {
@ -38314,19 +38350,15 @@ size_t ListImportTasksResponse::ByteSizeLong() const {
// Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits;
// repeated int64 tasks = 2;
// repeated .milvus.proto.milvus.GetImportStateResponse tasks = 2;
{
size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
Int64Size(this->tasks_);
if (data_size > 0) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
unsigned int count = static_cast<unsigned int>(this->tasks_size());
total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) {
total_size +=
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
this->tasks(static_cast<int>(i)));
}
int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
_tasks_cached_byte_size_.store(cached_size,
std::memory_order_relaxed);
total_size += data_size;
}
// .milvus.proto.common.Status status = 1;
@ -38390,7 +38422,7 @@ bool ListImportTasksResponse::IsInitialized() const {
void ListImportTasksResponse::InternalSwap(ListImportTasksResponse* other) {
using std::swap;
_internal_metadata_.Swap(&other->_internal_metadata_);
tasks_.InternalSwap(&other->tasks_);
CastToBase(&tasks_)->InternalSwap(CastToBase(&other->tasks_));
swap(status_, other->status_);
}

View File

@ -13840,6 +13840,7 @@ class GetImportStateResponse :
kInfosFieldNumber = 5,
kStatusFieldNumber = 1,
kRowCountFieldNumber = 3,
kIdFieldNumber = 6,
kStateFieldNumber = 2,
};
// repeated int64 id_list = 4;
@ -13877,6 +13878,11 @@ class GetImportStateResponse :
::PROTOBUF_NAMESPACE_ID::int64 row_count() const;
void set_row_count(::PROTOBUF_NAMESPACE_ID::int64 value);
// int64 id = 6;
void clear_id();
::PROTOBUF_NAMESPACE_ID::int64 id() const;
void set_id(::PROTOBUF_NAMESPACE_ID::int64 value);
// .milvus.proto.common.ImportState state = 2;
void clear_state();
::milvus::proto::common::ImportState state() const;
@ -13892,6 +13898,7 @@ class GetImportStateResponse :
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::KeyValuePair > infos_;
::milvus::proto::common::Status* status_;
::PROTOBUF_NAMESPACE_ID::int64 row_count_;
::PROTOBUF_NAMESPACE_ID::int64 id_;
int state_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
friend struct ::TableStruct_milvus_2eproto;
@ -14136,16 +14143,16 @@ class ListImportTasksResponse :
kTasksFieldNumber = 2,
kStatusFieldNumber = 1,
};
// repeated int64 tasks = 2;
// repeated .milvus.proto.milvus.GetImportStateResponse tasks = 2;
int tasks_size() const;
void clear_tasks();
::PROTOBUF_NAMESPACE_ID::int64 tasks(int index) const;
void set_tasks(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
void add_tasks(::PROTOBUF_NAMESPACE_ID::int64 value);
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
tasks() const;
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
::milvus::proto::milvus::GetImportStateResponse* mutable_tasks(int index);
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::milvus::GetImportStateResponse >*
mutable_tasks();
const ::milvus::proto::milvus::GetImportStateResponse& tasks(int index) const;
::milvus::proto::milvus::GetImportStateResponse* add_tasks();
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::milvus::GetImportStateResponse >&
tasks() const;
// .milvus.proto.common.Status status = 1;
bool has_status() const;
@ -14160,8 +14167,7 @@ class ListImportTasksResponse :
class _Internal;
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > tasks_;
mutable std::atomic<int> _tasks_cached_byte_size_;
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::milvus::GetImportStateResponse > tasks_;
::milvus::proto::common::Status* status_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
friend struct ::TableStruct_milvus_2eproto;
@ -27688,6 +27694,20 @@ GetImportStateResponse::infos() const {
return infos_;
}
// int64 id = 6;
inline void GetImportStateResponse::clear_id() {
id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetImportStateResponse::id() const {
// @@protoc_insertion_point(field_get:milvus.proto.milvus.GetImportStateResponse.id)
return id_;
}
inline void GetImportStateResponse::set_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
id_ = value;
// @@protoc_insertion_point(field_set:milvus.proto.milvus.GetImportStateResponse.id)
}
// -------------------------------------------------------------------
// ListImportTasksRequest
@ -27741,35 +27761,35 @@ inline void ListImportTasksResponse::set_allocated_status(::milvus::proto::commo
// @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.ListImportTasksResponse.status)
}
// repeated int64 tasks = 2;
// repeated .milvus.proto.milvus.GetImportStateResponse tasks = 2;
inline int ListImportTasksResponse::tasks_size() const {
return tasks_.size();
}
inline void ListImportTasksResponse::clear_tasks() {
tasks_.Clear();
}
inline ::PROTOBUF_NAMESPACE_ID::int64 ListImportTasksResponse::tasks(int index) const {
// @@protoc_insertion_point(field_get:milvus.proto.milvus.ListImportTasksResponse.tasks)
return tasks_.Get(index);
inline ::milvus::proto::milvus::GetImportStateResponse* ListImportTasksResponse::mutable_tasks(int index) {
// @@protoc_insertion_point(field_mutable:milvus.proto.milvus.ListImportTasksResponse.tasks)
return tasks_.Mutable(index);
}
inline void ListImportTasksResponse::set_tasks(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
tasks_.Set(index, value);
// @@protoc_insertion_point(field_set:milvus.proto.milvus.ListImportTasksResponse.tasks)
}
inline void ListImportTasksResponse::add_tasks(::PROTOBUF_NAMESPACE_ID::int64 value) {
tasks_.Add(value);
// @@protoc_insertion_point(field_add:milvus.proto.milvus.ListImportTasksResponse.tasks)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
ListImportTasksResponse::tasks() const {
// @@protoc_insertion_point(field_list:milvus.proto.milvus.ListImportTasksResponse.tasks)
return tasks_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::milvus::GetImportStateResponse >*
ListImportTasksResponse::mutable_tasks() {
// @@protoc_insertion_point(field_mutable_list:milvus.proto.milvus.ListImportTasksResponse.tasks)
return &tasks_;
}
inline const ::milvus::proto::milvus::GetImportStateResponse& ListImportTasksResponse::tasks(int index) const {
// @@protoc_insertion_point(field_get:milvus.proto.milvus.ListImportTasksResponse.tasks)
return tasks_.Get(index);
}
inline ::milvus::proto::milvus::GetImportStateResponse* ListImportTasksResponse::add_tasks() {
// @@protoc_insertion_point(field_add:milvus.proto.milvus.ListImportTasksResponse.tasks)
return tasks_.Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::milvus::GetImportStateResponse >&
ListImportTasksResponse::tasks() const {
// @@protoc_insertion_point(field_list:milvus.proto.milvus.ListImportTasksResponse.tasks)
return tasks_;
}
// -------------------------------------------------------------------

View File

@ -831,6 +831,7 @@ message GetImportStateResponse {
int64 row_count = 3; // if the task is finished, this value is how many rows are imported. if the task is not finished, this value is how many rows are parsed. return 0 if failed.
repeated int64 id_list = 4; // auto generated ids if the primary key is autoid
repeated common.KeyValuePair infos = 5; // more informations about the task, progress percent, file path, failed reason, etc.
int64 id = 6; // id of an import task
}
message ListImportTasksRequest {
@ -838,7 +839,7 @@ message ListImportTasksRequest {
message ListImportTasksResponse {
common.Status status = 1;
repeated int64 tasks = 2; // id list of all import tasks
repeated GetImportStateResponse tasks = 2; // list of all import tasks
}
message GetReplicasRequest {

View File

@ -5151,6 +5151,7 @@ type GetImportStateResponse struct {
RowCount int64 `protobuf:"varint,3,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"`
IdList []int64 `protobuf:"varint,4,rep,packed,name=id_list,json=idList,proto3" json:"id_list,omitempty"`
Infos []*commonpb.KeyValuePair `protobuf:"bytes,5,rep,name=infos,proto3" json:"infos,omitempty"`
Id int64 `protobuf:"varint,6,opt,name=id,proto3" json:"id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -5216,6 +5217,13 @@ func (m *GetImportStateResponse) GetInfos() []*commonpb.KeyValuePair {
return nil
}
func (m *GetImportStateResponse) GetId() int64 {
if m != nil {
return m.Id
}
return 0
}
type ListImportTasksRequest struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -5249,7 +5257,7 @@ var xxx_messageInfo_ListImportTasksRequest proto.InternalMessageInfo
type ListImportTasksResponse struct {
Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
Tasks []int64 `protobuf:"varint,2,rep,packed,name=tasks,proto3" json:"tasks,omitempty"`
Tasks []*GetImportStateResponse `protobuf:"bytes,2,rep,name=tasks,proto3" json:"tasks,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -5287,7 +5295,7 @@ func (m *ListImportTasksResponse) GetStatus() *commonpb.Status {
return nil
}
func (m *ListImportTasksResponse) GetTasks() []int64 {
func (m *ListImportTasksResponse) GetTasks() []*GetImportStateResponse {
if m != nil {
return m.Tasks
}
@ -5931,276 +5939,277 @@ func init() {
func init() { proto.RegisterFile("milvus.proto", fileDescriptor_02345ba45cc0e303) }
var fileDescriptor_02345ba45cc0e303 = []byte{
// 4292 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x3c, 0x4d, 0x8f, 0x1b, 0x47,
0x76, 0xd3, 0xe4, 0xf0, 0xeb, 0x91, 0x9c, 0xa1, 0x6a, 0xbe, 0x68, 0x4a, 0xb2, 0x46, 0x6d, 0xcb,
0x1e, 0x4b, 0x6b, 0x69, 0x3d, 0xf2, 0xda, 0x1b, 0x7b, 0x13, 0xaf, 0xa4, 0x89, 0xa5, 0x81, 0x25,
0x65, 0xb6, 0xc7, 0xde, 0xc5, 0xc6, 0x10, 0x88, 0x9a, 0xee, 0x1a, 0x4e, 0x47, 0xcd, 0x6e, 0x6e,
0x57, 0x51, 0xa3, 0xf1, 0x69, 0x81, 0x0d, 0xf2, 0x81, 0x75, 0xbc, 0x08, 0xb2, 0x48, 0xb2, 0x87,
0x04, 0x41, 0x3e, 0x80, 0xe4, 0x90, 0x20, 0xbb, 0x01, 0x92, 0x20, 0x97, 0xe4, 0x90, 0x43, 0x0e,
0x01, 0xf2, 0x71, 0x09, 0x82, 0xbd, 0xe4, 0x0f, 0xe4, 0x10, 0x20, 0xc7, 0x1c, 0x82, 0xfa, 0xe8,
0x66, 0x77, 0xb3, 0x9a, 0xc3, 0x11, 0x2d, 0x6b, 0x74, 0x63, 0xbf, 0x7a, 0xaf, 0xea, 0xd5, 0xab,
0x57, 0xaf, 0x5e, 0xbd, 0xf7, 0x8a, 0xd0, 0xe8, 0xbb, 0xde, 0xa3, 0x21, 0xbd, 0x3a, 0x08, 0x03,
0x16, 0xa0, 0xa5, 0xe4, 0xd7, 0x55, 0xf9, 0xd1, 0x69, 0xd8, 0x41, 0xbf, 0x1f, 0xf8, 0x12, 0xd8,
0x69, 0x50, 0xfb, 0x80, 0xf4, 0xb1, 0xfc, 0x32, 0x7f, 0xdf, 0x00, 0x74, 0x2b, 0x24, 0x98, 0x91,
0x1b, 0x9e, 0x8b, 0xa9, 0x45, 0xbe, 0x33, 0x24, 0x94, 0xa1, 0x2f, 0xc3, 0xfc, 0x1e, 0xa6, 0xa4,
0x6d, 0xac, 0x1b, 0x1b, 0xf5, 0xcd, 0x73, 0x57, 0x53, 0xdd, 0xaa, 0xee, 0xee, 0xd1, 0xde, 0x4d,
0x4c, 0x89, 0x25, 0x30, 0xd1, 0x1a, 0x54, 0x9c, 0xbd, 0xae, 0x8f, 0xfb, 0xa4, 0x5d, 0x58, 0x37,
0x36, 0x6a, 0x56, 0xd9, 0xd9, 0xbb, 0x8f, 0xfb, 0x04, 0xbd, 0x0a, 0x8b, 0x76, 0xe0, 0x79, 0xc4,
0x66, 0x6e, 0xe0, 0x4b, 0x84, 0xa2, 0x40, 0x58, 0x18, 0x81, 0x05, 0xe2, 0x32, 0x94, 0x30, 0xe7,
0xa1, 0x3d, 0x2f, 0x9a, 0xe5, 0x87, 0x49, 0xa1, 0xb5, 0x15, 0x06, 0x83, 0xa7, 0xc5, 0x5d, 0x3c,
0x68, 0x31, 0x39, 0xe8, 0xef, 0x19, 0x70, 0xe6, 0x86, 0xc7, 0x48, 0x78, 0x4a, 0x85, 0xf2, 0xbb,
0x05, 0x58, 0x93, 0xab, 0x76, 0x2b, 0x46, 0x7f, 0x96, 0x5c, 0xae, 0x42, 0x59, 0x6a, 0x95, 0x60,
0xb3, 0x61, 0xa9, 0x2f, 0x74, 0x1e, 0x80, 0x1e, 0xe0, 0xd0, 0xa1, 0x5d, 0x7f, 0xd8, 0x6f, 0x97,
0xd6, 0x8d, 0x8d, 0x92, 0x55, 0x93, 0x90, 0xfb, 0xc3, 0x3e, 0xb2, 0xe0, 0x8c, 0x1d, 0xf8, 0xd4,
0xa5, 0x8c, 0xf8, 0xf6, 0x51, 0xd7, 0x23, 0x8f, 0x88, 0xd7, 0x2e, 0xaf, 0x1b, 0x1b, 0x0b, 0x9b,
0x97, 0xb4, 0x7c, 0xdf, 0x1a, 0x61, 0xdf, 0xe5, 0xc8, 0x56, 0xcb, 0xce, 0x40, 0xcc, 0xef, 0x1b,
0xb0, 0xc2, 0x15, 0xe6, 0x54, 0x08, 0xc6, 0xfc, 0x33, 0x03, 0x96, 0xef, 0x60, 0x7a, 0x3a, 0x56,
0xe9, 0x3c, 0x00, 0x73, 0xfb, 0xa4, 0x4b, 0x19, 0xee, 0x0f, 0xc4, 0x4a, 0xcd, 0x5b, 0x35, 0x0e,
0xd9, 0xe5, 0x00, 0xf3, 0xdb, 0xd0, 0xb8, 0x19, 0x04, 0x9e, 0x45, 0xe8, 0x20, 0xf0, 0x29, 0x41,
0xd7, 0xa1, 0x4c, 0x19, 0x66, 0x43, 0xaa, 0x98, 0x3c, 0xab, 0x65, 0x72, 0x57, 0xa0, 0x58, 0x0a,
0x95, 0xeb, 0xeb, 0x23, 0xec, 0x0d, 0x25, 0x8f, 0x55, 0x4b, 0x7e, 0x98, 0x1f, 0xc3, 0xc2, 0x2e,
0x0b, 0x5d, 0xbf, 0xf7, 0x39, 0x76, 0x5e, 0x8b, 0x3a, 0xff, 0x77, 0x03, 0x5e, 0xd8, 0x22, 0xd4,
0x0e, 0xdd, 0xbd, 0x53, 0xb2, 0x1d, 0x4c, 0x68, 0x8c, 0x20, 0xdb, 0x5b, 0x42, 0xd4, 0x45, 0x2b,
0x05, 0xcb, 0x2c, 0x46, 0x29, 0xbb, 0x18, 0xdf, 0x2d, 0x41, 0x47, 0x37, 0xa9, 0x59, 0xc4, 0xf7,
0xb3, 0xf1, 0x2e, 0x2d, 0x08, 0xa2, 0xcc, 0x1e, 0x53, 0xe7, 0xc2, 0x68, 0xb4, 0x5d, 0x01, 0x88,
0x37, 0x73, 0x76, 0x56, 0x45, 0xcd, 0xac, 0x36, 0x61, 0xe5, 0x91, 0x1b, 0xb2, 0x21, 0xf6, 0xba,
0xf6, 0x01, 0xf6, 0x7d, 0xe2, 0x09, 0x39, 0x71, 0xf3, 0x55, 0xdc, 0xa8, 0x59, 0x4b, 0xaa, 0xf1,
0x96, 0x6c, 0xe3, 0xc2, 0xa2, 0xe8, 0x4d, 0x58, 0x1d, 0x1c, 0x1c, 0x51, 0xd7, 0x1e, 0x23, 0x2a,
0x09, 0xa2, 0xe5, 0xa8, 0x35, 0x45, 0x75, 0x05, 0xce, 0xd8, 0xc2, 0x02, 0x3a, 0x5d, 0x2e, 0x35,
0x29, 0xc6, 0xb2, 0x10, 0x63, 0x4b, 0x35, 0x7c, 0x18, 0xc1, 0x39, 0x5b, 0x11, 0xf2, 0x90, 0xd9,
0x09, 0x82, 0x8a, 0x20, 0x58, 0x52, 0x8d, 0x1f, 0x31, 0x7b, 0x44, 0x93, 0xb6, 0x5d, 0xd5, 0xac,
0xed, 0x6a, 0x43, 0x45, 0xd8, 0x62, 0x42, 0xdb, 0x35, 0xc1, 0x66, 0xf4, 0x89, 0xb6, 0x61, 0x91,
0x32, 0x1c, 0xb2, 0xee, 0x20, 0xa0, 0x2e, 0x97, 0x0b, 0x6d, 0xc3, 0x7a, 0x71, 0xa3, 0xbe, 0xb9,
0xae, 0x5d, 0xa4, 0x0f, 0xc8, 0xd1, 0x16, 0x66, 0x78, 0x07, 0xbb, 0xa1, 0xb5, 0x20, 0x08, 0x77,
0x22, 0x3a, 0xbd, 0x81, 0xac, 0xcf, 0x64, 0x20, 0x75, 0x5a, 0xdc, 0xd0, 0xda, 0xae, 0x9f, 0x18,
0xb0, 0x72, 0x37, 0xc0, 0xce, 0xe9, 0xd8, 0x53, 0x97, 0x60, 0x21, 0x24, 0x03, 0xcf, 0xb5, 0x31,
0x5f, 0x8f, 0x3d, 0x12, 0x8a, 0x5d, 0x55, 0xb2, 0x9a, 0x0a, 0x7a, 0x5f, 0x00, 0xcd, 0xcf, 0x0c,
0x68, 0x5b, 0xc4, 0x23, 0x98, 0x9e, 0x0e, 0x5b, 0x60, 0xfe, 0xd0, 0x80, 0x17, 0x6f, 0x13, 0x96,
0xd8, 0x55, 0x0c, 0x33, 0x97, 0x32, 0xd7, 0x7e, 0x96, 0x7e, 0x85, 0xf9, 0x03, 0x03, 0x2e, 0xe4,
0xb2, 0x35, 0x8b, 0x91, 0x79, 0x1b, 0x4a, 0xfc, 0x17, 0x6d, 0x17, 0x84, 0xce, 0x5f, 0xcc, 0xd3,
0xf9, 0x6f, 0x72, 0xdb, 0x2d, 0x94, 0x5e, 0xe2, 0x9b, 0xff, 0x65, 0xc0, 0xea, 0xee, 0x41, 0x70,
0x38, 0x62, 0xe9, 0x69, 0x08, 0x28, 0x6d, 0x76, 0x8b, 0x19, 0xb3, 0x8b, 0xde, 0x80, 0x79, 0x76,
0x34, 0x20, 0x42, 0xb7, 0x16, 0x36, 0xcf, 0x5f, 0xd5, 0xb8, 0xd3, 0x57, 0x39, 0x93, 0x1f, 0x1e,
0x0d, 0x88, 0x25, 0x50, 0xd1, 0x6b, 0xd0, 0xca, 0x88, 0x3c, 0x32, 0x5c, 0x8b, 0x69, 0x99, 0x53,
0xf3, 0x6f, 0x0b, 0xb0, 0x36, 0x36, 0xc5, 0x59, 0x84, 0xad, 0x1b, 0xbb, 0xa0, 0x1d, 0x9b, 0xef,
0x9f, 0x04, 0xaa, 0xeb, 0x70, 0x8f, 0xb7, 0xb8, 0x51, 0xb4, 0x9a, 0x09, 0xfb, 0xed, 0x50, 0xf4,
0x3a, 0xa0, 0x31, 0xb3, 0x2a, 0xad, 0xf7, 0xbc, 0x75, 0x26, 0x6b, 0x57, 0x85, 0xed, 0xd6, 0x1a,
0x56, 0x29, 0x82, 0x79, 0x6b, 0x59, 0x63, 0x59, 0x29, 0x7a, 0x03, 0x96, 0x5d, 0xff, 0x1e, 0xe9,
0x07, 0xe1, 0x51, 0x77, 0x40, 0x42, 0x9b, 0xf8, 0x0c, 0xf7, 0x08, 0x6d, 0x97, 0x05, 0x47, 0x4b,
0x51, 0xdb, 0xce, 0xa8, 0xc9, 0xfc, 0x2b, 0x03, 0x56, 0xa5, 0xc7, 0xbb, 0x83, 0x43, 0xe6, 0x9e,
0x02, 0x6b, 0x34, 0x88, 0xf8, 0x90, 0x78, 0xd2, 0x3f, 0x6f, 0xc6, 0x50, 0xb1, 0xcb, 0x7e, 0x6c,
0xc0, 0x32, 0x77, 0x46, 0x9f, 0x27, 0x9e, 0xff, 0xd2, 0x80, 0xa5, 0x3b, 0x98, 0x3e, 0x4f, 0x2c,
0xff, 0x54, 0x9d, 0x54, 0x31, 0xcf, 0xcf, 0xf4, 0xca, 0xf6, 0x2a, 0x2c, 0xa6, 0x99, 0x8e, 0xbc,
0x9f, 0x85, 0x14, 0xd7, 0x54, 0x73, 0xa4, 0x95, 0x74, 0x47, 0xda, 0xdf, 0x8c, 0x8e, 0xb4, 0xe7,
0x6b, 0x82, 0xe6, 0xdf, 0x19, 0x70, 0xfe, 0x36, 0x61, 0x31, 0xd7, 0xa7, 0xe2, 0xe8, 0x9b, 0x56,
0xa9, 0x3e, 0x93, 0x07, 0xb7, 0x96, 0xf9, 0x67, 0x72, 0x40, 0x7e, 0xbf, 0x00, 0x2b, 0xfc, 0xf4,
0x38, 0x1d, 0x4a, 0x30, 0xcd, 0x1d, 0x47, 0xa3, 0x28, 0x25, 0xed, 0x4e, 0x88, 0x8e, 0xdd, 0xf2,
0xd4, 0xc7, 0xae, 0xf9, 0x93, 0x82, 0x74, 0x17, 0x92, 0xd2, 0x98, 0x65, 0x59, 0x34, 0xbc, 0x16,
0xb4, 0xbc, 0x9a, 0xd0, 0x88, 0x21, 0xdb, 0x5b, 0xd1, 0x31, 0x9a, 0x82, 0x9d, 0xda, 0x53, 0xf4,
0x53, 0x03, 0x56, 0xa3, 0x5b, 0xe5, 0x2e, 0xe9, 0xf5, 0x89, 0xcf, 0x9e, 0x5c, 0x87, 0xb2, 0x1a,
0x50, 0xd0, 0x68, 0xc0, 0x39, 0xa8, 0x51, 0x39, 0x4e, 0x7c, 0x61, 0x1c, 0x01, 0xcc, 0xbf, 0x37,
0x60, 0x6d, 0x8c, 0x9d, 0x59, 0x16, 0xb1, 0x0d, 0x15, 0xd7, 0x77, 0xc8, 0xe3, 0x98, 0x9b, 0xe8,
0x93, 0xb7, 0xec, 0x0d, 0x5d, 0xcf, 0x89, 0xd9, 0x88, 0x3e, 0xd1, 0x45, 0x68, 0x10, 0x1f, 0xef,
0x79, 0xa4, 0x2b, 0x70, 0x85, 0x22, 0x57, 0xad, 0xba, 0x84, 0x6d, 0x73, 0x10, 0x27, 0xde, 0x77,
0x89, 0x20, 0x2e, 0x49, 0x62, 0xf5, 0x69, 0xfe, 0x86, 0x01, 0x4b, 0x5c, 0x0b, 0x15, 0xf7, 0xf4,
0xe9, 0x4a, 0x73, 0x1d, 0xea, 0x09, 0x35, 0x53, 0x13, 0x49, 0x82, 0xcc, 0x87, 0xb0, 0x9c, 0x66,
0x67, 0x16, 0x69, 0xbe, 0x08, 0x10, 0xaf, 0x95, 0xdc, 0x0d, 0x45, 0x2b, 0x01, 0x31, 0x3f, 0x2d,
0x44, 0xb1, 0x63, 0x21, 0xa6, 0x67, 0x1c, 0xda, 0x12, 0x4b, 0x92, 0xb4, 0xe7, 0x35, 0x01, 0x11,
0xcd, 0x5b, 0xd0, 0x20, 0x8f, 0x59, 0x88, 0xbb, 0x03, 0x1c, 0xe2, 0xbe, 0xdc, 0x56, 0x53, 0x99,
0xde, 0xba, 0x20, 0xdb, 0x11, 0x54, 0x7c, 0x10, 0xa1, 0x22, 0x72, 0x90, 0xb2, 0x1c, 0x44, 0x40,
0xc4, 0x81, 0xf1, 0x4f, 0xdc, 0xd9, 0x53, 0xda, 0x7c, 0xda, 0x05, 0x92, 0x9e, 0x4a, 0x29, 0x3b,
0x95, 0x3f, 0x31, 0xa0, 0x25, 0xa6, 0x20, 0xe7, 0x33, 0xe0, 0xdd, 0x66, 0x68, 0x8c, 0x0c, 0xcd,
0x84, 0xbd, 0xf7, 0x33, 0x50, 0x56, 0x72, 0x2f, 0x4e, 0x2b, 0x77, 0x45, 0x70, 0xcc, 0x34, 0xcc,
0x3f, 0x34, 0x60, 0x25, 0x23, 0xf2, 0x59, 0x14, 0xfe, 0x43, 0x40, 0x72, 0x86, 0xce, 0x68, 0xda,
0xd1, 0x39, 0x7d, 0x49, 0x7b, 0x28, 0x65, 0x85, 0x64, 0x9d, 0x71, 0x33, 0x10, 0x6a, 0xfe, 0xab,
0x01, 0xe7, 0x6e, 0x13, 0x26, 0x50, 0x6f, 0x72, 0xa3, 0xb3, 0x13, 0x06, 0xbd, 0x90, 0x50, 0xfa,
0xfc, 0xea, 0xc7, 0x6f, 0x4b, 0xc7, 0x4e, 0x37, 0xa5, 0x59, 0xe4, 0x7f, 0x11, 0x1a, 0x62, 0x0c,
0xe2, 0x74, 0xc3, 0xe0, 0x90, 0x2a, 0x3d, 0xaa, 0x2b, 0x98, 0x15, 0x1c, 0x0a, 0x85, 0x60, 0x01,
0xc3, 0x9e, 0x44, 0x50, 0x27, 0x8a, 0x80, 0xf0, 0x66, 0xb1, 0x07, 0x23, 0xc6, 0x78, 0xe7, 0xe4,
0xf9, 0x95, 0xf1, 0x1f, 0x1b, 0xb0, 0x92, 0x99, 0xca, 0x2c, 0xb2, 0xfd, 0x8a, 0x74, 0x3b, 0xe5,
0x64, 0x16, 0x36, 0x2f, 0x68, 0x69, 0x12, 0x83, 0x49, 0x6c, 0x74, 0x01, 0xea, 0xfb, 0xd8, 0xf5,
0xba, 0x21, 0xc1, 0x34, 0xf0, 0xd5, 0x44, 0x81, 0x83, 0x2c, 0x01, 0x31, 0xff, 0xd1, 0x90, 0x09,
0xba, 0xe7, 0xdc, 0xe2, 0xfd, 0x51, 0x01, 0x9a, 0xdb, 0x3e, 0x25, 0x21, 0x3b, 0xfd, 0x57, 0x13,
0xf4, 0x1e, 0xd4, 0xc5, 0xc4, 0x68, 0xd7, 0xc1, 0x0c, 0xab, 0xd3, 0xec, 0x45, 0x6d, 0x34, 0xff,
0x7d, 0x8e, 0xb7, 0x85, 0x19, 0xb6, 0xa4, 0x74, 0x28, 0xff, 0x8d, 0xce, 0x42, 0xed, 0x00, 0xd3,
0x83, 0xee, 0x43, 0x72, 0x24, 0xfd, 0xc5, 0xa6, 0x55, 0xe5, 0x80, 0x0f, 0xc8, 0x11, 0x45, 0x2f,
0x40, 0xd5, 0x1f, 0xf6, 0xe5, 0x06, 0xab, 0xac, 0x1b, 0x1b, 0x4d, 0xab, 0xe2, 0x0f, 0xfb, 0x62,
0x7b, 0xfd, 0x73, 0x01, 0x16, 0xee, 0x0d, 0xf9, 0x45, 0x48, 0xe4, 0x22, 0x86, 0x1e, 0x7b, 0x32,
0x65, 0xbc, 0x0c, 0x45, 0xe9, 0x52, 0x70, 0x8a, 0xb6, 0x96, 0xf1, 0xed, 0x2d, 0x6a, 0x71, 0x24,
0x11, 0x87, 0x1f, 0xda, 0xb6, 0xf2, 0xce, 0x8a, 0x82, 0xd9, 0x1a, 0x87, 0x48, 0xdf, 0xec, 0x2c,
0xd4, 0x48, 0x18, 0xc6, 0xbe, 0x9b, 0x98, 0x0a, 0x09, 0x43, 0xd9, 0x68, 0x42, 0x03, 0xdb, 0x0f,
0xfd, 0xe0, 0xd0, 0x23, 0x4e, 0x8f, 0x38, 0x62, 0xd9, 0xab, 0x56, 0x0a, 0x26, 0x15, 0x83, 0x2f,
0x7c, 0xd7, 0xf6, 0x99, 0x38, 0xd5, 0x8b, 0x5c, 0x31, 0x38, 0xe4, 0x96, 0xcf, 0x78, 0xb3, 0x43,
0x3c, 0xc2, 0x88, 0x68, 0xae, 0xc8, 0x66, 0x09, 0x51, 0xcd, 0xc3, 0x41, 0x4c, 0x5d, 0x95, 0xcd,
0x12, 0xc2, 0x9b, 0xcf, 0x41, 0x6d, 0x94, 0x6c, 0xa8, 0x8d, 0xa2, 0x8d, 0x02, 0x60, 0xfe, 0xd4,
0x80, 0xe6, 0x96, 0xe8, 0xea, 0x39, 0x50, 0x3a, 0x04, 0xf3, 0xe4, 0xf1, 0x20, 0x54, 0x5b, 0x47,
0xfc, 0x9e, 0xa8, 0x47, 0xe6, 0x23, 0x68, 0xed, 0x78, 0xd8, 0x26, 0x07, 0x81, 0xe7, 0x90, 0x50,
0x9c, 0xed, 0xa8, 0x05, 0x45, 0x86, 0x7b, 0xca, 0x79, 0xe0, 0x3f, 0xd1, 0x57, 0xd5, 0xd5, 0x4f,
0x9a, 0xa5, 0x97, 0xb5, 0xa7, 0x6c, 0xa2, 0x9b, 0x44, 0xe0, 0x75, 0x15, 0xca, 0x22, 0x01, 0x28,
0xdd, 0x8a, 0x86, 0xa5, 0xbe, 0xcc, 0x07, 0xa9, 0x71, 0x6f, 0x87, 0xc1, 0x70, 0x80, 0xb6, 0xa1,
0x31, 0x18, 0xc1, 0xb8, 0xae, 0xe6, 0x9f, 0xe9, 0x59, 0xa6, 0xad, 0x14, 0xa9, 0xf9, 0xdf, 0x45,
0x68, 0xee, 0x12, 0x1c, 0xda, 0x07, 0xcf, 0x45, 0x90, 0xa9, 0x05, 0x45, 0x87, 0x7a, 0x6a, 0xd5,
0xf8, 0x4f, 0x74, 0x05, 0xce, 0x24, 0x26, 0xd4, 0xed, 0x71, 0x01, 0x09, 0xbd, 0x6f, 0x58, 0xad,
0x41, 0x56, 0x70, 0x6f, 0x43, 0xd5, 0xa1, 0x5e, 0x57, 0x2c, 0x51, 0x45, 0x2c, 0x91, 0x7e, 0x7e,
0x5b, 0xd4, 0x13, 0x4b, 0x53, 0x71, 0xe4, 0x0f, 0xf4, 0x12, 0x34, 0x83, 0x21, 0x1b, 0x0c, 0x59,
0x57, 0xda, 0x9d, 0x76, 0x55, 0xb0, 0xd7, 0x90, 0x40, 0x61, 0x96, 0x28, 0x7a, 0x1f, 0x9a, 0x54,
0x88, 0x32, 0x72, 0xcc, 0x6b, 0xd3, 0x3a, 0x88, 0x0d, 0x49, 0xa7, 0x3c, 0xf3, 0xd7, 0xa0, 0xc5,
0x42, 0xfc, 0x88, 0x78, 0x89, 0xd4, 0x1e, 0x88, 0xdd, 0xb6, 0x28, 0xe1, 0xa3, 0xb4, 0xde, 0x35,
0x58, 0xea, 0x0d, 0x71, 0x88, 0x7d, 0x46, 0x48, 0x02, 0xbb, 0x2e, 0xb0, 0x51, 0xdc, 0x14, 0x13,
0x98, 0x1f, 0xc0, 0xfc, 0x1d, 0x97, 0x09, 0x41, 0x72, 0x9b, 0x65, 0x88, 0x6b, 0x90, 0xb0, 0x4c,
0x2f, 0x40, 0x35, 0x0c, 0x0e, 0xa5, 0x0d, 0x2e, 0x08, 0x15, 0xac, 0x84, 0xc1, 0xa1, 0x30, 0xb0,
0xa2, 0x20, 0x22, 0x08, 0x95, 0x6e, 0x16, 0x2c, 0xf5, 0x65, 0xfe, 0x85, 0x31, 0x52, 0x1e, 0x6e,
0x3e, 0xe9, 0x93, 0xd9, 0xcf, 0xf7, 0xa0, 0x12, 0x4a, 0xfa, 0x89, 0xa9, 0xdc, 0xe4, 0x48, 0xe2,
0x0c, 0x88, 0xa8, 0xa6, 0xcf, 0x13, 0xfd, 0xb2, 0x01, 0x8d, 0xf7, 0xbd, 0x21, 0x7d, 0x1a, 0xca,
0xae, 0xcb, 0x5e, 0x14, 0xf5, 0x99, 0x93, 0xdf, 0x2c, 0x40, 0x53, 0xb1, 0x31, 0x8b, 0x13, 0x94,
0xcb, 0xca, 0x2e, 0xd4, 0xf9, 0x90, 0x5d, 0x4a, 0x7a, 0x51, 0x4c, 0xa7, 0xbe, 0xb9, 0xa9, 0x35,
0x0f, 0x29, 0x36, 0x44, 0xb6, 0x7c, 0x57, 0x10, 0xfd, 0xbc, 0xcf, 0xc2, 0x23, 0x0b, 0xec, 0x18,
0xd0, 0x79, 0x00, 0x8b, 0x99, 0x66, 0xae, 0x44, 0x0f, 0xc9, 0x51, 0x64, 0xff, 0x1e, 0x92, 0x23,
0xf4, 0x66, 0xb2, 0xa6, 0x21, 0xef, 0x14, 0xbf, 0x1b, 0xf8, 0xbd, 0x1b, 0x61, 0x88, 0x8f, 0x54,
0xcd, 0xc3, 0x3b, 0x85, 0xaf, 0x1a, 0xe6, 0x3f, 0x14, 0xa0, 0xf1, 0x8d, 0x21, 0x09, 0x8f, 0x9e,
0xa5, 0x1d, 0x8a, 0x4e, 0x85, 0xf9, 0xc4, 0xa9, 0x30, 0xb6, 0xf5, 0x4b, 0x9a, 0xad, 0xaf, 0x31,
0x60, 0x65, 0xad, 0x01, 0xd3, 0xed, 0xed, 0xca, 0x89, 0xf6, 0x76, 0x35, 0x77, 0x6f, 0xff, 0xb9,
0x11, 0x8b, 0x70, 0xa6, 0xdd, 0x98, 0x72, 0xc7, 0x0a, 0x27, 0x76, 0xc7, 0xa6, 0xde, 0x8d, 0x3f,
0x36, 0xa0, 0xf6, 0x4d, 0x62, 0xb3, 0x20, 0xe4, 0xf6, 0x47, 0x43, 0x66, 0x4c, 0xe1, 0x1a, 0x17,
0xb2, 0xae, 0xf1, 0x75, 0xa8, 0xba, 0x4e, 0x17, 0x73, 0xfd, 0x12, 0xe3, 0x4e, 0x72, 0xc9, 0x2a,
0xae, 0x23, 0x14, 0x71, 0xfa, 0x24, 0xc0, 0xef, 0x18, 0xd0, 0x90, 0x3c, 0x53, 0x49, 0xf9, 0x6e,
0x62, 0x38, 0x43, 0xa7, 0xf4, 0xea, 0x23, 0x9e, 0xe8, 0x9d, 0xb9, 0xd1, 0xb0, 0x37, 0x00, 0xb8,
0x90, 0x15, 0xb9, 0xdc, 0x33, 0xeb, 0x5a, 0x6e, 0x25, 0xb9, 0x10, 0xf8, 0x9d, 0x39, 0xab, 0xc6,
0xa9, 0x44, 0x17, 0x37, 0x2b, 0x50, 0x12, 0xd4, 0xe6, 0xff, 0x19, 0xb0, 0x74, 0x0b, 0x7b, 0xf6,
0x96, 0x4b, 0x19, 0xf6, 0xed, 0x19, 0x9c, 0xb0, 0x77, 0xa0, 0x12, 0x0c, 0xba, 0x1e, 0xd9, 0x67,
0x8a, 0xa5, 0x8b, 0x13, 0x66, 0x24, 0xc5, 0x60, 0x95, 0x83, 0xc1, 0x5d, 0xb2, 0xcf, 0xd0, 0xd7,
0xa0, 0x1a, 0x0c, 0xba, 0xa1, 0xdb, 0x3b, 0x60, 0x4a, 0xfa, 0x53, 0x10, 0x57, 0x82, 0x81, 0xc5,
0x29, 0x12, 0xb1, 0x95, 0xf9, 0x13, 0xc6, 0x56, 0xcc, 0x7f, 0x1b, 0x9b, 0xfe, 0x0c, 0x7b, 0xe0,
0x1d, 0xa8, 0xba, 0x3e, 0xeb, 0x3a, 0x2e, 0x8d, 0x44, 0x70, 0x5e, 0xaf, 0x43, 0x3e, 0x13, 0x33,
0x10, 0x6b, 0xea, 0x33, 0x3e, 0x36, 0xfa, 0x3a, 0xc0, 0xbe, 0x17, 0x60, 0x45, 0x2d, 0x65, 0x70,
0x41, 0xbf, 0x7d, 0x38, 0x5a, 0x44, 0x5f, 0x13, 0x44, 0xbc, 0x87, 0xd1, 0x92, 0xfe, 0x8b, 0x01,
0x2b, 0x3b, 0x24, 0x94, 0x15, 0x2f, 0x4c, 0x85, 0x41, 0xb7, 0xfd, 0xfd, 0x20, 0x1d, 0x89, 0x36,
0x32, 0x91, 0xe8, 0xcf, 0x27, 0xfa, 0x9a, 0xba, 0x39, 0xc9, 0x7c, 0x48, 0x74, 0x73, 0x8a, 0xb2,
0x3e, 0xf2, 0xe6, 0xb9, 0x90, 0xb3, 0x4c, 0x8a, 0xdf, 0xe4, 0x05, 0xdc, 0xfc, 0x2d, 0x59, 0xa8,
0xa1, 0x9d, 0xd4, 0x93, 0x2b, 0xec, 0x2a, 0x28, 0x4b, 0x9f, 0xb1, 0xfb, 0xaf, 0x40, 0xc6, 0x76,
0xe4, 0x18, 0xa2, 0x1f, 0x19, 0xb0, 0x9e, 0xcf, 0xd5, 0x2c, 0x47, 0xf4, 0xd7, 0xa1, 0xe4, 0xfa,
0xfb, 0x41, 0x14, 0x76, 0xbb, 0xac, 0x77, 0xd1, 0xb5, 0xe3, 0x4a, 0x42, 0xf3, 0xaf, 0x0b, 0xd0,
0x12, 0x46, 0xfd, 0x19, 0x2c, 0x7f, 0x9f, 0xf4, 0xbb, 0xd4, 0xfd, 0x84, 0x44, 0xcb, 0xdf, 0x27,
0xfd, 0x5d, 0xf7, 0x13, 0x92, 0xd2, 0x8c, 0x52, 0x5a, 0x33, 0x26, 0x47, 0x95, 0x93, 0x61, 0xd5,
0x4a, 0x3a, 0xac, 0xba, 0x0a, 0x65, 0x3f, 0x70, 0xc8, 0xf6, 0x96, 0xba, 0x76, 0xaa, 0xaf, 0x91,
0xaa, 0xd5, 0x4e, 0xa8, 0x6a, 0x9f, 0x19, 0xd0, 0xb9, 0x4d, 0x58, 0x56, 0x76, 0xcf, 0x4e, 0xcb,
0x7e, 0x60, 0xc0, 0x59, 0x2d, 0x43, 0xb3, 0x28, 0xd8, 0xbb, 0x69, 0x05, 0xd3, 0xdf, 0x01, 0xc7,
0x86, 0x54, 0xba, 0xf5, 0x06, 0x34, 0xb6, 0x86, 0xfd, 0x7e, 0xec, 0x72, 0x5d, 0x84, 0x46, 0x28,
0x7f, 0xca, 0x2b, 0x92, 0x3c, 0x7f, 0xeb, 0x0a, 0xc6, 0x2f, 0x42, 0xe6, 0x15, 0x68, 0x2a, 0x12,
0xc5, 0x75, 0x07, 0xaa, 0xa1, 0xfa, 0xad, 0xf0, 0xe3, 0x6f, 0x73, 0x05, 0x96, 0x2c, 0xd2, 0xe3,
0xaa, 0x1d, 0xde, 0x75, 0xfd, 0x87, 0x6a, 0x18, 0xf3, 0x7b, 0x06, 0x2c, 0xa7, 0xe1, 0xaa, 0xaf,
0xb7, 0xa0, 0x82, 0x1d, 0x27, 0x24, 0x94, 0x4e, 0x5c, 0x96, 0x1b, 0x12, 0xc7, 0x8a, 0x90, 0x13,
0x92, 0x2b, 0x4c, 0x2d, 0x39, 0xb3, 0x0b, 0x67, 0x6e, 0x13, 0x76, 0x8f, 0xb0, 0x70, 0xa6, 0x0c,
0x7e, 0x9b, 0x5f, 0x5e, 0x04, 0xb1, 0x52, 0x8b, 0xe8, 0xd3, 0xfc, 0xd4, 0x00, 0x94, 0x1c, 0x61,
0x96, 0x65, 0x4e, 0x4a, 0xb9, 0x90, 0x96, 0xb2, 0xac, 0x85, 0xea, 0x0f, 0x02, 0x9f, 0xf8, 0x2c,
0xe9, 0x6e, 0x35, 0x63, 0x68, 0x54, 0x56, 0x82, 0xee, 0x06, 0xd8, 0xb9, 0x89, 0xbd, 0xd9, 0xdc,
0x83, 0xf3, 0x00, 0x34, 0xb4, 0xbb, 0x6a, 0xb7, 0x16, 0x94, 0xf5, 0x09, 0xed, 0xfb, 0x72, 0xc3,
0x5e, 0x80, 0xba, 0x43, 0x99, 0x6a, 0x8e, 0x12, 0xca, 0xe0, 0x50, 0x26, 0xdb, 0x45, 0xad, 0x2b,
0x25, 0xd8, 0x23, 0x4e, 0x37, 0x91, 0x8f, 0x9b, 0x17, 0x68, 0x2d, 0xd9, 0xb0, 0x1b, 0xc3, 0x35,
0x9b, 0xab, 0xa4, 0xdd, 0x5c, 0x0f, 0x60, 0xed, 0x1e, 0xf6, 0x87, 0xd8, 0xbb, 0x15, 0xf4, 0x07,
0x38, 0x55, 0x27, 0x99, 0x35, 0x87, 0x86, 0xc6, 0x1c, 0xbe, 0x28, 0x0b, 0xe9, 0xa4, 0x0b, 0x2e,
0xe6, 0x34, 0x6f, 0x25, 0x20, 0x26, 0x85, 0xf6, 0x78, 0xf7, 0xb3, 0x2c, 0xa8, 0x60, 0x2a, 0xea,
0x2a, 0x69, 0xa3, 0x47, 0x30, 0xf3, 0x3d, 0x78, 0x41, 0x14, 0x35, 0x46, 0xa0, 0x54, 0x0a, 0x20,
0xdb, 0x81, 0xa1, 0xe9, 0xe0, 0x57, 0x0b, 0xc2, 0x04, 0x8e, 0xf5, 0x30, 0x0b, 0xe3, 0xef, 0xa4,
0x23, 0xef, 0x2f, 0xe7, 0x14, 0xee, 0xa6, 0x47, 0x54, 0xe1, 0xf7, 0x0d, 0x58, 0x24, 0x8f, 0x89,
0x3d, 0x64, 0xae, 0xdf, 0xdb, 0xf1, 0xb0, 0x7f, 0x3f, 0x50, 0x07, 0x4f, 0x16, 0x8c, 0x5e, 0x86,
0x26, 0x97, 0x7e, 0x30, 0x64, 0x0a, 0x4f, 0x9e, 0x40, 0x69, 0x20, 0xef, 0x8f, 0xcf, 0xd7, 0x23,
0x8c, 0x38, 0x0a, 0x4f, 0x1e, 0x47, 0x59, 0xf0, 0x98, 0x28, 0x39, 0x98, 0x9e, 0x44, 0x94, 0xff,
0x61, 0x64, 0x44, 0xa9, 0x7a, 0x78, 0x56, 0xa2, 0xbc, 0x03, 0xd0, 0x27, 0x61, 0x8f, 0x6c, 0x0b,
0xe3, 0x2f, 0x6f, 0xf8, 0x1b, 0x5a, 0xe3, 0x3f, 0xea, 0xe0, 0x5e, 0x44, 0x60, 0x25, 0x68, 0xcd,
0xdb, 0xb0, 0xa4, 0x41, 0xe1, 0x76, 0x8d, 0x06, 0xc3, 0xd0, 0x26, 0x51, 0x90, 0x28, 0xfa, 0xe4,
0xe7, 0x20, 0xc3, 0x61, 0x8f, 0x30, 0xa5, 0xb4, 0xea, 0xcb, 0x7c, 0x4b, 0x24, 0xab, 0x44, 0x40,
0x21, 0xa5, 0xa9, 0xe9, 0xc4, 0xbb, 0x31, 0x96, 0x78, 0xdf, 0x17, 0x99, 0xa1, 0x24, 0xdd, 0x8c,
0x45, 0x13, 0xfb, 0xbc, 0x2b, 0xe2, 0xa8, 0x47, 0x1b, 0xd1, 0xa7, 0xf9, 0xbf, 0x06, 0x34, 0xb7,
0xfb, 0x83, 0x60, 0x94, 0x14, 0x99, 0xfa, 0xca, 0x39, 0x1e, 0x54, 0x2e, 0xe8, 0x82, 0xca, 0x2f,
0x41, 0x33, 0x5d, 0xf2, 0x2f, 0xe3, 0x3f, 0x0d, 0x3b, 0x59, 0xea, 0x7f, 0x16, 0x6a, 0x61, 0x70,
0xd8, 0xe5, 0xa6, 0xd4, 0x51, 0xe5, 0x19, 0xd5, 0x30, 0x38, 0xe4, 0x06, 0xd6, 0x41, 0xcb, 0x50,
0xda, 0x77, 0xbd, 0xb8, 0xb2, 0x48, 0x7e, 0xa0, 0x77, 0xf9, 0x85, 0x4c, 0xa6, 0x6f, 0xcb, 0xd3,
0xde, 0x8b, 0x22, 0x0a, 0xf3, 0x63, 0x58, 0x88, 0x66, 0x3d, 0xe3, 0x6b, 0x15, 0x86, 0xe9, 0xc3,
0xa8, 0x72, 0x42, 0x7e, 0x98, 0x57, 0x64, 0x56, 0x4f, 0xf4, 0x9f, 0x5a, 0x74, 0x04, 0xf3, 0x1c,
0x43, 0xed, 0x25, 0xf1, 0x9b, 0x2f, 0xc0, 0x6a, 0x16, 0x7b, 0x16, 0x96, 0xde, 0x4a, 0xef, 0x1f,
0xfd, 0x83, 0x84, 0xe4, 0x68, 0x6a, 0xef, 0xa8, 0x15, 0xb0, 0x83, 0xa1, 0xcf, 0x94, 0x01, 0xe2,
0x2b, 0x70, 0x8b, 0x7f, 0xa3, 0x35, 0xa8, 0xb8, 0x4e, 0xd7, 0xe3, 0x77, 0x37, 0x79, 0x26, 0x95,
0x5d, 0xe7, 0x2e, 0xbf, 0xd7, 0xbd, 0x1d, 0x79, 0x5a, 0x53, 0x97, 0x5b, 0x28, 0x2f, 0xab, 0x0d,
0xab, 0xbc, 0x03, 0xc9, 0xc8, 0x87, 0x5c, 0x6c, 0x91, 0x23, 0xe4, 0xc0, 0xda, 0x58, 0xcb, 0xe7,
0xbf, 0x46, 0x3f, 0x94, 0x7e, 0x88, 0x25, 0xcb, 0x30, 0x9f, 0x72, 0x51, 0xcf, 0x06, 0xb4, 0x0e,
0x5d, 0x76, 0xd0, 0x15, 0x4f, 0x4b, 0x84, 0x13, 0x20, 0xf3, 0xda, 0x55, 0x6b, 0x81, 0xc3, 0x77,
0x39, 0x98, 0x3b, 0x02, 0xd4, 0xfc, 0x35, 0x03, 0x96, 0x52, 0x6c, 0xcd, 0x32, 0xf3, 0xaf, 0x71,
0xff, 0x48, 0x76, 0xa4, 0x3c, 0xe1, 0x75, 0xad, 0x31, 0x54, 0xa3, 0x09, 0x23, 0x18, 0x53, 0x98,
0xff, 0x69, 0x40, 0x3d, 0xd1, 0xc2, 0xaf, 0x57, 0xaa, 0x6d, 0x74, 0xbd, 0x8a, 0x01, 0x53, 0x89,
0xe1, 0x25, 0x18, 0x99, 0x86, 0x44, 0x79, 0x7a, 0xa2, 0xae, 0xce, 0xa1, 0xe8, 0x0e, 0x2c, 0x48,
0x31, 0xc5, 0xac, 0x6b, 0xa3, 0x1e, 0x71, 0xc5, 0x20, 0x0e, 0x1d, 0xc5, 0xa5, 0xd5, 0xa4, 0x89,
0x2f, 0x99, 0xe4, 0x0c, 0x1c, 0x22, 0x46, 0x2a, 0x49, 0x6b, 0x2d, 0xfc, 0x2f, 0x87, 0xf2, 0x6b,
0x50, 0x23, 0x49, 0xca, 0x5d, 0x49, 0x8f, 0x60, 0x87, 0x84, 0xf1, 0xdc, 0xe2, 0x6f, 0xee, 0xbb,
0xc9, 0xdf, 0x5d, 0xee, 0x5a, 0x2b, 0x23, 0x07, 0x12, 0xc4, 0xbd, 0x6e, 0xf4, 0x0a, 0x2c, 0x3a,
0xfd, 0xd4, 0xbb, 0xa6, 0xc8, 0xd9, 0x74, 0xfa, 0x89, 0x07, 0x4d, 0x29, 0x86, 0xe6, 0xd3, 0x0c,
0xfd, 0x8f, 0x11, 0xbf, 0xf6, 0x0c, 0x89, 0x43, 0x7c, 0xe6, 0x62, 0xef, 0xc9, 0x75, 0xb2, 0x03,
0xd5, 0x21, 0x25, 0x61, 0xc2, 0x26, 0xc7, 0xdf, 0xbc, 0x6d, 0x80, 0x29, 0x3d, 0x0c, 0x42, 0x47,
0x71, 0x19, 0x7f, 0x4f, 0x28, 0x52, 0x94, 0x2f, 0x09, 0xf5, 0x45, 0x8a, 0x6f, 0xc1, 0x5a, 0x3f,
0x70, 0xdc, 0x7d, 0x57, 0x57, 0xdb, 0xc8, 0xc9, 0x56, 0xa2, 0xe6, 0x14, 0x9d, 0xf9, 0xa3, 0x02,
0xac, 0x7d, 0x34, 0x70, 0xbe, 0x80, 0x39, 0xaf, 0x43, 0x3d, 0xf0, 0x9c, 0x9d, 0xf4, 0xb4, 0x93,
0x20, 0x8e, 0xe1, 0x93, 0xc3, 0x18, 0x43, 0x86, 0xba, 0x93, 0xa0, 0x89, 0x05, 0x9c, 0x4f, 0x24,
0x9b, 0xf2, 0x24, 0xd9, 0xf4, 0x60, 0x4d, 0x66, 0x8d, 0x9f, 0xb2, 0x68, 0xcc, 0x5f, 0x82, 0x15,
0x6e, 0x6d, 0xf9, 0x30, 0x1f, 0x51, 0x12, 0xce, 0x68, 0x71, 0xce, 0x41, 0x2d, 0xea, 0x39, 0xaa,
0xad, 0x1d, 0x01, 0xcc, 0x3b, 0xb0, 0x9c, 0x19, 0xeb, 0x09, 0x67, 0x74, 0xf9, 0x22, 0x54, 0xa3,
0x5a, 0x61, 0x54, 0x81, 0xe2, 0x0d, 0xcf, 0x6b, 0xcd, 0xa1, 0x06, 0x54, 0xb7, 0x55, 0x41, 0x6c,
0xcb, 0xb8, 0xfc, 0x73, 0xb0, 0x98, 0xc9, 0x29, 0xa3, 0x2a, 0xcc, 0xdf, 0x0f, 0x7c, 0xd2, 0x9a,
0x43, 0x2d, 0x68, 0xdc, 0x74, 0x7d, 0x1c, 0x1e, 0xc9, 0x88, 0x6b, 0xcb, 0x41, 0x8b, 0x50, 0x17,
0x91, 0x47, 0x05, 0x20, 0x9b, 0x7f, 0x7a, 0x09, 0x9a, 0xf7, 0x04, 0x23, 0xbb, 0x24, 0x7c, 0xe4,
0xda, 0x04, 0x75, 0xa1, 0x95, 0x7d, 0x90, 0x8d, 0xbe, 0xa4, 0xf7, 0x2e, 0xf5, 0xef, 0xb6, 0x3b,
0x93, 0x64, 0x68, 0xce, 0xa1, 0x8f, 0x61, 0x21, 0xfd, 0xac, 0x19, 0xe9, 0x43, 0x63, 0xda, 0xb7,
0xcf, 0xc7, 0x75, 0xde, 0x85, 0x66, 0xea, 0x95, 0x32, 0x7a, 0x4d, 0xdb, 0xb7, 0xee, 0x25, 0x73,
0x47, 0x6f, 0x7b, 0x93, 0x2f, 0x89, 0x25, 0xf7, 0xe9, 0xa7, 0x84, 0x39, 0xdc, 0x6b, 0xdf, 0x1b,
0x1e, 0xc7, 0x3d, 0x86, 0x33, 0x63, 0x4f, 0xfe, 0xd0, 0xeb, 0x39, 0xa7, 0x99, 0xfe, 0x69, 0xe0,
0x71, 0x43, 0x1c, 0x02, 0x1a, 0x7f, 0x8d, 0x8b, 0xae, 0xea, 0x57, 0x20, 0xef, 0x2d, 0x72, 0xe7,
0xda, 0xd4, 0xf8, 0xb1, 0xe0, 0x7e, 0xc5, 0x80, 0xb5, 0x9c, 0x77, 0x7a, 0xe8, 0xba, 0xb6, 0xbb,
0xc9, 0x8f, 0x0d, 0x3b, 0x6f, 0x9e, 0x8c, 0x28, 0x66, 0xc4, 0x87, 0xc5, 0xcc, 0xd3, 0x35, 0x74,
0x25, 0xb7, 0x4e, 0x7f, 0xfc, 0x0d, 0x5f, 0xe7, 0x4b, 0xd3, 0x21, 0xc7, 0xe3, 0x3d, 0x80, 0xc5,
0xcc, 0x7b, 0xaf, 0x9c, 0xf1, 0xf4, 0xaf, 0xc2, 0x8e, 0x5b, 0xd0, 0x6f, 0x43, 0x33, 0xf5, 0x30,
0x2b, 0x47, 0xe3, 0x75, 0x8f, 0xb7, 0x8e, 0xeb, 0xfa, 0x01, 0x34, 0x92, 0xef, 0xa7, 0xd0, 0x46,
0xde, 0x5e, 0x1a, 0xeb, 0xf8, 0x24, 0x5b, 0x69, 0xf4, 0xee, 0x61, 0xc2, 0x56, 0x1a, 0x7b, 0x2a,
0x32, 0xfd, 0x56, 0x4a, 0xf4, 0x3f, 0x71, 0x2b, 0x9d, 0x78, 0x88, 0xef, 0xc9, 0x3b, 0x8d, 0xe6,
0x5d, 0x0d, 0xda, 0xcc, 0xd3, 0xcd, 0xfc, 0x17, 0x44, 0x9d, 0xeb, 0x27, 0xa2, 0x89, 0xa5, 0xf8,
0x10, 0x16, 0xd2, 0xaf, 0x47, 0x72, 0xa4, 0xa8, 0x7d, 0x70, 0xd3, 0xb9, 0x32, 0x15, 0x6e, 0x3c,
0xd8, 0x47, 0x50, 0x4f, 0xfc, 0xc7, 0x0a, 0x7a, 0x75, 0x82, 0x1e, 0x27, 0xff, 0x70, 0xe4, 0x38,
0x49, 0x7e, 0x03, 0x6a, 0xf1, 0x5f, 0xa3, 0xa0, 0x4b, 0xb9, 0xfa, 0x7b, 0x92, 0x2e, 0x77, 0x01,
0x46, 0xff, 0x7b, 0x82, 0x5e, 0xd1, 0xf6, 0x39, 0xf6, 0xc7, 0x28, 0xc7, 0x75, 0x1a, 0x4f, 0x5f,
0x16, 0xe5, 0x4d, 0x9a, 0x7e, 0xb2, 0x8a, 0xf4, 0xb8, 0x6e, 0x0f, 0xa0, 0x99, 0xaa, 0xfd, 0xce,
0xdb, 0xc2, 0x9a, 0x92, 0xfc, 0xce, 0xe5, 0x69, 0x50, 0xe3, 0xf5, 0x3b, 0x80, 0x66, 0xaa, 0x12,
0x37, 0x67, 0x24, 0x5d, 0xe1, 0x71, 0xce, 0x48, 0xda, 0xc2, 0x5e, 0x73, 0x0e, 0x7d, 0x37, 0x51,
0xf4, 0x9b, 0x2a, 0xac, 0x46, 0x6f, 0x4c, 0xec, 0x47, 0x57, 0x57, 0xde, 0xd9, 0x3c, 0x09, 0x49,
0xcc, 0x82, 0xd2, 0x2a, 0x29, 0xd2, 0x7c, 0xad, 0x3a, 0xc9, 0x4a, 0xed, 0x42, 0x59, 0xd6, 0xd6,
0x22, 0x33, 0xa7, 0x8a, 0x3e, 0x51, 0x78, 0xdb, 0x79, 0x49, 0x8b, 0x93, 0x2e, 0x3b, 0x95, 0x9d,
0x4a, 0x2f, 0x38, 0xa7, 0xd3, 0x54, 0x61, 0xe5, 0xb4, 0x9d, 0x5a, 0x50, 0x96, 0x45, 0x53, 0x39,
0x9d, 0xa6, 0x0a, 0xff, 0x3a, 0x93, 0x71, 0x44, 0x36, 0xdd, 0x9c, 0x43, 0x3b, 0x50, 0x12, 0xa1,
0x3a, 0x74, 0x71, 0x52, 0x3d, 0xd1, 0xa4, 0x1e, 0x53, 0x25, 0x47, 0xe6, 0x1c, 0xfa, 0x05, 0x28,
0x89, 0x04, 0x55, 0x4e, 0x8f, 0xc9, 0xa2, 0xa0, 0xce, 0x44, 0x94, 0x88, 0x45, 0x07, 0x1a, 0xc9,
0x4a, 0x80, 0x9c, 0x23, 0x4b, 0x53, 0x2b, 0xd1, 0x99, 0x06, 0x33, 0x1a, 0x45, 0x6e, 0xa3, 0x51,
0xd8, 0x32, 0x7f, 0x1b, 0x8d, 0x85, 0x44, 0xf3, 0xb7, 0xd1, 0x78, 0x14, 0xd4, 0x9c, 0x43, 0xbf,
0x6e, 0x40, 0x3b, 0x2f, 0x3d, 0x8d, 0x72, 0x3d, 0xa0, 0x49, 0x39, 0xf6, 0xce, 0x57, 0x4e, 0x48,
0x15, 0xf3, 0xf2, 0x89, 0x08, 0xda, 0x8c, 0x25, 0xa4, 0xaf, 0xe5, 0xf5, 0x97, 0x93, 0x7e, 0xed,
0x7c, 0x79, 0x7a, 0x82, 0x78, 0xec, 0x3d, 0xa8, 0x27, 0x02, 0x46, 0x39, 0x96, 0x77, 0x3c, 0xd2,
0x95, 0xb3, 0xaa, 0x9a, 0xd8, 0x93, 0x54, 0x6f, 0x91, 0xdf, 0xcc, 0x51, 0xc6, 0x64, 0xba, 0x34,
0x47, 0xbd, 0x53, 0xe9, 0x51, 0x73, 0x0e, 0x11, 0x68, 0x24, 0x93, 0x9d, 0x39, 0xda, 0xa8, 0xc9,
0x93, 0x76, 0x5e, 0x9b, 0x02, 0x33, 0x1e, 0xa6, 0x0b, 0x30, 0x4a, 0x36, 0xe6, 0x9c, 0x75, 0x63,
0xf9, 0xce, 0xce, 0xab, 0xc7, 0xe2, 0x25, 0x8f, 0xfd, 0x44, 0xfa, 0x30, 0x47, 0xfa, 0xe3, 0x09,
0xc6, 0x29, 0xee, 0x22, 0xe3, 0x29, 0xaa, 0x9c, 0xbb, 0x48, 0x6e, 0x36, 0xac, 0x73, 0x6d, 0x6a,
0xfc, 0x78, 0x3e, 0xdf, 0x81, 0x56, 0x36, 0xa5, 0x97, 0x73, 0xc7, 0xcd, 0x49, 0x2c, 0x76, 0x5e,
0x9f, 0x12, 0x3b, 0x79, 0x1e, 0x9e, 0x1d, 0xe7, 0xe9, 0x5b, 0x2e, 0x3b, 0x10, 0xd9, 0xa4, 0x69,
0x66, 0x9d, 0x4c, 0x5c, 0x4d, 0x33, 0xeb, 0x54, 0x9a, 0x4a, 0x1d, 0x5e, 0x22, 0xdc, 0x9c, 0x77,
0x78, 0x25, 0x13, 0x24, 0x39, 0xe7, 0x4c, 0x3a, 0x9d, 0x20, 0xdd, 0xcf, 0x74, 0x5c, 0x1f, 0xe5,
0xfb, 0x09, 0x63, 0xa9, 0x82, 0x1c, 0xf7, 0x53, 0x9f, 0x28, 0x90, 0x57, 0xb7, 0x4c, 0xd0, 0x3c,
0xe7, 0x2a, 0xa5, 0x0f, 0xba, 0xe7, 0x5c, 0xdd, 0x72, 0xe2, 0xf0, 0x62, 0x63, 0xb5, 0xb2, 0xe1,
0xca, 0xc9, 0xb1, 0x90, 0x6c, 0x18, 0xeb, 0xf8, 0x70, 0x45, 0x2b, 0x1b, 0x1b, 0xcc, 0x19, 0x20,
0x27, 0x84, 0x38, 0xc5, 0x00, 0xd9, 0x08, 0x5b, 0xce, 0x00, 0x39, 0x81, 0xb8, 0x29, 0x7c, 0xd7,
0x54, 0xb4, 0x2b, 0xe7, 0x28, 0xd4, 0x45, 0xc4, 0x72, 0x8e, 0x42, 0x6d, 0xa0, 0xce, 0x9c, 0xdb,
0x1c, 0x42, 0x63, 0x27, 0x0c, 0x1e, 0x1f, 0x45, 0x81, 0xaa, 0x2f, 0xc6, 0xb8, 0xde, 0xfc, 0x16,
0x2c, 0xb8, 0x31, 0x4e, 0x2f, 0x1c, 0xd8, 0x37, 0xeb, 0x32, 0x60, 0xb6, 0xc3, 0x89, 0x77, 0x8c,
0x5f, 0xbc, 0xde, 0x73, 0xd9, 0xc1, 0x70, 0x8f, 0x4b, 0xe6, 0x9a, 0x44, 0x7b, 0xdd, 0x0d, 0xd4,
0xaf, 0x6b, 0xae, 0xcf, 0x48, 0xe8, 0x63, 0xef, 0x9a, 0x18, 0x4a, 0x41, 0x07, 0x7b, 0x7f, 0x60,
0x18, 0x7b, 0x65, 0x01, 0xba, 0xfe, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x03, 0xad, 0x2f, 0x91,
0xf8, 0x52, 0x00, 0x00,
// 4316 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x3c, 0x4d, 0x8f, 0x1c, 0xc7,
0x75, 0xdb, 0x33, 0x3b, 0x5f, 0x6f, 0x3e, 0x76, 0x58, 0xfb, 0x35, 0x1a, 0x92, 0xe2, 0xb2, 0x25,
0x4a, 0x2b, 0xd2, 0x22, 0xad, 0xa5, 0x2c, 0x39, 0x92, 0x13, 0x99, 0xe4, 0x46, 0xe4, 0x42, 0x24,
0xb3, 0xee, 0x95, 0x6c, 0x38, 0x02, 0xd1, 0xe8, 0xed, 0xae, 0x9d, 0xed, 0xb0, 0xa7, 0x7b, 0xdc,
0x55, 0xc3, 0xe5, 0xea, 0x64, 0xc0, 0x46, 0x3e, 0x60, 0x45, 0x86, 0x11, 0x23, 0x89, 0x0f, 0x09,
0x82, 0x7c, 0x00, 0xc9, 0x21, 0x41, 0xec, 0x00, 0x49, 0x90, 0x4b, 0x72, 0xc8, 0x21, 0x87, 0x00,
0xf9, 0xb8, 0x04, 0x81, 0x2f, 0xf9, 0x03, 0x39, 0x04, 0xc8, 0x31, 0x87, 0xa0, 0x3e, 0xba, 0xa7,
0xbb, 0xa7, 0x7a, 0x76, 0x96, 0x63, 0x6a, 0x77, 0x6f, 0xd3, 0xaf, 0xde, 0xab, 0x7a, 0xf5, 0xea,
0xd5, 0xab, 0x57, 0xef, 0xbd, 0x1a, 0x68, 0xf4, 0x5d, 0xef, 0xc9, 0x90, 0x5c, 0x1f, 0x84, 0x01,
0x0d, 0xd0, 0x62, 0xf2, 0xeb, 0xba, 0xf8, 0xe8, 0x36, 0xec, 0xa0, 0xdf, 0x0f, 0x7c, 0x01, 0xec,
0x36, 0x88, 0xbd, 0x8f, 0xfb, 0x96, 0xf8, 0xd2, 0x7f, 0x5f, 0x03, 0x74, 0x27, 0xc4, 0x16, 0xc5,
0xb7, 0x3c, 0xd7, 0x22, 0x06, 0xfe, 0xd6, 0x10, 0x13, 0x8a, 0xbe, 0x08, 0xf3, 0xbb, 0x16, 0xc1,
0x1d, 0x6d, 0x4d, 0x5b, 0xaf, 0x6f, 0x5c, 0xb8, 0x9e, 0xea, 0x56, 0x76, 0xf7, 0x80, 0xf4, 0x6e,
0x5b, 0x04, 0x1b, 0x1c, 0x13, 0xad, 0x42, 0xc5, 0xd9, 0x35, 0x7d, 0xab, 0x8f, 0x3b, 0x85, 0x35,
0x6d, 0xbd, 0x66, 0x94, 0x9d, 0xdd, 0x87, 0x56, 0x1f, 0xa3, 0x57, 0x61, 0xc1, 0x0e, 0x3c, 0x0f,
0xdb, 0xd4, 0x0d, 0x7c, 0x81, 0x50, 0xe4, 0x08, 0xad, 0x11, 0x98, 0x23, 0x2e, 0x41, 0xc9, 0x62,
0x3c, 0x74, 0xe6, 0x79, 0xb3, 0xf8, 0xd0, 0x09, 0xb4, 0x37, 0xc3, 0x60, 0xf0, 0xbc, 0xb8, 0x8b,
0x07, 0x2d, 0x26, 0x07, 0xfd, 0x3d, 0x0d, 0xce, 0xdd, 0xf2, 0x28, 0x0e, 0x4f, 0xa9, 0x50, 0x7e,
0xb7, 0x00, 0xab, 0x62, 0xd5, 0xee, 0xc4, 0xe8, 0x27, 0xc9, 0xe5, 0x0a, 0x94, 0x85, 0x56, 0x71,
0x36, 0x1b, 0x86, 0xfc, 0x42, 0x17, 0x01, 0xc8, 0xbe, 0x15, 0x3a, 0xc4, 0xf4, 0x87, 0xfd, 0x4e,
0x69, 0x4d, 0x5b, 0x2f, 0x19, 0x35, 0x01, 0x79, 0x38, 0xec, 0x23, 0x03, 0xce, 0xd9, 0x81, 0x4f,
0x5c, 0x42, 0xb1, 0x6f, 0x1f, 0x9a, 0x1e, 0x7e, 0x82, 0xbd, 0x4e, 0x79, 0x4d, 0x5b, 0x6f, 0x6d,
0x5c, 0x51, 0xf2, 0x7d, 0x67, 0x84, 0x7d, 0x9f, 0x21, 0x1b, 0x6d, 0x3b, 0x03, 0xd1, 0xbf, 0xa7,
0xc1, 0x32, 0x53, 0x98, 0x53, 0x21, 0x18, 0xfd, 0xcf, 0x34, 0x58, 0xba, 0x67, 0x91, 0xd3, 0xb1,
0x4a, 0x17, 0x01, 0xa8, 0xdb, 0xc7, 0x26, 0xa1, 0x56, 0x7f, 0xc0, 0x57, 0x6a, 0xde, 0xa8, 0x31,
0xc8, 0x0e, 0x03, 0xe8, 0xdf, 0x84, 0xc6, 0xed, 0x20, 0xf0, 0x0c, 0x4c, 0x06, 0x81, 0x4f, 0x30,
0xba, 0x09, 0x65, 0x42, 0x2d, 0x3a, 0x24, 0x92, 0xc9, 0xf3, 0x4a, 0x26, 0x77, 0x38, 0x8a, 0x21,
0x51, 0x99, 0xbe, 0x3e, 0xb1, 0xbc, 0xa1, 0xe0, 0xb1, 0x6a, 0x88, 0x0f, 0xfd, 0x63, 0x68, 0xed,
0xd0, 0xd0, 0xf5, 0x7b, 0x3f, 0xc3, 0xce, 0x6b, 0x51, 0xe7, 0xff, 0xae, 0xc1, 0x0b, 0x9b, 0x98,
0xd8, 0xa1, 0xbb, 0x7b, 0x4a, 0xb6, 0x83, 0x0e, 0x8d, 0x11, 0x64, 0x6b, 0x93, 0x8b, 0xba, 0x68,
0xa4, 0x60, 0x99, 0xc5, 0x28, 0x65, 0x17, 0xe3, 0xdb, 0x25, 0xe8, 0xaa, 0x26, 0x35, 0x8b, 0xf8,
0x7e, 0x3e, 0xde, 0xa5, 0x05, 0x4e, 0x94, 0xd9, 0x63, 0xf2, 0x5c, 0x18, 0x8d, 0xb6, 0xc3, 0x01,
0xf1, 0x66, 0xce, 0xce, 0xaa, 0xa8, 0x98, 0xd5, 0x06, 0x2c, 0x3f, 0x71, 0x43, 0x3a, 0xb4, 0x3c,
0xd3, 0xde, 0xb7, 0x7c, 0x1f, 0x7b, 0x5c, 0x4e, 0xcc, 0x7c, 0x15, 0xd7, 0x6b, 0xc6, 0xa2, 0x6c,
0xbc, 0x23, 0xda, 0x98, 0xb0, 0x08, 0x7a, 0x13, 0x56, 0x06, 0xfb, 0x87, 0xc4, 0xb5, 0xc7, 0x88,
0x4a, 0x9c, 0x68, 0x29, 0x6a, 0x4d, 0x51, 0x5d, 0x83, 0x73, 0x36, 0xb7, 0x80, 0x8e, 0xc9, 0xa4,
0x26, 0xc4, 0x58, 0xe6, 0x62, 0x6c, 0xcb, 0x86, 0x0f, 0x23, 0x38, 0x63, 0x2b, 0x42, 0x1e, 0x52,
0x3b, 0x41, 0x50, 0xe1, 0x04, 0x8b, 0xb2, 0xf1, 0x23, 0x6a, 0x8f, 0x68, 0xd2, 0xb6, 0xab, 0x9a,
0xb5, 0x5d, 0x1d, 0xa8, 0x70, 0x5b, 0x8c, 0x49, 0xa7, 0xc6, 0xd9, 0x8c, 0x3e, 0xd1, 0x16, 0x2c,
0x10, 0x6a, 0x85, 0xd4, 0x1c, 0x04, 0xc4, 0x65, 0x72, 0x21, 0x1d, 0x58, 0x2b, 0xae, 0xd7, 0x37,
0xd6, 0x94, 0x8b, 0xf4, 0x01, 0x3e, 0xdc, 0xb4, 0xa8, 0xb5, 0x6d, 0xb9, 0xa1, 0xd1, 0xe2, 0x84,
0xdb, 0x11, 0x9d, 0xda, 0x40, 0xd6, 0x67, 0x32, 0x90, 0x2a, 0x2d, 0x6e, 0x28, 0x6d, 0xd7, 0x4f,
0x34, 0x58, 0xbe, 0x1f, 0x58, 0xce, 0xe9, 0xd8, 0x53, 0x57, 0xa0, 0x15, 0xe2, 0x81, 0xe7, 0xda,
0x16, 0x5b, 0x8f, 0x5d, 0x1c, 0xf2, 0x5d, 0x55, 0x32, 0x9a, 0x12, 0xfa, 0x90, 0x03, 0xf5, 0xcf,
0x34, 0xe8, 0x18, 0xd8, 0xc3, 0x16, 0x39, 0x1d, 0xb6, 0x40, 0xff, 0xa1, 0x06, 0x2f, 0xde, 0xc5,
0x34, 0xb1, 0xab, 0xa8, 0x45, 0x5d, 0x42, 0x5d, 0xfb, 0x24, 0xfd, 0x0a, 0xfd, 0xfb, 0x1a, 0x5c,
0xca, 0x65, 0x6b, 0x16, 0x23, 0xf3, 0x36, 0x94, 0xd8, 0x2f, 0xd2, 0x29, 0x70, 0x9d, 0xbf, 0x9c,
0xa7, 0xf3, 0x5f, 0x67, 0xb6, 0x9b, 0x2b, 0xbd, 0xc0, 0xd7, 0xff, 0x4b, 0x83, 0x95, 0x9d, 0xfd,
0xe0, 0x60, 0xc4, 0xd2, 0xf3, 0x10, 0x50, 0xda, 0xec, 0x16, 0x33, 0x66, 0x17, 0xbd, 0x01, 0xf3,
0xf4, 0x70, 0x80, 0xb9, 0x6e, 0xb5, 0x36, 0x2e, 0x5e, 0x57, 0xb8, 0xd3, 0xd7, 0x19, 0x93, 0x1f,
0x1e, 0x0e, 0xb0, 0xc1, 0x51, 0xd1, 0x6b, 0xd0, 0xce, 0x88, 0x3c, 0x32, 0x5c, 0x0b, 0x69, 0x99,
0x13, 0xfd, 0x6f, 0x0b, 0xb0, 0x3a, 0x36, 0xc5, 0x59, 0x84, 0xad, 0x1a, 0xbb, 0xa0, 0x1c, 0x9b,
0xed, 0x9f, 0x04, 0xaa, 0xeb, 0x30, 0x8f, 0xb7, 0xb8, 0x5e, 0x34, 0x9a, 0x09, 0xfb, 0xed, 0x10,
0xf4, 0x3a, 0xa0, 0x31, 0xb3, 0x2a, 0xac, 0xf7, 0xbc, 0x71, 0x2e, 0x6b, 0x57, 0xb9, 0xed, 0x56,
0x1a, 0x56, 0x21, 0x82, 0x79, 0x63, 0x49, 0x61, 0x59, 0x09, 0x7a, 0x03, 0x96, 0x5c, 0xff, 0x01,
0xee, 0x07, 0xe1, 0xa1, 0x39, 0xc0, 0xa1, 0x8d, 0x7d, 0x6a, 0xf5, 0x30, 0xe9, 0x94, 0x39, 0x47,
0x8b, 0x51, 0xdb, 0xf6, 0xa8, 0x49, 0xff, 0x2b, 0x0d, 0x56, 0x84, 0xc7, 0xbb, 0x6d, 0x85, 0xd4,
0x3d, 0x05, 0xd6, 0x68, 0x10, 0xf1, 0x21, 0xf0, 0x84, 0x7f, 0xde, 0x8c, 0xa1, 0x7c, 0x97, 0xfd,
0x58, 0x83, 0x25, 0xe6, 0x8c, 0x9e, 0x25, 0x9e, 0xff, 0x52, 0x83, 0xc5, 0x7b, 0x16, 0x39, 0x4b,
0x2c, 0xff, 0x54, 0x9e, 0x54, 0x31, 0xcf, 0x27, 0x7a, 0x65, 0x7b, 0x15, 0x16, 0xd2, 0x4c, 0x47,
0xde, 0x4f, 0x2b, 0xc5, 0x35, 0x51, 0x1c, 0x69, 0x25, 0xd5, 0x91, 0xf6, 0x37, 0xa3, 0x23, 0xed,
0x6c, 0x4d, 0x50, 0xff, 0x3b, 0x0d, 0x2e, 0xde, 0xc5, 0x34, 0xe6, 0xfa, 0x54, 0x1c, 0x7d, 0xd3,
0x2a, 0xd5, 0x67, 0xe2, 0xe0, 0x56, 0x32, 0x7f, 0x22, 0x07, 0xe4, 0xf7, 0x0a, 0xb0, 0xcc, 0x4e,
0x8f, 0xd3, 0xa1, 0x04, 0xd3, 0xdc, 0x71, 0x14, 0x8a, 0x52, 0x52, 0xee, 0x84, 0xe8, 0xd8, 0x2d,
0x4f, 0x7d, 0xec, 0xea, 0x3f, 0x29, 0x08, 0x77, 0x21, 0x29, 0x8d, 0x59, 0x96, 0x45, 0xc1, 0x6b,
0x41, 0xc9, 0xab, 0x0e, 0x8d, 0x18, 0xb2, 0xb5, 0x19, 0x1d, 0xa3, 0x29, 0xd8, 0xa9, 0x3d, 0x45,
0x3f, 0xd5, 0x60, 0x25, 0xba, 0x55, 0xee, 0xe0, 0x5e, 0x1f, 0xfb, 0xf4, 0xd9, 0x75, 0x28, 0xab,
0x01, 0x05, 0x85, 0x06, 0x5c, 0x80, 0x1a, 0x11, 0xe3, 0xc4, 0x17, 0xc6, 0x11, 0x40, 0xff, 0x7b,
0x0d, 0x56, 0xc7, 0xd8, 0x99, 0x65, 0x11, 0x3b, 0x50, 0x71, 0x7d, 0x07, 0x3f, 0x8d, 0xb9, 0x89,
0x3e, 0x59, 0xcb, 0xee, 0xd0, 0xf5, 0x9c, 0x98, 0x8d, 0xe8, 0x13, 0x5d, 0x86, 0x06, 0xf6, 0xad,
0x5d, 0x0f, 0x9b, 0x1c, 0x97, 0x2b, 0x72, 0xd5, 0xa8, 0x0b, 0xd8, 0x16, 0x03, 0x31, 0xe2, 0x3d,
0x17, 0x73, 0xe2, 0x92, 0x20, 0x96, 0x9f, 0xfa, 0x6f, 0x6a, 0xb0, 0xc8, 0xb4, 0x50, 0x72, 0x4f,
0x9e, 0xaf, 0x34, 0xd7, 0xa0, 0x9e, 0x50, 0x33, 0x39, 0x91, 0x24, 0x48, 0x7f, 0x0c, 0x4b, 0x69,
0x76, 0x66, 0x91, 0xe6, 0x8b, 0x00, 0xf1, 0x5a, 0x89, 0xdd, 0x50, 0x34, 0x12, 0x10, 0xfd, 0xd3,
0x42, 0x14, 0x3b, 0xe6, 0x62, 0x3a, 0xe1, 0xd0, 0x16, 0x5f, 0x92, 0xa4, 0x3d, 0xaf, 0x71, 0x08,
0x6f, 0xde, 0x84, 0x06, 0x7e, 0x4a, 0x43, 0xcb, 0x1c, 0x58, 0xa1, 0xd5, 0x17, 0xdb, 0x6a, 0x2a,
0xd3, 0x5b, 0xe7, 0x64, 0xdb, 0x9c, 0x8a, 0x0d, 0xc2, 0x55, 0x44, 0x0c, 0x52, 0x16, 0x83, 0x70,
0x08, 0x3f, 0x30, 0xfe, 0x89, 0x39, 0x7b, 0x52, 0x9b, 0x4f, 0xbb, 0x40, 0xd2, 0x53, 0x29, 0x65,
0xa7, 0xf2, 0x27, 0x1a, 0xb4, 0xf9, 0x14, 0xc4, 0x7c, 0x06, 0xac, 0xdb, 0x0c, 0x8d, 0x96, 0xa1,
0x99, 0xb0, 0xf7, 0x7e, 0x0e, 0xca, 0x52, 0xee, 0xc5, 0x69, 0xe5, 0x2e, 0x09, 0x8e, 0x98, 0x86,
0xfe, 0x87, 0x1a, 0x2c, 0x67, 0x44, 0x3e, 0x8b, 0xc2, 0x7f, 0x08, 0x48, 0xcc, 0xd0, 0x19, 0x4d,
0x3b, 0x3a, 0xa7, 0xaf, 0x28, 0x0f, 0xa5, 0xac, 0x90, 0x8c, 0x73, 0x6e, 0x06, 0x42, 0xf4, 0x7f,
0xd5, 0xe0, 0xc2, 0x5d, 0x4c, 0x39, 0xea, 0x6d, 0x66, 0x74, 0xb6, 0xc3, 0xa0, 0x17, 0x62, 0x42,
0xce, 0xae, 0x7e, 0xfc, 0xb6, 0x70, 0xec, 0x54, 0x53, 0x9a, 0x45, 0xfe, 0x97, 0xa1, 0xc1, 0xc7,
0xc0, 0x8e, 0x19, 0x06, 0x07, 0x44, 0xea, 0x51, 0x5d, 0xc2, 0x8c, 0xe0, 0x80, 0x2b, 0x04, 0x0d,
0xa8, 0xe5, 0x09, 0x04, 0x79, 0xa2, 0x70, 0x08, 0x6b, 0xe6, 0x7b, 0x30, 0x62, 0x8c, 0x75, 0x8e,
0xcf, 0xae, 0x8c, 0xff, 0x58, 0x83, 0xe5, 0xcc, 0x54, 0x66, 0x91, 0xed, 0x97, 0x84, 0xdb, 0x29,
0x26, 0xd3, 0xda, 0xb8, 0xa4, 0xa4, 0x49, 0x0c, 0x26, 0xb0, 0xd1, 0x25, 0xa8, 0xef, 0x59, 0xae,
0x67, 0x86, 0xd8, 0x22, 0x81, 0x2f, 0x27, 0x0a, 0x0c, 0x64, 0x70, 0x88, 0xfe, 0x8f, 0x9a, 0x48,
0xd0, 0x9d, 0x71, 0x8b, 0xf7, 0x47, 0x05, 0x68, 0x6e, 0xf9, 0x04, 0x87, 0xf4, 0xf4, 0x5f, 0x4d,
0xd0, 0x7b, 0x50, 0xe7, 0x13, 0x23, 0xa6, 0x63, 0x51, 0x4b, 0x9e, 0x66, 0x2f, 0x2a, 0xa3, 0xf9,
0xef, 0x33, 0xbc, 0x4d, 0x8b, 0x5a, 0x86, 0x90, 0x0e, 0x61, 0xbf, 0xd1, 0x79, 0xa8, 0xed, 0x5b,
0x64, 0xdf, 0x7c, 0x8c, 0x0f, 0x85, 0xbf, 0xd8, 0x34, 0xaa, 0x0c, 0xf0, 0x01, 0x3e, 0x24, 0xe8,
0x05, 0xa8, 0xfa, 0xc3, 0xbe, 0xd8, 0x60, 0x95, 0x35, 0x6d, 0xbd, 0x69, 0x54, 0xfc, 0x61, 0x9f,
0x6f, 0xaf, 0x7f, 0x2e, 0x40, 0xeb, 0xc1, 0x90, 0x5d, 0x84, 0x78, 0x2e, 0x62, 0xe8, 0xd1, 0x67,
0x53, 0xc6, 0xab, 0x50, 0x14, 0x2e, 0x05, 0xa3, 0xe8, 0x28, 0x19, 0xdf, 0xda, 0x24, 0x06, 0x43,
0xe2, 0x71, 0xf8, 0xa1, 0x6d, 0x4b, 0xef, 0xac, 0xc8, 0x99, 0xad, 0x31, 0x88, 0xf0, 0xcd, 0xce,
0x43, 0x0d, 0x87, 0x61, 0xec, 0xbb, 0xf1, 0xa9, 0xe0, 0x30, 0x14, 0x8d, 0x3a, 0x34, 0x2c, 0xfb,
0xb1, 0x1f, 0x1c, 0x78, 0xd8, 0xe9, 0x61, 0x87, 0x2f, 0x7b, 0xd5, 0x48, 0xc1, 0x84, 0x62, 0xb0,
0x85, 0x37, 0x6d, 0x9f, 0xf2, 0x53, 0xbd, 0xc8, 0x14, 0x83, 0x41, 0xee, 0xf8, 0x94, 0x35, 0x3b,
0xd8, 0xc3, 0x14, 0xf3, 0xe6, 0x8a, 0x68, 0x16, 0x10, 0xd9, 0x3c, 0x1c, 0xc4, 0xd4, 0x55, 0xd1,
0x2c, 0x20, 0xac, 0xf9, 0x02, 0xd4, 0x46, 0xc9, 0x86, 0xda, 0x28, 0xda, 0xc8, 0x01, 0xfa, 0x4f,
0x35, 0x68, 0x6e, 0xf2, 0xae, 0xce, 0x80, 0xd2, 0x21, 0x98, 0xc7, 0x4f, 0x07, 0xa1, 0xdc, 0x3a,
0xfc, 0xf7, 0x44, 0x3d, 0xd2, 0x9f, 0x40, 0x7b, 0xdb, 0xb3, 0x6c, 0xbc, 0x1f, 0x78, 0x0e, 0x0e,
0xf9, 0xd9, 0x8e, 0xda, 0x50, 0xa4, 0x56, 0x4f, 0x3a, 0x0f, 0xec, 0x27, 0xfa, 0xb2, 0xbc, 0xfa,
0x09, 0xb3, 0xf4, 0xb2, 0xf2, 0x94, 0x4d, 0x74, 0x93, 0x08, 0xbc, 0xae, 0x40, 0x99, 0x27, 0x00,
0x85, 0x5b, 0xd1, 0x30, 0xe4, 0x97, 0xfe, 0x28, 0x35, 0xee, 0xdd, 0x30, 0x18, 0x0e, 0xd0, 0x16,
0x34, 0x06, 0x23, 0x18, 0xd3, 0xd5, 0xfc, 0x33, 0x3d, 0xcb, 0xb4, 0x91, 0x22, 0xd5, 0xff, 0xbb,
0x08, 0xcd, 0x1d, 0x6c, 0x85, 0xf6, 0xfe, 0x99, 0x08, 0x32, 0xb5, 0xa1, 0xe8, 0x10, 0x4f, 0xae,
0x1a, 0xfb, 0x89, 0xae, 0xc1, 0xb9, 0xc4, 0x84, 0xcc, 0x1e, 0x13, 0x10, 0xd7, 0xfb, 0x86, 0xd1,
0x1e, 0x64, 0x05, 0xf7, 0x36, 0x54, 0x1d, 0xe2, 0x99, 0x7c, 0x89, 0x2a, 0x7c, 0x89, 0xd4, 0xf3,
0xdb, 0x24, 0x1e, 0x5f, 0x9a, 0x8a, 0x23, 0x7e, 0xa0, 0x97, 0xa0, 0x19, 0x0c, 0xe9, 0x60, 0x48,
0x4d, 0x61, 0x77, 0x3a, 0x55, 0xce, 0x5e, 0x43, 0x00, 0xb9, 0x59, 0x22, 0xe8, 0x7d, 0x68, 0x12,
0x2e, 0xca, 0xc8, 0x31, 0xaf, 0x4d, 0xeb, 0x20, 0x36, 0x04, 0x9d, 0xf4, 0xcc, 0x5f, 0x83, 0x36,
0x0d, 0xad, 0x27, 0xd8, 0x4b, 0xa4, 0xf6, 0x80, 0xef, 0xb6, 0x05, 0x01, 0x1f, 0xa5, 0xf5, 0x6e,
0xc0, 0x62, 0x6f, 0x68, 0x85, 0x96, 0x4f, 0x31, 0x4e, 0x60, 0xd7, 0x39, 0x36, 0x8a, 0x9b, 0x62,
0x02, 0xfd, 0x03, 0x98, 0xbf, 0xe7, 0x52, 0x2e, 0x48, 0x66, 0xb3, 0x34, 0x7e, 0x0d, 0xe2, 0x96,
0xe9, 0x05, 0xa8, 0x86, 0xc1, 0x81, 0xb0, 0xc1, 0x05, 0xae, 0x82, 0x95, 0x30, 0x38, 0xe0, 0x06,
0x96, 0x17, 0x44, 0x04, 0xa1, 0xd4, 0xcd, 0x82, 0x21, 0xbf, 0xf4, 0xbf, 0xd0, 0x46, 0xca, 0xc3,
0xcc, 0x27, 0x79, 0x36, 0xfb, 0xf9, 0x1e, 0x54, 0x42, 0x41, 0x3f, 0x31, 0x95, 0x9b, 0x1c, 0x89,
0x9f, 0x01, 0x11, 0xd5, 0xf4, 0x79, 0xa2, 0xef, 0x6a, 0xd0, 0x78, 0xdf, 0x1b, 0x92, 0xe7, 0xa1,
0xec, 0xaa, 0xec, 0x45, 0x51, 0x9d, 0x39, 0xf9, 0x41, 0x01, 0x9a, 0x92, 0x8d, 0x59, 0x9c, 0xa0,
0x5c, 0x56, 0x76, 0xa0, 0xce, 0x86, 0x34, 0x09, 0xee, 0x45, 0x31, 0x9d, 0xfa, 0xc6, 0x86, 0xd2,
0x3c, 0xa4, 0xd8, 0xe0, 0xd9, 0xf2, 0x1d, 0x4e, 0xf4, 0x8b, 0x3e, 0x0d, 0x0f, 0x0d, 0xb0, 0x63,
0x40, 0xf7, 0x11, 0x2c, 0x64, 0x9a, 0x99, 0x12, 0x3d, 0xc6, 0x87, 0x91, 0xfd, 0x7b, 0x8c, 0x0f,
0xd1, 0x9b, 0xc9, 0x9a, 0x86, 0xbc, 0x53, 0xfc, 0x7e, 0xe0, 0xf7, 0x6e, 0x85, 0xa1, 0x75, 0x28,
0x6b, 0x1e, 0xde, 0x29, 0x7c, 0x59, 0xd3, 0xff, 0xa1, 0x00, 0x8d, 0xaf, 0x0d, 0x71, 0x78, 0x78,
0x92, 0x76, 0x28, 0x3a, 0x15, 0xe6, 0x13, 0xa7, 0xc2, 0xd8, 0xd6, 0x2f, 0x29, 0xb6, 0xbe, 0xc2,
0x80, 0x95, 0x95, 0x06, 0x4c, 0xb5, 0xb7, 0x2b, 0xc7, 0xda, 0xdb, 0xd5, 0xdc, 0xbd, 0xfd, 0xe7,
0x5a, 0x2c, 0xc2, 0x99, 0x76, 0x63, 0xca, 0x1d, 0x2b, 0x1c, 0xdb, 0x1d, 0x9b, 0x7a, 0x37, 0xfe,
0x58, 0x83, 0xda, 0xd7, 0xb1, 0x4d, 0x83, 0x90, 0xd9, 0x1f, 0x05, 0x99, 0x36, 0x85, 0x6b, 0x5c,
0xc8, 0xba, 0xc6, 0x37, 0xa1, 0xea, 0x3a, 0xa6, 0xc5, 0xf4, 0x8b, 0x8f, 0x3b, 0xc9, 0x25, 0xab,
0xb8, 0x0e, 0x57, 0xc4, 0xe9, 0x93, 0x00, 0xbf, 0xa3, 0x41, 0x43, 0xf0, 0x4c, 0x04, 0xe5, 0xbb,
0x89, 0xe1, 0x34, 0x95, 0xd2, 0xcb, 0x8f, 0x78, 0xa2, 0xf7, 0xe6, 0x46, 0xc3, 0xde, 0x02, 0x60,
0x42, 0x96, 0xe4, 0x62, 0xcf, 0xac, 0x29, 0xb9, 0x15, 0xe4, 0x5c, 0xe0, 0xf7, 0xe6, 0x8c, 0x1a,
0xa3, 0xe2, 0x5d, 0xdc, 0xae, 0x40, 0x89, 0x53, 0xeb, 0xff, 0xa7, 0xc1, 0xe2, 0x1d, 0xcb, 0xb3,
0x37, 0x5d, 0x42, 0x2d, 0xdf, 0x9e, 0xc1, 0x09, 0x7b, 0x07, 0x2a, 0xc1, 0xc0, 0xf4, 0xf0, 0x1e,
0x95, 0x2c, 0x5d, 0x9e, 0x30, 0x23, 0x21, 0x06, 0xa3, 0x1c, 0x0c, 0xee, 0xe3, 0x3d, 0x8a, 0xbe,
0x02, 0xd5, 0x60, 0x60, 0x86, 0x6e, 0x6f, 0x9f, 0x4a, 0xe9, 0x4f, 0x41, 0x5c, 0x09, 0x06, 0x06,
0xa3, 0x48, 0xc4, 0x56, 0xe6, 0x8f, 0x19, 0x5b, 0xd1, 0xff, 0x6d, 0x6c, 0xfa, 0x33, 0xec, 0x81,
0x77, 0xa0, 0xea, 0xfa, 0xd4, 0x74, 0x5c, 0x12, 0x89, 0xe0, 0xa2, 0x5a, 0x87, 0x7c, 0xca, 0x67,
0xc0, 0xd7, 0xd4, 0xa7, 0x6c, 0x6c, 0xf4, 0x55, 0x80, 0x3d, 0x2f, 0xb0, 0x24, 0xb5, 0x90, 0xc1,
0x25, 0xf5, 0xf6, 0x61, 0x68, 0x11, 0x7d, 0x8d, 0x13, 0xb1, 0x1e, 0x46, 0x4b, 0xfa, 0x2f, 0x1a,
0x2c, 0x6f, 0xe3, 0x50, 0x54, 0xbc, 0x50, 0x19, 0x06, 0xdd, 0xf2, 0xf7, 0x82, 0x74, 0x24, 0x5a,
0xcb, 0x44, 0xa2, 0x7f, 0x36, 0xd1, 0xd7, 0xd4, 0xcd, 0x49, 0xe4, 0x43, 0xa2, 0x9b, 0x53, 0x94,
0xf5, 0x11, 0x37, 0xcf, 0x56, 0xce, 0x32, 0x49, 0x7e, 0x93, 0x17, 0x70, 0xfd, 0xb7, 0x44, 0xa1,
0x86, 0x72, 0x52, 0xcf, 0xae, 0xb0, 0x2b, 0x20, 0x2d, 0x7d, 0xc6, 0xee, 0xbf, 0x02, 0x19, 0xdb,
0x91, 0x63, 0x88, 0x7e, 0xa4, 0xc1, 0x5a, 0x3e, 0x57, 0xb3, 0x1c, 0xd1, 0x5f, 0x85, 0x92, 0xeb,
0xef, 0x05, 0x51, 0xd8, 0xed, 0xaa, 0xda, 0x45, 0x57, 0x8e, 0x2b, 0x08, 0xf5, 0xbf, 0x2e, 0x40,
0x9b, 0x1b, 0xf5, 0x13, 0x58, 0xfe, 0x3e, 0xee, 0x9b, 0xc4, 0xfd, 0x04, 0x47, 0xcb, 0xdf, 0xc7,
0xfd, 0x1d, 0xf7, 0x13, 0x9c, 0xd2, 0x8c, 0x52, 0x5a, 0x33, 0x26, 0x47, 0x95, 0x93, 0x61, 0xd5,
0x4a, 0x3a, 0xac, 0xba, 0x02, 0x65, 0x3f, 0x70, 0xf0, 0xd6, 0xa6, 0xbc, 0x76, 0xca, 0xaf, 0x91,
0xaa, 0xd5, 0x8e, 0xa9, 0x6a, 0x9f, 0x69, 0xd0, 0xbd, 0x8b, 0x69, 0x56, 0x76, 0x27, 0xa7, 0x65,
0xdf, 0xd7, 0xe0, 0xbc, 0x92, 0xa1, 0x59, 0x14, 0xec, 0xdd, 0xb4, 0x82, 0xa9, 0xef, 0x80, 0x63,
0x43, 0x4a, 0xdd, 0x7a, 0x03, 0x1a, 0x9b, 0xc3, 0x7e, 0x3f, 0x76, 0xb9, 0x2e, 0x43, 0x23, 0x14,
0x3f, 0xc5, 0x15, 0x49, 0x9c, 0xbf, 0x75, 0x09, 0x63, 0x17, 0x21, 0xfd, 0x1a, 0x34, 0x25, 0x89,
0xe4, 0xba, 0x0b, 0xd5, 0x50, 0xfe, 0x96, 0xf8, 0xf1, 0xb7, 0xbe, 0x0c, 0x8b, 0x06, 0xee, 0x31,
0xd5, 0x0e, 0xef, 0xbb, 0xfe, 0x63, 0x39, 0x8c, 0xfe, 0x1d, 0x0d, 0x96, 0xd2, 0x70, 0xd9, 0xd7,
0x5b, 0x50, 0xb1, 0x1c, 0x27, 0xc4, 0x84, 0x4c, 0x5c, 0x96, 0x5b, 0x02, 0xc7, 0x88, 0x90, 0x13,
0x92, 0x2b, 0x4c, 0x2d, 0x39, 0xdd, 0x84, 0x73, 0x77, 0x31, 0x7d, 0x80, 0x69, 0x38, 0x53, 0x06,
0xbf, 0xc3, 0x2e, 0x2f, 0x9c, 0x58, 0xaa, 0x45, 0xf4, 0xa9, 0x7f, 0xaa, 0x01, 0x4a, 0x8e, 0x30,
0xcb, 0x32, 0x27, 0xa5, 0x5c, 0x48, 0x4b, 0x59, 0xd4, 0x42, 0xf5, 0x07, 0x81, 0x8f, 0x7d, 0x9a,
0x74, 0xb7, 0x9a, 0x31, 0x34, 0x2a, 0x2b, 0x41, 0xf7, 0x03, 0xcb, 0xb9, 0x6d, 0x79, 0xb3, 0xb9,
0x07, 0x17, 0x01, 0x48, 0x68, 0x9b, 0x72, 0xb7, 0x16, 0xa4, 0xf5, 0x09, 0xed, 0x87, 0x62, 0xc3,
0x5e, 0x82, 0xba, 0x43, 0xa8, 0x6c, 0x8e, 0x12, 0xca, 0xe0, 0x10, 0x2a, 0xda, 0x79, 0xad, 0x2b,
0xc1, 0x96, 0x87, 0x1d, 0x33, 0x91, 0x8f, 0x9b, 0xe7, 0x68, 0x6d, 0xd1, 0xb0, 0x13, 0xc3, 0x15,
0x9b, 0xab, 0xa4, 0xdc, 0x5c, 0x8f, 0x60, 0xf5, 0x81, 0xe5, 0x0f, 0x2d, 0xef, 0x4e, 0xd0, 0x1f,
0x58, 0xa9, 0x3a, 0xc9, 0xac, 0x39, 0xd4, 0x14, 0xe6, 0xf0, 0x45, 0x51, 0x48, 0x27, 0x5c, 0x70,
0x3e, 0xa7, 0x79, 0x23, 0x01, 0xd1, 0x09, 0x74, 0xc6, 0xbb, 0x9f, 0x65, 0x41, 0x39, 0x53, 0x51,
0x57, 0x49, 0x1b, 0x3d, 0x82, 0xe9, 0xef, 0xc1, 0x0b, 0xbc, 0xa8, 0x31, 0x02, 0xa5, 0x52, 0x00,
0xd9, 0x0e, 0x34, 0x45, 0x07, 0xbf, 0x56, 0xe0, 0x26, 0x70, 0xac, 0x87, 0x59, 0x18, 0x7f, 0x27,
0x1d, 0x79, 0x7f, 0x39, 0xa7, 0x70, 0x37, 0x3d, 0xa2, 0x0c, 0xbf, 0xaf, 0xc3, 0x02, 0x7e, 0x8a,
0xed, 0x21, 0x75, 0xfd, 0xde, 0xb6, 0x67, 0xf9, 0x0f, 0x03, 0x79, 0xf0, 0x64, 0xc1, 0xe8, 0x65,
0x68, 0x32, 0xe9, 0x07, 0x43, 0x2a, 0xf1, 0xc4, 0x09, 0x94, 0x06, 0xb2, 0xfe, 0xd8, 0x7c, 0x3d,
0x4c, 0xb1, 0x23, 0xf1, 0xc4, 0x71, 0x94, 0x05, 0x8f, 0x89, 0x92, 0x81, 0xc9, 0x71, 0x44, 0xf9,
0x1f, 0x5a, 0x46, 0x94, 0xb2, 0x87, 0x93, 0x12, 0xe5, 0x3d, 0x80, 0x3e, 0x0e, 0x7b, 0x78, 0x8b,
0x1b, 0x7f, 0x71, 0xc3, 0x5f, 0x57, 0x1a, 0xff, 0x51, 0x07, 0x0f, 0x22, 0x02, 0x23, 0x41, 0xab,
0xdf, 0x85, 0x45, 0x05, 0x0a, 0xb3, 0x6b, 0x24, 0x18, 0x86, 0x36, 0x8e, 0x82, 0x44, 0xd1, 0x27,
0x3b, 0x07, 0xa9, 0x15, 0xf6, 0x30, 0x95, 0x4a, 0x2b, 0xbf, 0xf4, 0xb7, 0x78, 0xb2, 0x8a, 0x07,
0x14, 0x52, 0x9a, 0x9a, 0x4e, 0xbc, 0x6b, 0x63, 0x89, 0xf7, 0x3d, 0x9e, 0x19, 0x4a, 0xd2, 0xcd,
0x58, 0x34, 0xb1, 0xc7, 0xba, 0xc2, 0x8e, 0x7c, 0xb4, 0x11, 0x7d, 0xea, 0xff, 0xab, 0x41, 0x73,
0xab, 0x3f, 0x08, 0x46, 0x49, 0x91, 0xa9, 0xaf, 0x9c, 0xe3, 0x41, 0xe5, 0x82, 0x2a, 0xa8, 0xfc,
0x12, 0x34, 0xd3, 0x25, 0xff, 0x22, 0xfe, 0xd3, 0xb0, 0x93, 0xa5, 0xfe, 0xe7, 0xa1, 0x16, 0x06,
0x07, 0x26, 0x33, 0xa5, 0x8e, 0x2c, 0xcf, 0xa8, 0x86, 0xc1, 0x01, 0x33, 0xb0, 0x0e, 0x5a, 0x82,
0xd2, 0x9e, 0xeb, 0xc5, 0x95, 0x45, 0xe2, 0x03, 0xbd, 0xcb, 0x2e, 0x64, 0x22, 0x7d, 0x5b, 0x9e,
0xf6, 0x5e, 0x14, 0x51, 0xe8, 0x1f, 0x43, 0x2b, 0x9a, 0xf5, 0x8c, 0xaf, 0x55, 0xa8, 0x45, 0x1e,
0x47, 0x95, 0x13, 0xe2, 0x43, 0xbf, 0x26, 0xb2, 0x7a, 0xbc, 0xff, 0xd4, 0xa2, 0x23, 0x98, 0x67,
0x18, 0x72, 0x2f, 0xf1, 0xdf, 0xfa, 0x77, 0x0b, 0xb0, 0x92, 0xc5, 0x9e, 0x85, 0xa5, 0xb7, 0xd2,
0xfb, 0x47, 0xfd, 0x20, 0x21, 0x39, 0x9a, 0xdc, 0x3b, 0x72, 0x05, 0xec, 0x60, 0xe8, 0x53, 0x69,
0x80, 0xd8, 0x0a, 0xdc, 0x61, 0xdf, 0x68, 0x15, 0x2a, 0xae, 0x63, 0x7a, 0xec, 0xee, 0x26, 0xce,
0xa4, 0xb2, 0xeb, 0xdc, 0x67, 0xf7, 0xba, 0xb7, 0x23, 0x4f, 0x6b, 0xea, 0x72, 0x0b, 0x81, 0x8f,
0x5a, 0x50, 0x70, 0x1d, 0x99, 0x8a, 0x29, 0xb8, 0x8e, 0xde, 0x81, 0x15, 0xd6, 0xa1, 0x60, 0xec,
0x43, 0x26, 0xc6, 0xc8, 0x31, 0xfa, 0x81, 0x06, 0xab, 0x63, 0x4d, 0xb3, 0x48, 0xe8, 0x56, 0x72,
0xd1, 0xea, 0x1b, 0xd7, 0x94, 0x06, 0x42, 0xbd, 0x24, 0xd1, 0x0a, 0xff, 0x50, 0x78, 0x31, 0x86,
0x28, 0xe2, 0x7c, 0xce, 0x25, 0x41, 0xeb, 0xd0, 0x3e, 0x70, 0xe9, 0xbe, 0xc9, 0x1f, 0xa6, 0x70,
0x17, 0x42, 0x64, 0xc5, 0xab, 0x46, 0x8b, 0xc1, 0x77, 0x18, 0x98, 0xb9, 0x11, 0x44, 0xff, 0x75,
0x0d, 0x16, 0x53, 0x6c, 0xcd, 0x22, 0xa6, 0xaf, 0x30, 0xef, 0x4a, 0x74, 0x24, 0x25, 0xb5, 0xa6,
0x94, 0x94, 0x1c, 0x8d, 0x9b, 0xd0, 0x98, 0x42, 0xff, 0x4f, 0x0d, 0xea, 0x89, 0x16, 0x76, 0x39,
0x93, 0x6d, 0xa3, 0xcb, 0x59, 0x0c, 0x98, 0x4a, 0x0c, 0x2f, 0xc1, 0xc8, 0xb0, 0x24, 0x8a, 0xdb,
0x13, 0x55, 0x79, 0x0e, 0x41, 0xf7, 0xa0, 0x25, 0xc4, 0x14, 0xb3, 0xae, 0x8c, 0x99, 0xc4, 0xf5,
0x86, 0x56, 0xe8, 0x48, 0x2e, 0x8d, 0x26, 0x49, 0x7c, 0x89, 0x14, 0x69, 0xe0, 0x60, 0x3e, 0x52,
0x49, 0xd8, 0x7a, 0xee, 0xbd, 0x39, 0x84, 0x5d, 0xa2, 0x1a, 0x49, 0x52, 0xe6, 0x88, 0x7a, 0xd8,
0x72, 0x70, 0x18, 0xcf, 0x2d, 0xfe, 0x66, 0x9e, 0x9f, 0xf8, 0x6d, 0x32, 0xc7, 0x5c, 0x9a, 0x48,
0x10, 0x20, 0xe6, 0xb3, 0xa3, 0x57, 0x60, 0xc1, 0xe9, 0xa7, 0x5e, 0x45, 0x45, 0xae, 0xaa, 0xd3,
0x4f, 0x3c, 0x87, 0x4a, 0x31, 0x34, 0x9f, 0x66, 0xe8, 0x7f, 0xb4, 0xf8, 0xad, 0x68, 0x88, 0x1d,
0xec, 0x53, 0xd7, 0xf2, 0x9e, 0x5d, 0x27, 0xbb, 0x50, 0x1d, 0x12, 0x1c, 0x26, 0x2c, 0x7a, 0xfc,
0xcd, 0xda, 0x06, 0x16, 0x21, 0x07, 0x41, 0xe8, 0x48, 0x2e, 0xe3, 0xef, 0x09, 0x25, 0x8e, 0xe2,
0x1d, 0xa2, 0xba, 0xc4, 0xf1, 0x2d, 0x58, 0xed, 0x07, 0x8e, 0xbb, 0xe7, 0xaa, 0x2a, 0x23, 0x19,
0xd9, 0x72, 0xd4, 0x9c, 0xa2, 0xd3, 0x7f, 0x54, 0x80, 0xd5, 0x8f, 0x06, 0xce, 0xe7, 0x30, 0xe7,
0x35, 0xa8, 0x07, 0x9e, 0xb3, 0x9d, 0x9e, 0x76, 0x12, 0xc4, 0x30, 0x7c, 0x7c, 0x10, 0x63, 0x88,
0x40, 0x79, 0x12, 0x34, 0xb1, 0xfc, 0xf3, 0x99, 0x64, 0x53, 0x9e, 0x24, 0x9b, 0x1e, 0xac, 0x8a,
0x9c, 0xf3, 0x73, 0x16, 0x8d, 0xfe, 0x2b, 0xb0, 0xcc, 0x4c, 0x33, 0x1b, 0xe6, 0x23, 0x82, 0xc3,
0x19, 0x2d, 0xce, 0x05, 0xa8, 0x45, 0x3d, 0x47, 0x95, 0xb9, 0x23, 0x80, 0x7e, 0x0f, 0x96, 0x32,
0x63, 0x3d, 0xe3, 0x8c, 0xae, 0x5e, 0x86, 0x6a, 0x54, 0x69, 0x8c, 0x2a, 0x50, 0xbc, 0xe5, 0x79,
0xed, 0x39, 0xd4, 0x80, 0xea, 0x96, 0x2c, 0xa7, 0x6d, 0x6b, 0x57, 0x7f, 0x01, 0x16, 0x32, 0x19,
0x69, 0x54, 0x85, 0xf9, 0x87, 0x81, 0x8f, 0xdb, 0x73, 0xa8, 0x0d, 0x8d, 0xdb, 0xae, 0x6f, 0x85,
0x87, 0x22, 0x5e, 0xdb, 0x76, 0xd0, 0x02, 0xd4, 0x79, 0xdc, 0x52, 0x02, 0xf0, 0xc6, 0x9f, 0x5e,
0x81, 0xe6, 0x03, 0xce, 0xc8, 0x0e, 0x0e, 0x9f, 0xb8, 0x36, 0x46, 0x26, 0xb4, 0xb3, 0xcf, 0xb9,
0xd1, 0x17, 0xd4, 0xbe, 0xa9, 0xfa, 0xd5, 0x77, 0x77, 0x92, 0x0c, 0xf5, 0x39, 0xf4, 0x31, 0xb4,
0xd2, 0x8f, 0xa2, 0x91, 0x3a, 0xb0, 0xa6, 0x7c, 0x39, 0x7d, 0x54, 0xe7, 0x26, 0x34, 0x53, 0x6f,
0x9c, 0xd1, 0x6b, 0xca, 0xbe, 0x55, 0xef, 0xa0, 0xbb, 0x6a, 0xdb, 0x9b, 0x7c, 0x87, 0x2c, 0xb8,
0x4f, 0x3f, 0x44, 0xcc, 0xe1, 0x5e, 0xf9, 0x5a, 0xf1, 0x28, 0xee, 0x2d, 0x38, 0x37, 0xf6, 0x60,
0x10, 0xbd, 0x9e, 0x73, 0x9a, 0xa9, 0x1f, 0x16, 0x1e, 0x35, 0xc4, 0x01, 0xa0, 0xf1, 0xb7, 0xbc,
0xe8, 0xba, 0x7a, 0x05, 0xf2, 0x5e, 0x32, 0x77, 0x6f, 0x4c, 0x8d, 0x1f, 0x0b, 0xee, 0x57, 0x35,
0x58, 0xcd, 0x79, 0xe5, 0x87, 0x6e, 0xe6, 0xb9, 0x36, 0x13, 0x9e, 0x2a, 0x76, 0xdf, 0x3c, 0x1e,
0x51, 0xcc, 0x88, 0x0f, 0x0b, 0x99, 0x87, 0x6f, 0xe8, 0x5a, 0x6e, 0x95, 0xff, 0xf8, 0x0b, 0xc0,
0xee, 0x17, 0xa6, 0x43, 0x8e, 0xc7, 0x7b, 0x04, 0x0b, 0x99, 0xd7, 0x62, 0x39, 0xe3, 0xa9, 0xdf,
0x94, 0x1d, 0xb5, 0xa0, 0xdf, 0x84, 0x66, 0xea, 0x59, 0x57, 0x8e, 0xc6, 0xab, 0x9e, 0x7e, 0x1d,
0xd5, 0xf5, 0x23, 0x68, 0x24, 0x5f, 0x5f, 0xa1, 0xf5, 0xbc, 0xbd, 0x34, 0xd6, 0xf1, 0x71, 0xb6,
0xd2, 0xe8, 0xd5, 0xc4, 0x84, 0xad, 0x34, 0xf6, 0xd0, 0x64, 0xfa, 0xad, 0x94, 0xe8, 0x7f, 0xe2,
0x56, 0x3a, 0xf6, 0x10, 0xdf, 0xd1, 0xf8, 0x8d, 0x48, 0xf1, 0x2a, 0x07, 0x6d, 0xe4, 0xe9, 0x66,
0xfe, 0xfb, 0xa3, 0xee, 0xcd, 0x63, 0xd1, 0xc4, 0x52, 0x7c, 0x0c, 0xad, 0xf4, 0xdb, 0x93, 0x1c,
0x29, 0x2a, 0x9f, 0xeb, 0x74, 0xaf, 0x4d, 0x85, 0x1b, 0x0f, 0xf6, 0x11, 0xd4, 0x13, 0xff, 0xd0,
0x82, 0x5e, 0x9d, 0xa0, 0xc7, 0xc9, 0xbf, 0x2b, 0x39, 0x4a, 0x92, 0x5f, 0x83, 0x5a, 0xfc, 0xc7,
0x2a, 0xe8, 0x4a, 0xae, 0xfe, 0x1e, 0xa7, 0xcb, 0x1d, 0x80, 0xd1, 0xbf, 0xa6, 0xa0, 0x57, 0x94,
0x7d, 0x8e, 0xfd, 0xad, 0xca, 0x51, 0x9d, 0xc6, 0xd3, 0x17, 0x25, 0x7d, 0x93, 0xa6, 0x9f, 0xac,
0x41, 0x3d, 0xaa, 0xdb, 0x7d, 0x68, 0xa6, 0x2a, 0xc7, 0xf3, 0xb6, 0xb0, 0xa2, 0xa0, 0xbf, 0x7b,
0x75, 0x1a, 0xd4, 0x78, 0xfd, 0xf6, 0xa1, 0x99, 0xaa, 0xe3, 0xcd, 0x19, 0x49, 0x55, 0xb6, 0x9c,
0x33, 0x92, 0xb2, 0x2c, 0x58, 0x9f, 0x43, 0xdf, 0x4e, 0x94, 0x0c, 0xa7, 0xca, 0xb2, 0xd1, 0x1b,
0x13, 0xfb, 0x51, 0x55, 0xa5, 0x77, 0x37, 0x8e, 0x43, 0x12, 0xb3, 0x20, 0xb5, 0x4a, 0x88, 0x34,
0x5f, 0xab, 0x8e, 0xb3, 0x52, 0x3b, 0x50, 0x16, 0x95, 0xb9, 0x48, 0xcf, 0xa9, 0xc1, 0x4f, 0x94,
0xed, 0x76, 0x5f, 0x52, 0xe2, 0xa4, 0x8b, 0x56, 0x45, 0xa7, 0xc2, 0x0b, 0xce, 0xe9, 0x34, 0x55,
0x96, 0x39, 0x6d, 0xa7, 0x06, 0x94, 0x45, 0xc9, 0x55, 0x4e, 0xa7, 0xa9, 0xb2, 0xc1, 0xee, 0x64,
0x1c, 0x9e, 0x8b, 0xd7, 0xe7, 0xd0, 0x36, 0x94, 0x78, 0xa0, 0x0f, 0x5d, 0x9e, 0x54, 0x8d, 0x34,
0xa9, 0xc7, 0x54, 0xc1, 0x92, 0x3e, 0x87, 0x7e, 0x09, 0x4a, 0x3c, 0xbd, 0x95, 0xd3, 0x63, 0xb2,
0xa4, 0xa8, 0x3b, 0x11, 0x25, 0x62, 0xd1, 0x81, 0x46, 0xb2, 0x8e, 0x20, 0xe7, 0xc8, 0x52, 0x54,
0x5a, 0x74, 0xa7, 0xc1, 0x8c, 0x46, 0x11, 0xdb, 0x68, 0x14, 0xf4, 0xcc, 0xdf, 0x46, 0x63, 0x01,
0xd5, 0xfc, 0x6d, 0x34, 0x1e, 0x43, 0xd5, 0xe7, 0xd0, 0x6f, 0x68, 0xd0, 0xc9, 0x4b, 0x6e, 0xa3,
0x5c, 0x0f, 0x68, 0x52, 0x86, 0xbe, 0xfb, 0xa5, 0x63, 0x52, 0xc5, 0xbc, 0x7c, 0xc2, 0x83, 0x36,
0x63, 0xe9, 0xec, 0x1b, 0x79, 0xfd, 0xe5, 0x24, 0x6f, 0xbb, 0x5f, 0x9c, 0x9e, 0x20, 0x1e, 0x7b,
0x17, 0xea, 0x89, 0x80, 0x51, 0x8e, 0xe5, 0x1d, 0x8f, 0x74, 0xe5, 0xac, 0xaa, 0x22, 0xf6, 0x24,
0xd4, 0x9b, 0x67, 0x47, 0x73, 0x94, 0x31, 0x99, 0x6c, 0xcd, 0x51, 0xef, 0x54, 0x72, 0x55, 0x9f,
0x43, 0x18, 0x1a, 0xc9, 0x54, 0x69, 0x8e, 0x36, 0x2a, 0xb2, 0xac, 0xdd, 0xd7, 0xa6, 0xc0, 0x8c,
0x87, 0x31, 0x01, 0x46, 0xa9, 0xca, 0x9c, 0xb3, 0x6e, 0x2c, 0x5b, 0xda, 0x7d, 0xf5, 0x48, 0xbc,
0xe4, 0xb1, 0x9f, 0x48, 0x3e, 0xe6, 0x48, 0x7f, 0x3c, 0x3d, 0x39, 0xc5, 0x5d, 0x64, 0x3c, 0xc1,
0x95, 0x73, 0x17, 0xc9, 0xcd, 0xa5, 0x75, 0x6f, 0x4c, 0x8d, 0x1f, 0xcf, 0xe7, 0x5b, 0xd0, 0xce,
0x26, 0x04, 0x73, 0xee, 0xb8, 0x39, 0x69, 0xc9, 0xee, 0xeb, 0x53, 0x62, 0x27, 0xcf, 0xc3, 0xf3,
0xe3, 0x3c, 0x7d, 0xc3, 0xa5, 0xfb, 0x3c, 0x17, 0x35, 0xcd, 0xac, 0x93, 0x69, 0xaf, 0x69, 0x66,
0x9d, 0x4a, 0x72, 0xc9, 0xc3, 0x8b, 0x87, 0x8a, 0xf3, 0x0e, 0xaf, 0x64, 0x7a, 0x25, 0xe7, 0x9c,
0x49, 0x27, 0x23, 0x84, 0xfb, 0x99, 0x0e, 0x41, 0xa3, 0xab, 0x53, 0xc5, 0xa9, 0x27, 0xb9, 0x9f,
0xea, 0x98, 0xb6, 0xb8, 0xba, 0x65, 0x22, 0xec, 0x39, 0x57, 0x29, 0x75, 0x88, 0x3e, 0xe7, 0xea,
0x96, 0x13, 0xb4, 0xe7, 0x1b, 0xab, 0x9d, 0x0d, 0x57, 0x4e, 0x8e, 0x85, 0x64, 0xc3, 0x58, 0x47,
0x87, 0x2b, 0xda, 0xd9, 0xd8, 0x60, 0xce, 0x00, 0x39, 0x21, 0xc4, 0x29, 0x06, 0xc8, 0x46, 0xd8,
0x72, 0x06, 0xc8, 0x09, 0xc4, 0x4d, 0xe1, 0xbb, 0xa6, 0xa2, 0x5d, 0x39, 0x47, 0xa1, 0x2a, 0x22,
0x96, 0x73, 0x14, 0x2a, 0x03, 0x75, 0xfa, 0xdc, 0xc6, 0x10, 0x1a, 0xdb, 0x61, 0xf0, 0xf4, 0x30,
0x0a, 0x54, 0x7d, 0x3e, 0xc6, 0xf5, 0xf6, 0x37, 0xa0, 0xe5, 0xc6, 0x38, 0xbd, 0x70, 0x60, 0xdf,
0xae, 0x8b, 0x80, 0xd9, 0x36, 0x23, 0xde, 0xd6, 0x7e, 0xf9, 0x66, 0xcf, 0xa5, 0xfb, 0xc3, 0x5d,
0x26, 0x99, 0x1b, 0x02, 0xed, 0x75, 0x37, 0x90, 0xbf, 0x6e, 0xb8, 0x3e, 0xc5, 0xa1, 0x6f, 0x79,
0x37, 0xf8, 0x50, 0x12, 0x3a, 0xd8, 0xfd, 0x03, 0x4d, 0xdb, 0x2d, 0x73, 0xd0, 0xcd, 0xff, 0x0f,
0x00, 0x00, 0xff, 0xff, 0x80, 0x61, 0xf4, 0x87, 0x36, 0x53, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.

View File

@ -980,7 +980,7 @@ func (coord *RootCoordMock) ListImportTasks(ctx context.Context, in *milvuspb.Li
ErrorCode: commonpb.ErrorCode_UnexpectedError,
Reason: fmt.Sprintf("state code = %s", internalpb.StateCode_name[int32(code)]),
},
Tasks: make([]int64, 0),
Tasks: make([]*milvuspb.GetImportStateResponse, 0),
}, nil
}
return &milvuspb.ListImportTasksResponse{
@ -988,7 +988,7 @@ func (coord *RootCoordMock) ListImportTasks(ctx context.Context, in *milvuspb.Li
ErrorCode: commonpb.ErrorCode_Success,
Reason: "",
},
Tasks: make([]int64, 3),
Tasks: make([]*milvuspb.GetImportStateResponse, 3),
}, nil
}

View File

@ -378,13 +378,14 @@ func (m *importManager) getTaskState(tID int64) *milvuspb.GetImportStateResponse
func() {
m.pendingLock.Lock()
defer m.pendingLock.Unlock()
for i := 0; i < len(m.pendingTasks); i++ {
if tID == m.pendingTasks[i].Id {
for _, t := range m.pendingTasks {
if tID == t.Id {
resp.Status = &commonpb.Status{
ErrorCode: commonpb.ErrorCode_Success,
}
resp.Id = tID
resp.State = commonpb.ImportState_ImportPending
resp.Infos = append(resp.Infos, &commonpb.KeyValuePair{Key: Files, Value: strings.Join(m.pendingTasks[i].GetFiles(), ",")})
resp.Infos = append(resp.Infos, &commonpb.KeyValuePair{Key: Files, Value: strings.Join(t.GetFiles(), ",")})
found = true
break
}
@ -402,6 +403,7 @@ func (m *importManager) getTaskState(tID int64) *milvuspb.GetImportStateResponse
resp.Status = &commonpb.Status{
ErrorCode: commonpb.ErrorCode_Success,
}
resp.Id = tID
resp.State = v.GetState().GetStateCode()
resp.RowCount = v.GetState().GetRowCount()
resp.IdList = v.GetState().GetRowIds()
@ -542,23 +544,49 @@ func (m *importManager) expireOldTasks() {
}()
}
func (m *importManager) listAllTasks() []int64 {
tasks := make([]int64, 0)
func (m *importManager) listAllTasks() []*milvuspb.GetImportStateResponse {
tasks := make([]*milvuspb.GetImportStateResponse, 0)
func() {
m.pendingLock.Lock()
defer m.pendingLock.Unlock()
for _, t := range m.pendingTasks {
tasks = append(tasks, t.GetId())
resp := &milvuspb.GetImportStateResponse{
Status: &commonpb.Status{
ErrorCode: commonpb.ErrorCode_Success,
},
Infos: make([]*commonpb.KeyValuePair, 0),
Id: t.GetId(),
State: commonpb.ImportState_ImportPending,
}
resp.Infos = append(resp.Infos, &commonpb.KeyValuePair{Key: Files, Value: strings.Join(t.GetFiles(), ",")})
tasks = append(tasks, resp)
}
log.Info("tasks in pending list", zap.Int("count", len(m.pendingTasks)))
}()
func() {
m.workingLock.Lock()
defer m.workingLock.Unlock()
for _, v := range m.workingTasks {
tasks = append(tasks, v.GetId())
resp := &milvuspb.GetImportStateResponse{
Status: &commonpb.Status{
ErrorCode: commonpb.ErrorCode_Success,
},
Infos: make([]*commonpb.KeyValuePair, 0),
Id: v.GetId(),
State: v.GetState().GetStateCode(),
RowCount: v.GetState().GetRowCount(),
IdList: v.GetState().GetRowIds(),
}
resp.Infos = append(resp.Infos, &commonpb.KeyValuePair{Key: Files, Value: strings.Join(v.GetFiles(), ",")})
resp.Infos = append(resp.Infos, &commonpb.KeyValuePair{
Key: FailedReason,
Value: v.GetState().GetErrorMessage(),
})
tasks = append(tasks, resp)
}
log.Info("tasks in working list", zap.Int("count", len(m.workingTasks)))
}()
return tasks

View File

@ -335,3 +335,70 @@ func TestImportManager_AllocFail(t *testing.T) {
mgr := newImportManager(context.TODO(), mockKv, idAlloc, fn)
mgr.importJob(context.TODO(), rowReq, colID, 0)
}
func TestImportManager_ListAllTasks(t *testing.T) {
var countLock sync.RWMutex
var globalCount = typeutil.UniqueID(0)
var idAlloc = func(count uint32) (typeutil.UniqueID, typeutil.UniqueID, error) {
countLock.Lock()
defer countLock.Unlock()
globalCount++
return globalCount, 0, nil
}
Params.RootCoordCfg.ImportTaskSubPath = "test_import_task"
colID := int64(100)
mockKv := &kv.MockMetaKV{}
mockKv.InMemKv = make(map[string]string)
// reject some tasks so there are 3 tasks left in pending list
fn := func(ctx context.Context, req *datapb.ImportTaskRequest) *datapb.ImportTaskResponse {
return &datapb.ImportTaskResponse{
Status: &commonpb.Status{
ErrorCode: commonpb.ErrorCode_UnexpectedError,
},
}
}
rowReq := &milvuspb.ImportRequest{
CollectionName: "c1",
PartitionName: "p1",
RowBased: true,
Files: []string{"f1", "f2", "f3"},
}
mgr := newImportManager(context.TODO(), mockKv, idAlloc, fn)
mgr.importJob(context.TODO(), rowReq, colID, 0)
tasks := mgr.listAllTasks()
assert.Equal(t, len(rowReq.Files), len(tasks))
resp := mgr.getTaskState(1)
assert.Equal(t, commonpb.ErrorCode_Success, resp.Status.ErrorCode)
assert.Equal(t, commonpb.ImportState_ImportPending, resp.State)
assert.Equal(t, int64(1), resp.Id)
// accept tasks to working list
mgr.callImportService = func(ctx context.Context, req *datapb.ImportTaskRequest) *datapb.ImportTaskResponse {
return &datapb.ImportTaskResponse{
Status: &commonpb.Status{
ErrorCode: commonpb.ErrorCode_Success,
},
}
}
mgr.importJob(context.TODO(), rowReq, colID, 0)
tasks = mgr.listAllTasks()
assert.Equal(t, len(rowReq.Files)*2, len(tasks))
// the id of tasks must be 1,2,3,4,5,6(sequence not guaranteed)
ids := make(map[int64]struct{})
for i := 0; i < len(tasks); i++ {
ids[int64(i)+1] = struct{}{}
}
for i := 0; i < len(tasks); i++ {
delete(ids, tasks[i].Id)
}
assert.Equal(t, 0, len(ids))
}

View File

@ -25,6 +25,7 @@ import (
const (
JSONFileExt = ".json"
NumpyFileExt = ".npy"
MaxFileSize = 4 * 1024 * 1024 * 1024 // maximum size of each file
)
type ImportWrapper struct {
@ -108,10 +109,41 @@ func getFileNameAndExt(filePath string) (string, string) {
return fileNameWithoutExt, fileType
}
func (p *ImportWrapper) fileValidation(filePaths []string, rowBased bool) error {
for i := 0; i < len(filePaths); i++ {
filePath := filePaths[i]
_, fileType := getFileNameAndExt(filePath)
// check file type
if rowBased {
if fileType != JSONFileExt {
return errors.New("unsupported file type for row-based mode: " + filePath)
}
} else {
if fileType != JSONFileExt && fileType != NumpyFileExt {
return errors.New("unsupported file type for column-based mode: " + filePath)
}
}
// check file size
size, _ := p.chunkManager.Size(filePath)
if size > MaxFileSize {
return errors.New("the file " + filePath + " size exceeds the maximum file size: " + strconv.FormatInt(MaxFileSize, 10) + " bytes")
}
}
return nil
}
// import process entry
// filePath and rowBased are from ImportTask
// if onlyValidate is true, this process only do validation, no data generated, callFlushFunc will not be called
func (p *ImportWrapper) Import(filePaths []string, rowBased bool, onlyValidate bool) error {
err := p.fileValidation(filePaths, rowBased)
if err != nil {
return err
}
if rowBased {
// parse and consume row-based files
// for row-based files, the JSONRowConsumer will generate autoid for primary key, and split rows into segments
@ -419,26 +451,36 @@ func (p *ImportWrapper) splitFieldsData(fieldsData map[storage.FieldID]storage.F
tr := timerecord.NewTimeRecorder("split field data")
defer tr.Elapse("finished")
// check existence of each field
// check row count, all fields row count must be equal
// firstly get the max row count
rowCount := 0
rowCounter := make(map[string]int)
var primaryKey *schemapb.FieldSchema
for i := 0; i < len(p.collectionSchema.Fields); i++ {
schema := p.collectionSchema.Fields[i]
if schema.GetIsPrimaryKey() {
primaryKey = schema
} else {
_, ok := fieldsData[schema.GetFieldID()]
}
if !schema.GetAutoID() {
v, ok := fieldsData[schema.GetFieldID()]
if !ok {
return errors.New("import error: field " + schema.GetName() + " not provided")
}
rowCounter[schema.GetName()] = v.RowNum()
if v.RowNum() > rowCount {
rowCount = v.RowNum()
}
}
}
if primaryKey == nil {
return errors.New("import error: primary key field is not found")
}
rowCount := 0
for _, v := range fieldsData {
if v.RowNum() > rowCount {
rowCount = v.RowNum()
for name, count := range rowCounter {
if count != rowCount {
return errors.New("import error: field " + name + " row count " + strconv.Itoa(count) + " is not equal to other fields " + strconv.Itoa(rowCount))
}
}

View File

@ -47,6 +47,7 @@ type Validator struct {
primaryKey bool // true for primary key
autoID bool // only for primary key field
dimension int // only for vector field
fieldName string // field name
}
// method to construct valiator functions
@ -74,6 +75,7 @@ func initValidators(collectionSchema *schemapb.CollectionSchema, validators map[
validators[schema.GetFieldID()] = &Validator{}
validators[schema.GetFieldID()].primaryKey = schema.GetIsPrimaryKey()
validators[schema.GetFieldID()].autoID = schema.GetAutoID()
validators[schema.GetFieldID()].fieldName = schema.GetName()
switch schema.DataType {
case schemapb.DataType_Bool:
@ -153,7 +155,7 @@ func initValidators(collectionSchema *schemapb.CollectionSchema, validators map[
switch vt := obj.(type) {
case []interface{}:
if len(vt)*8 != dim {
msg := "bit size " + strconv.Itoa(len(vt)*8) + " doesn't equal to vector dimension " + strconv.Itoa(dim)
msg := "bit size " + strconv.Itoa(len(vt)*8) + " doesn't equal to vector dimension " + strconv.Itoa(dim) + " of field " + schema.GetName()
return errors.New(msg)
}
for i := 0; i < len(vt); i++ {
@ -197,7 +199,7 @@ func initValidators(collectionSchema *schemapb.CollectionSchema, validators map[
switch vt := obj.(type) {
case []interface{}:
if len(vt) != dim {
msg := "array size " + strconv.Itoa(len(vt)) + " doesn't equal to vector dimension " + strconv.Itoa(dim)
msg := "array size " + strconv.Itoa(len(vt)) + " doesn't equal to vector dimension " + strconv.Itoa(dim) + " of field " + schema.GetName()
return errors.New(msg)
}
for i := 0; i < len(vt); i++ {
@ -295,7 +297,7 @@ func (v *JSONRowValidator) Handle(rows []map[storage.FieldID]interface{}) error
}
value, ok := row[id]
if !ok {
return errors.New("JSON row validator: fieldID " + strconv.FormatInt(id, 10) + " missed at the row " + strconv.FormatInt(v.rowCounter+int64(i), 10))
return errors.New("JSON row validator: field " + validator.fieldName + " missed at the row " + strconv.FormatInt(v.rowCounter+int64(i), 10))
}
if err := validator.validateFunc(value); err != nil {
@ -317,21 +319,21 @@ func (v *JSONRowValidator) Handle(rows []map[storage.FieldID]interface{}) error
type JSONColumnValidator struct {
downstream JSONColumnHandler // downstream processor, typically is a JSONColumnComsumer
validators map[storage.FieldID]*Validator // validators for each field
rowCounter map[storage.FieldID]int64 // row count of each field
rowCounter map[string]int64 // row count of each field
}
func NewJSONColumnValidator(schema *schemapb.CollectionSchema, downstream JSONColumnHandler) *JSONColumnValidator {
v := &JSONColumnValidator{
validators: make(map[storage.FieldID]*Validator),
downstream: downstream,
rowCounter: make(map[storage.FieldID]int64),
rowCounter: make(map[string]int64),
}
initValidators(schema, v.validators)
return v
}
func (v *JSONColumnValidator) ValidateCount() map[storage.FieldID]int64 {
func (v *JSONColumnValidator) ValidateCount() map[string]int64 {
return v.rowCounter
}
@ -348,7 +350,7 @@ func (v *JSONColumnValidator) Handle(columns map[storage.FieldID][]interface{})
if rowCount == -1 {
rowCount = counter
} else if rowCount != counter {
return errors.New("JSON column validator: the field " + strconv.FormatInt(k, 10) + " row count " + strconv.Itoa(int(counter)) + " is not equal to other fields " + strconv.Itoa(int(rowCount)))
return errors.New("JSON column validator: the field " + k + " row count " + strconv.Itoa(int(counter)) + " is not equal to other fields " + strconv.Itoa(int(rowCount)))
}
}
@ -360,8 +362,9 @@ func (v *JSONColumnValidator) Handle(columns map[storage.FieldID][]interface{})
return nil
}
for name, values := range columns {
validator, ok := v.validators[name]
for id, values := range columns {
validator, ok := v.validators[id]
name := validator.fieldName
if !ok {
// not a valid field name, skip without parsing
break