Support to show collections which are loaded into memory (#5567)

Signed-off-by: dragondriver <jiquan.long@zilliz.com>
pull/5580/head^2
dragondriver 2021-06-03 19:09:33 +08:00 committed by GitHub
parent 0610ceb3dc
commit 99699b2021
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 774 additions and 430 deletions

View File

@ -1084,7 +1084,7 @@ static void InitDefaultsscc_info_StringResponse_milvus_2eproto() {
&scc_info_Status_common_2eproto.base,}}; &scc_info_Status_common_2eproto.base,}};
static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_milvus_2eproto[55]; static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_milvus_2eproto[55];
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_milvus_2eproto[1]; static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_milvus_2eproto[2];
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_milvus_2eproto = nullptr; static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_milvus_2eproto = nullptr;
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
@ -1188,6 +1188,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowCollectionsRequest, base_), PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowCollectionsRequest, base_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowCollectionsRequest, db_name_), PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowCollectionsRequest, db_name_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowCollectionsRequest, time_stamp_), PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowCollectionsRequest, time_stamp_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowCollectionsRequest, type_),
~0u, // no _has_bits_ ~0u, // no _has_bits_
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowCollectionsResponse, _internal_metadata_), PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowCollectionsResponse, _internal_metadata_),
~0u, // no _extensions_ ~0u, // no _extensions_
@ -1195,6 +1196,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT
~0u, // no _weak_field_map_ ~0u, // no _weak_field_map_
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowCollectionsResponse, status_), PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowCollectionsResponse, status_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowCollectionsResponse, collection_names_), PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowCollectionsResponse, collection_names_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowCollectionsResponse, collection_ids_),
~0u, // no _has_bits_ ~0u, // no _has_bits_
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::CreatePartitionRequest, _internal_metadata_), PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::CreatePartitionRequest, _internal_metadata_),
~0u, // no _extensions_ ~0u, // no _extensions_
@ -1564,49 +1566,49 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB
{ 77, -1, sizeof(::milvus::proto::milvus::GetCollectionStatisticsRequest)}, { 77, -1, sizeof(::milvus::proto::milvus::GetCollectionStatisticsRequest)},
{ 85, -1, sizeof(::milvus::proto::milvus::GetCollectionStatisticsResponse)}, { 85, -1, sizeof(::milvus::proto::milvus::GetCollectionStatisticsResponse)},
{ 92, -1, sizeof(::milvus::proto::milvus::ShowCollectionsRequest)}, { 92, -1, sizeof(::milvus::proto::milvus::ShowCollectionsRequest)},
{ 100, -1, sizeof(::milvus::proto::milvus::ShowCollectionsResponse)}, { 101, -1, sizeof(::milvus::proto::milvus::ShowCollectionsResponse)},
{ 107, -1, sizeof(::milvus::proto::milvus::CreatePartitionRequest)}, { 109, -1, sizeof(::milvus::proto::milvus::CreatePartitionRequest)},
{ 116, -1, sizeof(::milvus::proto::milvus::DropPartitionRequest)}, { 118, -1, sizeof(::milvus::proto::milvus::DropPartitionRequest)},
{ 125, -1, sizeof(::milvus::proto::milvus::HasPartitionRequest)}, { 127, -1, sizeof(::milvus::proto::milvus::HasPartitionRequest)},
{ 134, -1, sizeof(::milvus::proto::milvus::LoadPartitionsRequest)}, { 136, -1, sizeof(::milvus::proto::milvus::LoadPartitionsRequest)},
{ 143, -1, sizeof(::milvus::proto::milvus::ReleasePartitionsRequest)}, { 145, -1, sizeof(::milvus::proto::milvus::ReleasePartitionsRequest)},
{ 152, -1, sizeof(::milvus::proto::milvus::GetPartitionStatisticsRequest)}, { 154, -1, sizeof(::milvus::proto::milvus::GetPartitionStatisticsRequest)},
{ 161, -1, sizeof(::milvus::proto::milvus::GetPartitionStatisticsResponse)}, { 163, -1, sizeof(::milvus::proto::milvus::GetPartitionStatisticsResponse)},
{ 168, -1, sizeof(::milvus::proto::milvus::ShowPartitionsRequest)}, { 170, -1, sizeof(::milvus::proto::milvus::ShowPartitionsRequest)},
{ 177, -1, sizeof(::milvus::proto::milvus::ShowPartitionsResponse)}, { 179, -1, sizeof(::milvus::proto::milvus::ShowPartitionsResponse)},
{ 185, -1, sizeof(::milvus::proto::milvus::DescribeSegmentRequest)}, { 187, -1, sizeof(::milvus::proto::milvus::DescribeSegmentRequest)},
{ 193, -1, sizeof(::milvus::proto::milvus::DescribeSegmentResponse)}, { 195, -1, sizeof(::milvus::proto::milvus::DescribeSegmentResponse)},
{ 202, -1, sizeof(::milvus::proto::milvus::ShowSegmentsRequest)}, { 204, -1, sizeof(::milvus::proto::milvus::ShowSegmentsRequest)},
{ 210, -1, sizeof(::milvus::proto::milvus::ShowSegmentsResponse)}, { 212, -1, sizeof(::milvus::proto::milvus::ShowSegmentsResponse)},
{ 217, -1, sizeof(::milvus::proto::milvus::CreateIndexRequest)}, { 219, -1, sizeof(::milvus::proto::milvus::CreateIndexRequest)},
{ 227, -1, sizeof(::milvus::proto::milvus::DescribeIndexRequest)}, { 229, -1, sizeof(::milvus::proto::milvus::DescribeIndexRequest)},
{ 237, -1, sizeof(::milvus::proto::milvus::IndexDescription)}, { 239, -1, sizeof(::milvus::proto::milvus::IndexDescription)},
{ 246, -1, sizeof(::milvus::proto::milvus::DescribeIndexResponse)}, { 248, -1, sizeof(::milvus::proto::milvus::DescribeIndexResponse)},
{ 253, -1, sizeof(::milvus::proto::milvus::GetIndexBuildProgressRequest)}, { 255, -1, sizeof(::milvus::proto::milvus::GetIndexBuildProgressRequest)},
{ 263, -1, sizeof(::milvus::proto::milvus::GetIndexBuildProgressResponse)}, { 265, -1, sizeof(::milvus::proto::milvus::GetIndexBuildProgressResponse)},
{ 271, -1, sizeof(::milvus::proto::milvus::GetIndexStateRequest)}, { 273, -1, sizeof(::milvus::proto::milvus::GetIndexStateRequest)},
{ 281, -1, sizeof(::milvus::proto::milvus::GetIndexStateResponse)}, { 283, -1, sizeof(::milvus::proto::milvus::GetIndexStateResponse)},
{ 288, -1, sizeof(::milvus::proto::milvus::DropIndexRequest)}, { 290, -1, sizeof(::milvus::proto::milvus::DropIndexRequest)},
{ 298, -1, sizeof(::milvus::proto::milvus::InsertRequest)}, { 300, -1, sizeof(::milvus::proto::milvus::InsertRequest)},
{ 309, -1, sizeof(::milvus::proto::milvus::InsertResponse)}, { 311, -1, sizeof(::milvus::proto::milvus::InsertResponse)},
{ 317, -1, sizeof(::milvus::proto::milvus::PlaceholderValue)}, { 319, -1, sizeof(::milvus::proto::milvus::PlaceholderValue)},
{ 325, -1, sizeof(::milvus::proto::milvus::PlaceholderGroup)}, { 327, -1, sizeof(::milvus::proto::milvus::PlaceholderGroup)},
{ 331, -1, sizeof(::milvus::proto::milvus::SearchRequest)}, { 333, -1, sizeof(::milvus::proto::milvus::SearchRequest)},
{ 344, -1, sizeof(::milvus::proto::milvus::RetrieveRequest)}, { 346, -1, sizeof(::milvus::proto::milvus::RetrieveRequest)},
{ 355, -1, sizeof(::milvus::proto::milvus::RetrieveResults)}, { 357, -1, sizeof(::milvus::proto::milvus::RetrieveResults)},
{ 363, -1, sizeof(::milvus::proto::milvus::Hits)}, { 365, -1, sizeof(::milvus::proto::milvus::Hits)},
{ 371, -1, sizeof(::milvus::proto::milvus::SearchResults)}, { 373, -1, sizeof(::milvus::proto::milvus::SearchResults)},
{ 378, -1, sizeof(::milvus::proto::milvus::FlushRequest)}, { 380, -1, sizeof(::milvus::proto::milvus::FlushRequest)},
{ 386, -1, sizeof(::milvus::proto::milvus::PersistentSegmentInfo)}, { 388, -1, sizeof(::milvus::proto::milvus::PersistentSegmentInfo)},
{ 396, -1, sizeof(::milvus::proto::milvus::GetPersistentSegmentInfoRequest)}, { 398, -1, sizeof(::milvus::proto::milvus::GetPersistentSegmentInfoRequest)},
{ 404, -1, sizeof(::milvus::proto::milvus::GetPersistentSegmentInfoResponse)}, { 406, -1, sizeof(::milvus::proto::milvus::GetPersistentSegmentInfoResponse)},
{ 411, -1, sizeof(::milvus::proto::milvus::QuerySegmentInfo)}, { 413, -1, sizeof(::milvus::proto::milvus::QuerySegmentInfo)},
{ 423, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoRequest)}, { 425, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoRequest)},
{ 431, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoResponse)}, { 433, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoResponse)},
{ 438, -1, sizeof(::milvus::proto::milvus::DummyRequest)}, { 440, -1, sizeof(::milvus::proto::milvus::DummyRequest)},
{ 444, -1, sizeof(::milvus::proto::milvus::DummyResponse)}, { 446, -1, sizeof(::milvus::proto::milvus::DummyResponse)},
{ 450, -1, sizeof(::milvus::proto::milvus::RegisterLinkRequest)}, { 452, -1, sizeof(::milvus::proto::milvus::RegisterLinkRequest)},
{ 455, -1, sizeof(::milvus::proto::milvus::RegisterLinkResponse)}, { 457, -1, sizeof(::milvus::proto::milvus::RegisterLinkResponse)},
}; };
static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
@ -1704,223 +1706,226 @@ const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE(
"me\030\003 \001(\t\"\200\001\n\037GetCollectionStatisticsResp" "me\030\003 \001(\t\"\200\001\n\037GetCollectionStatisticsResp"
"onse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.comm" "onse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.comm"
"on.Status\0220\n\005stats\030\002 \003(\0132!.milvus.proto." "on.Status\0220\n\005stats\030\002 \003(\0132!.milvus.proto."
"common.KeyValuePair\"i\n\026ShowCollectionsRe" "common.KeyValuePair\"\241\001\n\026ShowCollectionsR"
"quest\022*\n\004base\030\001 \001(\0132\034.milvus.proto.commo"
"n.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\022\n\ntime_stamp"
"\030\003 \001(\004\"`\n\027ShowCollectionsResponse\022+\n\006sta"
"tus\030\001 \001(\0132\033.milvus.proto.common.Status\022\030"
"\n\020collection_names\030\002 \003(\t\"\206\001\n\026CreateParti"
"tionRequest\022*\n\004base\030\001 \001(\0132\034.milvus.proto"
".common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017coll"
"ection_name\030\003 \001(\t\022\026\n\016partition_name\030\004 \001("
"\t\"\204\001\n\024DropPartitionRequest\022*\n\004base\030\001 \001(\013"
"2\034.milvus.proto.common.MsgBase\022\017\n\007db_nam"
"e\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\026\n\016part"
"ition_name\030\004 \001(\t\"\203\001\n\023HasPartitionRequest"
"\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common.Msg"
"Base\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_name"
"\030\003 \001(\t\022\026\n\016partition_name\030\004 \001(\t\"\206\001\n\025LoadP"
"artitionsRequest\022*\n\004base\030\001 \001(\0132\034.milvus."
"proto.common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n"
"\017collection_name\030\003 \001(\t\022\027\n\017partition_name"
"s\030\004 \003(\t\"\211\001\n\030ReleasePartitionsRequest\022*\n\004"
"base\030\001 \001(\0132\034.milvus.proto.common.MsgBase"
"\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_name\030\003 \001"
"(\t\022\027\n\017partition_names\030\004 \003(\t\"\215\001\n\035GetParti"
"tionStatisticsRequest\022*\n\004base\030\001 \001(\0132\034.mi"
"lvus.proto.common.MsgBase\022\017\n\007db_name\030\002 \001"
"(\t\022\027\n\017collection_name\030\003 \001(\t\022\026\n\016partition"
"_name\030\004 \001(\t\"\177\n\036GetPartitionStatisticsRes"
"ponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.com"
"mon.Status\0220\n\005stats\030\002 \003(\0132!.milvus.proto"
".common.KeyValuePair\"\203\001\n\025ShowPartitionsR"
"equest\022*\n\004base\030\001 \001(\0132\034.milvus.proto.comm" "equest\022*\n\004base\030\001 \001(\0132\034.milvus.proto.comm"
"on.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collectio" "on.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\022\n\ntime_stam"
"n_name\030\003 \001(\t\022\024\n\014collectionID\030\004 \001(\003\"t\n\026Sh" "p\030\003 \001(\004\0226\n\004type\030\004 \001(\0162(.milvus.proto.mil"
"owPartitionsResponse\022+\n\006status\030\001 \001(\0132\033.m" "vus.ShowCollectionsType\"x\n\027ShowCollectio"
"ilvus.proto.common.Status\022\027\n\017partition_n" "nsResponse\022+\n\006status\030\001 \001(\0132\033.milvus.prot"
"ames\030\002 \003(\t\022\024\n\014partitionIDs\030\003 \003(\003\"m\n\026Desc" "o.common.Status\022\030\n\020collection_names\030\002 \003("
"ribeSegmentRequest\022*\n\004base\030\001 \001(\0132\034.milvu" "\t\022\026\n\016collection_ids\030\003 \003(\003\"\206\001\n\026CreatePart"
"s.proto.common.MsgBase\022\024\n\014collectionID\030\002" "itionRequest\022*\n\004base\030\001 \001(\0132\034.milvus.prot"
" \001(\003\022\021\n\tsegmentID\030\003 \001(\003\"~\n\027DescribeSegme" "o.common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017col"
"ntResponse\022+\n\006status\030\001 \001(\0132\033.milvus.prot" "lection_name\030\003 \001(\t\022\026\n\016partition_name\030\004 \001"
"o.common.Status\022\017\n\007indexID\030\002 \001(\003\022\017\n\007buil" "(\t\"\204\001\n\024DropPartitionRequest\022*\n\004base\030\001 \001("
"dID\030\003 \001(\003\022\024\n\014enable_index\030\004 \001(\010\"l\n\023ShowS" "\0132\034.milvus.proto.common.MsgBase\022\017\n\007db_na"
"egmentsRequest\022*\n\004base\030\001 \001(\0132\034.milvus.pr" "me\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\026\n\016par"
"oto.common.MsgBase\022\024\n\014collectionID\030\002 \001(\003" "tition_name\030\004 \001(\t\"\203\001\n\023HasPartitionReques"
"\022\023\n\013partitionID\030\003 \001(\003\"W\n\024ShowSegmentsRes"
"ponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.com"
"mon.Status\022\022\n\nsegmentIDs\030\002 \003(\003\"\267\001\n\022Creat"
"eIndexRequest\022*\n\004base\030\001 \001(\0132\034.milvus.pro"
"to.common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017co"
"llection_name\030\003 \001(\t\022\022\n\nfield_name\030\004 \001(\t\022"
"7\n\014extra_params\030\005 \003(\0132!.milvus.proto.com"
"mon.KeyValuePair\"\224\001\n\024DescribeIndexReques"
"t\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common.Ms" "t\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common.Ms"
"gBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_nam" "gBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_nam"
"e\030\003 \001(\t\022\022\n\nfield_name\030\004 \001(\t\022\022\n\nindex_nam" "e\030\003 \001(\t\022\026\n\016partition_name\030\004 \001(\t\"\206\001\n\025Load"
"e\030\005 \001(\t\"~\n\020IndexDescription\022\022\n\nindex_nam" "PartitionsRequest\022*\n\004base\030\001 \001(\0132\034.milvus"
"e\030\001 \001(\t\022\017\n\007indexID\030\002 \001(\003\0221\n\006params\030\003 \003(\013"
"2!.milvus.proto.common.KeyValuePair\022\022\n\nf"
"ield_name\030\004 \001(\t\"\207\001\n\025DescribeIndexRespons"
"e\022+\n\006status\030\001 \001(\0132\033.milvus.proto.common."
"Status\022A\n\022index_descriptions\030\002 \003(\0132%.mil"
"vus.proto.milvus.IndexDescription\"\234\001\n\034Ge"
"tIndexBuildProgressRequest\022*\n\004base\030\001 \001(\013"
"2\034.milvus.proto.common.MsgBase\022\017\n\007db_nam"
"e\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\022\n\nfiel"
"d_name\030\004 \001(\t\022\022\n\nindex_name\030\005 \001(\t\"v\n\035GetI"
"ndexBuildProgressResponse\022+\n\006status\030\001 \001("
"\0132\033.milvus.proto.common.Status\022\024\n\014indexe"
"d_rows\030\002 \001(\003\022\022\n\ntotal_rows\030\003 \001(\003\"\224\001\n\024Get"
"IndexStateRequest\022*\n\004base\030\001 \001(\0132\034.milvus"
".proto.common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027" ".proto.common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027"
"\n\017collection_name\030\003 \001(\t\022\022\n\nfield_name\030\004 " "\n\017collection_name\030\003 \001(\t\022\027\n\017partition_nam"
"\001(\t\022\022\n\nindex_name\030\005 \001(\t\"t\n\025GetIndexState" "es\030\004 \003(\t\"\211\001\n\030ReleasePartitionsRequest\022*\n"
"Response\022+\n\006status\030\001 \001(\0132\033.milvus.proto." "\004base\030\001 \001(\0132\034.milvus.proto.common.MsgBas"
"common.Status\022.\n\005state\030\002 \001(\0162\037.milvus.pr" "e\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_name\030\003 "
"oto.common.IndexState\"\220\001\n\020DropIndexReque" "\001(\t\022\027\n\017partition_names\030\004 \003(\t\"\215\001\n\035GetPart"
"itionStatisticsRequest\022*\n\004base\030\001 \001(\0132\034.m"
"ilvus.proto.common.MsgBase\022\017\n\007db_name\030\002 "
"\001(\t\022\027\n\017collection_name\030\003 \001(\t\022\026\n\016partitio"
"n_name\030\004 \001(\t\"\177\n\036GetPartitionStatisticsRe"
"sponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.co"
"mmon.Status\0220\n\005stats\030\002 \003(\0132!.milvus.prot"
"o.common.KeyValuePair\"\203\001\n\025ShowPartitions"
"Request\022*\n\004base\030\001 \001(\0132\034.milvus.proto.com"
"mon.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collecti"
"on_name\030\003 \001(\t\022\024\n\014collectionID\030\004 \001(\003\"t\n\026S"
"howPartitionsResponse\022+\n\006status\030\001 \001(\0132\033."
"milvus.proto.common.Status\022\027\n\017partition_"
"names\030\002 \003(\t\022\024\n\014partitionIDs\030\003 \003(\003\"m\n\026Des"
"cribeSegmentRequest\022*\n\004base\030\001 \001(\0132\034.milv"
"us.proto.common.MsgBase\022\024\n\014collectionID\030"
"\002 \001(\003\022\021\n\tsegmentID\030\003 \001(\003\"~\n\027DescribeSegm"
"entResponse\022+\n\006status\030\001 \001(\0132\033.milvus.pro"
"to.common.Status\022\017\n\007indexID\030\002 \001(\003\022\017\n\007bui"
"ldID\030\003 \001(\003\022\024\n\014enable_index\030\004 \001(\010\"l\n\023Show"
"SegmentsRequest\022*\n\004base\030\001 \001(\0132\034.milvus.p"
"roto.common.MsgBase\022\024\n\014collectionID\030\002 \001("
"\003\022\023\n\013partitionID\030\003 \001(\003\"W\n\024ShowSegmentsRe"
"sponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.co"
"mmon.Status\022\022\n\nsegmentIDs\030\002 \003(\003\"\267\001\n\022Crea"
"teIndexRequest\022*\n\004base\030\001 \001(\0132\034.milvus.pr"
"oto.common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017c"
"ollection_name\030\003 \001(\t\022\022\n\nfield_name\030\004 \001(\t"
"\0227\n\014extra_params\030\005 \003(\0132!.milvus.proto.co"
"mmon.KeyValuePair\"\224\001\n\024DescribeIndexReque"
"st\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common.M" "st\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common.M"
"sgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_na" "sgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_na"
"me\030\003 \001(\t\022\022\n\nfield_name\030\004 \001(\t\022\022\n\nindex_na" "me\030\003 \001(\t\022\022\n\nfield_name\030\004 \001(\t\022\022\n\nindex_na"
"me\030\005 \001(\t\"\305\001\n\rInsertRequest\022*\n\004base\030\001 \001(\013" "me\030\005 \001(\t\"~\n\020IndexDescription\022\022\n\nindex_na"
"me\030\001 \001(\t\022\017\n\007indexID\030\002 \001(\003\0221\n\006params\030\003 \003("
"\0132!.milvus.proto.common.KeyValuePair\022\022\n\n"
"field_name\030\004 \001(\t\"\207\001\n\025DescribeIndexRespon"
"se\022+\n\006status\030\001 \001(\0132\033.milvus.proto.common"
".Status\022A\n\022index_descriptions\030\002 \003(\0132%.mi"
"lvus.proto.milvus.IndexDescription\"\234\001\n\034G"
"etIndexBuildProgressRequest\022*\n\004base\030\001 \001("
"\0132\034.milvus.proto.common.MsgBase\022\017\n\007db_na"
"me\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\022\n\nfie"
"ld_name\030\004 \001(\t\022\022\n\nindex_name\030\005 \001(\t\"v\n\035Get"
"IndexBuildProgressResponse\022+\n\006status\030\001 \001"
"(\0132\033.milvus.proto.common.Status\022\024\n\014index"
"ed_rows\030\002 \001(\003\022\022\n\ntotal_rows\030\003 \001(\003\"\224\001\n\024Ge"
"tIndexStateRequest\022*\n\004base\030\001 \001(\0132\034.milvu"
"s.proto.common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022"
"\027\n\017collection_name\030\003 \001(\t\022\022\n\nfield_name\030\004"
" \001(\t\022\022\n\nindex_name\030\005 \001(\t\"t\n\025GetIndexStat"
"eResponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto"
".common.Status\022.\n\005state\030\002 \001(\0162\037.milvus.p"
"roto.common.IndexState\"\220\001\n\020DropIndexRequ"
"est\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common."
"MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_n"
"ame\030\003 \001(\t\022\022\n\nfield_name\030\004 \001(\t\022\022\n\nindex_n"
"ame\030\005 \001(\t\"\305\001\n\rInsertRequest\022*\n\004base\030\001 \001("
"\0132\034.milvus.proto.common.MsgBase\022\017\n\007db_na"
"me\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\026\n\016par"
"tition_name\030\004 \001(\t\0223\n\013fields_data\030\005 \003(\0132\036"
".milvus.proto.schema.FieldData\022\021\n\thash_k"
"eys\030\006 \003(\r\"e\n\016InsertResponse\022+\n\006status\030\001 "
"\001(\0132\033.milvus.proto.common.Status\022\023\n\013rowI"
"D_begin\030\002 \001(\003\022\021\n\trowID_end\030\003 \001(\003\"c\n\020Plac"
"eholderValue\022\013\n\003tag\030\001 \001(\t\0222\n\004type\030\002 \001(\0162"
"$.milvus.proto.milvus.PlaceholderType\022\016\n"
"\006values\030\003 \003(\014\"O\n\020PlaceholderGroup\022;\n\014pla"
"ceholders\030\001 \003(\0132%.milvus.proto.milvus.Pl"
"aceholderValue\"\220\002\n\rSearchRequest\022*\n\004base"
"\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022\017\n\007"
"db_name\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\027"
"\n\017partition_names\030\004 \003(\t\022\013\n\003dsl\030\005 \001(\t\022\031\n\021"
"placeholder_group\030\006 \001(\014\022.\n\010dsl_type\030\007 \001("
"\0162\034.milvus.proto.common.DslType\0228\n\rsearc"
"h_params\030\010 \003(\0132!.milvus.proto.common.Key"
"ValuePair\"\276\001\n\017RetrieveRequest\022*\n\004base\030\001 "
"\001(\0132\034.milvus.proto.common.MsgBase\022\017\n\007db_"
"name\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\027\n\017p"
"artition_names\030\004 \003(\t\022%\n\003ids\030\005 \001(\0132\030.milv"
"us.proto.schema.IDs\022\025\n\routput_fields\030\006 \003"
"(\t\"\232\001\n\017RetrieveResults\022+\n\006status\030\001 \001(\0132\033"
".milvus.proto.common.Status\022%\n\003ids\030\002 \001(\013"
"2\030.milvus.proto.schema.IDs\0223\n\013fields_dat"
"a\030\003 \003(\0132\036.milvus.proto.schema.FieldData\""
"5\n\004Hits\022\013\n\003IDs\030\001 \003(\003\022\020\n\010row_data\030\002 \003(\014\022\016"
"\n\006scores\030\003 \003(\002\"J\n\rSearchResults\022+\n\006statu"
"s\030\001 \001(\0132\033.milvus.proto.common.Status\022\014\n\004"
"hits\030\002 \003(\014\"e\n\014FlushRequest\022*\n\004base\030\001 \001(\013"
"2\034.milvus.proto.common.MsgBase\022\017\n\007db_nam" "2\034.milvus.proto.common.MsgBase\022\017\n\007db_nam"
"e\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\026\n\016part" "e\030\002 \001(\t\022\030\n\020collection_names\030\003 \003(\t\"\231\001\n\025Pe"
"ition_name\030\004 \001(\t\0223\n\013fields_data\030\005 \003(\0132\036." "rsistentSegmentInfo\022\021\n\tsegmentID\030\001 \001(\003\022\024"
"milvus.proto.schema.FieldData\022\021\n\thash_ke" "\n\014collectionID\030\002 \001(\003\022\023\n\013partitionID\030\003 \001("
"ys\030\006 \003(\r\"e\n\016InsertResponse\022+\n\006status\030\001 \001" "\003\022\020\n\010num_rows\030\004 \001(\003\0220\n\005state\030\005 \001(\0162!.mil"
"(\0132\033.milvus.proto.common.Status\022\023\n\013rowID" "vus.proto.common.SegmentState\"u\n\037GetPers"
"_begin\030\002 \001(\003\022\021\n\trowID_end\030\003 \001(\003\"c\n\020Place" "istentSegmentInfoRequest\022*\n\004base\030\001 \001(\0132\034"
"holderValue\022\013\n\003tag\030\001 \001(\t\0222\n\004type\030\002 \001(\0162$" ".milvus.proto.common.MsgBase\022\016\n\006dbName\030\002"
".milvus.proto.milvus.PlaceholderType\022\016\n\006" " \001(\t\022\026\n\016collectionName\030\003 \001(\t\"\212\001\n GetPers"
"values\030\003 \003(\014\"O\n\020PlaceholderGroup\022;\n\014plac" "istentSegmentInfoResponse\022+\n\006status\030\001 \001("
"eholders\030\001 \003(\0132%.milvus.proto.milvus.Pla" "\0132\033.milvus.proto.common.Status\0229\n\005infos\030"
"ceholderValue\"\220\002\n\rSearchRequest\022*\n\004base\030" "\002 \003(\0132*.milvus.proto.milvus.PersistentSe"
"\001 \001(\0132\034.milvus.proto.common.MsgBase\022\017\n\007d" "gmentInfo\"\231\001\n\020QuerySegmentInfo\022\021\n\tsegmen"
"b_name\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\027\n" "tID\030\001 \001(\003\022\024\n\014collectionID\030\002 \001(\003\022\023\n\013parti"
"\017partition_names\030\004 \003(\t\022\013\n\003dsl\030\005 \001(\t\022\031\n\021p" "tionID\030\003 \001(\003\022\020\n\010mem_size\030\004 \001(\003\022\020\n\010num_ro"
"laceholder_group\030\006 \001(\014\022.\n\010dsl_type\030\007 \001(\016" "ws\030\005 \001(\003\022\022\n\nindex_name\030\006 \001(\t\022\017\n\007indexID\030"
"2\034.milvus.proto.common.DslType\0228\n\rsearch" "\007 \001(\003\"p\n\032GetQuerySegmentInfoRequest\022*\n\004b"
"_params\030\010 \003(\0132!.milvus.proto.common.KeyV" "ase\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022"
"aluePair\"\276\001\n\017RetrieveRequest\022*\n\004base\030\001 \001" "\016\n\006dbName\030\002 \001(\t\022\026\n\016collectionName\030\003 \001(\t\""
"(\0132\034.milvus.proto.common.MsgBase\022\017\n\007db_n" "\200\001\n\033GetQuerySegmentInfoResponse\022+\n\006statu"
"ame\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\027\n\017pa" "s\030\001 \001(\0132\033.milvus.proto.common.Status\0224\n\005"
"rtition_names\030\004 \003(\t\022%\n\003ids\030\005 \001(\0132\030.milvu" "infos\030\002 \003(\0132%.milvus.proto.milvus.QueryS"
"s.proto.schema.IDs\022\025\n\routput_fields\030\006 \003(" "egmentInfo\"$\n\014DummyRequest\022\024\n\014request_ty"
"\t\"\232\001\n\017RetrieveResults\022+\n\006status\030\001 \001(\0132\033." "pe\030\001 \001(\t\"!\n\rDummyResponse\022\020\n\010response\030\001 "
"milvus.proto.common.Status\022%\n\003ids\030\002 \001(\0132" "\001(\t\"\025\n\023RegisterLinkRequest\"r\n\024RegisterLi"
"\030.milvus.proto.schema.IDs\0223\n\013fields_data" "nkResponse\022-\n\007address\030\001 \001(\0132\034.milvus.pro"
"\030\003 \003(\0132\036.milvus.proto.schema.FieldData\"5" "to.common.Address\022+\n\006status\030\002 \001(\0132\033.milv"
"\n\004Hits\022\013\n\003IDs\030\001 \003(\003\022\020\n\010row_data\030\002 \003(\014\022\016\n" "us.proto.common.Status*,\n\023ShowCollection"
"\006scores\030\003 \003(\002\"J\n\rSearchResults\022+\n\006status" "sType\022\007\n\003All\020\000\022\014\n\010InMemory\020\001*>\n\017Placehol"
"\030\001 \001(\0132\033.milvus.proto.common.Status\022\014\n\004h" "derType\022\010\n\004None\020\000\022\020\n\014BinaryVector\020d\022\017\n\013F"
"its\030\002 \003(\014\"e\n\014FlushRequest\022*\n\004base\030\001 \001(\0132" "loatVector\020e2\274\026\n\rMilvusService\022_\n\020Create"
"\034.milvus.proto.common.MsgBase\022\017\n\007db_name" "Collection\022,.milvus.proto.milvus.CreateC"
"\030\002 \001(\t\022\030\n\020collection_names\030\003 \003(\t\"\231\001\n\025Per" "ollectionRequest\032\033.milvus.proto.common.S"
"sistentSegmentInfo\022\021\n\tsegmentID\030\001 \001(\003\022\024\n" "tatus\"\000\022[\n\016DropCollection\022*.milvus.proto"
"\014collectionID\030\002 \001(\003\022\023\n\013partitionID\030\003 \001(\003" ".milvus.DropCollectionRequest\032\033.milvus.p"
"\022\020\n\010num_rows\030\004 \001(\003\0220\n\005state\030\005 \001(\0162!.milv" "roto.common.Status\"\000\022_\n\rHasCollection\022)."
"us.proto.common.SegmentState\"u\n\037GetPersi" "milvus.proto.milvus.HasCollectionRequest"
"stentSegmentInfoRequest\022*\n\004base\030\001 \001(\0132\034." "\032!.milvus.proto.milvus.BoolResponse\"\000\022[\n"
"milvus.proto.common.MsgBase\022\016\n\006dbName\030\002 " "\016LoadCollection\022*.milvus.proto.milvus.Lo"
"\001(\t\022\026\n\016collectionName\030\003 \001(\t\"\212\001\n GetPersi" "adCollectionRequest\032\033.milvus.proto.commo"
"stentSegmentInfoResponse\022+\n\006status\030\001 \001(\013" "n.Status\"\000\022a\n\021ReleaseCollection\022-.milvus"
"2\033.milvus.proto.common.Status\0229\n\005infos\030\002" ".proto.milvus.ReleaseCollectionRequest\032\033"
" \003(\0132*.milvus.proto.milvus.PersistentSeg" ".milvus.proto.common.Status\"\000\022w\n\022Describ"
"mentInfo\"\231\001\n\020QuerySegmentInfo\022\021\n\tsegment" "eCollection\022..milvus.proto.milvus.Descri"
"ID\030\001 \001(\003\022\024\n\014collectionID\030\002 \001(\003\022\023\n\013partit" "beCollectionRequest\032/.milvus.proto.milvu"
"ionID\030\003 \001(\003\022\020\n\010mem_size\030\004 \001(\003\022\020\n\010num_row" "s.DescribeCollectionResponse\"\000\022\206\001\n\027GetCo"
"s\030\005 \001(\003\022\022\n\nindex_name\030\006 \001(\t\022\017\n\007indexID\030\007" "llectionStatistics\0223.milvus.proto.milvus"
" \001(\003\"p\n\032GetQuerySegmentInfoRequest\022*\n\004ba" ".GetCollectionStatisticsRequest\0324.milvus"
"se\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022\016" ".proto.milvus.GetCollectionStatisticsRes"
"\n\006dbName\030\002 \001(\t\022\026\n\016collectionName\030\003 \001(\t\"\200" "ponse\"\000\022n\n\017ShowCollections\022+.milvus.prot"
"\001\n\033GetQuerySegmentInfoResponse\022+\n\006status" "o.milvus.ShowCollectionsRequest\032,.milvus"
"\030\001 \001(\0132\033.milvus.proto.common.Status\0224\n\005i" ".proto.milvus.ShowCollectionsResponse\"\000\022"
"nfos\030\002 \003(\0132%.milvus.proto.milvus.QuerySe" "]\n\017CreatePartition\022+.milvus.proto.milvus"
"gmentInfo\"$\n\014DummyRequest\022\024\n\014request_typ" ".CreatePartitionRequest\032\033.milvus.proto.c"
"e\030\001 \001(\t\"!\n\rDummyResponse\022\020\n\010response\030\001 \001" "ommon.Status\"\000\022Y\n\rDropPartition\022).milvus"
"(\t\"\025\n\023RegisterLinkRequest\"r\n\024RegisterLin" ".proto.milvus.DropPartitionRequest\032\033.mil"
"kResponse\022-\n\007address\030\001 \001(\0132\034.milvus.prot" "vus.proto.common.Status\"\000\022]\n\014HasPartitio"
"o.common.Address\022+\n\006status\030\002 \001(\0132\033.milvu" "n\022(.milvus.proto.milvus.HasPartitionRequ"
"s.proto.common.Status*>\n\017PlaceholderType" "est\032!.milvus.proto.milvus.BoolResponse\"\000"
"\022\010\n\004None\020\000\022\020\n\014BinaryVector\020d\022\017\n\013FloatVec" "\022[\n\016LoadPartitions\022*.milvus.proto.milvus"
"tor\020e2\274\026\n\rMilvusService\022_\n\020CreateCollect" ".LoadPartitionsRequest\032\033.milvus.proto.co"
"ion\022,.milvus.proto.milvus.CreateCollecti" "mmon.Status\"\000\022a\n\021ReleasePartitions\022-.mil"
"onRequest\032\033.milvus.proto.common.Status\"\000" "vus.proto.milvus.ReleasePartitionsReques"
"\022[\n\016DropCollection\022*.milvus.proto.milvus" "t\032\033.milvus.proto.common.Status\"\000\022\203\001\n\026Get"
".DropCollectionRequest\032\033.milvus.proto.co" "PartitionStatistics\0222.milvus.proto.milvu"
"mmon.Status\"\000\022_\n\rHasCollection\022).milvus." "s.GetPartitionStatisticsRequest\0323.milvus"
"proto.milvus.HasCollectionRequest\032!.milv" ".proto.milvus.GetPartitionStatisticsResp"
"us.proto.milvus.BoolResponse\"\000\022[\n\016LoadCo" "onse\"\000\022k\n\016ShowPartitions\022*.milvus.proto."
"llection\022*.milvus.proto.milvus.LoadColle" "milvus.ShowPartitionsRequest\032+.milvus.pr"
"ctionRequest\032\033.milvus.proto.common.Statu" "oto.milvus.ShowPartitionsResponse\"\000\022U\n\013C"
"s\"\000\022a\n\021ReleaseCollection\022-.milvus.proto." "reateIndex\022\'.milvus.proto.milvus.CreateI"
"milvus.ReleaseCollectionRequest\032\033.milvus" "ndexRequest\032\033.milvus.proto.common.Status"
".proto.common.Status\"\000\022w\n\022DescribeCollec" "\"\000\022h\n\rDescribeIndex\022).milvus.proto.milvu"
"tion\022..milvus.proto.milvus.DescribeColle" "s.DescribeIndexRequest\032*.milvus.proto.mi"
"ctionRequest\032/.milvus.proto.milvus.Descr" "lvus.DescribeIndexResponse\"\000\022h\n\rGetIndex"
"ibeCollectionResponse\"\000\022\206\001\n\027GetCollectio" "State\022).milvus.proto.milvus.GetIndexStat"
"nStatistics\0223.milvus.proto.milvus.GetCol" "eRequest\032*.milvus.proto.milvus.GetIndexS"
"lectionStatisticsRequest\0324.milvus.proto." "tateResponse\"\000\022\200\001\n\025GetIndexBuildProgress"
"milvus.GetCollectionStatisticsResponse\"\000" "\0221.milvus.proto.milvus.GetIndexBuildProg"
"\022n\n\017ShowCollections\022+.milvus.proto.milvu" "ressRequest\0322.milvus.proto.milvus.GetInd"
"s.ShowCollectionsRequest\032,.milvus.proto." "exBuildProgressResponse\"\000\022Q\n\tDropIndex\022%"
"milvus.ShowCollectionsResponse\"\000\022]\n\017Crea" ".milvus.proto.milvus.DropIndexRequest\032\033."
"tePartition\022+.milvus.proto.milvus.Create" "milvus.proto.common.Status\"\000\022S\n\006Insert\022\""
"PartitionRequest\032\033.milvus.proto.common.S" ".milvus.proto.milvus.InsertRequest\032#.mil"
"tatus\"\000\022Y\n\rDropPartition\022).milvus.proto." "vus.proto.milvus.InsertResponse\"\000\022R\n\006Sea"
"milvus.DropPartitionRequest\032\033.milvus.pro" "rch\022\".milvus.proto.milvus.SearchRequest\032"
"to.common.Status\"\000\022]\n\014HasPartition\022(.mil" "\".milvus.proto.milvus.SearchResults\"\000\022X\n"
"vus.proto.milvus.HasPartitionRequest\032!.m" "\010Retrieve\022$.milvus.proto.milvus.Retrieve"
"ilvus.proto.milvus.BoolResponse\"\000\022[\n\016Loa" "Request\032$.milvus.proto.milvus.RetrieveRe"
"dPartitions\022*.milvus.proto.milvus.LoadPa" "sults\"\000\022I\n\005Flush\022!.milvus.proto.milvus.F"
"rtitionsRequest\032\033.milvus.proto.common.St" "lushRequest\032\033.milvus.proto.common.Status"
"atus\"\000\022a\n\021ReleasePartitions\022-.milvus.pro" "\"\000\022\211\001\n\030GetPersistentSegmentInfo\0224.milvus"
"to.milvus.ReleasePartitionsRequest\032\033.mil" ".proto.milvus.GetPersistentSegmentInfoRe"
"vus.proto.common.Status\"\000\022\203\001\n\026GetPartiti" "quest\0325.milvus.proto.milvus.GetPersisten"
"onStatistics\0222.milvus.proto.milvus.GetPa" "tSegmentInfoResponse\"\000\022z\n\023GetQuerySegmen"
"rtitionStatisticsRequest\0323.milvus.proto." "tInfo\022/.milvus.proto.milvus.GetQuerySegm"
"milvus.GetPartitionStatisticsResponse\"\000\022" "entInfoRequest\0320.milvus.proto.milvus.Get"
"k\n\016ShowPartitions\022*.milvus.proto.milvus." "QuerySegmentInfoResponse\"\000\022P\n\005Dummy\022!.mi"
"ShowPartitionsRequest\032+.milvus.proto.mil" "lvus.proto.milvus.DummyRequest\032\".milvus."
"vus.ShowPartitionsResponse\"\000\022U\n\013CreateIn" "proto.milvus.DummyResponse\"\000\022e\n\014Register"
"dex\022\'.milvus.proto.milvus.CreateIndexReq" "Link\022(.milvus.proto.milvus.RegisterLinkR"
"uest\032\033.milvus.proto.common.Status\"\000\022h\n\rD" "equest\032).milvus.proto.milvus.RegisterLin"
"escribeIndex\022).milvus.proto.milvus.Descr" "kResponse\"\0002u\n\014ProxyService\022e\n\014RegisterL"
"ibeIndexRequest\032*.milvus.proto.milvus.De" "ink\022(.milvus.proto.milvus.RegisterLinkRe"
"scribeIndexResponse\"\000\022h\n\rGetIndexState\022)" "quest\032).milvus.proto.milvus.RegisterLink"
".milvus.proto.milvus.GetIndexStateReques" "Response\"\000B5Z3github.com/milvus-io/milvu"
"t\032*.milvus.proto.milvus.GetIndexStateRes" "s/internal/proto/milvuspbb\006proto3"
"ponse\"\000\022\200\001\n\025GetIndexBuildProgress\0221.milv"
"us.proto.milvus.GetIndexBuildProgressReq"
"uest\0322.milvus.proto.milvus.GetIndexBuild"
"ProgressResponse\"\000\022Q\n\tDropIndex\022%.milvus"
".proto.milvus.DropIndexRequest\032\033.milvus."
"proto.common.Status\"\000\022S\n\006Insert\022\".milvus"
".proto.milvus.InsertRequest\032#.milvus.pro"
"to.milvus.InsertResponse\"\000\022R\n\006Search\022\".m"
"ilvus.proto.milvus.SearchRequest\032\".milvu"
"s.proto.milvus.SearchResults\"\000\022X\n\010Retrie"
"ve\022$.milvus.proto.milvus.RetrieveRequest"
"\032$.milvus.proto.milvus.RetrieveResults\"\000"
"\022I\n\005Flush\022!.milvus.proto.milvus.FlushReq"
"uest\032\033.milvus.proto.common.Status\"\000\022\211\001\n\030"
"GetPersistentSegmentInfo\0224.milvus.proto."
"milvus.GetPersistentSegmentInfoRequest\0325"
".milvus.proto.milvus.GetPersistentSegmen"
"tInfoResponse\"\000\022z\n\023GetQuerySegmentInfo\022/"
".milvus.proto.milvus.GetQuerySegmentInfo"
"Request\0320.milvus.proto.milvus.GetQuerySe"
"gmentInfoResponse\"\000\022P\n\005Dummy\022!.milvus.pr"
"oto.milvus.DummyRequest\032\".milvus.proto.m"
"ilvus.DummyResponse\"\000\022e\n\014RegisterLink\022(."
"milvus.proto.milvus.RegisterLinkRequest\032"
").milvus.proto.milvus.RegisterLinkRespon"
"se\"\0002u\n\014ProxyService\022e\n\014RegisterLink\022(.m"
"ilvus.proto.milvus.RegisterLinkRequest\032)"
".milvus.proto.milvus.RegisterLinkRespons"
"e\"\000B5Z3github.com/milvus-io/milvus/inter"
"nal/proto/milvuspbb\006proto3"
; ;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[2] = { static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[2] = {
&::descriptor_table_common_2eproto, &::descriptor_table_common_2eproto,
@ -1986,7 +1991,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mil
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_milvus_2eproto_once; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_milvus_2eproto_once;
static bool descriptor_table_milvus_2eproto_initialized = false; static bool descriptor_table_milvus_2eproto_initialized = false;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_milvus_2eproto = { const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_milvus_2eproto = {
&descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 10106, &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 10233,
&descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 55, 2, &descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 55, 2,
schemas, file_default_instances, TableStruct_milvus_2eproto::offsets, schemas, file_default_instances, TableStruct_milvus_2eproto::offsets,
file_level_metadata_milvus_2eproto, 55, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto, file_level_metadata_milvus_2eproto, 55, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto,
@ -1997,10 +2002,24 @@ static bool dynamic_init_dummy_milvus_2eproto = ( ::PROTOBUF_NAMESPACE_ID::inte
namespace milvus { namespace milvus {
namespace proto { namespace proto {
namespace milvus { namespace milvus {
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* PlaceholderType_descriptor() { const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ShowCollectionsType_descriptor() {
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_milvus_2eproto); ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_milvus_2eproto);
return file_level_enum_descriptors_milvus_2eproto[0]; return file_level_enum_descriptors_milvus_2eproto[0];
} }
bool ShowCollectionsType_IsValid(int value) {
switch (value) {
case 0:
case 1:
return true;
default:
return false;
}
}
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* PlaceholderType_descriptor() {
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_milvus_2eproto);
return file_level_enum_descriptors_milvus_2eproto[1];
}
bool PlaceholderType_IsValid(int value) { bool PlaceholderType_IsValid(int value) {
switch (value) { switch (value) {
case 0: case 0:
@ -6551,7 +6570,9 @@ ShowCollectionsRequest::ShowCollectionsRequest(const ShowCollectionsRequest& fro
} else { } else {
base_ = nullptr; base_ = nullptr;
} }
time_stamp_ = from.time_stamp_; ::memcpy(&time_stamp_, &from.time_stamp_,
static_cast<size_t>(reinterpret_cast<char*>(&type_) -
reinterpret_cast<char*>(&time_stamp_)) + sizeof(type_));
// @@protoc_insertion_point(copy_constructor:milvus.proto.milvus.ShowCollectionsRequest) // @@protoc_insertion_point(copy_constructor:milvus.proto.milvus.ShowCollectionsRequest)
} }
@ -6559,8 +6580,8 @@ void ShowCollectionsRequest::SharedCtor() {
::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ShowCollectionsRequest_milvus_2eproto.base); ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ShowCollectionsRequest_milvus_2eproto.base);
db_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); db_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
::memset(&base_, 0, static_cast<size_t>( ::memset(&base_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&time_stamp_) - reinterpret_cast<char*>(&type_) -
reinterpret_cast<char*>(&base_)) + sizeof(time_stamp_)); reinterpret_cast<char*>(&base_)) + sizeof(type_));
} }
ShowCollectionsRequest::~ShowCollectionsRequest() { ShowCollectionsRequest::~ShowCollectionsRequest() {
@ -6593,7 +6614,9 @@ void ShowCollectionsRequest::Clear() {
delete base_; delete base_;
} }
base_ = nullptr; base_ = nullptr;
time_stamp_ = PROTOBUF_ULONGLONG(0); ::memset(&time_stamp_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&type_) -
reinterpret_cast<char*>(&time_stamp_)) + sizeof(type_));
_internal_metadata_.Clear(); _internal_metadata_.Clear();
} }
@ -6626,6 +6649,14 @@ const char* ShowCollectionsRequest::_InternalParse(const char* ptr, ::PROTOBUF_N
CHK_(ptr); CHK_(ptr);
} else goto handle_unusual; } else goto handle_unusual;
continue; continue;
// .milvus.proto.milvus.ShowCollectionsType type = 4;
case 4:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
set_type(static_cast<::milvus::proto::milvus::ShowCollectionsType>(val));
} else goto handle_unusual;
continue;
default: { default: {
handle_unusual: handle_unusual:
if ((tag & 7) == 4 || tag == 0) { if ((tag & 7) == 4 || tag == 0) {
@ -6695,6 +6726,20 @@ bool ShowCollectionsRequest::MergePartialFromCodedStream(
break; break;
} }
// .milvus.proto.milvus.ShowCollectionsType type = 4;
case 4: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (32 & 0xFF)) {
int value = 0;
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
int, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_ENUM>(
input, &value)));
set_type(static_cast< ::milvus::proto::milvus::ShowCollectionsType >(value));
} else {
goto handle_unusual;
}
break;
}
default: { default: {
handle_unusual: handle_unusual:
if (tag == 0) { if (tag == 0) {
@ -6743,6 +6788,12 @@ void ShowCollectionsRequest::SerializeWithCachedSizes(
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(3, this->time_stamp(), output); ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(3, this->time_stamp(), output);
} }
// .milvus.proto.milvus.ShowCollectionsType type = 4;
if (this->type() != 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnum(
4, this->type(), output);
}
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
_internal_metadata_.unknown_fields(), output); _internal_metadata_.unknown_fields(), output);
@ -6779,6 +6830,12 @@ void ShowCollectionsRequest::SerializeWithCachedSizes(
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(3, this->time_stamp(), target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(3, this->time_stamp(), target);
} }
// .milvus.proto.milvus.ShowCollectionsType type = 4;
if (this->type() != 0) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
4, this->type(), target);
}
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields(), target); _internal_metadata_.unknown_fields(), target);
@ -6821,6 +6878,12 @@ size_t ShowCollectionsRequest::ByteSizeLong() const {
this->time_stamp()); this->time_stamp());
} }
// .milvus.proto.milvus.ShowCollectionsType type = 4;
if (this->type() != 0) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->type());
}
int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
SetCachedSize(cached_size); SetCachedSize(cached_size);
return total_size; return total_size;
@ -6858,6 +6921,9 @@ void ShowCollectionsRequest::MergeFrom(const ShowCollectionsRequest& from) {
if (from.time_stamp() != 0) { if (from.time_stamp() != 0) {
set_time_stamp(from.time_stamp()); set_time_stamp(from.time_stamp());
} }
if (from.type() != 0) {
set_type(from.type());
}
} }
void ShowCollectionsRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { void ShowCollectionsRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
@ -6885,6 +6951,7 @@ void ShowCollectionsRequest::InternalSwap(ShowCollectionsRequest* other) {
GetArenaNoVirtual()); GetArenaNoVirtual());
swap(base_, other->base_); swap(base_, other->base_);
swap(time_stamp_, other->time_stamp_); swap(time_stamp_, other->time_stamp_);
swap(type_, other->type_);
} }
::PROTOBUF_NAMESPACE_ID::Metadata ShowCollectionsRequest::GetMetadata() const { ::PROTOBUF_NAMESPACE_ID::Metadata ShowCollectionsRequest::GetMetadata() const {
@ -6921,7 +6988,8 @@ ShowCollectionsResponse::ShowCollectionsResponse()
ShowCollectionsResponse::ShowCollectionsResponse(const ShowCollectionsResponse& from) ShowCollectionsResponse::ShowCollectionsResponse(const ShowCollectionsResponse& from)
: ::PROTOBUF_NAMESPACE_ID::Message(), : ::PROTOBUF_NAMESPACE_ID::Message(),
_internal_metadata_(nullptr), _internal_metadata_(nullptr),
collection_names_(from.collection_names_) { collection_names_(from.collection_names_),
collection_ids_(from.collection_ids_) {
_internal_metadata_.MergeFrom(from._internal_metadata_); _internal_metadata_.MergeFrom(from._internal_metadata_);
if (from.has_status()) { if (from.has_status()) {
status_ = new ::milvus::proto::common::Status(*from.status_); status_ = new ::milvus::proto::common::Status(*from.status_);
@ -6961,6 +7029,7 @@ void ShowCollectionsResponse::Clear() {
(void) cached_has_bits; (void) cached_has_bits;
collection_names_.Clear(); collection_names_.Clear();
collection_ids_.Clear();
if (GetArenaNoVirtual() == nullptr && status_ != nullptr) { if (GetArenaNoVirtual() == nullptr && status_ != nullptr) {
delete status_; delete status_;
} }
@ -6995,6 +7064,16 @@ const char* ShowCollectionsResponse::_InternalParse(const char* ptr, ::PROTOBUF_
} while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18); } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18);
} else goto handle_unusual; } else goto handle_unusual;
continue; continue;
// repeated int64 collection_ids = 3;
case 3:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_collection_ids(), ptr, ctx);
CHK_(ptr);
} else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
add_collection_ids(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
CHK_(ptr);
} else goto handle_unusual;
continue;
default: { default: {
handle_unusual: handle_unusual:
if ((tag & 7) == 4 || tag == 0) { if ((tag & 7) == 4 || tag == 0) {
@ -7052,6 +7131,22 @@ bool ShowCollectionsResponse::MergePartialFromCodedStream(
break; break;
} }
// repeated int64 collection_ids = 3;
case 3: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive<
::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
input, this->mutable_collection_ids())));
} else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
1, 26u, input, this->mutable_collection_ids())));
} else {
goto handle_unusual;
}
break;
}
default: { default: {
handle_unusual: handle_unusual:
if (tag == 0) { if (tag == 0) {
@ -7095,6 +7190,17 @@ void ShowCollectionsResponse::SerializeWithCachedSizes(
2, this->collection_names(i), output); 2, this->collection_names(i), output);
} }
// repeated int64 collection_ids = 3;
if (this->collection_ids_size() > 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(3, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
output->WriteVarint32(_collection_ids_cached_byte_size_.load(
std::memory_order_relaxed));
}
for (int i = 0, n = this->collection_ids_size(); i < n; i++) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag(
this->collection_ids(i), output);
}
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
_internal_metadata_.unknown_fields(), output); _internal_metadata_.unknown_fields(), output);
@ -7125,6 +7231,19 @@ void ShowCollectionsResponse::SerializeWithCachedSizes(
WriteStringToArray(2, this->collection_names(i), target); WriteStringToArray(2, this->collection_names(i), target);
} }
// repeated int64 collection_ids = 3;
if (this->collection_ids_size() > 0) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray(
3,
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
target);
target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray(
_collection_ids_cached_byte_size_.load(std::memory_order_relaxed),
target);
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
WriteInt64NoTagToArray(this->collection_ids_, target);
}
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields(), target); _internal_metadata_.unknown_fields(), target);
@ -7154,6 +7273,21 @@ size_t ShowCollectionsResponse::ByteSizeLong() const {
this->collection_names(i)); this->collection_names(i));
} }
// repeated int64 collection_ids = 3;
{
size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
Int64Size(this->collection_ids_);
if (data_size > 0) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
}
int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
_collection_ids_cached_byte_size_.store(cached_size,
std::memory_order_relaxed);
total_size += data_size;
}
// .milvus.proto.common.Status status = 1; // .milvus.proto.common.Status status = 1;
if (this->has_status()) { if (this->has_status()) {
total_size += 1 + total_size += 1 +
@ -7189,6 +7323,7 @@ void ShowCollectionsResponse::MergeFrom(const ShowCollectionsResponse& from) {
(void) cached_has_bits; (void) cached_has_bits;
collection_names_.MergeFrom(from.collection_names_); collection_names_.MergeFrom(from.collection_names_);
collection_ids_.MergeFrom(from.collection_ids_);
if (from.has_status()) { if (from.has_status()) {
mutable_status()->::milvus::proto::common::Status::MergeFrom(from.status()); mutable_status()->::milvus::proto::common::Status::MergeFrom(from.status());
} }
@ -7216,6 +7351,7 @@ void ShowCollectionsResponse::InternalSwap(ShowCollectionsResponse* other) {
using std::swap; using std::swap;
_internal_metadata_.Swap(&other->_internal_metadata_); _internal_metadata_.Swap(&other->_internal_metadata_);
collection_names_.InternalSwap(CastToBase(&other->collection_names_)); collection_names_.InternalSwap(CastToBase(&other->collection_names_));
collection_ids_.InternalSwap(&other->collection_ids_);
swap(status_, other->status_); swap(status_, other->status_);
} }

View File

@ -289,6 +289,31 @@ namespace milvus {
namespace proto { namespace proto {
namespace milvus { namespace milvus {
enum ShowCollectionsType : int {
All = 0,
InMemory = 1,
ShowCollectionsType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
ShowCollectionsType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
};
bool ShowCollectionsType_IsValid(int value);
constexpr ShowCollectionsType ShowCollectionsType_MIN = All;
constexpr ShowCollectionsType ShowCollectionsType_MAX = InMemory;
constexpr int ShowCollectionsType_ARRAYSIZE = ShowCollectionsType_MAX + 1;
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ShowCollectionsType_descriptor();
template<typename T>
inline const std::string& ShowCollectionsType_Name(T enum_t_value) {
static_assert(::std::is_same<T, ShowCollectionsType>::value ||
::std::is_integral<T>::value,
"Incorrect type passed to function ShowCollectionsType_Name.");
return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
ShowCollectionsType_descriptor(), enum_t_value);
}
inline bool ShowCollectionsType_Parse(
const std::string& name, ShowCollectionsType* value) {
return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<ShowCollectionsType>(
ShowCollectionsType_descriptor(), name, value);
}
enum PlaceholderType : int { enum PlaceholderType : int {
None = 0, None = 0,
BinaryVector = 100, BinaryVector = 100,
@ -2218,6 +2243,7 @@ class ShowCollectionsRequest :
kDbNameFieldNumber = 2, kDbNameFieldNumber = 2,
kBaseFieldNumber = 1, kBaseFieldNumber = 1,
kTimeStampFieldNumber = 3, kTimeStampFieldNumber = 3,
kTypeFieldNumber = 4,
}; };
// string db_name = 2; // string db_name = 2;
void clear_db_name(); void clear_db_name();
@ -2243,6 +2269,11 @@ class ShowCollectionsRequest :
::PROTOBUF_NAMESPACE_ID::uint64 time_stamp() const; ::PROTOBUF_NAMESPACE_ID::uint64 time_stamp() const;
void set_time_stamp(::PROTOBUF_NAMESPACE_ID::uint64 value); void set_time_stamp(::PROTOBUF_NAMESPACE_ID::uint64 value);
// .milvus.proto.milvus.ShowCollectionsType type = 4;
void clear_type();
::milvus::proto::milvus::ShowCollectionsType type() const;
void set_type(::milvus::proto::milvus::ShowCollectionsType value);
// @@protoc_insertion_point(class_scope:milvus.proto.milvus.ShowCollectionsRequest) // @@protoc_insertion_point(class_scope:milvus.proto.milvus.ShowCollectionsRequest)
private: private:
class _Internal; class _Internal;
@ -2251,6 +2282,7 @@ class ShowCollectionsRequest :
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr db_name_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr db_name_;
::milvus::proto::common::MsgBase* base_; ::milvus::proto::common::MsgBase* base_;
::PROTOBUF_NAMESPACE_ID::uint64 time_stamp_; ::PROTOBUF_NAMESPACE_ID::uint64 time_stamp_;
int type_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
friend struct ::TableStruct_milvus_2eproto; friend struct ::TableStruct_milvus_2eproto;
}; };
@ -2370,6 +2402,7 @@ class ShowCollectionsResponse :
enum : int { enum : int {
kCollectionNamesFieldNumber = 2, kCollectionNamesFieldNumber = 2,
kCollectionIdsFieldNumber = 3,
kStatusFieldNumber = 1, kStatusFieldNumber = 1,
}; };
// repeated string collection_names = 2; // repeated string collection_names = 2;
@ -2389,6 +2422,17 @@ class ShowCollectionsResponse :
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& collection_names() const; const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& collection_names() const;
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_collection_names(); ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_collection_names();
// repeated int64 collection_ids = 3;
int collection_ids_size() const;
void clear_collection_ids();
::PROTOBUF_NAMESPACE_ID::int64 collection_ids(int index) const;
void set_collection_ids(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
void add_collection_ids(::PROTOBUF_NAMESPACE_ID::int64 value);
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
collection_ids() const;
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
mutable_collection_ids();
// .milvus.proto.common.Status status = 1; // .milvus.proto.common.Status status = 1;
bool has_status() const; bool has_status() const;
void clear_status(); void clear_status();
@ -2403,6 +2447,8 @@ class ShowCollectionsResponse :
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> collection_names_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> collection_names_;
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > collection_ids_;
mutable std::atomic<int> _collection_ids_cached_byte_size_;
::milvus::proto::common::Status* status_; ::milvus::proto::common::Status* status_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
friend struct ::TableStruct_milvus_2eproto; friend struct ::TableStruct_milvus_2eproto;
@ -11055,6 +11101,20 @@ inline void ShowCollectionsRequest::set_time_stamp(::PROTOBUF_NAMESPACE_ID::uint
// @@protoc_insertion_point(field_set:milvus.proto.milvus.ShowCollectionsRequest.time_stamp) // @@protoc_insertion_point(field_set:milvus.proto.milvus.ShowCollectionsRequest.time_stamp)
} }
// .milvus.proto.milvus.ShowCollectionsType type = 4;
inline void ShowCollectionsRequest::clear_type() {
type_ = 0;
}
inline ::milvus::proto::milvus::ShowCollectionsType ShowCollectionsRequest::type() const {
// @@protoc_insertion_point(field_get:milvus.proto.milvus.ShowCollectionsRequest.type)
return static_cast< ::milvus::proto::milvus::ShowCollectionsType >(type_);
}
inline void ShowCollectionsRequest::set_type(::milvus::proto::milvus::ShowCollectionsType value) {
type_ = value;
// @@protoc_insertion_point(field_set:milvus.proto.milvus.ShowCollectionsRequest.type)
}
// ------------------------------------------------------------------- // -------------------------------------------------------------------
// ShowCollectionsResponse // ShowCollectionsResponse
@ -11169,6 +11229,36 @@ ShowCollectionsResponse::mutable_collection_names() {
return &collection_names_; return &collection_names_;
} }
// repeated int64 collection_ids = 3;
inline int ShowCollectionsResponse::collection_ids_size() const {
return collection_ids_.size();
}
inline void ShowCollectionsResponse::clear_collection_ids() {
collection_ids_.Clear();
}
inline ::PROTOBUF_NAMESPACE_ID::int64 ShowCollectionsResponse::collection_ids(int index) const {
// @@protoc_insertion_point(field_get:milvus.proto.milvus.ShowCollectionsResponse.collection_ids)
return collection_ids_.Get(index);
}
inline void ShowCollectionsResponse::set_collection_ids(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
collection_ids_.Set(index, value);
// @@protoc_insertion_point(field_set:milvus.proto.milvus.ShowCollectionsResponse.collection_ids)
}
inline void ShowCollectionsResponse::add_collection_ids(::PROTOBUF_NAMESPACE_ID::int64 value) {
collection_ids_.Add(value);
// @@protoc_insertion_point(field_add:milvus.proto.milvus.ShowCollectionsResponse.collection_ids)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
ShowCollectionsResponse::collection_ids() const {
// @@protoc_insertion_point(field_list:milvus.proto.milvus.ShowCollectionsResponse.collection_ids)
return collection_ids_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
ShowCollectionsResponse::mutable_collection_ids() {
// @@protoc_insertion_point(field_mutable_list:milvus.proto.milvus.ShowCollectionsResponse.collection_ids)
return &collection_ids_;
}
// ------------------------------------------------------------------- // -------------------------------------------------------------------
// CreatePartitionRequest // CreatePartitionRequest
@ -17444,6 +17534,11 @@ inline void RegisterLinkResponse::set_allocated_status(::milvus::proto::common::
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NAMESPACE_OPEN
template <> struct is_proto_enum< ::milvus::proto::milvus::ShowCollectionsType> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::milvus::proto::milvus::ShowCollectionsType>() {
return ::milvus::proto::milvus::ShowCollectionsType_descriptor();
}
template <> struct is_proto_enum< ::milvus::proto::milvus::PlaceholderType> : ::std::true_type {}; template <> struct is_proto_enum< ::milvus::proto::milvus::PlaceholderType> : ::std::true_type {};
template <> template <>
inline const EnumDescriptor* GetEnumDescriptor< ::milvus::proto::milvus::PlaceholderType>() { inline const EnumDescriptor* GetEnumDescriptor< ::milvus::proto::milvus::PlaceholderType>() {

View File

@ -1436,6 +1436,7 @@ func (c *Core) ShowCollections(ctx context.Context, in *milvuspb.ShowCollections
Req: in, Req: in,
Rsp: &milvuspb.ShowCollectionsResponse{ Rsp: &milvuspb.ShowCollectionsResponse{
CollectionNames: nil, CollectionNames: nil,
CollectionIds: nil,
}, },
} }
c.ddReqQueue <- t c.ddReqQueue <- t

View File

@ -464,30 +464,26 @@ func (mt *metaTable) GetCollectionBySegmentID(segID typeutil.UniqueID) (*pb.Coll
return colCopy.(*pb.CollectionInfo), nil return colCopy.(*pb.CollectionInfo), nil
} }
func (mt *metaTable) ListCollections(ts typeutil.Timestamp) ([]string, error) { func (mt *metaTable) ListCollections(ts typeutil.Timestamp) (map[string]typeutil.UniqueID, error) {
mt.ddLock.RLock() mt.ddLock.RLock()
defer mt.ddLock.RUnlock() defer mt.ddLock.RUnlock()
if ts == 0 { if ts == 0 {
colls := make([]string, 0, len(mt.collName2ID)) return mt.collName2ID, nil
for name := range mt.collName2ID {
colls = append(colls, name)
}
return colls, nil
} }
_, vals, err := mt.client.LoadWithPrefix(CollectionMetaPrefix, ts) _, vals, err := mt.client.LoadWithPrefix(CollectionMetaPrefix, ts)
if err != nil { if err != nil {
log.Debug("load with prefix error", zap.Uint64("timestamp", ts), zap.Error(err)) log.Debug("load with prefix error", zap.Uint64("timestamp", ts), zap.Error(err))
return []string{}, nil return nil, nil
} }
colls := make([]string, 0, len(vals)) colls := make(map[string]typeutil.UniqueID)
for _, val := range vals { for _, val := range vals {
collMeta := pb.CollectionInfo{} collMeta := pb.CollectionInfo{}
err := proto.UnmarshalText(val, &collMeta) err := proto.UnmarshalText(val, &collMeta)
if err != nil { if err != nil {
log.Debug("unmarshal collection info failed", zap.Error(err)) log.Debug("unmarshal collection info failed", zap.Error(err))
} }
colls = append(colls, collMeta.Schema.Name) colls[collMeta.Schema.Name] = collMeta.ID
} }
return colls, nil return colls, nil
} }

View File

@ -1189,20 +1189,28 @@ func TestMetaWithTimestamp(t *testing.T) {
c2, err = mt.GetCollectionByName("t2", tsoStart) c2, err = mt.GetCollectionByName("t2", tsoStart)
assert.NotNil(t, err) assert.NotNil(t, err)
getKeys := func(m map[string]typeutil.UniqueID) []string {
keys := make([]string, 0, len(m))
for key := range m {
keys = append(keys, key)
}
return keys
}
s1, err := mt.ListCollections(0) s1, err := mt.ListCollections(0)
assert.Nil(t, err) assert.Nil(t, err)
assert.Equal(t, 2, len(s1)) assert.Equal(t, 2, len(s1))
assert.ElementsMatch(t, s1, []string{"t1", "t2"}) assert.ElementsMatch(t, getKeys(s1), []string{"t1", "t2"})
s1, err = mt.ListCollections(t2) s1, err = mt.ListCollections(t2)
assert.Nil(t, err) assert.Nil(t, err)
assert.Equal(t, 2, len(s1)) assert.Equal(t, 2, len(s1))
assert.ElementsMatch(t, s1, []string{"t1", "t2"}) assert.ElementsMatch(t, getKeys(s1), []string{"t1", "t2"})
s1, err = mt.ListCollections(t1) s1, err = mt.ListCollections(t1)
assert.Nil(t, err) assert.Nil(t, err)
assert.Equal(t, 1, len(s1)) assert.Equal(t, 1, len(s1))
assert.ElementsMatch(t, s1, []string{"t1"}) assert.ElementsMatch(t, getKeys(s1), []string{"t1"})
s1, err = mt.ListCollections(tsoStart) s1, err = mt.ListCollections(tsoStart)
assert.Nil(t, err) assert.Nil(t, err)

View File

@ -430,7 +430,10 @@ func (t *ShowCollectionReqTask) Execute(ctx context.Context) error {
if err != nil { if err != nil {
return err return err
} }
t.Rsp.CollectionNames = coll for name, id := range coll {
t.Rsp.CollectionNames = append(t.Rsp.CollectionNames, name)
t.Rsp.CollectionIds = append(t.Rsp.CollectionIds, id)
}
return nil return nil
} }

View File

@ -115,15 +115,22 @@ message GetCollectionStatisticsResponse {
repeated common.KeyValuePair stats = 2; repeated common.KeyValuePair stats = 2;
} }
enum ShowCollectionsType {
All = 0;
InMemory = 1;
}
message ShowCollectionsRequest { message ShowCollectionsRequest {
common.MsgBase base = 1; // must common.MsgBase base = 1; // must
string db_name = 2; string db_name = 2;
uint64 time_stamp = 3; uint64 time_stamp = 3;
ShowCollectionsType type = 4;
} }
message ShowCollectionsResponse { message ShowCollectionsResponse {
common.Status status = 1; common.Status status = 1;
repeated string collection_names = 2; repeated string collection_names = 2;
repeated int64 collection_ids = 3;
} }
message CreatePartitionRequest { message CreatePartitionRequest {

View File

@ -26,6 +26,31 @@ var _ = math.Inf
// proto package needs to be updated. // proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type ShowCollectionsType int32
const (
ShowCollectionsType_All ShowCollectionsType = 0
ShowCollectionsType_InMemory ShowCollectionsType = 1
)
var ShowCollectionsType_name = map[int32]string{
0: "All",
1: "InMemory",
}
var ShowCollectionsType_value = map[string]int32{
"All": 0,
"InMemory": 1,
}
func (x ShowCollectionsType) String() string {
return proto.EnumName(ShowCollectionsType_name, int32(x))
}
func (ShowCollectionsType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{0}
}
type PlaceholderType int32 type PlaceholderType int32
const ( const (
@ -51,7 +76,7 @@ func (x PlaceholderType) String() string {
} }
func (PlaceholderType) EnumDescriptor() ([]byte, []int) { func (PlaceholderType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{0} return fileDescriptor_02345ba45cc0e303, []int{1}
} }
type CreateCollectionRequest struct { type CreateCollectionRequest struct {
@ -693,12 +718,13 @@ func (m *GetCollectionStatisticsResponse) GetStats() []*commonpb.KeyValuePair {
} }
type ShowCollectionsRequest struct { type ShowCollectionsRequest struct {
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"`
TimeStamp uint64 `protobuf:"varint,3,opt,name=time_stamp,json=timeStamp,proto3" json:"time_stamp,omitempty"` TimeStamp uint64 `protobuf:"varint,3,opt,name=time_stamp,json=timeStamp,proto3" json:"time_stamp,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` Type ShowCollectionsType `protobuf:"varint,4,opt,name=type,proto3,enum=milvus.proto.milvus.ShowCollectionsType" json:"type,omitempty"`
XXX_unrecognized []byte `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *ShowCollectionsRequest) Reset() { *m = ShowCollectionsRequest{} } func (m *ShowCollectionsRequest) Reset() { *m = ShowCollectionsRequest{} }
@ -747,9 +773,17 @@ func (m *ShowCollectionsRequest) GetTimeStamp() uint64 {
return 0 return 0
} }
func (m *ShowCollectionsRequest) GetType() ShowCollectionsType {
if m != nil {
return m.Type
}
return ShowCollectionsType_All
}
type ShowCollectionsResponse struct { type ShowCollectionsResponse struct {
Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
CollectionNames []string `protobuf:"bytes,2,rep,name=collection_names,json=collectionNames,proto3" json:"collection_names,omitempty"` CollectionNames []string `protobuf:"bytes,2,rep,name=collection_names,json=collectionNames,proto3" json:"collection_names,omitempty"`
CollectionIds []int64 `protobuf:"varint,3,rep,packed,name=collection_ids,json=collectionIds,proto3" json:"collection_ids,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -794,6 +828,13 @@ func (m *ShowCollectionsResponse) GetCollectionNames() []string {
return nil return nil
} }
func (m *ShowCollectionsResponse) GetCollectionIds() []int64 {
if m != nil {
return m.CollectionIds
}
return nil
}
type CreatePartitionRequest struct { type CreatePartitionRequest struct {
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"`
@ -3259,6 +3300,7 @@ func (m *RegisterLinkResponse) GetStatus() *commonpb.Status {
} }
func init() { func init() {
proto.RegisterEnum("milvus.proto.milvus.ShowCollectionsType", ShowCollectionsType_name, ShowCollectionsType_value)
proto.RegisterEnum("milvus.proto.milvus.PlaceholderType", PlaceholderType_name, PlaceholderType_value) proto.RegisterEnum("milvus.proto.milvus.PlaceholderType", PlaceholderType_name, PlaceholderType_value)
proto.RegisterType((*CreateCollectionRequest)(nil), "milvus.proto.milvus.CreateCollectionRequest") proto.RegisterType((*CreateCollectionRequest)(nil), "milvus.proto.milvus.CreateCollectionRequest")
proto.RegisterType((*DropCollectionRequest)(nil), "milvus.proto.milvus.DropCollectionRequest") proto.RegisterType((*DropCollectionRequest)(nil), "milvus.proto.milvus.DropCollectionRequest")
@ -3320,150 +3362,154 @@ func init() {
func init() { proto.RegisterFile("milvus.proto", fileDescriptor_02345ba45cc0e303) } func init() { proto.RegisterFile("milvus.proto", fileDescriptor_02345ba45cc0e303) }
var fileDescriptor_02345ba45cc0e303 = []byte{ var fileDescriptor_02345ba45cc0e303 = []byte{
// 2283 bytes of a gzipped FileDescriptorProto // 2347 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0x4b, 0x6f, 0x1c, 0xc7, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xcd, 0x6f, 0x1c, 0x49,
0xf1, 0x57, 0xef, 0x72, 0x97, 0xdc, 0xda, 0x59, 0x72, 0xd5, 0x7c, 0x68, 0x3d, 0x7a, 0x51, 0x63, 0x15, 0x77, 0xcd, 0x78, 0xc6, 0x9e, 0x37, 0x3d, 0xf6, 0xa4, 0xfc, 0x91, 0xd9, 0xc9, 0x97, 0xd3,
0xeb, 0x6f, 0x4a, 0xb2, 0x25, 0x9b, 0xb2, 0xfe, 0x4a, 0x10, 0xe4, 0x45, 0x31, 0xa2, 0x08, 0xd9, 0xbb, 0x61, 0x9d, 0x8f, 0x75, 0x76, 0x9d, 0x0d, 0x01, 0xf1, 0xb9, 0x8e, 0x89, 0x33, 0xca, 0x26,
0x02, 0x3d, 0x74, 0x0c, 0x3b, 0x86, 0xb0, 0x18, 0xee, 0xb4, 0xb8, 0x03, 0xcd, 0x63, 0x33, 0x3d, 0xf2, 0xf6, 0x2c, 0xab, 0x5d, 0x56, 0xd1, 0xa8, 0x67, 0xba, 0xe2, 0x69, 0xa5, 0x3f, 0x86, 0xae,
0x4b, 0x6a, 0x75, 0x0a, 0xe2, 0x20, 0x48, 0x90, 0x44, 0x3e, 0x24, 0x08, 0x90, 0x1c, 0x72, 0x08, 0x1e, 0x3b, 0x93, 0x13, 0xd2, 0x22, 0x04, 0x02, 0xb2, 0x07, 0x10, 0x12, 0x1c, 0x10, 0x42, 0xda,
0xe0, 0x43, 0x4e, 0x49, 0x90, 0x00, 0x01, 0x82, 0x1c, 0x7d, 0xc8, 0x2d, 0x41, 0xbe, 0x43, 0x6e, 0x03, 0x27, 0x40, 0x20, 0x21, 0x21, 0x0e, 0x1c, 0xf6, 0xc0, 0x0d, 0xc4, 0xff, 0xc0, 0x0d, 0xfe,
0xc9, 0x67, 0x48, 0xd0, 0x8f, 0x19, 0xce, 0x0c, 0x7b, 0x96, 0x4b, 0xad, 0x15, 0x92, 0xb7, 0x99, 0x06, 0x50, 0x57, 0x55, 0xf7, 0x74, 0xb7, 0xab, 0xc7, 0xe3, 0xcc, 0x06, 0xdb, 0xb7, 0xee, 0xd7,
0x9a, 0xea, 0xea, 0xea, 0x5f, 0x57, 0x55, 0x57, 0x75, 0x0d, 0x68, 0x9e, 0xe3, 0xee, 0xf4, 0xe9, 0xaf, 0xaa, 0x5e, 0xfd, 0xea, 0xbd, 0x57, 0xef, 0xa3, 0x41, 0xb1, 0x4d, 0x6b, 0xb7, 0x4f, 0xd7,
0xf5, 0x5e, 0x18, 0x44, 0x01, 0x9e, 0x4d, 0xbf, 0x5d, 0x17, 0x2f, 0xba, 0xd6, 0x09, 0x3c, 0x2f, 0x7a, 0x9e, 0xeb, 0xbb, 0x78, 0x21, 0xfe, 0xb6, 0xc6, 0x5f, 0xea, 0x4a, 0xc7, 0xb5, 0x6d, 0xd7,
0xf0, 0x05, 0x51, 0xd7, 0x68, 0xa7, 0x4b, 0x3c, 0x4b, 0xbc, 0x19, 0x9f, 0x21, 0x38, 0x73, 0x27, 0xe1, 0xc4, 0xba, 0x42, 0x3b, 0x5d, 0x62, 0xeb, 0xfc, 0x4d, 0xfd, 0x14, 0xc1, 0xe9, 0xdb, 0x1e,
0x24, 0x56, 0x44, 0xee, 0x04, 0xae, 0x4b, 0x3a, 0x91, 0x13, 0xf8, 0x26, 0xf9, 0x76, 0x9f, 0xd0, 0xd1, 0x7d, 0x72, 0xdb, 0xb5, 0x2c, 0xd2, 0xf1, 0x4d, 0xd7, 0xd1, 0xc8, 0xb7, 0xfb, 0x84, 0xfa,
0x08, 0xbf, 0x01, 0x13, 0x5b, 0x16, 0x25, 0x2d, 0xb4, 0x88, 0x96, 0xea, 0xcb, 0xe7, 0xae, 0x67, 0xf8, 0x75, 0x98, 0x6e, 0xeb, 0x94, 0xd4, 0xd0, 0x0a, 0x5a, 0x2d, 0xaf, 0x9f, 0x5d, 0x4b, 0xcc,
0x64, 0x4b, 0x99, 0xef, 0xd0, 0xed, 0x15, 0x8b, 0x12, 0x93, 0x73, 0xe2, 0x33, 0x30, 0x69, 0x6f, 0x2d, 0xe6, 0xbc, 0x4f, 0x77, 0x36, 0x74, 0x4a, 0x34, 0xc6, 0x89, 0x4f, 0xc3, 0x8c, 0xd1, 0x6e,
0xb5, 0x7d, 0xcb, 0x23, 0xad, 0xd2, 0x22, 0x5a, 0xaa, 0x99, 0x55, 0x7b, 0xeb, 0x81, 0xe5, 0x11, 0x39, 0xba, 0x4d, 0x6a, 0xb9, 0x15, 0xb4, 0x5a, 0xd2, 0x8a, 0x46, 0xfb, 0x81, 0x6e, 0x13, 0xfc,
0xfc, 0x2a, 0xcc, 0x74, 0x12, 0xf9, 0x82, 0xa1, 0xcc, 0x19, 0xa6, 0xf7, 0xc8, 0x9c, 0x71, 0x01, 0x2a, 0xcc, 0x77, 0xa2, 0xf9, 0x39, 0x43, 0x9e, 0x31, 0xcc, 0x0d, 0xc9, 0x8c, 0x71, 0x19, 0x8a,
0xaa, 0x42, 0xbf, 0xd6, 0xc4, 0x22, 0x5a, 0xd2, 0x4c, 0xf9, 0x86, 0xcf, 0x03, 0xd0, 0xae, 0x15, 0x5c, 0xbe, 0xda, 0xf4, 0x0a, 0x5a, 0x55, 0x34, 0xf1, 0x86, 0xcf, 0x01, 0xd0, 0xae, 0xee, 0x19,
0xda, 0xb4, 0xed, 0xf7, 0xbd, 0x56, 0x65, 0x11, 0x2d, 0x55, 0xcc, 0x9a, 0xa0, 0x3c, 0xe8, 0x7b, 0xb4, 0xe5, 0xf4, 0xed, 0x5a, 0x61, 0x05, 0xad, 0x16, 0xb4, 0x12, 0xa7, 0x3c, 0xe8, 0xdb, 0xea,
0xc6, 0x8f, 0x10, 0xcc, 0xaf, 0x86, 0x41, 0xef, 0x58, 0x2c, 0xc2, 0xf8, 0x0d, 0x82, 0xb9, 0x7b, 0x0f, 0x11, 0x2c, 0x6d, 0x7a, 0x6e, 0xef, 0x58, 0x6c, 0x42, 0xfd, 0x0d, 0x82, 0xc5, 0xbb, 0x3a,
0x16, 0x3d, 0x1e, 0x88, 0x9e, 0x07, 0x88, 0x1c, 0x8f, 0xb4, 0x69, 0x64, 0x79, 0x3d, 0x8e, 0xea, 0x3d, 0x1e, 0x88, 0x9e, 0x03, 0xf0, 0x4d, 0x9b, 0xb4, 0xa8, 0xaf, 0xdb, 0x3d, 0x86, 0xea, 0xb4,
0x84, 0x59, 0x63, 0x94, 0x4d, 0x46, 0x30, 0x3e, 0x04, 0x6d, 0x25, 0x08, 0x5c, 0x93, 0xd0, 0x5e, 0x56, 0x0a, 0x28, 0xcd, 0x80, 0xa0, 0x7e, 0x00, 0xca, 0x86, 0xeb, 0x5a, 0x1a, 0xa1, 0x3d, 0xd7,
0xe0, 0x53, 0x82, 0x6f, 0x42, 0x95, 0x46, 0x56, 0xd4, 0xa7, 0x52, 0xc9, 0xb3, 0x4a, 0x25, 0x37, 0xa1, 0x04, 0xdf, 0x80, 0x22, 0xf5, 0x75, 0xbf, 0x4f, 0x85, 0x90, 0x67, 0xa4, 0x42, 0x36, 0x19,
0x39, 0x8b, 0x29, 0x59, 0xf1, 0x1c, 0x54, 0x76, 0x2c, 0xb7, 0x2f, 0x74, 0x9c, 0x32, 0xc5, 0x8b, 0x8b, 0x26, 0x58, 0xf1, 0x22, 0x14, 0x76, 0x75, 0xab, 0xcf, 0x65, 0x9c, 0xd5, 0xf8, 0x8b, 0xfa,
0xf1, 0x11, 0x4c, 0x6f, 0x46, 0xa1, 0xe3, 0x6f, 0x7f, 0x8e, 0xc2, 0x6b, 0xb1, 0xf0, 0x7f, 0x20, 0x21, 0xcc, 0x35, 0x7d, 0xcf, 0x74, 0x76, 0x3e, 0xc3, 0xc9, 0x4b, 0xe1, 0xe4, 0xff, 0x44, 0xf0,
0x78, 0x69, 0x95, 0xd0, 0x4e, 0xe8, 0x6c, 0x1d, 0x13, 0xd3, 0x35, 0x40, 0xdb, 0xa3, 0xac, 0xaf, 0xd2, 0x26, 0xa1, 0x1d, 0xcf, 0x6c, 0x1f, 0x13, 0xd5, 0x55, 0x41, 0x19, 0x52, 0x1a, 0x9b, 0x0c,
0x72, 0xa8, 0xcb, 0x66, 0x86, 0x96, 0xdb, 0x8c, 0x4a, 0x7e, 0x33, 0x7e, 0x55, 0x02, 0x5d, 0xb5, 0xea, 0xbc, 0x96, 0xa0, 0xa5, 0x0e, 0xa3, 0x90, 0x3e, 0x8c, 0x5f, 0xe6, 0xa0, 0x2e, 0xdb, 0xd4,
0xa8, 0x71, 0xe0, 0xfb, 0x72, 0xe2, 0x51, 0x25, 0x3e, 0xe8, 0x72, 0x76, 0x90, 0x8c, 0x06, 0x7b, 0x24, 0xf0, 0x7d, 0x25, 0xb2, 0xa8, 0x1c, 0x1b, 0x74, 0x29, 0x39, 0x48, 0x78, 0x83, 0xe1, 0x6a,
0xb3, 0x6d, 0x72, 0x42, 0xe2, 0x78, 0xf9, 0x55, 0x95, 0x15, 0xab, 0x5a, 0x86, 0xf9, 0x1d, 0x27, 0x4d, 0x46, 0x88, 0x0c, 0x2f, 0xbd, 0xab, 0xbc, 0x64, 0x57, 0xeb, 0xb0, 0xb4, 0x6b, 0x7a, 0x7e,
0x8c, 0xfa, 0x96, 0xdb, 0xee, 0x74, 0x2d, 0xdf, 0x27, 0x2e, 0xc7, 0x89, 0xb6, 0x26, 0x16, 0xcb, 0x5f, 0xb7, 0x5a, 0x9d, 0xae, 0xee, 0x38, 0xc4, 0x62, 0x38, 0xd1, 0xda, 0xf4, 0x4a, 0x7e, 0xb5,
0x4b, 0x35, 0x73, 0x56, 0x7e, 0xbc, 0x23, 0xbe, 0x31, 0xb0, 0x28, 0x7e, 0x0b, 0x16, 0x7a, 0xdd, 0xa4, 0x2d, 0x88, 0x8f, 0xb7, 0xf9, 0xb7, 0x00, 0x2c, 0x8a, 0xdf, 0x84, 0xe5, 0x5e, 0x77, 0x40,
0x01, 0x75, 0x3a, 0xfb, 0x06, 0x55, 0xf8, 0xa0, 0xb9, 0xf8, 0x6b, 0x7a, 0x14, 0xf7, 0xf3, 0xb7, 0xcd, 0xce, 0xbe, 0x41, 0x05, 0x36, 0x68, 0x31, 0xfc, 0x1a, 0x1f, 0xc5, 0xec, 0xfc, 0x6d, 0x57,
0x03, 0xcb, 0x3e, 0x1e, 0x7e, 0xfe, 0x0c, 0x41, 0xcb, 0x24, 0x2e, 0xb1, 0xe8, 0xf1, 0x30, 0x41, 0x37, 0x8e, 0x87, 0x9d, 0x3f, 0x43, 0x50, 0xd3, 0x88, 0x45, 0x74, 0x7a, 0x3c, 0x54, 0x50, 0xfd,
0xe3, 0x67, 0x08, 0x2e, 0xac, 0x91, 0x28, 0xb5, 0x99, 0x91, 0x15, 0x39, 0x34, 0x72, 0x3a, 0xf4, 0x29, 0x82, 0xf3, 0x5b, 0xc4, 0x8f, 0x1d, 0xa6, 0xaf, 0xfb, 0x26, 0xf5, 0xcd, 0x0e, 0x3d, 0x4a,
0x28, 0xd5, 0xfa, 0x04, 0xc1, 0xc5, 0x42, 0xb5, 0xc6, 0xb1, 0xed, 0xdb, 0x50, 0x61, 0x4f, 0xb4, 0xb1, 0x3e, 0x46, 0x70, 0x21, 0x53, 0xac, 0x49, 0x74, 0xfb, 0x16, 0x14, 0x82, 0x27, 0x5a, 0xcb,
0x55, 0x5a, 0x2c, 0x2f, 0xd5, 0x97, 0x2f, 0x29, 0xc7, 0xdc, 0x27, 0x83, 0xf7, 0x59, 0xc8, 0xd8, 0xad, 0xe4, 0x57, 0xcb, 0xeb, 0x17, 0xa5, 0x63, 0xee, 0x91, 0xc1, 0x7b, 0x81, 0xcb, 0xd8, 0xd6,
0xb0, 0x9c, 0xd0, 0x14, 0xfc, 0xc6, 0x77, 0x11, 0x2c, 0x6c, 0x76, 0x83, 0xdd, 0x3d, 0x95, 0x5e, 0x4d, 0x4f, 0xe3, 0xfc, 0xea, 0x5f, 0x11, 0x2c, 0x37, 0xbb, 0xee, 0xde, 0x50, 0xa4, 0x17, 0x01,
0x04, 0x40, 0x59, 0x6f, 0x2f, 0xe7, 0xbd, 0x7d, 0x00, 0x67, 0xf6, 0xe9, 0x30, 0x0e, 0x1a, 0x57, 0x50, 0xd2, 0xda, 0xf3, 0x29, 0x6b, 0xc7, 0x5f, 0x86, 0x69, 0x7f, 0xd0, 0x23, 0xcc, 0x51, 0xcc,
0xa0, 0x99, 0xdb, 0x0f, 0x01, 0x4c, 0xcd, 0x9c, 0xc9, 0x6e, 0x08, 0x35, 0xfe, 0x80, 0x60, 0x41, 0xad, 0xaf, 0xae, 0x49, 0xee, 0xee, 0xb5, 0x94, 0x90, 0xef, 0x0e, 0x7a, 0x44, 0x63, 0xa3, 0xd4,
0x1c, 0xfb, 0x1b, 0x56, 0x18, 0x39, 0x47, 0x1d, 0x3a, 0x2f, 0xc3, 0x74, 0x2f, 0xd6, 0x43, 0xf0, 0x5f, 0x21, 0x38, 0xbd, 0x6f, 0x0b, 0x93, 0x80, 0x79, 0x19, 0xaa, 0xa9, 0xe3, 0xe4, 0xb8, 0x96,
0x4d, 0x70, 0xbe, 0x46, 0x42, 0xe5, 0x76, 0xf4, 0x7b, 0x04, 0x73, 0xec, 0x94, 0x3f, 0x49, 0x3a, 0xb4, 0xf9, 0xe4, 0x79, 0x52, 0x7c, 0x09, 0x62, 0x47, 0xdc, 0x32, 0x0d, 0x5a, 0xcb, 0xaf, 0xe4,
0xff, 0x0e, 0xc1, 0xec, 0x3d, 0x8b, 0x9e, 0x24, 0x95, 0xff, 0x28, 0x83, 0x6c, 0xa2, 0xf3, 0x51, 0x57, 0xf3, 0x5a, 0x25, 0xe6, 0x16, 0x0c, 0xaa, 0xfe, 0x01, 0xc1, 0x32, 0x0f, 0x2e, 0xb6, 0x75,
0x06, 0x0f, 0xc6, 0x98, 0x55, 0x3a, 0x3e, 0x56, 0xa6, 0x33, 0x5a, 0x53, 0xe3, 0x4f, 0x7b, 0xd1, 0xcf, 0x37, 0x8f, 0xda, 0x41, 0x5f, 0x82, 0xb9, 0x5e, 0x28, 0x07, 0xe7, 0x9b, 0x66, 0x7c, 0x95,
0xf8, 0x84, 0x69, 0xfe, 0x67, 0x04, 0xe7, 0xd7, 0x48, 0x94, 0x68, 0x7d, 0x2c, 0xa2, 0xf6, 0xa8, 0x88, 0xca, 0xb4, 0xf5, 0xf7, 0x08, 0x16, 0x83, 0x58, 0xe2, 0x24, 0xc9, 0xfc, 0x3b, 0x04, 0x0b,
0xd6, 0xf2, 0x4c, 0x9c, 0x39, 0x4a, 0xe5, 0x8f, 0x24, 0xb6, 0xff, 0x16, 0xc1, 0x3c, 0x8b, 0xab, 0x77, 0x75, 0x7a, 0x92, 0x44, 0xfe, 0xa3, 0x70, 0xe5, 0x91, 0xcc, 0x47, 0xe9, 0xa2, 0x02, 0xc6,
0xc7, 0xc3, 0x08, 0x46, 0xc8, 0x0a, 0x8d, 0x5f, 0xca, 0xd3, 0x28, 0xad, 0xf1, 0x38, 0xd0, 0x29, 0xa4, 0xd0, 0xe1, 0xe5, 0x35, 0x97, 0x90, 0x9a, 0xaa, 0x7f, 0x1a, 0xfa, 0xfc, 0x13, 0x26, 0xf9,
0x0c, 0xaf, 0xa4, 0x32, 0x3c, 0xa6, 0x5c, 0x42, 0x59, 0x5f, 0xa5, 0xad, 0xf2, 0x62, 0x99, 0x29, 0x9f, 0x11, 0x9c, 0xdb, 0x22, 0x7e, 0x24, 0xf5, 0xb1, 0xb8, 0x1b, 0xc6, 0xd5, 0x96, 0x67, 0xfc,
0x97, 0xa6, 0x19, 0x3f, 0x46, 0xb0, 0x10, 0xe7, 0xa4, 0x9b, 0x64, 0xdb, 0x23, 0x7e, 0xf4, 0xfc, 0x66, 0x93, 0x0a, 0x7f, 0x24, 0x37, 0xc8, 0x6f, 0x11, 0x2c, 0x05, 0xee, 0xf7, 0x78, 0x28, 0xc1,
0x78, 0xe6, 0xd1, 0x28, 0x29, 0xb2, 0xc9, 0x73, 0x50, 0xa3, 0x62, 0x9e, 0x24, 0xdd, 0xdc, 0x23, 0x18, 0xb1, 0xa7, 0xfa, 0x0b, 0x71, 0xe7, 0xc5, 0x25, 0x9e, 0x04, 0x3a, 0x89, 0xe2, 0xe5, 0x64,
0x18, 0x9f, 0x22, 0x38, 0xb3, 0x4f, 0x9d, 0x71, 0xc0, 0x6a, 0xc1, 0xa4, 0xe3, 0xdb, 0xe4, 0x49, 0x8a, 0x17, 0x08, 0x17, 0x51, 0x1a, 0x9b, 0xe1, 0x5d, 0x91, 0xa0, 0xa9, 0x3f, 0x42, 0xb0, 0x1c,
0xa2, 0x4d, 0xfc, 0xca, 0xbe, 0x6c, 0xf5, 0x1d, 0xd7, 0x4e, 0xd4, 0x88, 0x5f, 0xf1, 0x25, 0xd0, 0x46, 0xbe, 0x4d, 0xb2, 0x63, 0x13, 0xc7, 0x7f, 0x7e, 0x3c, 0xd3, 0x68, 0xe4, 0x24, 0x31, 0xeb,
0x88, 0x6f, 0x6d, 0xb9, 0xa4, 0xcd, 0x79, 0xf9, 0xa6, 0x4e, 0x99, 0x75, 0x41, 0x5b, 0x67, 0x24, 0x59, 0x28, 0x51, 0xbe, 0x4e, 0x14, 0xd4, 0x0e, 0x09, 0xea, 0x27, 0x08, 0x4e, 0xef, 0x13, 0x67,
0xe3, 0x27, 0x08, 0x66, 0xd9, 0x9e, 0x4a, 0x1d, 0xe9, 0x8b, 0xc5, 0x6c, 0x11, 0xea, 0xa9, 0x4d, 0x12, 0xb0, 0x6a, 0x30, 0x63, 0x3a, 0x06, 0x79, 0x12, 0x49, 0x13, 0xbe, 0x06, 0x5f, 0xda, 0x7d,
0x93, 0xea, 0xa6, 0x49, 0xc6, 0x63, 0x98, 0xcb, 0xaa, 0x33, 0x0e, 0x66, 0x17, 0x00, 0x92, 0x1d, 0xd3, 0x32, 0x22, 0x31, 0xc2, 0x57, 0x7c, 0x11, 0x14, 0xe2, 0xe8, 0x6d, 0x8b, 0xb4, 0x18, 0x2f,
0x11, 0xb6, 0x55, 0x36, 0x53, 0x14, 0xe3, 0xdf, 0x08, 0xb0, 0x48, 0x2f, 0x38, 0x18, 0x47, 0x5c, 0x3b, 0xd4, 0x59, 0xad, 0xcc, 0x69, 0x8d, 0x80, 0xa4, 0xfe, 0x18, 0xc1, 0x42, 0x70, 0xa6, 0x42,
0xfe, 0x3e, 0x72, 0x88, 0x6b, 0xa7, 0x23, 0x58, 0x8d, 0x53, 0xf8, 0xe7, 0x55, 0xd0, 0xc8, 0x93, 0x46, 0xfa, 0x62, 0x31, 0x5b, 0x81, 0x72, 0xec, 0xd0, 0x84, 0xb8, 0x71, 0x92, 0xfa, 0x18, 0x16,
0x28, 0xb4, 0xda, 0x3d, 0x2b, 0xb4, 0x3c, 0x51, 0x7c, 0x8c, 0x14, 0x6c, 0xea, 0x7c, 0xd8, 0x06, 0x93, 0xe2, 0x4c, 0x82, 0xd9, 0x79, 0x80, 0xe8, 0x44, 0xb8, 0x6e, 0xe5, 0xb5, 0x18, 0x45, 0xfd,
0x1f, 0x65, 0xfc, 0x95, 0x25, 0x26, 0xd2, 0x28, 0x8f, 0xfb, 0x8a, 0xcf, 0x03, 0x70, 0xa3, 0x15, 0x0f, 0x02, 0xcc, 0xc3, 0x0b, 0x06, 0xc6, 0x11, 0x27, 0xd9, 0x8f, 0x4c, 0x62, 0x19, 0x71, 0x0f,
0x9f, 0x2b, 0xe2, 0x33, 0xa7, 0xf0, 0x70, 0xfe, 0x29, 0x82, 0x26, 0x5f, 0x82, 0x58, 0x4f, 0x8f, 0x56, 0x62, 0x14, 0xf6, 0x79, 0x13, 0x14, 0xf2, 0xc4, 0xf7, 0xf4, 0x56, 0x4f, 0xf7, 0x74, 0x9b,
0x89, 0xcd, 0x8d, 0x41, 0xb9, 0x31, 0x43, 0x5c, 0xe8, 0x8b, 0x50, 0x95, 0xc0, 0x96, 0x47, 0x05, 0xa7, 0x38, 0x63, 0x39, 0x9b, 0x32, 0x1b, 0xb6, 0xcd, 0x46, 0xa9, 0x7f, 0x0b, 0x02, 0x13, 0xa1,
0x56, 0x0e, 0x38, 0x60, 0x19, 0xc6, 0xaf, 0x11, 0xcc, 0xe7, 0x20, 0x1f, 0xc7, 0xa2, 0xdf, 0x03, 0x94, 0xc7, 0x7d, 0xc7, 0xe7, 0x00, 0x98, 0xd2, 0xf2, 0xcf, 0x05, 0xfe, 0x99, 0x51, 0x98, 0x3b,
0x2c, 0x56, 0x68, 0xef, 0x2d, 0x3b, 0x3e, 0x7a, 0x72, 0x15, 0xb3, 0x7c, 0xc9, 0x83, 0x64, 0x9e, 0xff, 0x04, 0x41, 0x95, 0x6d, 0x81, 0xef, 0xa7, 0x17, 0x4c, 0x9b, 0x1a, 0x83, 0x52, 0x63, 0x46,
0x76, 0x72, 0x14, 0x6a, 0xfc, 0x1d, 0xc1, 0xb9, 0x35, 0x12, 0x71, 0xd6, 0x15, 0x16, 0x3b, 0x36, 0x98, 0xd0, 0x17, 0xa1, 0x28, 0x80, 0xcd, 0x8f, 0x0b, 0xac, 0x18, 0x70, 0xc0, 0x36, 0xd4, 0x5f,
0xc2, 0x60, 0x3b, 0x24, 0x94, 0x9e, 0x5c, 0xfb, 0xf8, 0xb9, 0xc8, 0x55, 0x54, 0x4b, 0x1a, 0x07, 0x23, 0x58, 0x4a, 0x41, 0x3e, 0x89, 0x46, 0xbf, 0x0b, 0x98, 0xef, 0xd0, 0x18, 0x6e, 0x3b, 0xbc,
0xff, 0x4b, 0xa0, 0xf1, 0x39, 0x88, 0xdd, 0x0e, 0x83, 0x5d, 0x2a, 0xed, 0xa8, 0x2e, 0x69, 0x66, 0x7a, 0x2e, 0x49, 0xe3, 0xff, 0x34, 0x48, 0xda, 0x29, 0x33, 0x45, 0xa1, 0xea, 0x3f, 0x10, 0x9c,
0xb0, 0xcb, 0x0d, 0x22, 0x0a, 0x22, 0xcb, 0x15, 0x0c, 0xf2, 0x60, 0xe0, 0x14, 0xf6, 0x99, 0xfb, 0xdd, 0x22, 0x3e, 0x63, 0xdd, 0x08, 0x7c, 0xc7, 0xb6, 0xe7, 0xee, 0x78, 0x84, 0xd2, 0x93, 0xab,
0x60, 0xac, 0x18, 0x13, 0x4e, 0x4e, 0x2e, 0xc6, 0x1f, 0x23, 0x98, 0xcf, 0x2d, 0x65, 0x1c, 0x6c, 0x1f, 0x3f, 0xe3, 0xb1, 0x8a, 0x6c, 0x4b, 0x93, 0xe0, 0x7f, 0x11, 0x14, 0xb6, 0x06, 0x31, 0x5a,
0x6f, 0x89, 0x4c, 0x4a, 0x2c, 0x66, 0x7a, 0xf9, 0xa2, 0x72, 0x4c, 0x6a, 0x32, 0xc1, 0x6d, 0x7c, 0x9e, 0xbb, 0x47, 0x85, 0x1e, 0x95, 0x05, 0x4d, 0x73, 0xf7, 0x98, 0x42, 0xf8, 0xae, 0xaf, 0x5b,
0x86, 0xa0, 0xc9, 0xaa, 0xad, 0x13, 0x1e, 0xd0, 0x7e, 0x50, 0x82, 0xc6, 0xba, 0x4f, 0x49, 0x18, 0x9c, 0x41, 0x5c, 0x0c, 0x8c, 0x12, 0x7c, 0x66, 0x36, 0x18, 0x0a, 0x16, 0x4c, 0x4e, 0x4e, 0x2e,
0x1d, 0xff, 0x64, 0x1a, 0x7f, 0x15, 0xea, 0x7c, 0x61, 0xb4, 0x6d, 0x5b, 0x91, 0x25, 0x4f, 0xa3, 0xc6, 0x1f, 0x21, 0x58, 0x4a, 0x6d, 0x65, 0x12, 0x6c, 0x6f, 0xf2, 0x48, 0x8a, 0x6f, 0x66, 0x6e,
0x0b, 0xca, 0x1b, 0xbb, 0xbb, 0x8c, 0x6f, 0xd5, 0x8a, 0x2c, 0x53, 0xa0, 0x43, 0xd9, 0x33, 0x3e, 0xfd, 0x82, 0x74, 0x4c, 0x6c, 0x31, 0xce, 0xad, 0x7e, 0x8a, 0xa0, 0x1a, 0x64, 0x5b, 0x27, 0xdc,
0x0b, 0xb5, 0xae, 0x45, 0xbb, 0xed, 0xc7, 0x64, 0x40, 0x5b, 0xd5, 0xc5, 0xf2, 0x52, 0xc3, 0x9c, 0xa1, 0x7d, 0x3f, 0x07, 0x95, 0x86, 0x43, 0x89, 0xe7, 0x1f, 0xff, 0x60, 0x1a, 0x7f, 0x0d, 0xca,
0x62, 0x84, 0xfb, 0x64, 0x40, 0x99, 0x5d, 0x4d, 0xc7, 0x50, 0x8c, 0x63, 0x50, 0x17, 0xa1, 0x1e, 0x6c, 0x63, 0xb4, 0x65, 0xe8, 0xbe, 0x2e, 0x6e, 0xa3, 0xf3, 0xd2, 0xba, 0xe0, 0x9d, 0x80, 0x6f,
0x06, 0xbb, 0xeb, 0xab, 0xed, 0x2d, 0xb2, 0xed, 0xf8, 0xd2, 0x57, 0x81, 0x93, 0x56, 0x18, 0x85, 0x53, 0xf7, 0x75, 0x8d, 0xa3, 0x43, 0x83, 0x67, 0x7c, 0x06, 0x4a, 0x5d, 0x9d, 0x76, 0x5b, 0x8f,
0x69, 0x21, 0x18, 0x88, 0x6f, 0x4b, 0x4f, 0x9d, 0xe2, 0x84, 0x6f, 0xf8, 0xb6, 0xb1, 0x03, 0xcd, 0xc9, 0x80, 0xd6, 0x8a, 0x2b, 0xf9, 0xd5, 0x8a, 0x36, 0x1b, 0x10, 0xee, 0x91, 0x01, 0x0d, 0xf4,
0x0d, 0xd7, 0xea, 0x90, 0x6e, 0xe0, 0xda, 0x24, 0xe4, 0x81, 0x1f, 0x37, 0xa1, 0x1c, 0x59, 0xdb, 0x6a, 0x2e, 0x84, 0x62, 0x12, 0x85, 0xba, 0x00, 0x65, 0xcf, 0xdd, 0x6b, 0x6c, 0xb6, 0xda, 0x64,
0xf2, 0x64, 0x61, 0x8f, 0xf8, 0x0b, 0x30, 0x11, 0x0d, 0x7a, 0xb1, 0xcd, 0xbe, 0xa2, 0x0c, 0xc1, 0xc7, 0x74, 0x84, 0xad, 0x02, 0x23, 0x6d, 0x04, 0x94, 0x40, 0x0a, 0xce, 0x40, 0x1c, 0x43, 0x58,
0x29, 0x31, 0xef, 0x0d, 0x7a, 0xc4, 0xe4, 0x23, 0xf0, 0x02, 0x54, 0xf9, 0x15, 0xb1, 0x38, 0x73, 0xea, 0x2c, 0x23, 0x7c, 0xc3, 0x31, 0xd4, 0x5d, 0xa8, 0x6e, 0x5b, 0x7a, 0x87, 0x74, 0x5d, 0xcb,
0x34, 0x53, 0xbe, 0x19, 0x0f, 0x33, 0xf3, 0xae, 0x85, 0x41, 0xbf, 0x87, 0xd7, 0x41, 0xeb, 0xed, 0x20, 0x1e, 0x73, 0xfc, 0xb8, 0x0a, 0x79, 0x5f, 0xdf, 0x11, 0x37, 0x4b, 0xf0, 0x88, 0xbf, 0x20,
0xd1, 0x18, 0x08, 0xc5, 0x01, 0x3f, 0xaf, 0xb4, 0x99, 0x19, 0x6a, 0xfc, 0xab, 0x04, 0x8d, 0x4d, 0x4a, 0x30, 0x5c, 0x67, 0x5f, 0x91, 0xba, 0xe0, 0xd8, 0x34, 0xc3, 0xf2, 0x0b, 0x5e, 0x86, 0x22,
0x62, 0x85, 0x9d, 0xee, 0x49, 0xa8, 0x39, 0x19, 0xe2, 0x36, 0x75, 0xa5, 0xbb, 0xb0, 0x47, 0x7c, 0x2b, 0x44, 0xf3, 0x3b, 0x47, 0xd1, 0xc4, 0x9b, 0xfa, 0x30, 0xb1, 0xee, 0x96, 0xe7, 0xf6, 0x7b,
0x0d, 0x4e, 0xa7, 0x16, 0xd4, 0xde, 0x66, 0x00, 0xb5, 0xaa, 0xbc, 0x0b, 0xd3, 0xec, 0xe5, 0x81, 0xb8, 0x01, 0x4a, 0x6f, 0x48, 0x0b, 0x40, 0xc8, 0x76, 0xf8, 0x69, 0xa1, 0xb5, 0xc4, 0x50, 0xf5,
0xbb, 0x0d, 0x53, 0x36, 0x75, 0xdb, 0x7c, 0x8b, 0x26, 0xf9, 0x16, 0xa9, 0xd7, 0xb7, 0x4a, 0x5d, 0xdf, 0x39, 0xa8, 0x34, 0x89, 0xee, 0x75, 0xba, 0x27, 0x21, 0xe7, 0x0c, 0x10, 0x37, 0xa8, 0x25,
0xbe, 0x35, 0x93, 0xb6, 0x78, 0xc0, 0x77, 0xa1, 0x41, 0x39, 0x4a, 0x71, 0xc6, 0x35, 0x35, 0x6a, 0xcc, 0x25, 0x78, 0xc4, 0x57, 0xe1, 0x54, 0x6c, 0x43, 0xad, 0x9d, 0x00, 0xa0, 0x5a, 0x91, 0xf5,
0x62, 0xa0, 0x89, 0x71, 0x32, 0xe5, 0xfa, 0x0f, 0x82, 0x19, 0x93, 0x44, 0xa1, 0x43, 0x76, 0xc8, 0x7a, 0xaa, 0xbd, 0x34, 0x70, 0xb7, 0x60, 0xd6, 0xa0, 0x56, 0x8b, 0x1d, 0xd1, 0x0c, 0x3b, 0x22,
0x89, 0x00, 0xfc, 0x2a, 0x94, 0x1d, 0x9b, 0x72, 0xc0, 0xeb, 0xcb, 0x2d, 0xa5, 0x4b, 0xaf, 0xaf, 0xf9, 0xfe, 0x36, 0xa9, 0xc5, 0x8e, 0x66, 0xc6, 0xe0, 0x0f, 0xf8, 0x0e, 0x54, 0x28, 0x43, 0x29,
0x52, 0x93, 0x31, 0xe1, 0x97, 0xa1, 0x11, 0xf4, 0xa3, 0x5e, 0x3f, 0x6a, 0x0b, 0xd7, 0xe6, 0x9e, 0x8c, 0xb8, 0x66, 0xc7, 0x0d, 0x0c, 0x14, 0x3e, 0x4e, 0x84, 0x5c, 0xff, 0x45, 0x30, 0xaf, 0x11,
0x5c, 0x33, 0x35, 0x41, 0xe4, 0x9e, 0xcf, 0xef, 0xf0, 0x52, 0x08, 0xd0, 0xbe, 0x1b, 0xd1, 0xe7, 0xdf, 0x33, 0xc9, 0x2e, 0x39, 0x11, 0x80, 0x5f, 0x81, 0xbc, 0x69, 0x50, 0x06, 0x78, 0x79, 0xbd,
0x73, 0x67, 0xa9, 0x59, 0x69, 0x14, 0xcd, 0x72, 0x01, 0xaa, 0x7c, 0xd8, 0x00, 0x65, 0xdc, 0x87, 0x26, 0x35, 0xe9, 0xc6, 0x26, 0xd5, 0x02, 0x26, 0xfc, 0x32, 0x54, 0xdc, 0xbe, 0xdf, 0xeb, 0xfb,
0x89, 0x7b, 0x4e, 0xc4, 0xed, 0x8f, 0xd5, 0x0e, 0x88, 0xd7, 0x0e, 0xec, 0x11, 0xbf, 0x04, 0x2c, 0x2d, 0x6e, 0xda, 0xcc, 0x92, 0x4b, 0x9a, 0xc2, 0x89, 0xcc, 0xf2, 0x59, 0x0d, 0x2f, 0x86, 0x00,
0x46, 0x08, 0xb9, 0x25, 0xee, 0xb9, 0x93, 0x61, 0xb0, 0xcb, 0xa3, 0x1a, 0xef, 0x0a, 0x06, 0xa1, 0xed, 0x5b, 0x3e, 0x7d, 0x3e, 0x73, 0x16, 0x92, 0xe5, 0xc6, 0x91, 0x2c, 0xe5, 0xa0, 0xf2, 0x87,
0x74, 0xe9, 0x92, 0x29, 0xdf, 0x8c, 0x0f, 0xf6, 0x5c, 0x6e, 0x8c, 0xf5, 0x63, 0x98, 0xe8, 0x3a, 0x75, 0x50, 0xea, 0x3d, 0x98, 0xbe, 0x6b, 0xfa, 0x4c, 0xff, 0x82, 0xdc, 0x01, 0xb1, 0xdc, 0x21,
0xf2, 0xa2, 0x41, 0x33, 0xf9, 0xb3, 0xf1, 0x3d, 0x04, 0xda, 0x5d, 0xb7, 0x4f, 0x5f, 0x84, 0x33, 0x78, 0xc4, 0x2f, 0x41, 0xe0, 0x23, 0xf8, 0xbc, 0x39, 0x66, 0xb9, 0x33, 0x9e, 0xbb, 0xc7, 0xbc,
0xab, 0xee, 0x69, 0xcb, 0xea, 0x7b, 0xda, 0xbf, 0x21, 0x98, 0xdf, 0x20, 0x21, 0x75, 0x68, 0x44, 0x1a, 0xeb, 0x3d, 0xba, 0x9e, 0x30, 0xe9, 0x9c, 0x26, 0xde, 0xd4, 0xf7, 0x87, 0x26, 0x37, 0xc1,
0xfc, 0x48, 0x16, 0x6f, 0xeb, 0xfe, 0xa3, 0x20, 0x5b, 0x25, 0xa3, 0x5c, 0x95, 0xfc, 0xf9, 0xd4, 0xfe, 0x31, 0x4c, 0x77, 0x4d, 0x51, 0x68, 0x50, 0x34, 0xf6, 0xac, 0x7e, 0x17, 0x81, 0x72, 0xc7,
0x8c, 0x6c, 0x47, 0xfc, 0xbe, 0x27, 0xf2, 0x2d, 0x71, 0x6f, 0x31, 0xe9, 0xf7, 0x3d, 0x9e, 0x8c, 0xea, 0xd3, 0x17, 0x61, 0xcc, 0xb2, 0x72, 0x6e, 0x5e, 0x5a, 0xce, 0x55, 0xff, 0x8e, 0x60, 0x69,
0xdd, 0x8e, 0x73, 0x8a, 0x0a, 0x77, 0x7e, 0xb5, 0xfb, 0x4a, 0x7d, 0x33, 0x59, 0xc5, 0x4f, 0x45, 0x9b, 0x78, 0xd4, 0xa4, 0x3e, 0x71, 0x7c, 0x91, 0xbc, 0x35, 0x9c, 0x47, 0x6e, 0x32, 0x4b, 0x46,
0x2f, 0x40, 0xb9, 0xa8, 0xe7, 0xc7, 0x7a, 0x01, 0x24, 0xb8, 0x39, 0xa8, 0xff, 0x0f, 0x72, 0xfe, 0xa9, 0x2c, 0xf9, 0xb3, 0xc9, 0x19, 0x83, 0x13, 0x71, 0xfa, 0x36, 0x8f, 0xb7, 0x78, 0xdd, 0x62,
0x5a, 0xd0, 0xa1, 0xf8, 0x05, 0x82, 0xc5, 0x62, 0xad, 0xc6, 0x39, 0x2b, 0xbf, 0x06, 0x15, 0xc7, 0xc6, 0xe9, 0xdb, 0x2c, 0x18, 0xbb, 0x15, 0xc6, 0x14, 0x05, 0x66, 0xfc, 0x72, 0xf3, 0x15, 0xf2,
0x7f, 0x14, 0xc4, 0xb5, 0xc4, 0x55, 0xf5, 0xd1, 0xa2, 0x9c, 0x57, 0x0c, 0x34, 0xfe, 0x89, 0xa0, 0x26, 0xa2, 0x8a, 0x9f, 0xf0, 0x8e, 0x83, 0x74, 0x53, 0xcf, 0x8f, 0xf5, 0x32, 0x08, 0x70, 0x53,
0xf9, 0x6e, 0x9f, 0x84, 0x83, 0x23, 0xd8, 0x7e, 0x8f, 0x78, 0x6d, 0xea, 0x3c, 0x25, 0xf1, 0xf6, 0x50, 0x7f, 0x0e, 0x52, 0xf6, 0x9a, 0xd1, 0x07, 0xf9, 0x39, 0x82, 0x95, 0x6c, 0xa9, 0x26, 0xb9,
0x7b, 0xc4, 0xdb, 0x74, 0x9e, 0x92, 0x8c, 0x65, 0x54, 0xb2, 0x96, 0x91, 0x4d, 0xc7, 0xaa, 0x43, 0x2b, 0xbf, 0x0e, 0x05, 0xd3, 0x79, 0xe4, 0x86, 0xb9, 0xc4, 0x15, 0xf9, 0xd5, 0x22, 0x5d, 0x97,
0x6a, 0xc5, 0xc9, 0x4c, 0xad, 0x68, 0x3c, 0x43, 0xa0, 0xaf, 0x91, 0x28, 0xbf, 0xd4, 0xa3, 0x33, 0x0f, 0x54, 0xff, 0x85, 0xa0, 0xfa, 0x4e, 0x9f, 0x78, 0x83, 0x23, 0x38, 0x7e, 0x9b, 0xd8, 0x2d,
0x8a, 0x4f, 0x10, 0x9c, 0x55, 0x2a, 0x34, 0x8e, 0x3d, 0x7c, 0x29, 0x6b, 0x0f, 0xea, 0x54, 0x63, 0x6a, 0x3e, 0x25, 0xe1, 0xf1, 0xdb, 0xc4, 0x6e, 0x9a, 0x4f, 0x49, 0x42, 0x33, 0x0a, 0x49, 0xcd,
0xdf, 0x94, 0xd2, 0x14, 0xde, 0x04, 0x6d, 0xb5, 0xef, 0x79, 0x83, 0x18, 0x93, 0x4b, 0xa0, 0x85, 0x48, 0x86, 0x63, 0xc5, 0x11, 0xb9, 0xe2, 0x4c, 0x22, 0x57, 0x54, 0x9f, 0x21, 0xa8, 0x6f, 0x11,
0xe2, 0x51, 0x9c, 0xc4, 0x22, 0x7f, 0xaa, 0x4b, 0x1a, 0x3b, 0x6f, 0x8d, 0x6b, 0xd0, 0x90, 0x43, 0x3f, 0xbd, 0xd5, 0xa3, 0x53, 0x8a, 0x8f, 0x11, 0x9c, 0x91, 0x0a, 0x34, 0x89, 0x3e, 0x7c, 0x29,
0xa4, 0xd6, 0x3a, 0x4c, 0x85, 0xf2, 0x59, 0xf2, 0x27, 0xef, 0xc6, 0x3c, 0xcc, 0x9a, 0x64, 0x9b, 0xa9, 0x0f, 0xf2, 0x50, 0x63, 0xdf, 0x92, 0x42, 0x15, 0xde, 0x00, 0x65, 0xb3, 0x6f, 0xdb, 0x83,
0x59, 0x62, 0xf8, 0xb6, 0xe3, 0x3f, 0x96, 0xd3, 0xb0, 0xbc, 0x71, 0x2e, 0x4b, 0x97, 0xb2, 0xfe, 0x10, 0x93, 0x8b, 0xa0, 0x78, 0xfc, 0x91, 0xdf, 0xc4, 0x3c, 0x7e, 0x2a, 0x0b, 0x5a, 0x70, 0xdf,
0x1f, 0x26, 0x2d, 0xdb, 0x66, 0xd5, 0xdf, 0xd0, 0x6d, 0xf9, 0xba, 0xe0, 0x31, 0x63, 0xe6, 0x14, 0xaa, 0x57, 0xa1, 0x22, 0x86, 0x08, 0xa9, 0xeb, 0x30, 0xeb, 0x89, 0x67, 0xc1, 0x1f, 0xbd, 0xab,
0x72, 0xa5, 0x91, 0x91, 0xbb, 0xfa, 0x15, 0x98, 0xc9, 0x25, 0x7c, 0x78, 0x0a, 0x26, 0x1e, 0x04, 0x4b, 0xb0, 0xa0, 0x91, 0x9d, 0x40, 0x13, 0xbd, 0xb7, 0x4d, 0xe7, 0xb1, 0x58, 0x26, 0x88, 0x1b,
0x3e, 0x69, 0x9e, 0xc2, 0x4d, 0xd0, 0x56, 0x1c, 0xdf, 0x0a, 0x07, 0xef, 0x93, 0x4e, 0x14, 0x84, 0x17, 0x93, 0x74, 0x31, 0xd7, 0xe7, 0x61, 0x46, 0x37, 0x8c, 0x20, 0xfb, 0x1b, 0x79, 0x2c, 0x6f,
0x4d, 0x1b, 0xcf, 0x40, 0xfd, 0xae, 0x1b, 0x58, 0x91, 0x24, 0x90, 0xe5, 0xbf, 0x2c, 0x40, 0xe3, 0x71, 0x1e, 0x2d, 0x64, 0x8e, 0x21, 0x97, 0x1b, 0x1b, 0xb9, 0x2b, 0xd7, 0x78, 0x41, 0x2d, 0xd5,
0x1d, 0x3e, 0xcd, 0x26, 0x09, 0x77, 0x9c, 0x0e, 0xc1, 0x6d, 0x68, 0xe6, 0xff, 0x7d, 0xc1, 0xaf, 0x73, 0xc3, 0x33, 0x90, 0x7f, 0xcb, 0xb2, 0xaa, 0x53, 0x58, 0x81, 0xd9, 0x86, 0x73, 0x9f, 0xd8,
0x29, 0x37, 0xa4, 0xe0, 0x17, 0x19, 0x7d, 0x98, 0xe2, 0xc6, 0x29, 0xfc, 0x11, 0x4c, 0x67, 0xff, 0xae, 0x37, 0xa8, 0xa2, 0x2b, 0x5f, 0x85, 0xf9, 0x54, 0x78, 0x88, 0x67, 0x61, 0xfa, 0x81, 0xeb,
0x4a, 0xc1, 0x6a, 0xff, 0x57, 0xfe, 0xba, 0x72, 0x90, 0xf0, 0x36, 0x34, 0x32, 0x3f, 0x99, 0xe0, 0x90, 0xea, 0x14, 0xae, 0x82, 0xb2, 0x61, 0x3a, 0xba, 0x37, 0x78, 0x8f, 0x74, 0x7c, 0xd7, 0xab,
0x2b, 0x4a, 0xd9, 0xaa, 0x1f, 0x51, 0xf4, 0x4b, 0x4a, 0xd6, 0xf4, 0x8f, 0x20, 0x42, 0xfb, 0x6c, 0x1a, 0x78, 0x1e, 0xca, 0x77, 0x2c, 0x57, 0xf7, 0x05, 0x81, 0xac, 0xff, 0x65, 0x19, 0x2a, 0xf7,
0xaf, 0xbd, 0x40, 0x7b, 0x65, 0x43, 0xfe, 0x20, 0xed, 0x2d, 0x38, 0xbd, 0xaf, 0x75, 0x8e, 0x5f, 0x99, 0x50, 0x4d, 0xe2, 0xed, 0x9a, 0x1d, 0x82, 0x5b, 0x50, 0x4d, 0xff, 0x8f, 0x83, 0xaf, 0x49,
0x57, 0xca, 0x2f, 0x6a, 0xb1, 0x1f, 0x34, 0xc5, 0x2e, 0xe0, 0xfd, 0x3f, 0x53, 0xe0, 0xeb, 0xea, 0x8f, 0x2f, 0xe3, 0xb7, 0x9d, 0xfa, 0xa8, 0x6d, 0xaa, 0x53, 0xf8, 0x43, 0x98, 0x4b, 0xfe, 0x29,
0x1d, 0x28, 0xfa, 0x95, 0x44, 0xbf, 0x31, 0x32, 0x7f, 0x02, 0xdc, 0xf7, 0x11, 0x9c, 0x29, 0xe8, 0x83, 0xe5, 0xde, 0x42, 0xfa, 0x3b, 0xcd, 0x41, 0x93, 0xb7, 0xa0, 0x92, 0xf8, 0xf1, 0x05, 0x5f,
0x77, 0xe3, 0x9b, 0x4a, 0x71, 0xc3, 0x9b, 0xf6, 0xfa, 0x5b, 0x87, 0x1b, 0x94, 0x28, 0xe2, 0xc3, 0x96, 0xce, 0x2d, 0xfb, 0x39, 0xa6, 0x7e, 0x51, 0xca, 0x1a, 0xff, 0x39, 0x85, 0x4b, 0x9f, 0xec,
0x4c, 0xae, 0xc3, 0x8c, 0xaf, 0x29, 0x45, 0xa9, 0x7b, 0xe1, 0xfa, 0x6b, 0xa3, 0x31, 0x27, 0xf3, 0xff, 0x67, 0x48, 0x2f, 0xfd, 0x49, 0xe0, 0x20, 0xe9, 0x75, 0x38, 0xb5, 0xaf, 0x9d, 0x8f, 0x5f,
0x3d, 0x84, 0x99, 0x5c, 0x57, 0xb9, 0x60, 0x3e, 0x75, 0xef, 0xf9, 0xa0, 0x0d, 0xfd, 0x10, 0x1a, 0x93, 0xce, 0x9f, 0xd5, 0xf6, 0x3f, 0x68, 0x89, 0x3d, 0xc0, 0xfb, 0x7f, 0xf0, 0xc0, 0x6b, 0xf2,
0x99, 0xf6, 0x6f, 0x81, 0xc5, 0xab, 0x5a, 0xc4, 0x07, 0x89, 0x7e, 0x08, 0x5a, 0xba, 0x4b, 0x8b, 0x13, 0xc8, 0xfa, 0xbd, 0xa5, 0x7e, 0x7d, 0x6c, 0xfe, 0x08, 0xb8, 0xef, 0x21, 0x38, 0x9d, 0xd1,
0x97, 0x8a, 0x7c, 0x69, 0x9f, 0xe0, 0xc3, 0xb8, 0xd2, 0x5e, 0x83, 0x67, 0x88, 0x2b, 0xed, 0xeb, 0x83, 0xc7, 0x37, 0xa4, 0xd3, 0x8d, 0xfe, 0x91, 0xa0, 0xfe, 0xe6, 0xe1, 0x06, 0x45, 0x82, 0x38,
0x5b, 0x8d, 0xee, 0x4a, 0x29, 0xf9, 0x43, 0x5d, 0xe9, 0xd0, 0x53, 0x7c, 0x8c, 0x60, 0x41, 0xdd, 0x30, 0x9f, 0x32, 0x30, 0x7c, 0x75, 0x9c, 0xd6, 0x77, 0xb8, 0xee, 0xb5, 0xf1, 0x98, 0xa3, 0xf5,
0xe4, 0xc3, 0xcb, 0x45, 0xb6, 0x59, 0xdc, 0xce, 0xd4, 0x6f, 0x1e, 0x6a, 0x4c, 0x82, 0xe2, 0x63, 0x1e, 0xc2, 0x7c, 0xaa, 0x07, 0x9d, 0xb1, 0x9e, 0xbc, 0x53, 0x7d, 0xd0, 0x81, 0x7e, 0x00, 0x95,
0x98, 0xce, 0xb6, 0xc9, 0x0a, 0x50, 0x54, 0x76, 0xff, 0xf4, 0x6b, 0x23, 0xf1, 0x26, 0x93, 0x7d, 0x44, 0xb3, 0x38, 0x43, 0xe3, 0x65, 0x0d, 0xe5, 0x83, 0xa6, 0x7e, 0x08, 0x4a, 0xbc, 0xa7, 0x8b,
0x13, 0xea, 0xa9, 0x16, 0x06, 0x7e, 0x75, 0x88, 0x1d, 0xa7, 0x6f, 0xc8, 0x0e, 0x42, 0xb2, 0x0b, 0x57, 0xb3, 0x6c, 0x69, 0xdf, 0xc4, 0x87, 0x31, 0xa5, 0x61, 0x3b, 0x68, 0x84, 0x29, 0xed, 0xeb,
0x8d, 0xcc, 0xb5, 0x75, 0x91, 0x0d, 0x2b, 0xba, 0x09, 0xfa, 0xd5, 0x51, 0x58, 0x93, 0x05, 0x74, 0x72, 0x8d, 0x6f, 0x4a, 0xb1, 0xf9, 0x47, 0x9a, 0xd2, 0xa1, 0x97, 0xf8, 0x08, 0xc1, 0xb2, 0xbc,
0xa1, 0x91, 0xb9, 0x44, 0x2c, 0x98, 0x49, 0x75, 0x67, 0x5a, 0x30, 0x93, 0xf2, 0x4e, 0xd2, 0x38, 0x25, 0x88, 0xd7, 0xb3, 0x74, 0x33, 0xbb, 0xf9, 0x59, 0xbf, 0x71, 0xa8, 0x31, 0x11, 0x8a, 0x8f,
0x85, 0xbf, 0x93, 0xba, 0xaf, 0xcc, 0xdc, 0x09, 0xe3, 0x37, 0x87, 0xca, 0x51, 0x5d, 0x89, 0xeb, 0x61, 0x2e, 0xd9, 0x54, 0xcb, 0x40, 0x51, 0xda, 0x2b, 0xac, 0x5f, 0x1d, 0x8b, 0x37, 0x5a, 0xec,
0xcb, 0x87, 0x19, 0x92, 0xa8, 0xf0, 0x2e, 0xd4, 0x92, 0xbb, 0x4a, 0x7c, 0xb9, 0x30, 0x2c, 0x1c, 0x9b, 0x50, 0x8e, 0x35, 0x3c, 0xf0, 0xab, 0x23, 0xf4, 0x38, 0x5e, 0x4f, 0x3b, 0x08, 0xc9, 0x2e,
0x66, 0xa7, 0x36, 0xa1, 0x2a, 0x2e, 0xcb, 0xb0, 0x51, 0xd0, 0x00, 0x48, 0x5d, 0x2a, 0xea, 0x2f, 0x54, 0x12, 0x45, 0xee, 0x2c, 0x1d, 0x96, 0xf4, 0x1e, 0xea, 0x57, 0xc6, 0x61, 0x8d, 0x36, 0xd0,
0x0f, 0xe5, 0x49, 0xf4, 0x34, 0xa1, 0x2a, 0x2a, 0xd6, 0x02, 0xa1, 0x99, 0x1b, 0x24, 0x7d, 0x38, 0x85, 0x4a, 0xa2, 0xe4, 0x98, 0xb1, 0x92, 0xac, 0xc2, 0x9a, 0xb1, 0x92, 0xb4, 0x82, 0xa9, 0x4e,
0x0f, 0x2f, 0x79, 0x8d, 0x53, 0xf8, 0x03, 0x98, 0x8a, 0xef, 0x01, 0xf0, 0x2b, 0x05, 0x6e, 0x9f, 0xe1, 0xef, 0xc4, 0xaa, 0x9b, 0x89, 0x0a, 0x32, 0x7e, 0x63, 0xe4, 0x3c, 0xb2, 0x02, 0x7a, 0x7d,
0xb9, 0x28, 0xd1, 0x0f, 0xe2, 0x8a, 0x25, 0xaf, 0x43, 0x85, 0x17, 0xc1, 0x58, 0x1d, 0xe4, 0xd2, 0xfd, 0x30, 0x43, 0x22, 0x11, 0xde, 0x81, 0x52, 0x54, 0xd9, 0xc4, 0x97, 0x32, 0xdd, 0xc2, 0x61,
0x05, 0xf2, 0x41, 0x68, 0xfe, 0x10, 0x41, 0xab, 0xa8, 0xc2, 0xc2, 0x85, 0xe7, 0xdb, 0xb0, 0x32, 0x4e, 0xaa, 0x09, 0x45, 0x5e, 0x5a, 0xc3, 0x6a, 0x46, 0xbb, 0x20, 0x56, 0x82, 0xac, 0xbf, 0x3c,
0x51, 0xbf, 0x75, 0xc8, 0x51, 0xc9, 0x26, 0x3c, 0x85, 0x59, 0x45, 0x5e, 0x8f, 0x6f, 0x14, 0xc9, 0x92, 0x27, 0x92, 0x53, 0x83, 0x22, 0xcf, 0x6f, 0x33, 0x26, 0x4d, 0xd4, 0x9b, 0xea, 0xa3, 0x79,
0x2b, 0x28, 0x49, 0xf4, 0x37, 0x46, 0x1f, 0x90, 0xcc, 0xbd, 0x01, 0x15, 0x9e, 0x8f, 0x17, 0x40, 0x58, 0x82, 0xac, 0x4e, 0xe1, 0xf7, 0x61, 0x36, 0xac, 0x1a, 0xe0, 0x57, 0x32, 0xcc, 0x3e, 0x51,
0x9a, 0x4e, 0xef, 0x0b, 0xb6, 0x3f, 0x93, 0xce, 0x1b, 0xa7, 0x30, 0x01, 0x2d, 0x9d, 0x9c, 0x17, 0x56, 0xa9, 0x1f, 0xc4, 0x15, 0xce, 0xdc, 0x80, 0x02, 0x4b, 0x99, 0xb1, 0xdc, 0xc9, 0xc5, 0xd3,
0x1c, 0x5d, 0x8a, 0xbc, 0x5e, 0xbf, 0x32, 0x02, 0x67, 0x3c, 0xcd, 0x72, 0x1f, 0xb4, 0x8d, 0x30, 0xe9, 0x83, 0xd0, 0xfc, 0x01, 0x82, 0x5a, 0x56, 0x3e, 0x86, 0x33, 0xef, 0xb7, 0x51, 0x49, 0x65,
0x78, 0x32, 0x88, 0x93, 0xe7, 0xff, 0xcd, 0xb4, 0x2b, 0xb7, 0xbe, 0x75, 0x73, 0xdb, 0x89, 0xba, 0xfd, 0xe6, 0x21, 0x47, 0x45, 0x87, 0xf0, 0x14, 0x16, 0x24, 0x59, 0x00, 0xbe, 0x9e, 0x35, 0x5f,
0xfd, 0x2d, 0x66, 0x51, 0x37, 0x04, 0xef, 0xeb, 0x4e, 0x20, 0x9f, 0x6e, 0x38, 0x7e, 0x44, 0x42, 0x46, 0x02, 0x53, 0x7f, 0x7d, 0xfc, 0x01, 0xd1, 0xda, 0xdb, 0x50, 0x60, 0xd1, 0x7b, 0x06, 0xa4,
0xdf, 0x72, 0x6f, 0x70, 0x59, 0x92, 0xda, 0xdb, 0xda, 0xaa, 0xf2, 0xf7, 0x9b, 0xff, 0x0d, 0x00, 0xf1, 0x64, 0x20, 0xe3, 0xf8, 0x13, 0xc1, 0xbf, 0x3a, 0x85, 0x09, 0x28, 0xf1, 0x50, 0x3e, 0xe3,
0x00, 0xff, 0xff, 0x39, 0x70, 0x98, 0x72, 0x1f, 0x2f, 0x00, 0x00, 0xea, 0x92, 0x64, 0x01, 0xf5, 0xcb, 0x63, 0x70, 0x86, 0xcb, 0xac, 0xf7, 0x41, 0xd9, 0xf6, 0xdc,
0x27, 0x83, 0x30, 0x78, 0xfe, 0xff, 0x2c, 0xbb, 0x71, 0xf3, 0x5b, 0x37, 0x76, 0x4c, 0xbf, 0xdb,
0x6f, 0x07, 0x1a, 0x75, 0x9d, 0xf3, 0xbe, 0x66, 0xba, 0xe2, 0xe9, 0xba, 0xe9, 0xf8, 0xc4, 0x73,
0x74, 0xeb, 0x3a, 0x9b, 0x4b, 0x50, 0x7b, 0xed, 0x76, 0x91, 0xbd, 0xdf, 0xf8, 0x5f, 0x00, 0x00,
0x00, 0xff, 0xff, 0x64, 0xcb, 0x0a, 0x02, 0xb3, 0x2f, 0x00, 0x00,
} }
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.

View File

@ -413,6 +413,7 @@ func (node *ProxyNode) ShowCollections(ctx context.Context, request *milvuspb.Sh
Condition: NewTaskCondition(ctx), Condition: NewTaskCondition(ctx),
ShowCollectionsRequest: request, ShowCollectionsRequest: request,
masterService: node.masterService, masterService: node.masterService,
queryService: node.queryService,
} }
err := node.sched.DdQueue.Enqueue(sct) err := node.sched.DdQueue.Enqueue(sct)

View File

@ -1964,6 +1964,7 @@ type ShowCollectionsTask struct {
*milvuspb.ShowCollectionsRequest *milvuspb.ShowCollectionsRequest
ctx context.Context ctx context.Context
masterService types.MasterService masterService types.MasterService
queryService types.QueryService
result *milvuspb.ShowCollectionsResponse result *milvuspb.ShowCollectionsResponse
} }
@ -2013,14 +2014,64 @@ func (sct *ShowCollectionsTask) PreExecute(ctx context.Context) error {
func (sct *ShowCollectionsTask) Execute(ctx context.Context) error { func (sct *ShowCollectionsTask) Execute(ctx context.Context) error {
var err error var err error
sct.result, err = sct.masterService.ShowCollections(ctx, sct.ShowCollectionsRequest)
if sct.result == nil { respFromMaster, err := sct.masterService.ShowCollections(ctx, sct.ShowCollectionsRequest)
return errors.New("get collection statistics resp is nil")
if err != nil {
return err
} }
if sct.result.Status.ErrorCode != commonpb.ErrorCode_Success {
return errors.New(sct.result.Status.Reason) if respFromMaster == nil {
return errors.New("failed to show collections")
} }
return err
if respFromMaster.Status.ErrorCode != commonpb.ErrorCode_Success {
return errors.New(respFromMaster.Status.Reason)
}
if sct.ShowCollectionsRequest.Type == milvuspb.ShowCollectionsType_InMemory {
resp, err := sct.queryService.ShowCollections(ctx, &querypb.ShowCollectionsRequest{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_ShowCollections,
MsgID: sct.ShowCollectionsRequest.Base.MsgID,
Timestamp: sct.ShowCollectionsRequest.Base.Timestamp,
SourceID: sct.ShowCollectionsRequest.Base.SourceID,
},
//DbID: sct.ShowCollectionsRequest.DbName,
})
if err != nil {
return err
}
if resp == nil {
return errors.New("failed to show collections")
}
if resp.Status.ErrorCode != commonpb.ErrorCode_Success {
return errors.New(resp.Status.Reason)
}
sct.result = &milvuspb.ShowCollectionsResponse{
Status: resp.Status,
CollectionNames: make([]string, 0, len(resp.CollectionIDs)),
CollectionIds: make([]int64, 0, len(resp.CollectionIDs)),
}
idMap := make(map[int64]string)
for i, name := range respFromMaster.CollectionNames {
idMap[respFromMaster.CollectionIds[i]] = name
}
for _, id := range resp.CollectionIDs {
sct.result.CollectionIds = append(sct.result.CollectionIds, id)
sct.result.CollectionNames = append(sct.result.CollectionNames, idMap[id])
}
}
sct.result = respFromMaster
return nil
} }
func (sct *ShowCollectionsTask) PostExecute(ctx context.Context) error { func (sct *ShowCollectionsTask) PostExecute(ctx context.Context) error {