diff --git a/internal/core/src/pb/milvus.pb.cc b/internal/core/src/pb/milvus.pb.cc index 37ba1ddd8d..c410c5805d 100644 --- a/internal/core/src/pb/milvus.pb.cc +++ b/internal/core/src/pb/milvus.pb.cc @@ -1766,6 +1766,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::DescribeSegmentResponse, indexid_), PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::DescribeSegmentResponse, buildid_), PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::DescribeSegmentResponse, enable_index_), + PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::DescribeSegmentResponse, fieldid_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowSegmentsRequest, _internal_metadata_), ~0u, // no _extensions_ @@ -2220,56 +2221,56 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 216, -1, sizeof(::milvus::proto::milvus::ShowPartitionsResponse)}, { 227, -1, sizeof(::milvus::proto::milvus::DescribeSegmentRequest)}, { 235, -1, sizeof(::milvus::proto::milvus::DescribeSegmentResponse)}, - { 244, -1, sizeof(::milvus::proto::milvus::ShowSegmentsRequest)}, - { 252, -1, sizeof(::milvus::proto::milvus::ShowSegmentsResponse)}, - { 259, -1, sizeof(::milvus::proto::milvus::CreateIndexRequest)}, - { 269, -1, sizeof(::milvus::proto::milvus::DescribeIndexRequest)}, - { 279, -1, sizeof(::milvus::proto::milvus::IndexDescription)}, - { 288, -1, sizeof(::milvus::proto::milvus::DescribeIndexResponse)}, - { 295, -1, sizeof(::milvus::proto::milvus::GetIndexBuildProgressRequest)}, - { 305, -1, sizeof(::milvus::proto::milvus::GetIndexBuildProgressResponse)}, - { 313, -1, sizeof(::milvus::proto::milvus::GetIndexStateRequest)}, - { 323, -1, sizeof(::milvus::proto::milvus::GetIndexStateResponse)}, - { 331, -1, sizeof(::milvus::proto::milvus::DropIndexRequest)}, - { 341, -1, sizeof(::milvus::proto::milvus::InsertRequest)}, - { 353, -1, sizeof(::milvus::proto::milvus::MutationResult)}, - { 367, -1, sizeof(::milvus::proto::milvus::DeleteRequest)}, - { 378, -1, sizeof(::milvus::proto::milvus::PlaceholderValue)}, - { 386, -1, sizeof(::milvus::proto::milvus::PlaceholderGroup)}, - { 392, -1, sizeof(::milvus::proto::milvus::SearchRequest)}, - { 408, -1, sizeof(::milvus::proto::milvus::Hits)}, - { 416, -1, sizeof(::milvus::proto::milvus::SearchResults)}, - { 423, -1, sizeof(::milvus::proto::milvus::FlushRequest)}, - { 431, 438, sizeof(::milvus::proto::milvus::FlushResponse_CollSegIDsEntry_DoNotUse)}, - { 440, -1, sizeof(::milvus::proto::milvus::FlushResponse)}, - { 448, -1, sizeof(::milvus::proto::milvus::QueryRequest)}, - { 461, -1, sizeof(::milvus::proto::milvus::QueryResults)}, - { 468, -1, sizeof(::milvus::proto::milvus::VectorIDs)}, - { 477, -1, sizeof(::milvus::proto::milvus::VectorsArray)}, - { 485, -1, sizeof(::milvus::proto::milvus::CalcDistanceRequest)}, - { 494, -1, sizeof(::milvus::proto::milvus::CalcDistanceResults)}, - { 503, -1, sizeof(::milvus::proto::milvus::PersistentSegmentInfo)}, - { 513, -1, sizeof(::milvus::proto::milvus::GetPersistentSegmentInfoRequest)}, - { 521, -1, sizeof(::milvus::proto::milvus::GetPersistentSegmentInfoResponse)}, - { 528, -1, sizeof(::milvus::proto::milvus::QuerySegmentInfo)}, - { 542, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoRequest)}, - { 550, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoResponse)}, - { 557, -1, sizeof(::milvus::proto::milvus::DummyRequest)}, - { 563, -1, sizeof(::milvus::proto::milvus::DummyResponse)}, - { 569, -1, sizeof(::milvus::proto::milvus::RegisterLinkRequest)}, - { 574, -1, sizeof(::milvus::proto::milvus::RegisterLinkResponse)}, - { 581, -1, sizeof(::milvus::proto::milvus::GetMetricsRequest)}, - { 588, -1, sizeof(::milvus::proto::milvus::GetMetricsResponse)}, - { 596, -1, sizeof(::milvus::proto::milvus::LoadBalanceRequest)}, - { 605, -1, sizeof(::milvus::proto::milvus::ManualCompactionRequest)}, - { 612, -1, sizeof(::milvus::proto::milvus::ManualCompactionResponse)}, - { 619, -1, sizeof(::milvus::proto::milvus::GetCompactionStateRequest)}, - { 625, -1, sizeof(::milvus::proto::milvus::GetCompactionStateResponse)}, - { 635, -1, sizeof(::milvus::proto::milvus::GetCompactionPlansRequest)}, - { 641, -1, sizeof(::milvus::proto::milvus::GetCompactionPlansResponse)}, - { 649, -1, sizeof(::milvus::proto::milvus::CompactionMergeInfo)}, - { 656, -1, sizeof(::milvus::proto::milvus::GetFlushStateRequest)}, - { 662, -1, sizeof(::milvus::proto::milvus::GetFlushStateResponse)}, + { 245, -1, sizeof(::milvus::proto::milvus::ShowSegmentsRequest)}, + { 253, -1, sizeof(::milvus::proto::milvus::ShowSegmentsResponse)}, + { 260, -1, sizeof(::milvus::proto::milvus::CreateIndexRequest)}, + { 270, -1, sizeof(::milvus::proto::milvus::DescribeIndexRequest)}, + { 280, -1, sizeof(::milvus::proto::milvus::IndexDescription)}, + { 289, -1, sizeof(::milvus::proto::milvus::DescribeIndexResponse)}, + { 296, -1, sizeof(::milvus::proto::milvus::GetIndexBuildProgressRequest)}, + { 306, -1, sizeof(::milvus::proto::milvus::GetIndexBuildProgressResponse)}, + { 314, -1, sizeof(::milvus::proto::milvus::GetIndexStateRequest)}, + { 324, -1, sizeof(::milvus::proto::milvus::GetIndexStateResponse)}, + { 332, -1, sizeof(::milvus::proto::milvus::DropIndexRequest)}, + { 342, -1, sizeof(::milvus::proto::milvus::InsertRequest)}, + { 354, -1, sizeof(::milvus::proto::milvus::MutationResult)}, + { 368, -1, sizeof(::milvus::proto::milvus::DeleteRequest)}, + { 379, -1, sizeof(::milvus::proto::milvus::PlaceholderValue)}, + { 387, -1, sizeof(::milvus::proto::milvus::PlaceholderGroup)}, + { 393, -1, sizeof(::milvus::proto::milvus::SearchRequest)}, + { 409, -1, sizeof(::milvus::proto::milvus::Hits)}, + { 417, -1, sizeof(::milvus::proto::milvus::SearchResults)}, + { 424, -1, sizeof(::milvus::proto::milvus::FlushRequest)}, + { 432, 439, sizeof(::milvus::proto::milvus::FlushResponse_CollSegIDsEntry_DoNotUse)}, + { 441, -1, sizeof(::milvus::proto::milvus::FlushResponse)}, + { 449, -1, sizeof(::milvus::proto::milvus::QueryRequest)}, + { 462, -1, sizeof(::milvus::proto::milvus::QueryResults)}, + { 469, -1, sizeof(::milvus::proto::milvus::VectorIDs)}, + { 478, -1, sizeof(::milvus::proto::milvus::VectorsArray)}, + { 486, -1, sizeof(::milvus::proto::milvus::CalcDistanceRequest)}, + { 495, -1, sizeof(::milvus::proto::milvus::CalcDistanceResults)}, + { 504, -1, sizeof(::milvus::proto::milvus::PersistentSegmentInfo)}, + { 514, -1, sizeof(::milvus::proto::milvus::GetPersistentSegmentInfoRequest)}, + { 522, -1, sizeof(::milvus::proto::milvus::GetPersistentSegmentInfoResponse)}, + { 529, -1, sizeof(::milvus::proto::milvus::QuerySegmentInfo)}, + { 543, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoRequest)}, + { 551, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoResponse)}, + { 558, -1, sizeof(::milvus::proto::milvus::DummyRequest)}, + { 564, -1, sizeof(::milvus::proto::milvus::DummyResponse)}, + { 570, -1, sizeof(::milvus::proto::milvus::RegisterLinkRequest)}, + { 575, -1, sizeof(::milvus::proto::milvus::RegisterLinkResponse)}, + { 582, -1, sizeof(::milvus::proto::milvus::GetMetricsRequest)}, + { 589, -1, sizeof(::milvus::proto::milvus::GetMetricsResponse)}, + { 597, -1, sizeof(::milvus::proto::milvus::LoadBalanceRequest)}, + { 606, -1, sizeof(::milvus::proto::milvus::ManualCompactionRequest)}, + { 613, -1, sizeof(::milvus::proto::milvus::ManualCompactionResponse)}, + { 620, -1, sizeof(::milvus::proto::milvus::GetCompactionStateRequest)}, + { 626, -1, sizeof(::milvus::proto::milvus::GetCompactionStateResponse)}, + { 636, -1, sizeof(::milvus::proto::milvus::GetCompactionPlansRequest)}, + { 642, -1, sizeof(::milvus::proto::milvus::GetCompactionPlansResponse)}, + { 650, -1, sizeof(::milvus::proto::milvus::CompactionMergeInfo)}, + { 657, -1, sizeof(::milvus::proto::milvus::GetFlushStateRequest)}, + { 663, -1, sizeof(::milvus::proto::milvus::GetFlushStateResponse)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -2448,278 +2449,279 @@ const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE( "\005 \003(\004\022\034\n\024inMemory_percentages\030\006 \003(\003\"m\n\026D" "escribeSegmentRequest\022*\n\004base\030\001 \001(\0132\034.mi" "lvus.proto.common.MsgBase\022\024\n\014collectionI" - "D\030\002 \001(\003\022\021\n\tsegmentID\030\003 \001(\003\"~\n\027DescribeSe" - "gmentResponse\022+\n\006status\030\001 \001(\0132\033.milvus.p" - "roto.common.Status\022\017\n\007indexID\030\002 \001(\003\022\017\n\007b" - "uildID\030\003 \001(\003\022\024\n\014enable_index\030\004 \001(\010\"l\n\023Sh" - "owSegmentsRequest\022*\n\004base\030\001 \001(\0132\034.milvus" - ".proto.common.MsgBase\022\024\n\014collectionID\030\002 " - "\001(\003\022\023\n\013partitionID\030\003 \001(\003\"W\n\024ShowSegments" - "Response\022+\n\006status\030\001 \001(\0132\033.milvus.proto." - "common.Status\022\022\n\nsegmentIDs\030\002 \003(\003\"\267\001\n\022Cr" - "eateIndexRequest\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\022\n\nfield_name\030\004 \001" - "(\t\0227\n\014extra_params\030\005 \003(\0132!.milvus.proto." - "common.KeyValuePair\"\224\001\n\024DescribeIndexReq" - "uest\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\022\n\nfield_name\030\004 \001(\t\022\022\n\nindex_" - "name\030\005 \001(\t\"~\n\020IndexDescription\022\022\n\nindex_" - "name\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\nfield_name\030\004 \001(\t\"\207\001\n\025DescribeIndexResp" - "onse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.comm" - "on.Status\022A\n\022index_descriptions\030\002 \003(\0132%." - "milvus.proto.milvus.IndexDescription\"\234\001\n" - "\034GetIndexBuildProgressRequest\022*\n\004base\030\001 " + "D\030\002 \001(\003\022\021\n\tsegmentID\030\003 \001(\003\"\217\001\n\027DescribeS" + "egmentResponse\022+\n\006status\030\001 \001(\0132\033.milvus." + "proto.common.Status\022\017\n\007indexID\030\002 \001(\003\022\017\n\007" + "buildID\030\003 \001(\003\022\024\n\014enable_index\030\004 \001(\010\022\017\n\007f" + "ieldID\030\005 \001(\003\"l\n\023ShowSegmentsRequest\022*\n\004b" + "ase\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022" + "\024\n\014collectionID\030\002 \001(\003\022\023\n\013partitionID\030\003 \001" + "(\003\"W\n\024ShowSegmentsResponse\022+\n\006status\030\001 \001" + "(\0132\033.milvus.proto.common.Status\022\022\n\nsegme" + "ntIDs\030\002 \003(\003\"\267\001\n\022CreateIndexRequest\022*\n\004ba" + "se\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\022\n\nfield_name\030\004 \001(\t\0227\n\014extra_params\030\005 \003" + "(\0132!.milvus.proto.common.KeyValuePair\"\224\001" + "\n\024DescribeIndexRequest\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\022\n\nfield_na" + "me\030\004 \001(\t\022\022\n\nindex_name\030\005 \001(\t\"~\n\020IndexDes" + "cription\022\022\n\nindex_name\030\001 \001(\t\022\017\n\007indexID\030" + "\002 \001(\003\0221\n\006params\030\003 \003(\0132!.milvus.proto.com" + "mon.KeyValuePair\022\022\n\nfield_name\030\004 \001(\t\"\207\001\n" + "\025DescribeIndexResponse\022+\n\006status\030\001 \001(\0132\033" + ".milvus.proto.common.Status\022A\n\022index_des" + "criptions\030\002 \003(\0132%.milvus.proto.milvus.In" + "dexDescription\"\234\001\n\034GetIndexBuildProgress" + "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\022\n\nfield_name\030\004 \001(\t\022\022\n\nind" + "ex_name\030\005 \001(\t\"v\n\035GetIndexBuildProgressRe" + "sponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.co" + "mmon.Status\022\024\n\014indexed_rows\030\002 \001(\003\022\022\n\ntot" + "al_rows\030\003 \001(\003\"\224\001\n\024GetIndexStateRequest\022*" + "\n\004base\030\001 \001(\0132\034.milvus.proto.common.MsgBa" + "se\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\"\211\001\n\025GetIndexStateResponse\022+\n\006status" + "\030\001 \001(\0132\033.milvus.proto.common.Status\022.\n\005s" + "tate\030\002 \001(\0162\037.milvus.proto.common.IndexSt" + "ate\022\023\n\013fail_reason\030\003 \001(\t\"\220\001\n\020DropIndexRe" + "quest\022*\n\004base\030\001 \001(\0132\034.milvus.proto.commo" + "n.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\"\327\001\n\rInsertRequest\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\022\n\nf" - "ield_name\030\004 \001(\t\022\022\n\nindex_name\030\005 \001(\t\"v\n\035G" - "etIndexBuildProgressResponse\022+\n\006status\030\001" - " \001(\0132\033.milvus.proto.common.Status\022\024\n\014ind" - "exed_rows\030\002 \001(\003\022\022\n\ntotal_rows\030\003 \001(\003\"\224\001\n\024" - "GetIndexStateRequest\022*\n\004base\030\001 \001(\0132\034.mil" - "vus.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\"\211\001\n\025GetIndexS" - "tateResponse\022+\n\006status\030\001 \001(\0132\033.milvus.pr" - "oto.common.Status\022.\n\005state\030\002 \001(\0162\037.milvu" - "s.proto.common.IndexState\022\023\n\013fail_reason" - "\030\003 \001(\t\"\220\001\n\020DropIndexRequest\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\"\327\001\n\rIn" - "sertRequest\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\0223\n\013fields_data\030\005 \003(\0132\036.milvus.proto.sc" - "hema.FieldData\022\021\n\thash_keys\030\006 \003(\r\022\020\n\010num" - "_rows\030\007 \001(\r\"\360\001\n\016MutationResult\022+\n\006status" - "\030\001 \001(\0132\033.milvus.proto.common.Status\022%\n\003I" - "Ds\030\002 \001(\0132\030.milvus.proto.schema.IDs\022\022\n\nsu" - "cc_index\030\003 \003(\r\022\021\n\terr_index\030\004 \003(\r\022\024\n\014ack" - "nowledged\030\005 \001(\010\022\022\n\ninsert_cnt\030\006 \001(\003\022\022\n\nd" - "elete_cnt\030\007 \001(\003\022\022\n\nupsert_cnt\030\010 \001(\003\022\021\n\tt" - "imestamp\030\t \001(\004\"\236\001\n\rDeleteRequest\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\026" - "\n\016partition_name\030\004 \001(\t\022\014\n\004expr\030\005 \001(\t\022\021\n\t" - "hash_keys\030\006 \003(\r\"c\n\020PlaceholderValue\022\013\n\003t" - "ag\030\001 \001(\t\0222\n\004type\030\002 \001(\0162$.milvus.proto.mi" - "lvus.PlaceholderType\022\016\n\006values\030\003 \003(\014\"O\n\020" - "PlaceholderGroup\022;\n\014placeholders\030\001 \003(\0132%" - ".milvus.proto.milvus.PlaceholderValue\"\336\002" - "\n\rSearchRequest\022*\n\004base\030\001 \001(\0132\034.milvus.p" - "roto.common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017" - "collection_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\021placeholder_group" - "\030\006 \001(\014\022.\n\010dsl_type\030\007 \001(\0162\034.milvus.proto." - "common.DslType\022\025\n\routput_fields\030\010 \003(\t\0228\n" - "\rsearch_params\030\t \003(\0132!.milvus.proto.comm" - "on.KeyValuePair\022\030\n\020travel_timestamp\030\n \001(" - "\004\022\033\n\023guarantee_timestamp\030\013 \001(\004\"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\"t\n\rSearchResults\022+\n\006status\030\001 \001(\0132\033" - ".milvus.proto.common.Status\0226\n\007results\030\002" - " \001(\0132%.milvus.proto.schema.SearchResultD" - "ata\"e\n\014FlushRequest\022*\n\004base\030\001 \001(\0132\034.milv" - "us.proto.common.MsgBase\022\017\n\007db_name\030\002 \001(\t" - "\022\030\n\020collection_names\030\003 \003(\t\"\351\001\n\rFlushResp" - "onse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.comm" - "on.Status\022\017\n\007db_name\030\002 \001(\t\022G\n\013coll_segID" - "s\030\003 \003(\01322.milvus.proto.milvus.FlushRespo" - "nse.CollSegIDsEntry\032Q\n\017CollSegIDsEntry\022\013" - "\n\003key\030\001 \001(\t\022-\n\005value\030\002 \001(\0132\036.milvus.prot" - "o.schema.LongArray:\0028\001\"\331\001\n\014QueryRequest\022" + "name\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\026\n\016p" + "artition_name\030\004 \001(\t\0223\n\013fields_data\030\005 \003(\013" + "2\036.milvus.proto.schema.FieldData\022\021\n\thash" + "_keys\030\006 \003(\r\022\020\n\010num_rows\030\007 \001(\r\"\360\001\n\016Mutati" + "onResult\022+\n\006status\030\001 \001(\0132\033.milvus.proto." + "common.Status\022%\n\003IDs\030\002 \001(\0132\030.milvus.prot" + "o.schema.IDs\022\022\n\nsucc_index\030\003 \003(\r\022\021\n\terr_" + "index\030\004 \003(\r\022\024\n\014acknowledged\030\005 \001(\010\022\022\n\nins" + "ert_cnt\030\006 \001(\003\022\022\n\ndelete_cnt\030\007 \001(\003\022\022\n\nups" + "ert_cnt\030\010 \001(\003\022\021\n\ttimestamp\030\t \001(\004\"\236\001\n\rDel" + "eteRequest\022*\n\004base\030\001 \001(\0132\034.milvus.proto." + "common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017colle" + "ction_name\030\003 \001(\t\022\026\n\016partition_name\030\004 \001(\t" + "\022\014\n\004expr\030\005 \001(\t\022\021\n\thash_keys\030\006 \003(\r\"c\n\020Pla" + "ceholderValue\022\013\n\003tag\030\001 \001(\t\0222\n\004type\030\002 \001(\016" + "2$.milvus.proto.milvus.PlaceholderType\022\016" + "\n\006values\030\003 \003(\014\"O\n\020PlaceholderGroup\022;\n\014pl" + "aceholders\030\001 \003(\0132%.milvus.proto.milvus.P" + "laceholderValue\"\336\002\n\rSearchRequest\022*\n\004bas" + "e\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\022\013\n\003dsl\030\005 \001(\t\022\031\n" + "\021placeholder_group\030\006 \001(\014\022.\n\010dsl_type\030\007 \001" + "(\0162\034.milvus.proto.common.DslType\022\025\n\routp" + "ut_fields\030\010 \003(\t\0228\n\rsearch_params\030\t \003(\0132!" + ".milvus.proto.common.KeyValuePair\022\030\n\020tra" + "vel_timestamp\030\n \001(\004\022\033\n\023guarantee_timesta" + "mp\030\013 \001(\004\"5\n\004Hits\022\013\n\003IDs\030\001 \003(\003\022\020\n\010row_dat" + "a\030\002 \003(\014\022\016\n\006scores\030\003 \003(\002\"t\n\rSearchResults" + "\022+\n\006status\030\001 \001(\0132\033.milvus.proto.common.S" + "tatus\0226\n\007results\030\002 \001(\0132%.milvus.proto.sc" + "hema.SearchResultData\"e\n\014FlushRequest\022*\n" + "\004base\030\001 \001(\0132\034.milvus.proto.common.MsgBas" + "e\022\017\n\007db_name\030\002 \001(\t\022\030\n\020collection_names\030\003" + " \003(\t\"\351\001\n\rFlushResponse\022+\n\006status\030\001 \001(\0132\033" + ".milvus.proto.common.Status\022\017\n\007db_name\030\002" + " \001(\t\022G\n\013coll_segIDs\030\003 \003(\01322.milvus.proto" + ".milvus.FlushResponse.CollSegIDsEntry\032Q\n" + "\017CollSegIDsEntry\022\013\n\003key\030\001 \001(\t\022-\n\005value\030\002" + " \001(\0132\036.milvus.proto.schema.LongArray:\0028\001" + "\"\331\001\n\014QueryRequest\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\014\n\004expr\030\004 \001(\t\022\025\n" + "\routput_fields\030\005 \003(\t\022\027\n\017partition_names\030" + "\006 \003(\t\022\030\n\020travel_timestamp\030\007 \001(\004\022\033\n\023guara" + "ntee_timestamp\030\010 \001(\004\"p\n\014QueryResults\022+\n\006" + "status\030\001 \001(\0132\033.milvus.proto.common.Statu" + "s\0223\n\013fields_data\030\002 \003(\0132\036.milvus.proto.sc" + "hema.FieldData\"}\n\tVectorIDs\022\027\n\017collectio" + "n_name\030\001 \001(\t\022\022\n\nfield_name\030\002 \001(\t\022*\n\010id_a" + "rray\030\003 \001(\0132\030.milvus.proto.schema.IDs\022\027\n\017" + "partition_names\030\004 \003(\t\"\203\001\n\014VectorsArray\0222" + "\n\010id_array\030\001 \001(\0132\036.milvus.proto.milvus.V" + "ectorIDsH\000\0226\n\ndata_array\030\002 \001(\0132 .milvus." + "proto.schema.VectorFieldH\000B\007\n\005array\"\335\001\n\023" + "CalcDistanceRequest\022*\n\004base\030\001 \001(\0132\034.milv" + "us.proto.common.MsgBase\0222\n\007op_left\030\002 \001(\013" + "2!.milvus.proto.milvus.VectorsArray\0223\n\010o" + "p_right\030\003 \001(\0132!.milvus.proto.milvus.Vect" + "orsArray\0221\n\006params\030\004 \003(\0132!.milvus.proto." + "common.KeyValuePair\"\265\001\n\023CalcDistanceResu" + "lts\022+\n\006status\030\001 \001(\0132\033.milvus.proto.commo" + "n.Status\0221\n\010int_dist\030\002 \001(\0132\035.milvus.prot" + "o.schema.IntArrayH\000\0225\n\nfloat_dist\030\003 \001(\0132" + "\037.milvus.proto.schema.FloatArrayH\000B\007\n\005ar" + "ray\"\231\001\n\025PersistentSegmentInfo\022\021\n\tsegment" + "ID\030\001 \001(\003\022\024\n\014collectionID\030\002 \001(\003\022\023\n\013partit" + "ionID\030\003 \001(\003\022\020\n\010num_rows\030\004 \001(\003\0220\n\005state\030\005" + " \001(\0162!.milvus.proto.common.SegmentState\"" + "u\n\037GetPersistentSegmentInfoRequest\022*\n\004ba" + "se\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022\016" + "\n\006dbName\030\002 \001(\t\022\026\n\016collectionName\030\003 \001(\t\"\212" + "\001\n GetPersistentSegmentInfoResponse\022+\n\006s" + "tatus\030\001 \001(\0132\033.milvus.proto.common.Status" + "\0229\n\005infos\030\002 \003(\0132*.milvus.proto.milvus.Pe" + "rsistentSegmentInfo\"\333\001\n\020QuerySegmentInfo" + "\022\021\n\tsegmentID\030\001 \001(\003\022\024\n\014collectionID\030\002 \001(" + "\003\022\023\n\013partitionID\030\003 \001(\003\022\020\n\010mem_size\030\004 \001(\003" + "\022\020\n\010num_rows\030\005 \001(\003\022\022\n\nindex_name\030\006 \001(\t\022\017" + "\n\007indexID\030\007 \001(\003\022\016\n\006nodeID\030\010 \001(\003\0220\n\005state" + "\030\t \001(\0162!.milvus.proto.common.SegmentStat" + "e\"p\n\032GetQuerySegmentInfoRequest\022*\n\004base\030" + "\001 \001(\0132\034.milvus.proto.common.MsgBase\022\016\n\006d" + "bName\030\002 \001(\t\022\026\n\016collectionName\030\003 \001(\t\"\200\001\n\033" + "GetQuerySegmentInfoResponse\022+\n\006status\030\001 " + "\001(\0132\033.milvus.proto.common.Status\0224\n\005info" + "s\030\002 \003(\0132%.milvus.proto.milvus.QuerySegme" + "ntInfo\"$\n\014DummyRequest\022\024\n\014request_type\030\001" + " \001(\t\"!\n\rDummyResponse\022\020\n\010response\030\001 \001(\t\"" + "\025\n\023RegisterLinkRequest\"r\n\024RegisterLinkRe" + "sponse\022-\n\007address\030\001 \001(\0132\034.milvus.proto.c" + "ommon.Address\022+\n\006status\030\002 \001(\0132\033.milvus.p" + "roto.common.Status\"P\n\021GetMetricsRequest\022" "*\n\004base\030\001 \001(\0132\034.milvus.proto.common.MsgB" - "ase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_name\030" - "\003 \001(\t\022\014\n\004expr\030\004 \001(\t\022\025\n\routput_fields\030\005 \003" - "(\t\022\027\n\017partition_names\030\006 \003(\t\022\030\n\020travel_ti" - "mestamp\030\007 \001(\004\022\033\n\023guarantee_timestamp\030\010 \001" - "(\004\"p\n\014QueryResults\022+\n\006status\030\001 \001(\0132\033.mil" - "vus.proto.common.Status\0223\n\013fields_data\030\002" - " \003(\0132\036.milvus.proto.schema.FieldData\"}\n\t" - "VectorIDs\022\027\n\017collection_name\030\001 \001(\t\022\022\n\nfi" - "eld_name\030\002 \001(\t\022*\n\010id_array\030\003 \001(\0132\030.milvu" - "s.proto.schema.IDs\022\027\n\017partition_names\030\004 " - "\003(\t\"\203\001\n\014VectorsArray\0222\n\010id_array\030\001 \001(\0132\036" - ".milvus.proto.milvus.VectorIDsH\000\0226\n\ndata" - "_array\030\002 \001(\0132 .milvus.proto.schema.Vecto" - "rFieldH\000B\007\n\005array\"\335\001\n\023CalcDistanceReques" - "t\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common.Ms" - "gBase\0222\n\007op_left\030\002 \001(\0132!.milvus.proto.mi" - "lvus.VectorsArray\0223\n\010op_right\030\003 \001(\0132!.mi" - "lvus.proto.milvus.VectorsArray\0221\n\006params" - "\030\004 \003(\0132!.milvus.proto.common.KeyValuePai" - "r\"\265\001\n\023CalcDistanceResults\022+\n\006status\030\001 \001(" - "\0132\033.milvus.proto.common.Status\0221\n\010int_di" - "st\030\002 \001(\0132\035.milvus.proto.schema.IntArrayH" - "\000\0225\n\nfloat_dist\030\003 \001(\0132\037.milvus.proto.sch" - "ema.FloatArrayH\000B\007\n\005array\"\231\001\n\025Persistent" - "SegmentInfo\022\021\n\tsegmentID\030\001 \001(\003\022\024\n\014collec" - "tionID\030\002 \001(\003\022\023\n\013partitionID\030\003 \001(\003\022\020\n\010num" - "_rows\030\004 \001(\003\0220\n\005state\030\005 \001(\0162!.milvus.prot" - "o.common.SegmentState\"u\n\037GetPersistentSe" - "gmentInfoRequest\022*\n\004base\030\001 \001(\0132\034.milvus." - "proto.common.MsgBase\022\016\n\006dbName\030\002 \001(\t\022\026\n\016" - "collectionName\030\003 \001(\t\"\212\001\n GetPersistentSe" - "gmentInfoResponse\022+\n\006status\030\001 \001(\0132\033.milv" - "us.proto.common.Status\0229\n\005infos\030\002 \003(\0132*." - "milvus.proto.milvus.PersistentSegmentInf" - "o\"\333\001\n\020QuerySegmentInfo\022\021\n\tsegmentID\030\001 \001(" - "\003\022\024\n\014collectionID\030\002 \001(\003\022\023\n\013partitionID\030\003" - " \001(\003\022\020\n\010mem_size\030\004 \001(\003\022\020\n\010num_rows\030\005 \001(\003" - "\022\022\n\nindex_name\030\006 \001(\t\022\017\n\007indexID\030\007 \001(\003\022\016\n" - "\006nodeID\030\010 \001(\003\0220\n\005state\030\t \001(\0162!.milvus.pr" - "oto.common.SegmentState\"p\n\032GetQuerySegme" - "ntInfoRequest\022*\n\004base\030\001 \001(\0132\034.milvus.pro" - "to.common.MsgBase\022\016\n\006dbName\030\002 \001(\t\022\026\n\016col" - "lectionName\030\003 \001(\t\"\200\001\n\033GetQuerySegmentInf" - "oResponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto" - ".common.Status\0224\n\005infos\030\002 \003(\0132%.milvus.p" - "roto.milvus.QuerySegmentInfo\"$\n\014DummyReq" - "uest\022\024\n\014request_type\030\001 \001(\t\"!\n\rDummyRespo" - "nse\022\020\n\010response\030\001 \001(\t\"\025\n\023RegisterLinkReq" - "uest\"r\n\024RegisterLinkResponse\022-\n\007address\030" - "\001 \001(\0132\034.milvus.proto.common.Address\022+\n\006s" - "tatus\030\002 \001(\0132\033.milvus.proto.common.Status" - "\"P\n\021GetMetricsRequest\022*\n\004base\030\001 \001(\0132\034.mi" - "lvus.proto.common.MsgBase\022\017\n\007request\030\002 \001" - "(\t\"k\n\022GetMetricsResponse\022+\n\006status\030\001 \001(\013" - "2\033.milvus.proto.common.Status\022\020\n\010respons" - "e\030\002 \001(\t\022\026\n\016component_name\030\003 \001(\t\"\204\001\n\022Load" - "BalanceRequest\022*\n\004base\030\001 \001(\0132\034.milvus.pr" - "oto.common.MsgBase\022\022\n\nsrc_nodeID\030\002 \001(\003\022\023" - "\n\013dst_nodeIDs\030\003 \003(\003\022\031\n\021sealed_segmentIDs" - "\030\004 \003(\003\"C\n\027ManualCompactionRequest\022\024\n\014col" - "lectionID\030\001 \001(\003\022\022\n\ntimetravel\030\002 \001(\004\"]\n\030M" - "anualCompactionResponse\022+\n\006status\030\001 \001(\0132" - "\033.milvus.proto.common.Status\022\024\n\014compacti" - "onID\030\002 \001(\003\"1\n\031GetCompactionStateRequest\022" - "\024\n\014compactionID\030\001 \001(\003\"\307\001\n\032GetCompactionS" - "tateResponse\022+\n\006status\030\001 \001(\0132\033.milvus.pr" - "oto.common.Status\0223\n\005state\030\002 \001(\0162$.milvu" - "s.proto.common.CompactionState\022\027\n\017execut" - "ingPlanNo\030\003 \001(\003\022\025\n\rtimeoutPlanNo\030\004 \001(\003\022\027" - "\n\017completedPlanNo\030\005 \001(\003\"1\n\031GetCompaction" - "PlansRequest\022\024\n\014compactionID\030\001 \001(\003\"\274\001\n\032G" - "etCompactionPlansResponse\022+\n\006status\030\001 \001(" - "\0132\033.milvus.proto.common.Status\0223\n\005state\030" - "\002 \001(\0162$.milvus.proto.common.CompactionSt" - "ate\022<\n\nmergeInfos\030\003 \003(\0132(.milvus.proto.m" - "ilvus.CompactionMergeInfo\"6\n\023CompactionM" - "ergeInfo\022\017\n\007sources\030\001 \003(\003\022\016\n\006target\030\002 \001(" - "\003\"*\n\024GetFlushStateRequest\022\022\n\nsegmentIDs\030" - "\001 \003(\003\"U\n\025GetFlushStateResponse\022+\n\006status" - "\030\001 \001(\0132\033.milvus.proto.common.Status\022\017\n\007f" - "lushed\030\002 \001(\010*!\n\010ShowType\022\007\n\003All\020\000\022\014\n\010InM" - "emory\020\001*>\n\017PlaceholderType\022\010\n\004None\020\000\022\020\n\014" - "BinaryVector\020d\022\017\n\013FloatVector\020e2\205\037\n\rMilv" - "usService\022_\n\020CreateCollection\022,.milvus.p" - "roto.milvus.CreateCollectionRequest\032\033.mi" - "lvus.proto.common.Status\"\000\022[\n\016DropCollec" - "tion\022*.milvus.proto.milvus.DropCollectio" - "nRequest\032\033.milvus.proto.common.Status\"\000\022" - "_\n\rHasCollection\022).milvus.proto.milvus.H" - "asCollectionRequest\032!.milvus.proto.milvu" - "s.BoolResponse\"\000\022[\n\016LoadCollection\022*.mil" - "vus.proto.milvus.LoadCollectionRequest\032\033" - ".milvus.proto.common.Status\"\000\022a\n\021Release" - "Collection\022-.milvus.proto.milvus.Release" - "CollectionRequest\032\033.milvus.proto.common." - "Status\"\000\022w\n\022DescribeCollection\022..milvus." - "proto.milvus.DescribeCollectionRequest\032/" - ".milvus.proto.milvus.DescribeCollectionR" - "esponse\"\000\022\206\001\n\027GetCollectionStatistics\0223." - "milvus.proto.milvus.GetCollectionStatist" - "icsRequest\0324.milvus.proto.milvus.GetColl" - "ectionStatisticsResponse\"\000\022n\n\017ShowCollec" - "tions\022+.milvus.proto.milvus.ShowCollecti" - "onsRequest\032,.milvus.proto.milvus.ShowCol" - "lectionsResponse\"\000\022]\n\017CreatePartition\022+." - "milvus.proto.milvus.CreatePartitionReque" - "st\032\033.milvus.proto.common.Status\"\000\022Y\n\rDro" - "pPartition\022).milvus.proto.milvus.DropPar" - "titionRequest\032\033.milvus.proto.common.Stat" - "us\"\000\022]\n\014HasPartition\022(.milvus.proto.milv" - "us.HasPartitionRequest\032!.milvus.proto.mi" - "lvus.BoolResponse\"\000\022[\n\016LoadPartitions\022*." - "milvus.proto.milvus.LoadPartitionsReques" - "t\032\033.milvus.proto.common.Status\"\000\022a\n\021Rele" - "asePartitions\022-.milvus.proto.milvus.Rele" - "asePartitionsRequest\032\033.milvus.proto.comm" - "on.Status\"\000\022\203\001\n\026GetPartitionStatistics\0222" - ".milvus.proto.milvus.GetPartitionStatist" - "icsRequest\0323.milvus.proto.milvus.GetPart" - "itionStatisticsResponse\"\000\022k\n\016ShowPartiti" - "ons\022*.milvus.proto.milvus.ShowPartitions" - "Request\032+.milvus.proto.milvus.ShowPartit" - "ionsResponse\"\000\022U\n\013CreateAlias\022\'.milvus.p" - "roto.milvus.CreateAliasRequest\032\033.milvus." - "proto.common.Status\"\000\022Q\n\tDropAlias\022%.mil" - "vus.proto.milvus.DropAliasRequest\032\033.milv" - "us.proto.common.Status\"\000\022S\n\nAlterAlias\022&" - ".milvus.proto.milvus.AlterAliasRequest\032\033" - ".milvus.proto.common.Status\"\000\022U\n\013CreateI" - "ndex\022\'.milvus.proto.milvus.CreateIndexRe" - "quest\032\033.milvus.proto.common.Status\"\000\022h\n\r" - "DescribeIndex\022).milvus.proto.milvus.Desc" - "ribeIndexRequest\032*.milvus.proto.milvus.D" - "escribeIndexResponse\"\000\022h\n\rGetIndexState\022" - ").milvus.proto.milvus.GetIndexStateReque" - "st\032*.milvus.proto.milvus.GetIndexStateRe" - "sponse\"\000\022\200\001\n\025GetIndexBuildProgress\0221.mil" - "vus.proto.milvus.GetIndexBuildProgressRe" - "quest\0322.milvus.proto.milvus.GetIndexBuil" - "dProgressResponse\"\000\022Q\n\tDropIndex\022%.milvu" - "s.proto.milvus.DropIndexRequest\032\033.milvus" - ".proto.common.Status\"\000\022S\n\006Insert\022\".milvu" - "s.proto.milvus.InsertRequest\032#.milvus.pr" - "oto.milvus.MutationResult\"\000\022S\n\006Delete\022\"." - "milvus.proto.milvus.DeleteRequest\032#.milv" - "us.proto.milvus.MutationResult\"\000\022R\n\006Sear" - "ch\022\".milvus.proto.milvus.SearchRequest\032\"" - ".milvus.proto.milvus.SearchResults\"\000\022P\n\005" - "Flush\022!.milvus.proto.milvus.FlushRequest" - "\032\".milvus.proto.milvus.FlushResponse\"\000\022O" - "\n\005Query\022!.milvus.proto.milvus.QueryReque" - "st\032!.milvus.proto.milvus.QueryResults\"\000\022" - "d\n\014CalcDistance\022(.milvus.proto.milvus.Ca" - "lcDistanceRequest\032(.milvus.proto.milvus." - "CalcDistanceResults\"\000\022h\n\rGetFlushState\022)" - ".milvus.proto.milvus.GetFlushStateReques" - "t\032*.milvus.proto.milvus.GetFlushStateRes" - "ponse\"\000\022\211\001\n\030GetPersistentSegmentInfo\0224.m" - "ilvus.proto.milvus.GetPersistentSegmentI" - "nfoRequest\0325.milvus.proto.milvus.GetPers" - "istentSegmentInfoResponse\"\000\022z\n\023GetQueryS" - "egmentInfo\022/.milvus.proto.milvus.GetQuer" - "ySegmentInfoRequest\0320.milvus.proto.milvu" - "s.GetQuerySegmentInfoResponse\"\000\022P\n\005Dummy" - "\022!.milvus.proto.milvus.DummyRequest\032\".mi" - "lvus.proto.milvus.DummyResponse\"\000\022e\n\014Reg" - "isterLink\022(.milvus.proto.milvus.Register" - "LinkRequest\032).milvus.proto.milvus.Regist" - "erLinkResponse\"\000\022_\n\nGetMetrics\022&.milvus." - "proto.milvus.GetMetricsRequest\032\'.milvus." - "proto.milvus.GetMetricsResponse\"\000\022U\n\013Loa" - "dBalance\022\'.milvus.proto.milvus.LoadBalan" - "ceRequest\032\033.milvus.proto.common.Status\"\000" - "\022w\n\022GetCompactionState\022..milvus.proto.mi" - "lvus.GetCompactionStateRequest\032/.milvus." - "proto.milvus.GetCompactionStateResponse\"" - "\000\022q\n\020ManualCompaction\022,.milvus.proto.mil" - "vus.ManualCompactionRequest\032-.milvus.pro" - "to.milvus.ManualCompactionResponse\"\000\022\200\001\n" - "\033GetCompactionStateWithPlans\022..milvus.pr" - "oto.milvus.GetCompactionPlansRequest\032/.m" - "ilvus.proto.milvus.GetCompactionPlansRes" - "ponse\"\0002u\n\014ProxyService\022e\n\014RegisterLink\022" - "(.milvus.proto.milvus.RegisterLinkReques" - "t\032).milvus.proto.milvus.RegisterLinkResp" - "onse\"\000B5Z3github.com/milvus-io/milvus/in" - "ternal/proto/milvuspbb\006proto3" + "ase\022\017\n\007request\030\002 \001(\t\"k\n\022GetMetricsRespon" + "se\022+\n\006status\030\001 \001(\0132\033.milvus.proto.common" + ".Status\022\020\n\010response\030\002 \001(\t\022\026\n\016component_n" + "ame\030\003 \001(\t\"\204\001\n\022LoadBalanceRequest\022*\n\004base" + "\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022\022\n\n" + "src_nodeID\030\002 \001(\003\022\023\n\013dst_nodeIDs\030\003 \003(\003\022\031\n" + "\021sealed_segmentIDs\030\004 \003(\003\"C\n\027ManualCompac" + "tionRequest\022\024\n\014collectionID\030\001 \001(\003\022\022\n\ntim" + "etravel\030\002 \001(\004\"]\n\030ManualCompactionRespons" + "e\022+\n\006status\030\001 \001(\0132\033.milvus.proto.common." + "Status\022\024\n\014compactionID\030\002 \001(\003\"1\n\031GetCompa" + "ctionStateRequest\022\024\n\014compactionID\030\001 \001(\003\"" + "\307\001\n\032GetCompactionStateResponse\022+\n\006status" + "\030\001 \001(\0132\033.milvus.proto.common.Status\0223\n\005s" + "tate\030\002 \001(\0162$.milvus.proto.common.Compact" + "ionState\022\027\n\017executingPlanNo\030\003 \001(\003\022\025\n\rtim" + "eoutPlanNo\030\004 \001(\003\022\027\n\017completedPlanNo\030\005 \001(" + "\003\"1\n\031GetCompactionPlansRequest\022\024\n\014compac" + "tionID\030\001 \001(\003\"\274\001\n\032GetCompactionPlansRespo" + "nse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.commo" + "n.Status\0223\n\005state\030\002 \001(\0162$.milvus.proto.c" + "ommon.CompactionState\022<\n\nmergeInfos\030\003 \003(" + "\0132(.milvus.proto.milvus.CompactionMergeI" + "nfo\"6\n\023CompactionMergeInfo\022\017\n\007sources\030\001 " + "\003(\003\022\016\n\006target\030\002 \001(\003\"*\n\024GetFlushStateRequ" + "est\022\022\n\nsegmentIDs\030\001 \003(\003\"U\n\025GetFlushState" + "Response\022+\n\006status\030\001 \001(\0132\033.milvus.proto." + "common.Status\022\017\n\007flushed\030\002 \001(\010*!\n\010ShowTy" + "pe\022\007\n\003All\020\000\022\014\n\010InMemory\020\001*>\n\017Placeholder" + "Type\022\010\n\004None\020\000\022\020\n\014BinaryVector\020d\022\017\n\013Floa" + "tVector\020e2\205\037\n\rMilvusService\022_\n\020CreateCol" + "lection\022,.milvus.proto.milvus.CreateColl" + "ectionRequest\032\033.milvus.proto.common.Stat" + "us\"\000\022[\n\016DropCollection\022*.milvus.proto.mi" + "lvus.DropCollectionRequest\032\033.milvus.prot" + "o.common.Status\"\000\022_\n\rHasCollection\022).mil" + "vus.proto.milvus.HasCollectionRequest\032!." + "milvus.proto.milvus.BoolResponse\"\000\022[\n\016Lo" + "adCollection\022*.milvus.proto.milvus.LoadC" + "ollectionRequest\032\033.milvus.proto.common.S" + "tatus\"\000\022a\n\021ReleaseCollection\022-.milvus.pr" + "oto.milvus.ReleaseCollectionRequest\032\033.mi" + "lvus.proto.common.Status\"\000\022w\n\022DescribeCo" + "llection\022..milvus.proto.milvus.DescribeC" + "ollectionRequest\032/.milvus.proto.milvus.D" + "escribeCollectionResponse\"\000\022\206\001\n\027GetColle" + "ctionStatistics\0223.milvus.proto.milvus.Ge" + "tCollectionStatisticsRequest\0324.milvus.pr" + "oto.milvus.GetCollectionStatisticsRespon" + "se\"\000\022n\n\017ShowCollections\022+.milvus.proto.m" + "ilvus.ShowCollectionsRequest\032,.milvus.pr" + "oto.milvus.ShowCollectionsResponse\"\000\022]\n\017" + "CreatePartition\022+.milvus.proto.milvus.Cr" + "eatePartitionRequest\032\033.milvus.proto.comm" + "on.Status\"\000\022Y\n\rDropPartition\022).milvus.pr" + "oto.milvus.DropPartitionRequest\032\033.milvus" + ".proto.common.Status\"\000\022]\n\014HasPartition\022(" + ".milvus.proto.milvus.HasPartitionRequest" + "\032!.milvus.proto.milvus.BoolResponse\"\000\022[\n" + "\016LoadPartitions\022*.milvus.proto.milvus.Lo" + "adPartitionsRequest\032\033.milvus.proto.commo" + "n.Status\"\000\022a\n\021ReleasePartitions\022-.milvus" + ".proto.milvus.ReleasePartitionsRequest\032\033" + ".milvus.proto.common.Status\"\000\022\203\001\n\026GetPar" + "titionStatistics\0222.milvus.proto.milvus.G" + "etPartitionStatisticsRequest\0323.milvus.pr" + "oto.milvus.GetPartitionStatisticsRespons" + "e\"\000\022k\n\016ShowPartitions\022*.milvus.proto.mil" + "vus.ShowPartitionsRequest\032+.milvus.proto" + ".milvus.ShowPartitionsResponse\"\000\022U\n\013Crea" + "teAlias\022\'.milvus.proto.milvus.CreateAlia" + "sRequest\032\033.milvus.proto.common.Status\"\000\022" + "Q\n\tDropAlias\022%.milvus.proto.milvus.DropA" + "liasRequest\032\033.milvus.proto.common.Status" + "\"\000\022S\n\nAlterAlias\022&.milvus.proto.milvus.A" + "lterAliasRequest\032\033.milvus.proto.common.S" + "tatus\"\000\022U\n\013CreateIndex\022\'.milvus.proto.mi" + "lvus.CreateIndexRequest\032\033.milvus.proto.c" + "ommon.Status\"\000\022h\n\rDescribeIndex\022).milvus" + ".proto.milvus.DescribeIndexRequest\032*.mil" + "vus.proto.milvus.DescribeIndexResponse\"\000" + "\022h\n\rGetIndexState\022).milvus.proto.milvus." + "GetIndexStateRequest\032*.milvus.proto.milv" + "us.GetIndexStateResponse\"\000\022\200\001\n\025GetIndexB" + "uildProgress\0221.milvus.proto.milvus.GetIn" + "dexBuildProgressRequest\0322.milvus.proto.m" + "ilvus.GetIndexBuildProgressResponse\"\000\022Q\n" + "\tDropIndex\022%.milvus.proto.milvus.DropInd" + "exRequest\032\033.milvus.proto.common.Status\"\000" + "\022S\n\006Insert\022\".milvus.proto.milvus.InsertR" + "equest\032#.milvus.proto.milvus.MutationRes" + "ult\"\000\022S\n\006Delete\022\".milvus.proto.milvus.De" + "leteRequest\032#.milvus.proto.milvus.Mutati" + "onResult\"\000\022R\n\006Search\022\".milvus.proto.milv" + "us.SearchRequest\032\".milvus.proto.milvus.S" + "earchResults\"\000\022P\n\005Flush\022!.milvus.proto.m" + "ilvus.FlushRequest\032\".milvus.proto.milvus" + ".FlushResponse\"\000\022O\n\005Query\022!.milvus.proto" + ".milvus.QueryRequest\032!.milvus.proto.milv" + "us.QueryResults\"\000\022d\n\014CalcDistance\022(.milv" + "us.proto.milvus.CalcDistanceRequest\032(.mi" + "lvus.proto.milvus.CalcDistanceResults\"\000\022" + "h\n\rGetFlushState\022).milvus.proto.milvus.G" + "etFlushStateRequest\032*.milvus.proto.milvu" + "s.GetFlushStateResponse\"\000\022\211\001\n\030GetPersist" + "entSegmentInfo\0224.milvus.proto.milvus.Get" + "PersistentSegmentInfoRequest\0325.milvus.pr" + "oto.milvus.GetPersistentSegmentInfoRespo" + "nse\"\000\022z\n\023GetQuerySegmentInfo\022/.milvus.pr" + "oto.milvus.GetQuerySegmentInfoRequest\0320." + "milvus.proto.milvus.GetQuerySegmentInfoR" + "esponse\"\000\022P\n\005Dummy\022!.milvus.proto.milvus" + ".DummyRequest\032\".milvus.proto.milvus.Dumm" + "yResponse\"\000\022e\n\014RegisterLink\022(.milvus.pro" + "to.milvus.RegisterLinkRequest\032).milvus.p" + "roto.milvus.RegisterLinkResponse\"\000\022_\n\nGe" + "tMetrics\022&.milvus.proto.milvus.GetMetric" + "sRequest\032\'.milvus.proto.milvus.GetMetric" + "sResponse\"\000\022U\n\013LoadBalance\022\'.milvus.prot" + "o.milvus.LoadBalanceRequest\032\033.milvus.pro" + "to.common.Status\"\000\022w\n\022GetCompactionState" + "\022..milvus.proto.milvus.GetCompactionStat" + "eRequest\032/.milvus.proto.milvus.GetCompac" + "tionStateResponse\"\000\022q\n\020ManualCompaction\022" + ",.milvus.proto.milvus.ManualCompactionRe" + "quest\032-.milvus.proto.milvus.ManualCompac" + "tionResponse\"\000\022\200\001\n\033GetCompactionStateWit" + "hPlans\022..milvus.proto.milvus.GetCompacti" + "onPlansRequest\032/.milvus.proto.milvus.Get" + "CompactionPlansResponse\"\0002u\n\014ProxyServic" + "e\022e\n\014RegisterLink\022(.milvus.proto.milvus." + "RegisterLinkRequest\032).milvus.proto.milvu" + "s.RegisterLinkResponse\"\000B5Z3github.com/m" + "ilvus-io/milvus/internal/proto/milvuspbb" + "\006proto3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[2] = { &::descriptor_table_common_2eproto, @@ -2807,7 +2809,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mil static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_milvus_2eproto_once; static bool descriptor_table_milvus_2eproto_initialized = false; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_milvus_2eproto = { - &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 14669, + &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 14687, &descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 77, 2, schemas, file_default_instances, TableStruct_milvus_2eproto::offsets, file_level_metadata_milvus_2eproto, 77, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto, @@ -14737,6 +14739,13 @@ const char* DescribeSegmentResponse::_InternalParse(const char* ptr, ::PROTOBUF_ CHK_(ptr); } else goto handle_unusual; continue; + // int64 fieldID = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) { + fieldid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -14817,6 +14826,19 @@ bool DescribeSegmentResponse::MergePartialFromCodedStream( break; } + // int64 fieldID = 5; + case 5: { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (40 & 0xFF)) { + + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< + ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( + input, &fieldid_))); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -14865,6 +14887,11 @@ void DescribeSegmentResponse::SerializeWithCachedSizes( ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBool(4, this->enable_index(), output); } + // int64 fieldID = 5; + if (this->fieldid() != 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(5, this->fieldid(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -14900,6 +14927,11 @@ void DescribeSegmentResponse::SerializeWithCachedSizes( target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->enable_index(), target); } + // int64 fieldID = 5; + if (this->fieldid() != 0) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(5, this->fieldid(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -14942,6 +14974,13 @@ size_t DescribeSegmentResponse::ByteSizeLong() const { this->buildid()); } + // int64 fieldID = 5; + if (this->fieldid() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( + this->fieldid()); + } + // bool enable_index = 4; if (this->enable_index() != 0) { total_size += 1 + 1; @@ -14983,6 +15022,9 @@ void DescribeSegmentResponse::MergeFrom(const DescribeSegmentResponse& from) { if (from.buildid() != 0) { set_buildid(from.buildid()); } + if (from.fieldid() != 0) { + set_fieldid(from.fieldid()); + } if (from.enable_index() != 0) { set_enable_index(from.enable_index()); } @@ -15012,6 +15054,7 @@ void DescribeSegmentResponse::InternalSwap(DescribeSegmentResponse* other) { swap(status_, other->status_); swap(indexid_, other->indexid_); swap(buildid_, other->buildid_); + swap(fieldid_, other->fieldid_); swap(enable_index_, other->enable_index_); } diff --git a/internal/core/src/pb/milvus.pb.h b/internal/core/src/pb/milvus.pb.h index 8c13b1bff8..2e1e9a9ddb 100644 --- a/internal/core/src/pb/milvus.pb.h +++ b/internal/core/src/pb/milvus.pb.h @@ -5029,6 +5029,7 @@ class DescribeSegmentResponse : kStatusFieldNumber = 1, kIndexIDFieldNumber = 2, kBuildIDFieldNumber = 3, + kFieldIDFieldNumber = 5, kEnableIndexFieldNumber = 4, }; // .milvus.proto.common.Status status = 1; @@ -5049,6 +5050,11 @@ class DescribeSegmentResponse : ::PROTOBUF_NAMESPACE_ID::int64 buildid() const; void set_buildid(::PROTOBUF_NAMESPACE_ID::int64 value); + // int64 fieldID = 5; + void clear_fieldid(); + ::PROTOBUF_NAMESPACE_ID::int64 fieldid() const; + void set_fieldid(::PROTOBUF_NAMESPACE_ID::int64 value); + // bool enable_index = 4; void clear_enable_index(); bool enable_index() const; @@ -5062,6 +5068,7 @@ class DescribeSegmentResponse : ::milvus::proto::common::Status* status_; ::PROTOBUF_NAMESPACE_ID::int64 indexid_; ::PROTOBUF_NAMESPACE_ID::int64 buildid_; + ::PROTOBUF_NAMESPACE_ID::int64 fieldid_; bool enable_index_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; @@ -17800,6 +17807,20 @@ inline void DescribeSegmentResponse::set_enable_index(bool value) { // @@protoc_insertion_point(field_set:milvus.proto.milvus.DescribeSegmentResponse.enable_index) } +// int64 fieldID = 5; +inline void DescribeSegmentResponse::clear_fieldid() { + fieldid_ = PROTOBUF_LONGLONG(0); +} +inline ::PROTOBUF_NAMESPACE_ID::int64 DescribeSegmentResponse::fieldid() const { + // @@protoc_insertion_point(field_get:milvus.proto.milvus.DescribeSegmentResponse.fieldID) + return fieldid_; +} +inline void DescribeSegmentResponse::set_fieldid(::PROTOBUF_NAMESPACE_ID::int64 value) { + + fieldid_ = value; + // @@protoc_insertion_point(field_set:milvus.proto.milvus.DescribeSegmentResponse.fieldID) +} + // ------------------------------------------------------------------- // ShowSegmentsRequest diff --git a/internal/proto/milvus.proto b/internal/proto/milvus.proto index 65dc7af594..9ac0de318f 100644 --- a/internal/proto/milvus.proto +++ b/internal/proto/milvus.proto @@ -403,6 +403,7 @@ message DescribeSegmentResponse { int64 indexID = 2; int64 buildID = 3; bool enable_index = 4; + int64 fieldID = 5; } message ShowSegmentsRequest { diff --git a/internal/proto/milvuspb/milvus.pb.go b/internal/proto/milvuspb/milvus.pb.go index ae0bd5e6d4..a04296143f 100644 --- a/internal/proto/milvuspb/milvus.pb.go +++ b/internal/proto/milvuspb/milvus.pb.go @@ -1861,6 +1861,7 @@ type DescribeSegmentResponse struct { IndexID int64 `protobuf:"varint,2,opt,name=indexID,proto3" json:"indexID,omitempty"` BuildID int64 `protobuf:"varint,3,opt,name=buildID,proto3" json:"buildID,omitempty"` EnableIndex bool `protobuf:"varint,4,opt,name=enable_index,json=enableIndex,proto3" json:"enable_index,omitempty"` + FieldID int64 `protobuf:"varint,5,opt,name=fieldID,proto3" json:"fieldID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1919,6 +1920,13 @@ func (m *DescribeSegmentResponse) GetEnableIndex() bool { return false } +func (m *DescribeSegmentResponse) GetFieldID() int64 { + if m != nil { + return m.FieldID + } + return 0 +} + type ShowSegmentsRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"` @@ -4979,229 +4987,230 @@ func init() { func init() { proto.RegisterFile("milvus.proto", fileDescriptor_02345ba45cc0e303) } var fileDescriptor_02345ba45cc0e303 = []byte{ - // 3548 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x3b, 0x4d, 0x73, 0x1b, 0xc7, - 0xb1, 0x5c, 0x80, 0x24, 0x80, 0x26, 0x40, 0x42, 0x43, 0x8a, 0x82, 0xa0, 0x2f, 0x6a, 0x6d, 0x59, - 0x94, 0x64, 0x49, 0x16, 0xe5, 0xaf, 0x27, 0xbf, 0xf7, 0x6c, 0x49, 0x7c, 0x96, 0x58, 0x96, 0xf4, - 0xe8, 0xa5, 0xed, 0x57, 0x7e, 0x2e, 0x15, 0x6a, 0x88, 0x1d, 0x82, 0x5b, 0x5a, 0xec, 0xc2, 0x3b, - 0x03, 0x49, 0xf4, 0x29, 0x55, 0x8e, 0x93, 0x4a, 0xd9, 0xb1, 0x2b, 0x95, 0x54, 0x52, 0x39, 0x24, - 0x87, 0x24, 0x3e, 0xe4, 0x16, 0xc7, 0xa9, 0x24, 0x95, 0x53, 0x0e, 0x3e, 0xe4, 0x90, 0xaa, 0x7c, - 0x5c, 0x72, 0xc8, 0x25, 0x7f, 0xc0, 0xff, 0x20, 0x87, 0xd4, 0x7c, 0xec, 0x62, 0x77, 0x31, 0x0b, - 0x82, 0x82, 0x15, 0x92, 0xb7, 0x9d, 0x9e, 0xee, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x5e, - 0x28, 0xb7, 0x1d, 0xf7, 0x7e, 0x97, 0x5e, 0xe8, 0x04, 0x3e, 0xf3, 0xd1, 0x6c, 0xbc, 0x75, 0x41, - 0x36, 0xea, 0xe5, 0xa6, 0xdf, 0x6e, 0xfb, 0x9e, 0x04, 0xd6, 0xcb, 0xb4, 0xb9, 0x49, 0xda, 0x58, - 0xb6, 0xcc, 0x1f, 0x1b, 0x80, 0xae, 0x07, 0x04, 0x33, 0x72, 0xd5, 0x75, 0x30, 0xb5, 0xc8, 0xbb, - 0x5d, 0x42, 0x19, 0x7a, 0x06, 0xc6, 0xd7, 0x31, 0x25, 0x35, 0x63, 0xc1, 0x58, 0x9c, 0x5a, 0x3a, - 0x7a, 0x21, 0xc1, 0x56, 0xb1, 0xbb, 0x4d, 0x5b, 0xd7, 0x30, 0x25, 0x96, 0xc0, 0x44, 0x87, 0xa0, - 0x60, 0xaf, 0x37, 0x3c, 0xdc, 0x26, 0xb5, 0xdc, 0x82, 0xb1, 0x58, 0xb2, 0x26, 0xed, 0xf5, 0x3b, - 0xb8, 0x4d, 0xd0, 0x69, 0x98, 0x69, 0xfa, 0xae, 0x4b, 0x9a, 0xcc, 0xf1, 0x3d, 0x89, 0x90, 0x17, - 0x08, 0xd3, 0x3d, 0xb0, 0x40, 0x9c, 0x83, 0x09, 0xcc, 0x65, 0xa8, 0x8d, 0x8b, 0x6e, 0xd9, 0x30, - 0x29, 0x54, 0x97, 0x03, 0xbf, 0xf3, 0xb8, 0xa4, 0x8b, 0x06, 0xcd, 0xc7, 0x07, 0xfd, 0x91, 0x01, - 0x07, 0xae, 0xba, 0x8c, 0x04, 0x7b, 0x54, 0x29, 0x5f, 0x18, 0x70, 0x48, 0xae, 0xda, 0xf5, 0x08, - 0x7d, 0x37, 0xa5, 0x9c, 0x87, 0x49, 0x69, 0x55, 0x42, 0xcc, 0xb2, 0xa5, 0x5a, 0xe8, 0x18, 0x00, - 0xdd, 0xc4, 0x81, 0x4d, 0x1b, 0x5e, 0xb7, 0x5d, 0x9b, 0x58, 0x30, 0x16, 0x27, 0xac, 0x92, 0x84, - 0xdc, 0xe9, 0xb6, 0xcd, 0x0f, 0x0d, 0x38, 0xc8, 0x17, 0x77, 0x4f, 0x4c, 0xc2, 0xfc, 0xb9, 0x01, - 0x73, 0x37, 0x31, 0xdd, 0x1b, 0x1a, 0x3d, 0x06, 0xc0, 0x9c, 0x36, 0x69, 0x50, 0x86, 0xdb, 0x1d, - 0xa1, 0xd5, 0x71, 0xab, 0xc4, 0x21, 0x6b, 0x1c, 0x60, 0xbe, 0x0d, 0xe5, 0x6b, 0xbe, 0xef, 0x5a, - 0x84, 0x76, 0x7c, 0x8f, 0x12, 0x74, 0x19, 0x26, 0x29, 0xc3, 0xac, 0x4b, 0x95, 0x90, 0x47, 0xb4, - 0x42, 0xae, 0x09, 0x14, 0x4b, 0xa1, 0x72, 0xdb, 0xba, 0x8f, 0xdd, 0xae, 0x94, 0xb1, 0x68, 0xc9, - 0x86, 0xf9, 0x0e, 0x4c, 0xaf, 0xb1, 0xc0, 0xf1, 0x5a, 0x5f, 0x21, 0xf3, 0x52, 0xc8, 0xfc, 0xaf, - 0x06, 0x1c, 0x5e, 0x26, 0xb4, 0x19, 0x38, 0xeb, 0x7b, 0xc4, 0x74, 0x4d, 0x28, 0xf7, 0x20, 0x2b, - 0xcb, 0x42, 0xd5, 0x79, 0x2b, 0x01, 0x4b, 0x2d, 0xc6, 0x44, 0x7a, 0x31, 0xde, 0x1f, 0x87, 0xba, - 0x6e, 0x52, 0xa3, 0xa8, 0xef, 0xbf, 0xa2, 0x1d, 0x95, 0x13, 0x44, 0xa7, 0x92, 0x44, 0xca, 0x87, - 0xf7, 0x46, 0x5b, 0x13, 0x80, 0x68, 0xe3, 0xa5, 0x67, 0x95, 0xd7, 0xcc, 0x6a, 0x09, 0x0e, 0xde, - 0x77, 0x02, 0xd6, 0xc5, 0x6e, 0xa3, 0xb9, 0x89, 0x3d, 0x8f, 0xb8, 0x42, 0x4f, 0xdc, 0xd5, 0xe4, - 0x17, 0x4b, 0xd6, 0xac, 0xea, 0xbc, 0x2e, 0xfb, 0xb8, 0xb2, 0x28, 0x7a, 0x16, 0xe6, 0x3b, 0x9b, - 0x5b, 0xd4, 0x69, 0xf6, 0x11, 0x4d, 0x08, 0xa2, 0xb9, 0xb0, 0x37, 0x41, 0x75, 0x0e, 0x0e, 0x34, - 0x85, 0xb7, 0xb2, 0x1b, 0x5c, 0x6b, 0x52, 0x8d, 0x93, 0x42, 0x8d, 0x55, 0xd5, 0xf1, 0x46, 0x08, - 0xe7, 0x62, 0x85, 0xc8, 0x5d, 0xd6, 0x8c, 0x11, 0x14, 0x04, 0xc1, 0xac, 0xea, 0x7c, 0x93, 0x35, - 0x7b, 0x34, 0x49, 0x3f, 0x53, 0x4c, 0xf9, 0x19, 0x54, 0x83, 0x82, 0xf0, 0x9b, 0x84, 0xd6, 0x4a, - 0x42, 0xcc, 0xb0, 0x89, 0x56, 0x60, 0x86, 0x32, 0x1c, 0xb0, 0x46, 0xc7, 0xa7, 0x0e, 0xd7, 0x0b, - 0xad, 0xc1, 0x42, 0x7e, 0x71, 0x6a, 0x69, 0x41, 0xbb, 0x48, 0xaf, 0x91, 0xad, 0x65, 0xcc, 0xf0, - 0x2a, 0x76, 0x02, 0x6b, 0x5a, 0x10, 0xae, 0x86, 0x74, 0xc2, 0x99, 0xdd, 0xf2, 0xb1, 0xbd, 0x37, - 0x9c, 0xd9, 0xc7, 0x06, 0xd4, 0x2c, 0xe2, 0x12, 0x4c, 0xf7, 0xc6, 0x3e, 0x33, 0xbf, 0x67, 0xc0, - 0xf1, 0x1b, 0x84, 0xc5, 0x2c, 0x96, 0x61, 0xe6, 0x50, 0xe6, 0x34, 0x77, 0xf3, 0x7c, 0x35, 0x3f, - 0x31, 0xe0, 0x44, 0xa6, 0x58, 0xa3, 0x6c, 0xe0, 0x17, 0x60, 0x82, 0x7f, 0xd1, 0x5a, 0x4e, 0xd8, - 0xd3, 0xc9, 0x2c, 0x7b, 0x7a, 0x8b, 0xfb, 0x45, 0x61, 0x50, 0x12, 0xdf, 0xfc, 0x87, 0x01, 0xf3, - 0x6b, 0x9b, 0xfe, 0x83, 0x9e, 0x48, 0x8f, 0x43, 0x41, 0x49, 0x97, 0x96, 0x4f, 0xb9, 0x34, 0x74, - 0x09, 0xc6, 0xd9, 0x56, 0x87, 0x08, 0x6f, 0x38, 0xbd, 0x74, 0xec, 0x82, 0x26, 0xac, 0xbc, 0xc0, - 0x85, 0x7c, 0x63, 0xab, 0x43, 0x2c, 0x81, 0x8a, 0xce, 0x40, 0x35, 0xa5, 0xf2, 0xd0, 0x29, 0xcc, - 0x24, 0x75, 0x4e, 0xcd, 0xdf, 0xe6, 0xe0, 0x50, 0xdf, 0x14, 0x47, 0x51, 0xb6, 0x6e, 0xec, 0x9c, - 0x76, 0x6c, 0x74, 0x0a, 0x62, 0x26, 0xd0, 0x70, 0x6c, 0x1e, 0xf9, 0xe5, 0x17, 0xf3, 0x56, 0x25, - 0xe6, 0x1b, 0x6d, 0x8a, 0xce, 0x03, 0xea, 0x73, 0x59, 0xd2, 0x33, 0x8e, 0x5b, 0x07, 0xd2, 0x3e, - 0x4b, 0xf8, 0x45, 0xad, 0xd3, 0x92, 0x2a, 0x18, 0xb7, 0xe6, 0x34, 0x5e, 0x8b, 0xa2, 0x4b, 0x30, - 0xe7, 0x78, 0xb7, 0x49, 0xdb, 0x0f, 0xb6, 0x1a, 0x1d, 0x12, 0x34, 0x89, 0xc7, 0x70, 0x8b, 0xd0, - 0xda, 0xa4, 0x90, 0x68, 0x36, 0xec, 0x5b, 0xed, 0x75, 0x99, 0x9f, 0x1b, 0x30, 0x2f, 0x23, 0xbf, - 0x55, 0x1c, 0x30, 0x67, 0xb7, 0x4f, 0xcf, 0x53, 0x30, 0xdd, 0x09, 0xe5, 0x90, 0x78, 0x32, 0x4e, - 0xad, 0x44, 0x50, 0xb1, 0xcb, 0x3e, 0x33, 0x60, 0x8e, 0x07, 0x7a, 0xfb, 0x49, 0xe6, 0x5f, 0x18, - 0x30, 0x7b, 0x13, 0xd3, 0xfd, 0x24, 0xf2, 0xaf, 0xd4, 0x11, 0x14, 0xc9, 0xbc, 0xab, 0x57, 0x97, - 0xd3, 0x30, 0x93, 0x14, 0x3a, 0x8c, 0x2c, 0xa6, 0x13, 0x52, 0x53, 0xf3, 0x37, 0xbd, 0xb3, 0x6a, - 0x9f, 0x49, 0xfe, 0x3b, 0x03, 0x8e, 0xdd, 0x20, 0x2c, 0x92, 0x7a, 0x4f, 0x9c, 0x69, 0xc3, 0x5a, - 0xcb, 0xc7, 0xf2, 0x44, 0xd6, 0x0a, 0xbf, 0x2b, 0x27, 0xdf, 0x87, 0x39, 0x38, 0xc8, 0x8f, 0x85, - 0xbd, 0x61, 0x04, 0xc3, 0x5c, 0x0c, 0x34, 0x86, 0x32, 0xa1, 0x33, 0x94, 0xe8, 0x3c, 0x9d, 0x1c, - 0xfa, 0x3c, 0x35, 0x7f, 0x99, 0x93, 0x71, 0x40, 0x5c, 0x1b, 0xa3, 0x2c, 0x8b, 0x46, 0xd6, 0x9c, - 0x56, 0x56, 0x13, 0xca, 0x11, 0x64, 0x65, 0x39, 0x3c, 0x1f, 0x13, 0xb0, 0x3d, 0x7b, 0x3c, 0x7e, - 0x64, 0xc0, 0x7c, 0x78, 0x15, 0x5b, 0x23, 0xad, 0x36, 0xf1, 0xd8, 0xa3, 0xdb, 0x50, 0xda, 0x02, - 0x72, 0x1a, 0x0b, 0x38, 0x0a, 0x25, 0x2a, 0xc7, 0x89, 0x6e, 0x59, 0x3d, 0x80, 0xf9, 0xa9, 0x01, - 0x87, 0xfa, 0xc4, 0x19, 0x65, 0x11, 0x6b, 0x50, 0x70, 0x3c, 0x9b, 0x3c, 0x8c, 0xa4, 0x09, 0x9b, - 0xbc, 0x67, 0xbd, 0xeb, 0xb8, 0x76, 0x24, 0x46, 0xd8, 0x44, 0x27, 0xa1, 0x4c, 0x3c, 0xbc, 0xee, - 0x92, 0x86, 0xc0, 0x15, 0x86, 0x5c, 0xb4, 0xa6, 0x24, 0x6c, 0x85, 0x83, 0xcc, 0x6f, 0x1b, 0x30, - 0xcb, 0x6d, 0x4d, 0xc9, 0x48, 0x1f, 0xaf, 0xce, 0x16, 0x60, 0x2a, 0x66, 0x4c, 0x4a, 0xdc, 0x38, - 0xc8, 0xbc, 0x07, 0x73, 0x49, 0x71, 0x46, 0xd1, 0xd9, 0x71, 0x80, 0x68, 0x45, 0xa4, 0xcd, 0xe7, - 0xad, 0x18, 0xc4, 0xfc, 0x32, 0x4a, 0x81, 0x0a, 0x65, 0xec, 0x72, 0xd6, 0x67, 0xc3, 0x21, 0xae, - 0x1d, 0xf7, 0xda, 0x25, 0x01, 0x11, 0xdd, 0xcb, 0x50, 0x26, 0x0f, 0x59, 0x80, 0x1b, 0x1d, 0x1c, - 0xe0, 0xb6, 0xdc, 0x3c, 0x43, 0x39, 0xd8, 0x29, 0x41, 0xb6, 0x2a, 0xa8, 0xcc, 0x3f, 0xf0, 0x60, - 0x4c, 0x19, 0xe5, 0x5e, 0x9f, 0xf1, 0x31, 0x00, 0x61, 0xb4, 0xb2, 0x7b, 0x42, 0x76, 0x0b, 0x88, - 0x38, 0xc2, 0x3e, 0x35, 0xa0, 0x2a, 0xa6, 0x20, 0xe7, 0xd3, 0xe1, 0x6c, 0x53, 0x34, 0x46, 0x8a, - 0x66, 0xc0, 0x16, 0xfa, 0x0f, 0x98, 0x54, 0x8a, 0xcd, 0x0f, 0xab, 0x58, 0x45, 0xb0, 0xcd, 0x34, - 0xcc, 0x9f, 0x18, 0x70, 0x30, 0xa5, 0xf2, 0x51, 0x2c, 0xfa, 0x0d, 0x40, 0x72, 0x86, 0x76, 0x6f, - 0xda, 0xe1, 0x71, 0x7b, 0x4a, 0x7b, 0xb6, 0xa4, 0x95, 0x64, 0x1d, 0x70, 0x52, 0x10, 0x6a, 0xfe, - 0xd9, 0x80, 0xa3, 0x37, 0x08, 0x13, 0xa8, 0xd7, 0xb8, 0xef, 0x58, 0x0d, 0xfc, 0x56, 0x40, 0x28, - 0xdd, 0xbf, 0xf6, 0xf1, 0x7d, 0x19, 0x9f, 0xe9, 0xa6, 0x34, 0x8a, 0xfe, 0x4f, 0x42, 0x59, 0x8c, - 0x41, 0xec, 0x46, 0xe0, 0x3f, 0xa0, 0xca, 0x8e, 0xa6, 0x14, 0xcc, 0xf2, 0x1f, 0x08, 0x83, 0x60, - 0x3e, 0xc3, 0xae, 0x44, 0x50, 0x07, 0x83, 0x80, 0xf0, 0x6e, 0xb1, 0x07, 0x43, 0xc1, 0x38, 0x73, - 0xb2, 0x7f, 0x75, 0xfc, 0x33, 0x03, 0x0e, 0xa6, 0xa6, 0x32, 0x8a, 0x6e, 0x9f, 0x93, 0xd1, 0xa3, - 0x9c, 0xcc, 0xf4, 0xd2, 0x09, 0x2d, 0x4d, 0x6c, 0x30, 0x89, 0x8d, 0x4e, 0xc0, 0xd4, 0x06, 0x76, - 0xdc, 0x46, 0x40, 0x30, 0xf5, 0x3d, 0x35, 0x51, 0xe0, 0x20, 0x4b, 0x40, 0xcc, 0x2f, 0x0c, 0xf9, - 0x90, 0xb4, 0xcf, 0x3d, 0xde, 0x4f, 0x73, 0x50, 0x59, 0xf1, 0x28, 0x09, 0xd8, 0xde, 0xbf, 0x61, - 0xa0, 0x97, 0x61, 0x4a, 0x4c, 0x8c, 0x36, 0x6c, 0xcc, 0xb0, 0x3a, 0xae, 0x8e, 0x6b, 0x33, 0xd9, - 0xaf, 0x72, 0xbc, 0x65, 0xcc, 0xb0, 0x25, 0xb5, 0x43, 0xf9, 0x37, 0x3a, 0x02, 0xa5, 0x4d, 0x4c, - 0x37, 0x1b, 0xf7, 0xc8, 0x96, 0x0c, 0xfb, 0x2a, 0x56, 0x91, 0x03, 0x5e, 0x23, 0x5b, 0x14, 0x1d, - 0x86, 0xa2, 0xd7, 0x6d, 0xcb, 0x0d, 0x56, 0x58, 0x30, 0x16, 0x2b, 0x56, 0xc1, 0xeb, 0xb6, 0xc5, - 0xf6, 0xfa, 0x63, 0x0e, 0xa6, 0x6f, 0x77, 0xf9, 0x7d, 0x46, 0xe4, 0xe1, 0xbb, 0x2e, 0x7b, 0x34, - 0x63, 0x3c, 0x0b, 0x79, 0x19, 0x33, 0x70, 0x8a, 0x9a, 0x56, 0xf0, 0x95, 0x65, 0x6a, 0x71, 0x24, - 0x91, 0x83, 0xee, 0x36, 0x9b, 0x2a, 0xc8, 0xca, 0x0b, 0x61, 0x4b, 0x1c, 0x22, 0x2c, 0x8e, 0x4f, - 0x85, 0x04, 0x41, 0x14, 0x82, 0x89, 0xa9, 0x90, 0x20, 0x90, 0x9d, 0x26, 0x94, 0x71, 0xf3, 0x9e, - 0xe7, 0x3f, 0x70, 0x89, 0xdd, 0x22, 0xb6, 0x58, 0xf6, 0xa2, 0x95, 0x80, 0x49, 0xc3, 0xe0, 0x0b, - 0xdf, 0x68, 0x7a, 0x4c, 0x5c, 0x24, 0xf2, 0xdc, 0x30, 0x38, 0xe4, 0xba, 0xc7, 0x78, 0xb7, 0x4d, - 0x5c, 0xc2, 0x88, 0xe8, 0x2e, 0xc8, 0x6e, 0x09, 0x51, 0xdd, 0xdd, 0x4e, 0x44, 0x5d, 0x94, 0xdd, - 0x12, 0xc2, 0xbb, 0x8f, 0x42, 0xa9, 0x97, 0x68, 0x2f, 0xf5, 0xb2, 0x81, 0x02, 0x60, 0xfe, 0xdd, - 0x80, 0xca, 0xb2, 0x60, 0xb5, 0x0f, 0x8c, 0x0e, 0xc1, 0x38, 0x79, 0xd8, 0x09, 0xd4, 0xd6, 0x11, - 0xdf, 0x03, 0xed, 0xc8, 0xbc, 0x0f, 0xd5, 0x55, 0x17, 0x37, 0xc9, 0xa6, 0xef, 0xda, 0x24, 0x10, - 0x67, 0x3b, 0xaa, 0x42, 0x9e, 0xe1, 0x96, 0x0a, 0x1e, 0xf8, 0x27, 0x7a, 0x51, 0xdd, 0xe0, 0xa4, - 0x5b, 0x7a, 0x52, 0x7b, 0xca, 0xc6, 0xd8, 0xc4, 0x12, 0xa3, 0xf3, 0x30, 0x29, 0x1e, 0xbf, 0x64, - 0x58, 0x51, 0xb6, 0x54, 0xcb, 0xbc, 0x9b, 0x18, 0xf7, 0x46, 0xe0, 0x77, 0x3b, 0x68, 0x05, 0xca, - 0x9d, 0x1e, 0x8c, 0xdb, 0x6a, 0xf6, 0x99, 0x9e, 0x16, 0xda, 0x4a, 0x90, 0x9a, 0x5f, 0xe6, 0xa1, - 0xb2, 0x46, 0x70, 0xd0, 0xdc, 0xdc, 0x0f, 0xa9, 0x14, 0xae, 0x71, 0x9b, 0xba, 0x6a, 0xd5, 0xf8, - 0x27, 0x3a, 0x07, 0x07, 0x62, 0x13, 0x6a, 0xb4, 0xb8, 0x82, 0x84, 0xdd, 0x97, 0xad, 0x6a, 0x27, - 0xad, 0xb8, 0x17, 0xa0, 0x68, 0x53, 0xb7, 0x21, 0x96, 0xa8, 0x20, 0x96, 0x48, 0x3f, 0xbf, 0x65, - 0xea, 0x8a, 0xa5, 0x29, 0xd8, 0xf2, 0x03, 0x3d, 0x01, 0x15, 0xbf, 0xcb, 0x3a, 0x5d, 0xd6, 0x90, - 0x7e, 0xa7, 0x56, 0x14, 0xe2, 0x95, 0x25, 0x50, 0xb8, 0x25, 0x8a, 0x5e, 0x85, 0x0a, 0x15, 0xaa, - 0x0c, 0x23, 0xef, 0xd2, 0xb0, 0x01, 0x62, 0x59, 0xd2, 0xc9, 0xd0, 0x1b, 0x9d, 0x81, 0x2a, 0x0b, - 0xf0, 0x7d, 0xe2, 0xc6, 0x9e, 0xb5, 0x40, 0xec, 0xb6, 0x19, 0x09, 0xef, 0x3d, 0x69, 0x5d, 0x84, - 0xd9, 0x56, 0x17, 0x07, 0xd8, 0x63, 0x84, 0xc4, 0xb0, 0xa7, 0x04, 0x36, 0x8a, 0xba, 0x22, 0x02, - 0xf3, 0x35, 0x18, 0xbf, 0xe9, 0x30, 0xa1, 0x48, 0xee, 0xb3, 0x0c, 0x71, 0xcf, 0x11, 0x9e, 0xe9, - 0x30, 0x14, 0x03, 0xff, 0x81, 0xf4, 0xc1, 0x39, 0x61, 0x82, 0x85, 0xc0, 0x7f, 0x20, 0x1c, 0xac, - 0x78, 0xb8, 0xf7, 0x03, 0x65, 0x9b, 0x39, 0x4b, 0xb5, 0xcc, 0x0f, 0x8c, 0x9e, 0xf1, 0x70, 0xf7, - 0x49, 0x1f, 0xcd, 0x7f, 0xbe, 0x0c, 0x85, 0x40, 0xd2, 0x0f, 0x7c, 0xc6, 0x8c, 0x8f, 0x24, 0xce, - 0x80, 0x90, 0xca, 0xfc, 0xba, 0x01, 0xe5, 0x57, 0xdd, 0x2e, 0x7d, 0x1c, 0x36, 0xac, 0x7b, 0x34, - 0xc8, 0xeb, 0x1f, 0x2c, 0xbe, 0x93, 0x83, 0x8a, 0x12, 0x63, 0x94, 0xd8, 0x26, 0x53, 0x94, 0x35, - 0x98, 0xe2, 0x43, 0x36, 0x28, 0x69, 0x85, 0x19, 0x97, 0xa9, 0xa5, 0x25, 0xed, 0xae, 0x4f, 0x88, - 0x21, 0x1e, 0x80, 0xd7, 0x04, 0xd1, 0xff, 0x78, 0x2c, 0xd8, 0xb2, 0xa0, 0x19, 0x01, 0xea, 0x77, - 0x61, 0x26, 0xd5, 0xcd, 0x6d, 0xe3, 0x1e, 0xd9, 0x0a, 0xdd, 0xda, 0x3d, 0xb2, 0x85, 0x9e, 0x8d, - 0x3f, 0xd3, 0x67, 0x1d, 0xce, 0xb7, 0x7c, 0xaf, 0x75, 0x35, 0x08, 0xf0, 0x96, 0x7a, 0xc6, 0xbf, - 0x92, 0x7b, 0xd1, 0x30, 0x7f, 0x9f, 0x83, 0xf2, 0xeb, 0x5d, 0x12, 0x6c, 0xed, 0xa6, 0x7b, 0x09, - 0x9d, 0xfd, 0x78, 0xcc, 0xd9, 0xf7, 0xed, 0xe8, 0x09, 0xcd, 0x8e, 0xd6, 0xf8, 0xa5, 0x49, 0xad, - 0x5f, 0xd2, 0x6d, 0xd9, 0xc2, 0x8e, 0xb6, 0x6c, 0x31, 0x73, 0xcb, 0x72, 0xeb, 0x56, 0x2a, 0x1c, - 0x69, 0x93, 0x25, 0xa2, 0xac, 0xdc, 0x4e, 0xa3, 0x2c, 0xf3, 0x33, 0x03, 0x4a, 0x6f, 0x91, 0x26, - 0xf3, 0x03, 0xee, 0x2d, 0x34, 0xba, 0x37, 0x86, 0x08, 0x64, 0x73, 0xe9, 0x40, 0xf6, 0x32, 0x14, - 0x1d, 0xbb, 0x81, 0xb9, 0xd9, 0x88, 0xc5, 0x1b, 0x14, 0x40, 0x15, 0x1c, 0x5b, 0xd8, 0xd7, 0xf0, - 0x99, 0xf7, 0x1f, 0x18, 0x50, 0x96, 0x32, 0x53, 0x49, 0xf9, 0x52, 0x6c, 0x38, 0x43, 0x67, 0xcb, - 0xaa, 0x11, 0x4d, 0xf4, 0xe6, 0x58, 0x6f, 0xd8, 0xab, 0x00, 0x5c, 0x77, 0x8a, 0x5c, 0x6e, 0x85, - 0x05, 0xad, 0xb4, 0x92, 0x5c, 0xe8, 0xf1, 0xe6, 0x98, 0x55, 0xe2, 0x54, 0x82, 0xc5, 0xb5, 0x02, - 0x4c, 0x08, 0x6a, 0xf3, 0x9f, 0x06, 0xcc, 0x5e, 0xc7, 0x6e, 0x73, 0xd9, 0xa1, 0x0c, 0x7b, 0xcd, - 0x11, 0x42, 0xa6, 0x2b, 0x50, 0xf0, 0x3b, 0x0d, 0x97, 0x6c, 0x30, 0x25, 0xd2, 0xc9, 0x01, 0x33, - 0x92, 0x6a, 0xb0, 0x26, 0xfd, 0xce, 0x2d, 0xb2, 0xc1, 0xd0, 0x7f, 0x42, 0xd1, 0xef, 0x34, 0x02, - 0xa7, 0xb5, 0xc9, 0x94, 0xf6, 0x87, 0x20, 0x2e, 0xf8, 0x1d, 0x8b, 0x53, 0xc4, 0x32, 0x21, 0xe3, - 0x3b, 0xcc, 0x84, 0x98, 0x7f, 0xe9, 0x9b, 0xfe, 0x08, 0xa6, 0x7d, 0x05, 0x8a, 0x8e, 0xc7, 0x1a, - 0xb6, 0x43, 0x43, 0x15, 0x1c, 0xd3, 0xdb, 0x90, 0xc7, 0xc4, 0x0c, 0xc4, 0x9a, 0x7a, 0x8c, 0x8f, - 0x8d, 0x5e, 0x01, 0xd8, 0x70, 0x7d, 0xac, 0xa8, 0xa5, 0x0e, 0x4e, 0xe8, 0x77, 0x05, 0x47, 0x0b, - 0xe9, 0x4b, 0x82, 0x88, 0x73, 0xe8, 0x2d, 0xe9, 0x9f, 0x0c, 0x38, 0xb8, 0x4a, 0x02, 0xea, 0x50, - 0x46, 0x3c, 0xa6, 0xb2, 0x92, 0x2b, 0xde, 0x86, 0x9f, 0x4c, 0xff, 0x1a, 0xa9, 0xf4, 0xef, 0x57, - 0x93, 0x0c, 0x4d, 0xdc, 0x73, 0xe4, 0x23, 0x44, 0x78, 0xcf, 0x09, 0x9f, 0x5a, 0xe4, 0x3d, 0x71, - 0x3a, 0x63, 0x99, 0x94, 0xbc, 0xf1, 0xeb, 0xb2, 0xf9, 0x5d, 0x59, 0xf6, 0xa0, 0x9d, 0xd4, 0xa3, - 0x1b, 0xec, 0x3c, 0x28, 0x07, 0x9e, 0x72, 0xe7, 0x4f, 0x41, 0xca, 0x77, 0x64, 0x14, 0x63, 0xfc, - 0xd0, 0x80, 0x85, 0x6c, 0xa9, 0x46, 0x39, 0x79, 0x5f, 0x81, 0x09, 0xc7, 0xdb, 0xf0, 0xc3, 0x24, - 0xd9, 0x59, 0x7d, 0x40, 0xad, 0x1d, 0x57, 0x12, 0x9a, 0xbf, 0xce, 0x41, 0x55, 0xf8, 0xea, 0x5d, - 0x58, 0xfe, 0x36, 0x69, 0x37, 0xa8, 0xf3, 0x1e, 0x09, 0x97, 0xbf, 0x4d, 0xda, 0x6b, 0xce, 0x7b, - 0x24, 0x61, 0x19, 0x13, 0x49, 0xcb, 0x48, 0xa6, 0x11, 0x26, 0x07, 0x24, 0x41, 0x0b, 0xc9, 0x24, - 0xe8, 0x3c, 0x4c, 0x7a, 0xbe, 0x4d, 0x56, 0x96, 0xd5, 0x25, 0x51, 0xb5, 0x7a, 0xa6, 0x56, 0xda, - 0xa1, 0xa9, 0x7d, 0x6c, 0x40, 0xfd, 0x06, 0x61, 0x69, 0xdd, 0xed, 0x9e, 0x95, 0x7d, 0x62, 0xc0, - 0x11, 0xad, 0x40, 0xa3, 0x18, 0xd8, 0x4b, 0x49, 0x03, 0xd3, 0xdf, 0xd8, 0xfa, 0x86, 0x54, 0xb6, - 0x75, 0x09, 0xca, 0xcb, 0xdd, 0x76, 0x3b, 0x8a, 0xa4, 0x4e, 0x42, 0x39, 0x90, 0x9f, 0xf2, 0x42, - 0x23, 0xcf, 0xdf, 0x29, 0x05, 0xe3, 0xd7, 0x16, 0xf3, 0x1c, 0x54, 0x14, 0x89, 0x92, 0xba, 0x0e, - 0xc5, 0x40, 0x7d, 0x2b, 0xfc, 0xa8, 0x6d, 0x1e, 0x84, 0x59, 0x8b, 0xb4, 0xb8, 0x69, 0x07, 0xb7, - 0x1c, 0xef, 0x9e, 0x1a, 0xc6, 0x7c, 0xdf, 0x80, 0xb9, 0x24, 0x5c, 0xf1, 0x7a, 0x1e, 0x0a, 0xd8, - 0xb6, 0x03, 0x42, 0xe9, 0xc0, 0x65, 0xb9, 0x2a, 0x71, 0xac, 0x10, 0x39, 0xa6, 0xb9, 0xdc, 0xd0, - 0x9a, 0x33, 0x1b, 0x70, 0xe0, 0x06, 0x61, 0xb7, 0x09, 0x0b, 0x46, 0x7a, 0x36, 0xaf, 0xf1, 0xab, - 0x86, 0x20, 0x56, 0x66, 0x11, 0x36, 0xcd, 0x8f, 0x0c, 0x40, 0xf1, 0x11, 0x46, 0x59, 0xe6, 0xb8, - 0x96, 0x73, 0x49, 0x2d, 0xcb, 0xca, 0xa2, 0x76, 0xc7, 0xf7, 0x88, 0xc7, 0xe2, 0x31, 0x6b, 0x25, - 0x82, 0x0a, 0xf3, 0xfb, 0xdc, 0x00, 0x74, 0xcb, 0xc7, 0xf6, 0x35, 0xec, 0x8e, 0x16, 0x1e, 0x1c, - 0x03, 0xa0, 0x41, 0xb3, 0xa1, 0x76, 0x6b, 0x4e, 0x79, 0x9f, 0xa0, 0x79, 0x47, 0x6e, 0xd8, 0x13, - 0x30, 0x65, 0x53, 0xa6, 0xba, 0xc3, 0x57, 0x5c, 0xb0, 0x29, 0x93, 0xfd, 0xa2, 0x2a, 0x93, 0x12, - 0xec, 0x12, 0xbb, 0x11, 0x7b, 0x1e, 0x1b, 0x17, 0x68, 0x55, 0xd9, 0xb1, 0xd6, 0x7b, 0x24, 0xbb, - 0x0b, 0x87, 0x6e, 0x63, 0xaf, 0x8b, 0xdd, 0xeb, 0x7e, 0xbb, 0x83, 0x13, 0xd5, 0x84, 0x69, 0x37, - 0x67, 0x68, 0xdc, 0xdc, 0x71, 0x59, 0x6e, 0x26, 0x23, 0x66, 0x21, 0xeb, 0xb8, 0x15, 0x83, 0x98, - 0x14, 0x6a, 0xfd, 0xec, 0x47, 0x59, 0x28, 0x21, 0x54, 0xc8, 0x2a, 0xee, 0x7b, 0x7b, 0x30, 0xf3, - 0x65, 0x38, 0x2c, 0x4a, 0xff, 0x42, 0x50, 0x22, 0x11, 0x9f, 0x66, 0x60, 0x68, 0x18, 0x7c, 0x33, - 0x27, 0x5c, 0x5b, 0x1f, 0x87, 0x51, 0x04, 0xbf, 0x92, 0xcc, 0x7f, 0x3f, 0xa9, 0xa5, 0x49, 0x8f, - 0xa8, 0x92, 0xe0, 0x8b, 0x30, 0x43, 0x1e, 0x92, 0x66, 0x97, 0x39, 0x5e, 0x6b, 0xd5, 0xc5, 0xde, - 0x1d, 0x5f, 0x1d, 0x28, 0x69, 0x30, 0x7a, 0x12, 0x2a, 0x5c, 0xfb, 0x7e, 0x97, 0x29, 0x3c, 0x79, - 0xb2, 0x24, 0x81, 0x9c, 0x1f, 0x9f, 0xaf, 0x4b, 0x18, 0xb1, 0x15, 0x9e, 0x3c, 0x66, 0xd2, 0xe0, - 0x3e, 0x55, 0x72, 0x30, 0xdd, 0x89, 0x2a, 0xff, 0x66, 0xa4, 0x54, 0xa9, 0x38, 0xec, 0x96, 0x2a, - 0x6f, 0x02, 0xb4, 0x49, 0xd0, 0x22, 0x2b, 0xc2, 0xa9, 0xcb, 0x0b, 0xf9, 0xa2, 0xd6, 0xa9, 0xf7, - 0x18, 0xdc, 0x0e, 0x09, 0xac, 0x18, 0xad, 0x79, 0x03, 0x66, 0x35, 0x28, 0xdc, 0x5f, 0x51, 0xbf, - 0x1b, 0x34, 0x49, 0x98, 0xaa, 0x09, 0x9b, 0xfc, 0x7c, 0x63, 0x38, 0x68, 0x11, 0xa6, 0x8c, 0x56, - 0xb5, 0xcc, 0xe7, 0xc5, 0x93, 0x91, 0xb8, 0xff, 0x27, 0x2c, 0x35, 0xf9, 0xbe, 0x6d, 0xf4, 0xbd, - 0x6f, 0x6f, 0x88, 0xf7, 0x99, 0x38, 0xdd, 0x88, 0x15, 0x08, 0x1b, 0x9c, 0x15, 0xb1, 0xd5, 0x6f, - 0x03, 0x61, 0xf3, 0xec, 0x49, 0x28, 0x86, 0x25, 0x2c, 0xa8, 0x00, 0xf9, 0xab, 0xae, 0x5b, 0x1d, - 0x43, 0x65, 0x28, 0xae, 0xa8, 0x3a, 0x8d, 0xaa, 0x71, 0xf6, 0xbf, 0x61, 0x26, 0x95, 0x23, 0x45, - 0x45, 0x18, 0xbf, 0xe3, 0x7b, 0xa4, 0x3a, 0x86, 0xaa, 0x50, 0xbe, 0xe6, 0x78, 0x38, 0xd8, 0x92, - 0x77, 0x92, 0xaa, 0x8d, 0x66, 0x60, 0x4a, 0xc4, 0xe6, 0x0a, 0x40, 0x96, 0x3e, 0x38, 0x01, 0x95, - 0xdb, 0x42, 0xc6, 0x35, 0x12, 0xdc, 0x77, 0x9a, 0x04, 0x35, 0xa0, 0x9a, 0xfe, 0x11, 0x06, 0x3d, - 0xad, 0x5f, 0x27, 0xfd, 0xff, 0x32, 0xf5, 0x41, 0xb3, 0x36, 0xc7, 0xd0, 0x3b, 0x30, 0x9d, 0xfc, - 0x45, 0x05, 0xe9, 0x83, 0x47, 0xed, 0x7f, 0x2c, 0xdb, 0x31, 0x6f, 0x40, 0x25, 0xf1, 0xc7, 0x09, - 0x3a, 0xa3, 0xe5, 0xad, 0xfb, 0x2b, 0xa5, 0xae, 0xbf, 0xcf, 0xc5, 0xff, 0x0a, 0x91, 0xd2, 0x27, - 0x6b, 0xd2, 0x33, 0xa4, 0xd7, 0x16, 0xae, 0x6f, 0x27, 0x3d, 0x86, 0x03, 0x7d, 0x25, 0xe6, 0xe8, - 0xbc, 0x96, 0x7f, 0x56, 0x29, 0xfa, 0x76, 0x43, 0x3c, 0x00, 0xd4, 0xff, 0x67, 0x05, 0xba, 0xa0, - 0x5f, 0x81, 0xac, 0xff, 0x4a, 0xea, 0x17, 0x87, 0xc6, 0x8f, 0x14, 0xf7, 0x0d, 0x03, 0x0e, 0x65, - 0xd4, 0x85, 0xa3, 0xcb, 0x5a, 0x76, 0x83, 0x8b, 0xdb, 0xeb, 0xcf, 0xee, 0x8c, 0x28, 0x12, 0xc4, - 0x83, 0x99, 0x54, 0xa9, 0x34, 0x3a, 0x97, 0x59, 0x3e, 0xd6, 0x5f, 0x33, 0x5e, 0x7f, 0x7a, 0x38, - 0xe4, 0x68, 0xbc, 0xbb, 0x30, 0x93, 0xaa, 0x2f, 0xce, 0x18, 0x4f, 0x5f, 0x85, 0xbc, 0xdd, 0x82, - 0xbe, 0x0d, 0x95, 0x44, 0x21, 0x70, 0x86, 0xc5, 0xeb, 0x8a, 0x85, 0xb7, 0x63, 0x7d, 0x17, 0xca, - 0xf1, 0x7a, 0x5d, 0xb4, 0x98, 0xb5, 0x97, 0xfa, 0x18, 0xef, 0x64, 0x2b, 0xf5, 0xca, 0xf1, 0x06, - 0x6c, 0xa5, 0xbe, 0x0a, 0xc6, 0xe1, 0xb7, 0x52, 0x8c, 0xff, 0xc0, 0xad, 0xb4, 0xe3, 0x21, 0xde, - 0x37, 0x60, 0x5e, 0x5f, 0xee, 0x89, 0x96, 0xb2, 0x6c, 0x33, 0xbb, 0xb0, 0xb5, 0x7e, 0x79, 0x47, - 0x34, 0x91, 0x16, 0xef, 0xc1, 0x74, 0xb2, 0xa8, 0x31, 0x43, 0x8b, 0xda, 0x3a, 0xd0, 0xfa, 0xb9, - 0xa1, 0x70, 0xa3, 0xc1, 0xde, 0x84, 0xa9, 0xd8, 0xbf, 0xad, 0xe8, 0xf4, 0x00, 0x3b, 0x8e, 0xff, - 0xe8, 0xb9, 0x9d, 0x26, 0x5f, 0x87, 0x52, 0xf4, 0x4b, 0x2a, 0x3a, 0x95, 0x69, 0xbf, 0x3b, 0x61, - 0xb9, 0x06, 0xd0, 0xfb, 0xdf, 0x14, 0x3d, 0xa5, 0xe5, 0xd9, 0xf7, 0x43, 0xea, 0x76, 0x4c, 0xa3, - 0xe9, 0xcb, 0x47, 0xe6, 0x41, 0xd3, 0x8f, 0x57, 0x45, 0x6c, 0xc7, 0x76, 0x13, 0x2a, 0x89, 0x5a, - 0xa6, 0xac, 0x2d, 0xac, 0x29, 0x31, 0xab, 0x9f, 0x1d, 0x06, 0x35, 0x5a, 0xbf, 0x4d, 0xa8, 0x24, - 0x2a, 0x4b, 0x32, 0x46, 0xd2, 0x15, 0xd2, 0x64, 0x8c, 0xa4, 0x2d, 0x54, 0x31, 0xc7, 0xd0, 0xd7, - 0x62, 0x45, 0x2c, 0x89, 0x42, 0x21, 0x74, 0x69, 0x20, 0x1f, 0x5d, 0x9d, 0x54, 0x7d, 0x69, 0x27, - 0x24, 0x91, 0x08, 0xca, 0xaa, 0xa4, 0x4a, 0xb3, 0xad, 0x6a, 0x27, 0x2b, 0xb5, 0x06, 0x93, 0xb2, - 0x56, 0x04, 0x99, 0x19, 0x55, 0x61, 0xb1, 0x42, 0x92, 0xfa, 0x13, 0x5a, 0x9c, 0x64, 0x19, 0x85, - 0x64, 0x2a, 0x6b, 0x01, 0x32, 0x98, 0x26, 0x0a, 0x05, 0x86, 0x65, 0x6a, 0xc1, 0xa4, 0x7c, 0x04, - 0xcc, 0x60, 0x9a, 0x78, 0xc8, 0xae, 0x0f, 0xc6, 0x91, 0x2f, 0x87, 0x63, 0x68, 0x15, 0x26, 0x44, - 0xd0, 0x8b, 0x4e, 0x0e, 0x7a, 0x48, 0x1b, 0xc4, 0x31, 0xf1, 0xd6, 0x66, 0x8e, 0xa1, 0xff, 0x85, - 0x09, 0x91, 0xc2, 0xc9, 0xe0, 0x18, 0x7f, 0x0d, 0xab, 0x0f, 0x44, 0x09, 0x45, 0xb4, 0xa1, 0x1c, - 0xcf, 0x95, 0x67, 0x1c, 0x59, 0x9a, 0xd7, 0x84, 0xfa, 0x30, 0x98, 0xe1, 0x28, 0x72, 0x1b, 0xf5, - 0x2e, 0x00, 0xd9, 0xdb, 0xa8, 0xef, 0x72, 0x91, 0xbd, 0x8d, 0xfa, 0xef, 0x13, 0xe6, 0x18, 0xfa, - 0x96, 0x01, 0xb5, 0xac, 0x04, 0x2e, 0xca, 0x8c, 0x80, 0x06, 0x65, 0xa1, 0xeb, 0xcf, 0xed, 0x90, - 0x2a, 0x92, 0xe5, 0x3d, 0x98, 0xd5, 0x64, 0xf9, 0xd0, 0xc5, 0x2c, 0x7e, 0x19, 0x09, 0xca, 0xfa, - 0x33, 0xc3, 0x13, 0x44, 0x63, 0xaf, 0xc2, 0x84, 0xc8, 0xce, 0x65, 0x18, 0x4a, 0x3c, 0xd9, 0x97, - 0x61, 0x7a, 0x89, 0xe4, 0x9e, 0x39, 0x86, 0x08, 0x94, 0xe3, 0xa9, 0xba, 0x0c, 0x4b, 0xd1, 0x64, - 0xf9, 0xea, 0x67, 0x86, 0xc0, 0x8c, 0x86, 0x69, 0x00, 0xf4, 0x52, 0x65, 0x19, 0xe7, 0x50, 0x5f, - 0xb6, 0xae, 0x7e, 0x7a, 0x5b, 0xbc, 0xf8, 0x91, 0x1c, 0x4b, 0x7e, 0x65, 0x9c, 0x49, 0xfd, 0xe9, - 0xb1, 0x21, 0xee, 0x09, 0xfd, 0x89, 0x98, 0x8c, 0x7b, 0x42, 0x66, 0xce, 0xa7, 0x7e, 0x71, 0x68, - 0xfc, 0x68, 0x3e, 0xef, 0x42, 0x35, 0x9d, 0xb8, 0xca, 0xb8, 0x7f, 0x66, 0xa4, 0xcf, 0xea, 0xe7, - 0x87, 0xc4, 0x8e, 0x9f, 0x55, 0x47, 0xfa, 0x65, 0xfa, 0x3f, 0x87, 0x6d, 0x8a, 0x9c, 0xc9, 0x30, - 0xb3, 0x8e, 0xa7, 0x67, 0x86, 0x99, 0x75, 0x22, 0x19, 0x63, 0x8e, 0x2d, 0x75, 0xa1, 0xbc, 0x1a, - 0xf8, 0x0f, 0xb7, 0xc2, 0x5b, 0xf8, 0xbf, 0xc7, 0x3a, 0xaf, 0x3d, 0xf7, 0xff, 0x97, 0x5b, 0x0e, - 0xdb, 0xec, 0xae, 0xf3, 0xf5, 0xbf, 0x28, 0x71, 0xcf, 0x3b, 0xbe, 0xfa, 0xba, 0xe8, 0x78, 0x8c, - 0x04, 0x1e, 0x76, 0x2f, 0x0a, 0x5e, 0x0a, 0xda, 0x59, 0x5f, 0x9f, 0x14, 0xed, 0xcb, 0xff, 0x0a, - 0x00, 0x00, 0xff, 0xff, 0xbd, 0xee, 0x15, 0x9a, 0x2b, 0x45, 0x00, 0x00, + // 3560 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x3b, 0x4d, 0x73, 0x1b, 0x47, + 0x76, 0x1c, 0x80, 0x20, 0x80, 0x47, 0x80, 0x84, 0x9a, 0x14, 0x05, 0x41, 0x5f, 0xd4, 0xd8, 0xb2, + 0x28, 0xc9, 0x92, 0x2c, 0xca, 0x5f, 0x91, 0x93, 0xd8, 0x92, 0x18, 0x4b, 0x2c, 0x4b, 0x0a, 0x3d, + 0xb4, 0x9d, 0x72, 0x5c, 0x2a, 0x54, 0x13, 0xd3, 0x04, 0xa7, 0x34, 0x98, 0x81, 0xa7, 0x1b, 0x92, + 0xe8, 0x53, 0xaa, 0x1c, 0x27, 0x95, 0xb2, 0x63, 0x57, 0x2a, 0xa9, 0xa4, 0x72, 0x48, 0x0e, 0xc9, + 0xee, 0x61, 0x6f, 0xeb, 0xf5, 0xd6, 0xee, 0xd6, 0x5e, 0x76, 0x0f, 0x3e, 0xec, 0x61, 0xab, 0xf6, + 0xe3, 0xb2, 0x87, 0xbd, 0xec, 0x1f, 0xf0, 0x3f, 0xd8, 0xc3, 0x56, 0x7f, 0xcc, 0x60, 0x66, 0xd0, + 0x03, 0x82, 0x82, 0xb5, 0x24, 0x6f, 0xd3, 0xaf, 0xdf, 0x7b, 0xfd, 0xfa, 0xf5, 0xeb, 0xd7, 0xaf, + 0x5f, 0xbf, 0x81, 0x4a, 0xc7, 0x71, 0x1f, 0xf6, 0xe8, 0xa5, 0x6e, 0xe0, 0x33, 0x1f, 0xcd, 0xc5, + 0x5b, 0x97, 0x64, 0xa3, 0x51, 0x69, 0xf9, 0x9d, 0x8e, 0xef, 0x49, 0x60, 0xa3, 0x42, 0x5b, 0x5b, + 0xa4, 0x83, 0x65, 0xcb, 0xfc, 0x5f, 0x03, 0xd0, 0xcd, 0x80, 0x60, 0x46, 0xae, 0xbb, 0x0e, 0xa6, + 0x16, 0xf9, 0xb0, 0x47, 0x28, 0x43, 0x2f, 0xc0, 0xe4, 0x06, 0xa6, 0xa4, 0x6e, 0x2c, 0x1a, 0x4b, + 0xd3, 0xcb, 0xc7, 0x2f, 0x25, 0xd8, 0x2a, 0x76, 0x77, 0x69, 0xfb, 0x06, 0xa6, 0xc4, 0x12, 0x98, + 0xe8, 0x08, 0x14, 0xed, 0x8d, 0xa6, 0x87, 0x3b, 0xa4, 0x9e, 0x5b, 0x34, 0x96, 0xca, 0xd6, 0x94, + 0xbd, 0x71, 0x0f, 0x77, 0x08, 0x3a, 0x0b, 0xb3, 0x2d, 0xdf, 0x75, 0x49, 0x8b, 0x39, 0xbe, 0x27, + 0x11, 0xf2, 0x02, 0x61, 0xa6, 0x0f, 0x16, 0x88, 0xf3, 0x50, 0xc0, 0x5c, 0x86, 0xfa, 0xa4, 0xe8, + 0x96, 0x0d, 0x93, 0x42, 0x6d, 0x25, 0xf0, 0xbb, 0x4f, 0x4b, 0xba, 0x68, 0xd0, 0x7c, 0x7c, 0xd0, + 0xff, 0x31, 0xe0, 0xd0, 0x75, 0x97, 0x91, 0x60, 0x9f, 0x2a, 0xe5, 0x6b, 0x03, 0x8e, 0xc8, 0x55, + 0xbb, 0x19, 0xa1, 0xef, 0xa5, 0x94, 0x0b, 0x30, 0x25, 0xad, 0x4a, 0x88, 0x59, 0xb1, 0x54, 0x0b, + 0x9d, 0x00, 0xa0, 0x5b, 0x38, 0xb0, 0x69, 0xd3, 0xeb, 0x75, 0xea, 0x85, 0x45, 0x63, 0xa9, 0x60, + 0x95, 0x25, 0xe4, 0x5e, 0xaf, 0x63, 0x7e, 0x6a, 0xc0, 0x61, 0xbe, 0xb8, 0xfb, 0x62, 0x12, 0xe6, + 0xf7, 0x0c, 0x98, 0xbf, 0x8d, 0xe9, 0xfe, 0xd0, 0xe8, 0x09, 0x00, 0xe6, 0x74, 0x48, 0x93, 0x32, + 0xdc, 0xe9, 0x0a, 0xad, 0x4e, 0x5a, 0x65, 0x0e, 0x59, 0xe7, 0x00, 0xf3, 0x7d, 0xa8, 0xdc, 0xf0, + 0x7d, 0xd7, 0x22, 0xb4, 0xeb, 0x7b, 0x94, 0xa0, 0xab, 0x30, 0x45, 0x19, 0x66, 0x3d, 0xaa, 0x84, + 0x3c, 0xa6, 0x15, 0x72, 0x5d, 0xa0, 0x58, 0x0a, 0x95, 0xdb, 0xd6, 0x43, 0xec, 0xf6, 0xa4, 0x8c, + 0x25, 0x4b, 0x36, 0xcc, 0x0f, 0x60, 0x66, 0x9d, 0x05, 0x8e, 0xd7, 0xfe, 0x16, 0x99, 0x97, 0x43, + 0xe6, 0xbf, 0x35, 0xe0, 0xe8, 0x0a, 0xa1, 0xad, 0xc0, 0xd9, 0xd8, 0x27, 0xa6, 0x6b, 0x42, 0xa5, + 0x0f, 0x59, 0x5d, 0x11, 0xaa, 0xce, 0x5b, 0x09, 0x58, 0x6a, 0x31, 0x0a, 0xe9, 0xc5, 0xf8, 0x78, + 0x12, 0x1a, 0xba, 0x49, 0x8d, 0xa3, 0xbe, 0xbf, 0x8a, 0x76, 0x54, 0x4e, 0x10, 0x9d, 0x49, 0x12, + 0x29, 0x1f, 0xde, 0x1f, 0x6d, 0x5d, 0x00, 0xa2, 0x8d, 0x97, 0x9e, 0x55, 0x5e, 0x33, 0xab, 0x65, + 0x38, 0xfc, 0xd0, 0x09, 0x58, 0x0f, 0xbb, 0xcd, 0xd6, 0x16, 0xf6, 0x3c, 0xe2, 0x0a, 0x3d, 0x71, + 0x57, 0x93, 0x5f, 0x2a, 0x5b, 0x73, 0xaa, 0xf3, 0xa6, 0xec, 0xe3, 0xca, 0xa2, 0xe8, 0x45, 0x58, + 0xe8, 0x6e, 0x6d, 0x53, 0xa7, 0x35, 0x40, 0x54, 0x10, 0x44, 0xf3, 0x61, 0x6f, 0x82, 0xea, 0x02, + 0x1c, 0x6a, 0x09, 0x6f, 0x65, 0x37, 0xb9, 0xd6, 0xa4, 0x1a, 0xa7, 0x84, 0x1a, 0x6b, 0xaa, 0xe3, + 0x9d, 0x10, 0xce, 0xc5, 0x0a, 0x91, 0x7b, 0xac, 0x15, 0x23, 0x28, 0x0a, 0x82, 0x39, 0xd5, 0xf9, + 0x2e, 0x6b, 0xf5, 0x69, 0x92, 0x7e, 0xa6, 0x94, 0xf2, 0x33, 0xa8, 0x0e, 0x45, 0xe1, 0x37, 0x09, + 0xad, 0x97, 0x85, 0x98, 0x61, 0x13, 0xad, 0xc2, 0x2c, 0x65, 0x38, 0x60, 0xcd, 0xae, 0x4f, 0x1d, + 0xae, 0x17, 0x5a, 0x87, 0xc5, 0xfc, 0xd2, 0xf4, 0xf2, 0xa2, 0x76, 0x91, 0xde, 0x22, 0xdb, 0x2b, + 0x98, 0xe1, 0x35, 0xec, 0x04, 0xd6, 0x8c, 0x20, 0x5c, 0x0b, 0xe9, 0x84, 0x33, 0xbb, 0xe3, 0x63, + 0x7b, 0x7f, 0x38, 0xb3, 0xcf, 0x0d, 0xa8, 0x5b, 0xc4, 0x25, 0x98, 0xee, 0x8f, 0x7d, 0x66, 0xfe, + 0x87, 0x01, 0x27, 0x6f, 0x11, 0x16, 0xb3, 0x58, 0x86, 0x99, 0x43, 0x99, 0xd3, 0xda, 0xcb, 0xf3, + 0xd5, 0xfc, 0xc2, 0x80, 0x53, 0x99, 0x62, 0x8d, 0xb3, 0x81, 0x5f, 0x81, 0x02, 0xff, 0xa2, 0xf5, + 0x9c, 0xb0, 0xa7, 0xd3, 0x59, 0xf6, 0xf4, 0x1e, 0xf7, 0x8b, 0xc2, 0xa0, 0x24, 0xbe, 0xf9, 0x07, + 0x03, 0x16, 0xd6, 0xb7, 0xfc, 0x47, 0x7d, 0x91, 0x9e, 0x86, 0x82, 0x92, 0x2e, 0x2d, 0x9f, 0x72, + 0x69, 0xe8, 0x0a, 0x4c, 0xb2, 0xed, 0x2e, 0x11, 0xde, 0x70, 0x66, 0xf9, 0xc4, 0x25, 0x4d, 0x58, + 0x79, 0x89, 0x0b, 0xf9, 0xce, 0x76, 0x97, 0x58, 0x02, 0x15, 0x9d, 0x83, 0x5a, 0x4a, 0xe5, 0xa1, + 0x53, 0x98, 0x4d, 0xea, 0x9c, 0x9a, 0x3f, 0xc9, 0xc1, 0x91, 0x81, 0x29, 0x8e, 0xa3, 0x6c, 0xdd, + 0xd8, 0x39, 0xed, 0xd8, 0xe8, 0x0c, 0xc4, 0x4c, 0xa0, 0xe9, 0xd8, 0x3c, 0xf2, 0xcb, 0x2f, 0xe5, + 0xad, 0x6a, 0xcc, 0x37, 0xda, 0x14, 0x5d, 0x04, 0x34, 0xe0, 0xb2, 0xa4, 0x67, 0x9c, 0xb4, 0x0e, + 0xa5, 0x7d, 0x96, 0xf0, 0x8b, 0x5a, 0xa7, 0x25, 0x55, 0x30, 0x69, 0xcd, 0x6b, 0xbc, 0x16, 0x45, + 0x57, 0x60, 0xde, 0xf1, 0xee, 0x92, 0x8e, 0x1f, 0x6c, 0x37, 0xbb, 0x24, 0x68, 0x11, 0x8f, 0xe1, + 0x36, 0xa1, 0xf5, 0x29, 0x21, 0xd1, 0x5c, 0xd8, 0xb7, 0xd6, 0xef, 0x32, 0xbf, 0x32, 0x60, 0x41, + 0x46, 0x7e, 0x6b, 0x38, 0x60, 0xce, 0x5e, 0x9f, 0x9e, 0x67, 0x60, 0xa6, 0x1b, 0xca, 0x21, 0xf1, + 0x64, 0x9c, 0x5a, 0x8d, 0xa0, 0x62, 0x97, 0x7d, 0x69, 0xc0, 0x3c, 0x0f, 0xf4, 0x0e, 0x92, 0xcc, + 0xdf, 0x37, 0x60, 0xee, 0x36, 0xa6, 0x07, 0x49, 0xe4, 0x1f, 0xaa, 0x23, 0x28, 0x92, 0x79, 0x4f, + 0xaf, 0x2e, 0x67, 0x61, 0x36, 0x29, 0x74, 0x18, 0x59, 0xcc, 0x24, 0xa4, 0xa6, 0xe6, 0x8f, 0xfb, + 0x67, 0xd5, 0x01, 0x93, 0xfc, 0xa7, 0x06, 0x9c, 0xb8, 0x45, 0x58, 0x24, 0xf5, 0xbe, 0x38, 0xd3, + 0x46, 0xb5, 0x96, 0xcf, 0xe5, 0x89, 0xac, 0x15, 0x7e, 0x4f, 0x4e, 0xbe, 0x4f, 0x73, 0x70, 0x98, + 0x1f, 0x0b, 0xfb, 0xc3, 0x08, 0x46, 0xb9, 0x18, 0x68, 0x0c, 0xa5, 0xa0, 0x33, 0x94, 0xe8, 0x3c, + 0x9d, 0x1a, 0xf9, 0x3c, 0x35, 0x7f, 0x90, 0x93, 0x71, 0x40, 0x5c, 0x1b, 0xe3, 0x2c, 0x8b, 0x46, + 0xd6, 0x9c, 0x56, 0x56, 0x13, 0x2a, 0x11, 0x64, 0x75, 0x25, 0x3c, 0x1f, 0x13, 0xb0, 0x7d, 0x7b, + 0x3c, 0x7e, 0x66, 0xc0, 0x42, 0x78, 0x15, 0x5b, 0x27, 0xed, 0x0e, 0xf1, 0xd8, 0x93, 0xdb, 0x50, + 0xda, 0x02, 0x72, 0x1a, 0x0b, 0x38, 0x0e, 0x65, 0x2a, 0xc7, 0x89, 0x6e, 0x59, 0x7d, 0x80, 0xf9, + 0x33, 0x03, 0x8e, 0x0c, 0x88, 0x33, 0xce, 0x22, 0xd6, 0xa1, 0xe8, 0x78, 0x36, 0x79, 0x1c, 0x49, + 0x13, 0x36, 0x79, 0xcf, 0x46, 0xcf, 0x71, 0xed, 0x48, 0x8c, 0xb0, 0x89, 0x4e, 0x43, 0x85, 0x78, + 0x78, 0xc3, 0x25, 0x4d, 0x81, 0x2b, 0x0c, 0xb9, 0x64, 0x4d, 0x4b, 0xd8, 0x2a, 0x07, 0x71, 0xe2, + 0x4d, 0x87, 0x08, 0xe2, 0x82, 0x24, 0x56, 0x4d, 0xf3, 0x5f, 0x0d, 0x98, 0xe3, 0x56, 0xa8, 0xa4, + 0xa7, 0x4f, 0x57, 0x9b, 0x8b, 0x30, 0x1d, 0x33, 0x33, 0x35, 0x91, 0x38, 0xc8, 0x7c, 0x00, 0xf3, + 0x49, 0x71, 0xc6, 0xd1, 0xe6, 0x49, 0x80, 0x68, 0xad, 0xe4, 0x6e, 0xc8, 0x5b, 0x31, 0x88, 0xf9, + 0x4d, 0x94, 0x1c, 0x15, 0x6a, 0xda, 0xe3, 0x7c, 0x90, 0x58, 0x92, 0xb8, 0x3f, 0x2f, 0x0b, 0x88, + 0xe8, 0x5e, 0x81, 0x0a, 0x79, 0xcc, 0x02, 0xdc, 0xec, 0xe2, 0x00, 0x77, 0xe4, 0xb6, 0x1a, 0xc9, + 0xf5, 0x4e, 0x0b, 0xb2, 0x35, 0x41, 0x65, 0xfe, 0x82, 0x87, 0x69, 0xca, 0x5c, 0xf7, 0xfb, 0x8c, + 0x4f, 0x00, 0x08, 0x73, 0x96, 0xdd, 0x05, 0xd9, 0x2d, 0x20, 0xe2, 0x70, 0xfb, 0xae, 0x01, 0x35, + 0x31, 0x05, 0x39, 0x9f, 0x2e, 0x67, 0x9b, 0xa2, 0x31, 0x52, 0x34, 0x43, 0x36, 0xd7, 0x5f, 0xc0, + 0x94, 0x52, 0x6c, 0x7e, 0x54, 0xc5, 0x2a, 0x82, 0x1d, 0xa6, 0x61, 0xfe, 0x9f, 0x01, 0x87, 0x53, + 0x2a, 0x1f, 0xc7, 0xa2, 0xdf, 0x01, 0x24, 0x67, 0x68, 0xf7, 0xa7, 0x1d, 0x1e, 0xc4, 0x67, 0xb4, + 0xa7, 0x4e, 0x5a, 0x49, 0xd6, 0x21, 0x27, 0x05, 0xa1, 0xe6, 0xaf, 0x0d, 0x38, 0x7e, 0x8b, 0x30, + 0x81, 0x7a, 0x83, 0x7b, 0x95, 0xb5, 0xc0, 0x6f, 0x07, 0x84, 0xd2, 0x83, 0x6b, 0x1f, 0xff, 0x29, + 0x23, 0x37, 0xdd, 0x94, 0xc6, 0xd1, 0xff, 0x69, 0xa8, 0x88, 0x31, 0x88, 0xdd, 0x0c, 0xfc, 0x47, + 0x54, 0xd9, 0xd1, 0xb4, 0x82, 0x59, 0xfe, 0x23, 0x61, 0x10, 0xcc, 0x67, 0xd8, 0x95, 0x08, 0xea, + 0xc8, 0x10, 0x10, 0xde, 0x2d, 0xf6, 0x60, 0x28, 0x18, 0x67, 0x4e, 0x0e, 0xae, 0x8e, 0xbf, 0x63, + 0xc0, 0xe1, 0xd4, 0x54, 0xc6, 0xd1, 0xed, 0x4b, 0x32, 0xae, 0x94, 0x93, 0x99, 0x59, 0x3e, 0xa5, + 0xa5, 0x89, 0x0d, 0x26, 0xb1, 0xd1, 0x29, 0x98, 0xde, 0xc4, 0x8e, 0xdb, 0x0c, 0x08, 0xa6, 0xbe, + 0xa7, 0x26, 0x0a, 0x1c, 0x64, 0x09, 0x88, 0xf9, 0xb5, 0x21, 0x9f, 0x98, 0x0e, 0xb8, 0xc7, 0xfb, + 0xff, 0x1c, 0x54, 0x57, 0x3d, 0x4a, 0x02, 0xb6, 0xff, 0xef, 0x1e, 0xe8, 0x75, 0x98, 0x16, 0x13, + 0xa3, 0x4d, 0x1b, 0x33, 0xac, 0x8e, 0xab, 0x93, 0xda, 0x1c, 0xf7, 0x9b, 0x1c, 0x6f, 0x05, 0x33, + 0x6c, 0x49, 0xed, 0x50, 0xfe, 0x8d, 0x8e, 0x41, 0x79, 0x0b, 0xd3, 0xad, 0xe6, 0x03, 0xb2, 0x2d, + 0x03, 0xc2, 0xaa, 0x55, 0xe2, 0x80, 0xb7, 0xc8, 0x36, 0x45, 0x47, 0xa1, 0xe4, 0xf5, 0x3a, 0x72, + 0x83, 0x15, 0x17, 0x8d, 0xa5, 0xaa, 0x55, 0xf4, 0x7a, 0x1d, 0xb1, 0xbd, 0x7e, 0x99, 0x83, 0x99, + 0xbb, 0x3d, 0x7e, 0xd3, 0x11, 0x19, 0xfa, 0x9e, 0xcb, 0x9e, 0xcc, 0x18, 0xcf, 0x43, 0x5e, 0xc6, + 0x0c, 0x9c, 0xa2, 0xae, 0x15, 0x7c, 0x75, 0x85, 0x5a, 0x1c, 0x49, 0x64, 0xa7, 0x7b, 0xad, 0x96, + 0x0a, 0xbf, 0xf2, 0x42, 0xd8, 0x32, 0x87, 0xc8, 0xe0, 0xeb, 0x18, 0x94, 0x49, 0x10, 0x44, 0xc1, + 0x99, 0x98, 0x0a, 0x09, 0x02, 0xd9, 0x69, 0x42, 0x05, 0xb7, 0x1e, 0x78, 0xfe, 0x23, 0x97, 0xd8, + 0x6d, 0x62, 0x8b, 0x65, 0x2f, 0x59, 0x09, 0x98, 0x34, 0x0c, 0xbe, 0xf0, 0xcd, 0x96, 0xc7, 0xc4, + 0x15, 0x23, 0xcf, 0x0d, 0x83, 0x43, 0x6e, 0x7a, 0x8c, 0x77, 0xdb, 0xc4, 0x25, 0x8c, 0x88, 0xee, + 0xa2, 0xec, 0x96, 0x10, 0xd5, 0xdd, 0xeb, 0x46, 0xd4, 0x25, 0xd9, 0x2d, 0x21, 0xbc, 0xfb, 0x38, + 0x94, 0xfb, 0x29, 0xf8, 0x72, 0x3f, 0x4f, 0x28, 0x00, 0xe6, 0xef, 0x0d, 0xa8, 0xae, 0x08, 0x56, + 0x07, 0xc0, 0xe8, 0x10, 0x4c, 0x92, 0xc7, 0xdd, 0x40, 0x6d, 0x1d, 0xf1, 0x3d, 0xd4, 0x8e, 0xcc, + 0x87, 0x50, 0x5b, 0x73, 0x71, 0x8b, 0x6c, 0xf9, 0xae, 0x4d, 0x02, 0x71, 0xb6, 0xa3, 0x1a, 0xe4, + 0x19, 0x6e, 0xab, 0xe0, 0x81, 0x7f, 0xa2, 0x57, 0xd5, 0xdd, 0x4e, 0xba, 0xa5, 0x67, 0xb5, 0xa7, + 0x6c, 0x8c, 0x4d, 0x2c, 0x65, 0xba, 0x00, 0x53, 0xe2, 0x59, 0x4c, 0x86, 0x15, 0x15, 0x4b, 0xb5, + 0xcc, 0xfb, 0x89, 0x71, 0x6f, 0x05, 0x7e, 0xaf, 0x8b, 0x56, 0xa1, 0xd2, 0xed, 0xc3, 0xb8, 0xad, + 0x66, 0x9f, 0xe9, 0x69, 0xa1, 0xad, 0x04, 0xa9, 0xf9, 0x4d, 0x1e, 0xaa, 0xeb, 0x04, 0x07, 0xad, + 0xad, 0x83, 0x90, 0x64, 0xe1, 0x1a, 0xb7, 0xa9, 0xab, 0x56, 0x8d, 0x7f, 0xa2, 0x0b, 0x70, 0x28, + 0x36, 0xa1, 0x66, 0x9b, 0x2b, 0x48, 0xd8, 0x7d, 0xc5, 0xaa, 0x75, 0xd3, 0x8a, 0x7b, 0x05, 0x4a, + 0x36, 0x75, 0x9b, 0x62, 0x89, 0x8a, 0x62, 0x89, 0xf4, 0xf3, 0x5b, 0xa1, 0xae, 0x58, 0x9a, 0xa2, + 0x2d, 0x3f, 0xd0, 0x33, 0x50, 0xf5, 0x7b, 0xac, 0xdb, 0x63, 0x4d, 0xe9, 0x77, 0xea, 0x25, 0x21, + 0x5e, 0x45, 0x02, 0x85, 0x5b, 0xa2, 0xe8, 0x4d, 0xa8, 0x52, 0xa1, 0xca, 0x30, 0xf2, 0x2e, 0x8f, + 0x1a, 0x20, 0x56, 0x24, 0x9d, 0x0c, 0xbd, 0xd1, 0x39, 0xa8, 0xb1, 0x00, 0x3f, 0x24, 0x6e, 0xec, + 0xc1, 0x0b, 0xc4, 0x6e, 0x9b, 0x95, 0xf0, 0xfe, 0x63, 0xd7, 0x65, 0x98, 0x6b, 0xf7, 0x70, 0x80, + 0x3d, 0x46, 0x48, 0x0c, 0x7b, 0x5a, 0x60, 0xa3, 0xa8, 0x2b, 0x22, 0x30, 0xdf, 0x82, 0xc9, 0xdb, + 0x0e, 0x13, 0x8a, 0xe4, 0x3e, 0xcb, 0x10, 0xf7, 0x1c, 0xe1, 0x99, 0x8e, 0x42, 0x29, 0xf0, 0x1f, + 0x49, 0x1f, 0x9c, 0x13, 0x26, 0x58, 0x0c, 0xfc, 0x47, 0xc2, 0xc1, 0x8a, 0x27, 0x7d, 0x3f, 0x50, + 0xb6, 0x99, 0xb3, 0x54, 0xcb, 0xfc, 0xc4, 0xe8, 0x1b, 0x0f, 0x77, 0x9f, 0xf4, 0xc9, 0xfc, 0xe7, + 0xeb, 0x50, 0x0c, 0x24, 0xfd, 0xd0, 0x07, 0xce, 0xf8, 0x48, 0xe2, 0x0c, 0x08, 0xa9, 0xcc, 0x7f, + 0x34, 0xa0, 0xf2, 0xa6, 0xdb, 0xa3, 0x4f, 0xc3, 0x86, 0x75, 0xcf, 0x09, 0x79, 0xfd, 0x53, 0xc6, + 0xbf, 0xe5, 0xa0, 0xaa, 0xc4, 0x18, 0x27, 0xb6, 0xc9, 0x14, 0x65, 0x1d, 0xa6, 0xf9, 0x90, 0x4d, + 0x4a, 0xda, 0x61, 0x2e, 0x66, 0x7a, 0x79, 0x59, 0xbb, 0xeb, 0x13, 0x62, 0x88, 0xa7, 0xe1, 0x75, + 0x41, 0xf4, 0x37, 0x1e, 0x0b, 0xb6, 0x2d, 0x68, 0x45, 0x80, 0xc6, 0x7d, 0x98, 0x4d, 0x75, 0x73, + 0xdb, 0x78, 0x40, 0xb6, 0x43, 0xb7, 0xf6, 0x80, 0x6c, 0xa3, 0x17, 0xe3, 0x0f, 0xf8, 0x59, 0x87, + 0xf3, 0x1d, 0xdf, 0x6b, 0x5f, 0x0f, 0x02, 0xbc, 0xad, 0x1e, 0xf8, 0xaf, 0xe5, 0x5e, 0x35, 0xcc, + 0x9f, 0xe7, 0xa0, 0xf2, 0x76, 0x8f, 0x04, 0xdb, 0x7b, 0xe9, 0x5e, 0x42, 0x67, 0x3f, 0x19, 0x73, + 0xf6, 0x03, 0x3b, 0xba, 0xa0, 0xd9, 0xd1, 0x1a, 0xbf, 0x34, 0xa5, 0xf5, 0x4b, 0xba, 0x2d, 0x5b, + 0xdc, 0xd5, 0x96, 0x2d, 0x65, 0x6e, 0x59, 0x6e, 0xdd, 0x4a, 0x85, 0x63, 0x6d, 0xb2, 0x44, 0x94, + 0x95, 0xdb, 0x6d, 0x94, 0x65, 0x7e, 0x69, 0x40, 0xf9, 0x3d, 0xd2, 0x62, 0x7e, 0xc0, 0xbd, 0x85, + 0x46, 0xf7, 0xc6, 0x08, 0x81, 0x6c, 0x2e, 0x1d, 0xc8, 0x5e, 0x85, 0x92, 0x63, 0x37, 0x31, 0x37, + 0x1b, 0xb1, 0x78, 0xc3, 0x02, 0xa8, 0xa2, 0x63, 0x0b, 0xfb, 0x1a, 0x3d, 0x27, 0xff, 0x5f, 0x06, + 0x54, 0xa4, 0xcc, 0x54, 0x52, 0xbe, 0x16, 0x1b, 0xce, 0xd0, 0xd9, 0xb2, 0x6a, 0x44, 0x13, 0xbd, + 0x3d, 0xd1, 0x1f, 0xf6, 0x3a, 0x00, 0xd7, 0x9d, 0x22, 0x97, 0x5b, 0x61, 0x51, 0x2b, 0xad, 0x24, + 0x17, 0x7a, 0xbc, 0x3d, 0x61, 0x95, 0x39, 0x95, 0x60, 0x71, 0xa3, 0x08, 0x05, 0x41, 0x6d, 0xfe, + 0xd1, 0x80, 0xb9, 0x9b, 0xd8, 0x6d, 0xad, 0x38, 0x94, 0x61, 0xaf, 0x35, 0x46, 0xc8, 0x74, 0x0d, + 0x8a, 0x7e, 0xb7, 0xe9, 0x92, 0x4d, 0xa6, 0x44, 0x3a, 0x3d, 0x64, 0x46, 0x52, 0x0d, 0xd6, 0x94, + 0xdf, 0xbd, 0x43, 0x36, 0x19, 0xfa, 0x4b, 0x28, 0xf9, 0xdd, 0x66, 0xe0, 0xb4, 0xb7, 0x98, 0xd2, + 0xfe, 0x08, 0xc4, 0x45, 0xbf, 0x6b, 0x71, 0x8a, 0x58, 0x26, 0x64, 0x72, 0x97, 0x99, 0x10, 0xf3, + 0x37, 0x03, 0xd3, 0x1f, 0xc3, 0xb4, 0xaf, 0x41, 0xc9, 0xf1, 0x58, 0xd3, 0x76, 0x68, 0xa8, 0x82, + 0x13, 0x7a, 0x1b, 0xf2, 0x98, 0x98, 0x81, 0x58, 0x53, 0x8f, 0xf1, 0xb1, 0xd1, 0x1b, 0x00, 0x9b, + 0xae, 0x8f, 0x15, 0xb5, 0xd4, 0xc1, 0x29, 0xfd, 0xae, 0xe0, 0x68, 0x21, 0x7d, 0x59, 0x10, 0x71, + 0x0e, 0xfd, 0x25, 0xfd, 0x95, 0x01, 0x87, 0xd7, 0x48, 0x40, 0x1d, 0xca, 0x88, 0xc7, 0x54, 0x56, + 0x72, 0xd5, 0xdb, 0xf4, 0x93, 0x89, 0x61, 0x23, 0x95, 0x18, 0xfe, 0x76, 0x92, 0xa1, 0x89, 0x7b, + 0x8e, 0x7c, 0x9e, 0x08, 0xef, 0x39, 0xe1, 0x23, 0x8c, 0xbc, 0x27, 0xce, 0x64, 0x2c, 0x93, 0x92, + 0x37, 0x7e, 0x5d, 0x36, 0xff, 0x5d, 0x16, 0x44, 0x68, 0x27, 0xf5, 0xe4, 0x06, 0xbb, 0x00, 0xca, + 0x81, 0xa7, 0xdc, 0xf9, 0x73, 0x90, 0xf2, 0x1d, 0x19, 0x65, 0x1a, 0xff, 0x6d, 0xc0, 0x62, 0xb6, + 0x54, 0xe3, 0x9c, 0xbc, 0x6f, 0x40, 0xc1, 0xf1, 0x36, 0xfd, 0x30, 0x49, 0x76, 0x5e, 0x1f, 0x50, + 0x6b, 0xc7, 0x95, 0x84, 0xe6, 0x8f, 0x72, 0x50, 0x13, 0xbe, 0x7a, 0x0f, 0x96, 0xbf, 0x43, 0x3a, + 0x4d, 0xea, 0x7c, 0x44, 0xc2, 0xe5, 0xef, 0x90, 0xce, 0xba, 0xf3, 0x11, 0x49, 0x58, 0x46, 0x21, + 0x69, 0x19, 0xc9, 0x34, 0xc2, 0xd4, 0x90, 0x24, 0x68, 0x31, 0x99, 0x04, 0x5d, 0x80, 0x29, 0xcf, + 0xb7, 0xc9, 0xea, 0x8a, 0xba, 0x24, 0xaa, 0x56, 0xdf, 0xd4, 0xca, 0xbb, 0x34, 0xb5, 0xcf, 0x0d, + 0x68, 0xdc, 0x22, 0x2c, 0xad, 0xbb, 0xbd, 0xb3, 0xb2, 0x2f, 0x0c, 0x38, 0xa6, 0x15, 0x68, 0x1c, + 0x03, 0x7b, 0x2d, 0x69, 0x60, 0xfa, 0x1b, 0xdb, 0xc0, 0x90, 0xca, 0xb6, 0xae, 0x40, 0x65, 0xa5, + 0xd7, 0xe9, 0x44, 0x91, 0xd4, 0x69, 0xa8, 0x04, 0xf2, 0x53, 0x5e, 0x68, 0xe4, 0xf9, 0x3b, 0xad, + 0x60, 0xfc, 0xda, 0x62, 0x5e, 0x80, 0xaa, 0x22, 0x51, 0x52, 0x37, 0xa0, 0x14, 0xa8, 0x6f, 0x85, + 0x1f, 0xb5, 0xcd, 0xc3, 0x30, 0x67, 0x91, 0x36, 0x37, 0xed, 0xe0, 0x8e, 0xe3, 0x3d, 0x50, 0xc3, + 0x98, 0x1f, 0x1b, 0x30, 0x9f, 0x84, 0x2b, 0x5e, 0x2f, 0x43, 0x11, 0xdb, 0x76, 0x40, 0x28, 0x1d, + 0xba, 0x2c, 0xd7, 0x25, 0x8e, 0x15, 0x22, 0xc7, 0x34, 0x97, 0x1b, 0x59, 0x73, 0x66, 0x13, 0x0e, + 0xdd, 0x22, 0xec, 0x2e, 0x61, 0xc1, 0x58, 0x0f, 0xea, 0x75, 0x7e, 0xd5, 0x10, 0xc4, 0xca, 0x2c, + 0xc2, 0xa6, 0xf9, 0x99, 0x01, 0x28, 0x3e, 0xc2, 0x38, 0xcb, 0x1c, 0xd7, 0x72, 0x2e, 0xa9, 0x65, + 0x59, 0x73, 0xd4, 0xe9, 0xfa, 0x1e, 0xf1, 0x58, 0x3c, 0x66, 0xad, 0x46, 0x50, 0x61, 0x7e, 0x5f, + 0x19, 0x80, 0xee, 0xf8, 0xd8, 0xbe, 0x81, 0xdd, 0xf1, 0xc2, 0x83, 0x13, 0x00, 0x34, 0x68, 0x35, + 0xd5, 0x6e, 0xcd, 0x29, 0xef, 0x13, 0xb4, 0xee, 0xc9, 0x0d, 0x7b, 0x0a, 0xa6, 0x6d, 0xca, 0x54, + 0x77, 0xf8, 0xbe, 0x0b, 0x36, 0x65, 0xb2, 0x5f, 0xd4, 0x6b, 0x52, 0x82, 0x5d, 0x62, 0x37, 0x63, + 0xcf, 0x63, 0x93, 0x02, 0xad, 0x26, 0x3b, 0xd6, 0xfb, 0x8f, 0x64, 0xf7, 0xe1, 0xc8, 0x5d, 0xec, + 0xf5, 0xb0, 0x7b, 0xd3, 0xef, 0x74, 0x71, 0xa2, 0xce, 0x30, 0xed, 0xe6, 0x0c, 0x8d, 0x9b, 0x3b, + 0x29, 0x0b, 0xd1, 0x64, 0xc4, 0x2c, 0x64, 0x9d, 0xb4, 0x62, 0x10, 0x93, 0x42, 0x7d, 0x90, 0xfd, + 0x38, 0x0b, 0x25, 0x84, 0x0a, 0x59, 0xc5, 0x7d, 0x6f, 0x1f, 0x66, 0xbe, 0x0e, 0x47, 0x45, 0x51, + 0x60, 0x08, 0x4a, 0x24, 0xe2, 0xd3, 0x0c, 0x0c, 0x0d, 0x83, 0x7f, 0xce, 0x09, 0xd7, 0x36, 0xc0, + 0x61, 0x1c, 0xc1, 0xaf, 0x25, 0xf3, 0xdf, 0xcf, 0x6a, 0x69, 0xd2, 0x23, 0xaa, 0x24, 0xf8, 0x12, + 0xcc, 0x92, 0xc7, 0xa4, 0xd5, 0x63, 0x8e, 0xd7, 0x5e, 0x73, 0xb1, 0x77, 0xcf, 0x57, 0x07, 0x4a, + 0x1a, 0x8c, 0x9e, 0x85, 0x2a, 0xd7, 0xbe, 0xdf, 0x63, 0x0a, 0x4f, 0x9e, 0x2c, 0x49, 0x20, 0xe7, + 0xc7, 0xe7, 0xeb, 0x12, 0x46, 0x6c, 0x85, 0x27, 0x8f, 0x99, 0x34, 0x78, 0x40, 0x95, 0x1c, 0x4c, + 0x77, 0xa3, 0xca, 0xdf, 0x19, 0x29, 0x55, 0x2a, 0x0e, 0x7b, 0xa5, 0xca, 0xdb, 0x00, 0x1d, 0x12, + 0xb4, 0xc9, 0xaa, 0x70, 0xea, 0xf2, 0x42, 0xbe, 0xa4, 0x75, 0xea, 0x7d, 0x06, 0x77, 0x43, 0x02, + 0x2b, 0x46, 0x6b, 0xde, 0x82, 0x39, 0x0d, 0x0a, 0xf7, 0x57, 0xd4, 0xef, 0x05, 0x2d, 0x12, 0xa6, + 0x6a, 0xc2, 0x26, 0x3f, 0xdf, 0x18, 0x0e, 0xda, 0x84, 0x29, 0xa3, 0x55, 0x2d, 0xf3, 0x65, 0xf1, + 0x64, 0x24, 0xee, 0xff, 0x09, 0x4b, 0x4d, 0xbe, 0x6f, 0x1b, 0x03, 0xef, 0xdb, 0x9b, 0xe2, 0x7d, + 0x26, 0x4e, 0x37, 0x66, 0x6d, 0xc2, 0x26, 0x67, 0x45, 0x6c, 0xf5, 0x43, 0x41, 0xd8, 0x3c, 0x7f, + 0x1a, 0x4a, 0x61, 0x71, 0x0b, 0x2a, 0x42, 0xfe, 0xba, 0xeb, 0xd6, 0x26, 0x50, 0x05, 0x4a, 0xab, + 0xaa, 0x82, 0xa3, 0x66, 0x9c, 0xff, 0x6b, 0x98, 0x4d, 0xe5, 0x48, 0x51, 0x09, 0x26, 0xef, 0xf9, + 0x1e, 0xa9, 0x4d, 0xa0, 0x1a, 0x54, 0x6e, 0x38, 0x1e, 0x0e, 0xb6, 0xe5, 0x9d, 0xa4, 0x66, 0xa3, + 0x59, 0x98, 0x16, 0xb1, 0xb9, 0x02, 0x90, 0xe5, 0x4f, 0x4e, 0x41, 0xf5, 0xae, 0x90, 0x71, 0x9d, + 0x04, 0x0f, 0x9d, 0x16, 0x41, 0x4d, 0xa8, 0xa5, 0x7f, 0x91, 0x41, 0xcf, 0xeb, 0xd7, 0x49, 0xff, + 0x27, 0x4d, 0x63, 0xd8, 0xac, 0xcd, 0x09, 0xf4, 0x01, 0xcc, 0x24, 0x7f, 0x5e, 0x41, 0xfa, 0xe0, + 0x51, 0xfb, 0x87, 0xcb, 0x4e, 0xcc, 0x9b, 0x50, 0x4d, 0xfc, 0x8b, 0x82, 0xce, 0x69, 0x79, 0xeb, + 0xfe, 0x57, 0x69, 0xe8, 0xef, 0x73, 0xf1, 0xff, 0x45, 0xa4, 0xf4, 0xc9, 0x6a, 0xf5, 0x0c, 0xe9, + 0xb5, 0x25, 0xed, 0x3b, 0x49, 0x8f, 0xe1, 0xd0, 0x40, 0xf1, 0x39, 0xba, 0xa8, 0xe5, 0x9f, 0x55, + 0xa4, 0xbe, 0xd3, 0x10, 0x8f, 0x00, 0x0d, 0xfe, 0x73, 0x81, 0x2e, 0xe9, 0x57, 0x20, 0xeb, 0x8f, + 0x93, 0xc6, 0xe5, 0x91, 0xf1, 0x23, 0xc5, 0xfd, 0x93, 0x01, 0x47, 0x32, 0x2a, 0xc6, 0xd1, 0x55, + 0x2d, 0xbb, 0xe1, 0x65, 0xef, 0x8d, 0x17, 0x77, 0x47, 0x14, 0x09, 0xe2, 0xc1, 0x6c, 0xaa, 0x88, + 0x1a, 0x5d, 0xc8, 0x2c, 0x2c, 0x1b, 0xac, 0x26, 0x6f, 0x3c, 0x3f, 0x1a, 0x72, 0x34, 0xde, 0x7d, + 0x98, 0x4d, 0x55, 0x1e, 0x67, 0x8c, 0xa7, 0xaf, 0x4f, 0xde, 0x69, 0x41, 0xdf, 0x87, 0x6a, 0xa2, + 0x44, 0x38, 0xc3, 0xe2, 0x75, 0x65, 0xc4, 0x3b, 0xb1, 0xbe, 0x0f, 0x95, 0x78, 0x25, 0x2f, 0x5a, + 0xca, 0xda, 0x4b, 0x03, 0x8c, 0x77, 0xb3, 0x95, 0xfa, 0x85, 0x7a, 0x43, 0xb6, 0xd2, 0x40, 0x6d, + 0xe3, 0xe8, 0x5b, 0x29, 0xc6, 0x7f, 0xe8, 0x56, 0xda, 0xf5, 0x10, 0x1f, 0x1b, 0xb0, 0xa0, 0x2f, + 0x04, 0x45, 0xcb, 0x59, 0xb6, 0x99, 0x5d, 0xf2, 0xda, 0xb8, 0xba, 0x2b, 0x9a, 0x48, 0x8b, 0x0f, + 0x60, 0x26, 0x59, 0xee, 0x98, 0xa1, 0x45, 0x6d, 0x85, 0x68, 0xe3, 0xc2, 0x48, 0xb8, 0xd1, 0x60, + 0xef, 0xc2, 0x74, 0xec, 0xaf, 0x57, 0x74, 0x76, 0x88, 0x1d, 0xc7, 0x7f, 0x01, 0xdd, 0x49, 0x93, + 0x6f, 0x43, 0x39, 0xfa, 0x59, 0x15, 0x9d, 0xc9, 0xb4, 0xdf, 0xdd, 0xb0, 0x5c, 0x07, 0xe8, 0xff, + 0x89, 0x8a, 0x9e, 0xd3, 0xf2, 0x1c, 0xf8, 0x55, 0x75, 0x27, 0xa6, 0xd1, 0xf4, 0xe5, 0x23, 0xf3, + 0xb0, 0xe9, 0xc7, 0xab, 0x22, 0x76, 0x62, 0xbb, 0x05, 0xd5, 0x44, 0x2d, 0x53, 0xd6, 0x16, 0xd6, + 0x94, 0x98, 0x35, 0xce, 0x8f, 0x82, 0x1a, 0xad, 0xdf, 0x16, 0x54, 0x13, 0x95, 0x25, 0x19, 0x23, + 0xe9, 0x0a, 0x69, 0x32, 0x46, 0xd2, 0x16, 0xaa, 0x98, 0x13, 0xe8, 0x1f, 0x62, 0x45, 0x2c, 0x89, + 0x42, 0x21, 0x74, 0x65, 0x28, 0x1f, 0x5d, 0x9d, 0x54, 0x63, 0x79, 0x37, 0x24, 0x91, 0x08, 0xca, + 0xaa, 0xa4, 0x4a, 0xb3, 0xad, 0x6a, 0x37, 0x2b, 0xb5, 0x0e, 0x53, 0xb2, 0x56, 0x04, 0x99, 0x19, + 0x55, 0x61, 0xb1, 0x42, 0x92, 0xc6, 0x33, 0x5a, 0x9c, 0x64, 0x19, 0x85, 0x64, 0x2a, 0x6b, 0x01, + 0x32, 0x98, 0x26, 0x0a, 0x05, 0x46, 0x65, 0x6a, 0xc1, 0x94, 0x7c, 0x04, 0xcc, 0x60, 0x9a, 0x78, + 0xc8, 0x6e, 0x0c, 0xc7, 0x91, 0x2f, 0x87, 0x13, 0x68, 0x0d, 0x0a, 0x22, 0xe8, 0x45, 0xa7, 0x87, + 0x3d, 0xa4, 0x0d, 0xe3, 0x98, 0x78, 0x6b, 0x33, 0x27, 0xd0, 0xdf, 0x42, 0x41, 0xa4, 0x70, 0x32, + 0x38, 0xc6, 0x5f, 0xc3, 0x1a, 0x43, 0x51, 0x42, 0x11, 0x6d, 0xa8, 0xc4, 0x73, 0xe5, 0x19, 0x47, + 0x96, 0xe6, 0x35, 0xa1, 0x31, 0x0a, 0x66, 0x38, 0x8a, 0xdc, 0x46, 0xfd, 0x0b, 0x40, 0xf6, 0x36, + 0x1a, 0xb8, 0x5c, 0x64, 0x6f, 0xa3, 0xc1, 0xfb, 0x84, 0x39, 0x81, 0xfe, 0xc5, 0x80, 0x7a, 0x56, + 0x02, 0x17, 0x65, 0x46, 0x40, 0xc3, 0xb2, 0xd0, 0x8d, 0x97, 0x76, 0x49, 0x15, 0xc9, 0xf2, 0x11, + 0xcc, 0x69, 0xb2, 0x7c, 0xe8, 0x72, 0x16, 0xbf, 0x8c, 0x04, 0x65, 0xe3, 0x85, 0xd1, 0x09, 0xa2, + 0xb1, 0xd7, 0xa0, 0x20, 0xb2, 0x73, 0x19, 0x86, 0x12, 0x4f, 0xf6, 0x65, 0x98, 0x5e, 0x22, 0xb9, + 0x67, 0x4e, 0x20, 0x02, 0x95, 0x78, 0xaa, 0x2e, 0xc3, 0x52, 0x34, 0x59, 0xbe, 0xc6, 0xb9, 0x11, + 0x30, 0xa3, 0x61, 0x9a, 0x00, 0xfd, 0x54, 0x59, 0xc6, 0x39, 0x34, 0x90, 0xad, 0x6b, 0x9c, 0xdd, + 0x11, 0x2f, 0x7e, 0x24, 0xc7, 0x92, 0x5f, 0x19, 0x67, 0xd2, 0x60, 0x7a, 0x6c, 0x84, 0x7b, 0xc2, + 0x60, 0x22, 0x26, 0xe3, 0x9e, 0x90, 0x99, 0xf3, 0x69, 0x5c, 0x1e, 0x19, 0x3f, 0x9a, 0xcf, 0x87, + 0x50, 0x4b, 0x27, 0xae, 0x32, 0xee, 0x9f, 0x19, 0xe9, 0xb3, 0xc6, 0xc5, 0x11, 0xb1, 0xe3, 0x67, + 0xd5, 0xb1, 0x41, 0x99, 0xfe, 0xce, 0x61, 0x5b, 0x22, 0x67, 0x32, 0xca, 0xac, 0xe3, 0xe9, 0x99, + 0x51, 0x66, 0x9d, 0x48, 0xc6, 0x98, 0x13, 0xcb, 0x3d, 0xa8, 0xac, 0x05, 0xfe, 0xe3, 0xed, 0xf0, + 0x16, 0xfe, 0xe7, 0xb1, 0xce, 0x1b, 0x2f, 0xfd, 0xfd, 0xd5, 0xb6, 0xc3, 0xb6, 0x7a, 0x1b, 0x7c, + 0xfd, 0x2f, 0x4b, 0xdc, 0x8b, 0x8e, 0xaf, 0xbe, 0x2e, 0x3b, 0x1e, 0x23, 0x81, 0x87, 0xdd, 0xcb, + 0x82, 0x97, 0x82, 0x76, 0x37, 0x36, 0xa6, 0x44, 0xfb, 0xea, 0x9f, 0x02, 0x00, 0x00, 0xff, 0xff, + 0x0d, 0x1d, 0x49, 0x34, 0x45, 0x45, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/internal/querynode/impl_test.go b/internal/querynode/impl_test.go index c61f60924b..a66bdbe354 100644 --- a/internal/querynode/impl_test.go +++ b/internal/querynode/impl_test.go @@ -338,12 +338,11 @@ func TestImpl_GetSegmentInfo(t *testing.T) { seg, err := node.historical.replica.getSegmentByID(defaultSegmentID) assert.NoError(t, err) - err = seg.setIndexInfo(simpleVecField.id, &indexInfo{ + seg.setIndexInfo(simpleVecField.id, &indexInfo{ indexName: "query-node-test", indexID: UniqueID(0), buildID: UniqueID(0), }) - assert.NoError(t, err) req := &queryPb.GetSegmentInfoRequest{ Base: &commonpb.MsgBase{ diff --git a/internal/querynode/index_info.go b/internal/querynode/index_info.go index 12689b74ac..4f7aaa8168 100644 --- a/internal/querynode/index_info.go +++ b/internal/querynode/index_info.go @@ -15,6 +15,7 @@ type indexInfo struct { indexName string indexID UniqueID buildID UniqueID + fieldID UniqueID indexPaths []string indexParams map[string]string readyLoad bool @@ -39,6 +40,10 @@ func (info *indexInfo) setBuildID(id UniqueID) { info.buildID = id } +func (info *indexInfo) setFieldID(id UniqueID) { + info.fieldID = id +} + func (info *indexInfo) setIndexPaths(paths []string) { info.indexPaths = paths } @@ -63,6 +68,10 @@ func (info *indexInfo) getBuildID() UniqueID { return info.buildID } +func (info *indexInfo) getFieldID() UniqueID { + return info.fieldID +} + func (info *indexInfo) getIndexPaths() []string { return info.indexPaths } diff --git a/internal/querynode/index_loader.go b/internal/querynode/index_loader.go index 3fed1a327d..dfcd373172 100644 --- a/internal/querynode/index_loader.go +++ b/internal/querynode/index_loader.go @@ -168,12 +168,13 @@ func (loader *indexLoader) estimateIndexBinlogSize(segment *Segment, fieldID Fie return indexSize, nil } -func (loader *indexLoader) setIndexInfo(collectionID UniqueID, segment *Segment, fieldID UniqueID) error { +func (loader *indexLoader) getIndexInfo(collectionID UniqueID, segment *Segment) (*indexInfo, error) { if loader.indexCoord == nil || loader.rootCoord == nil { - return errors.New("null index coordinator client or root coordinator client, collectionID = " + + return nil, errors.New("null indexcoord client or rootcoord client, collectionID = " + fmt.Sprintln(collectionID)) } + // request for segment info req := &milvuspb.DescribeSegmentRequest{ Base: &commonpb.MsgBase{ MsgType: commonpb.MsgType_DescribeSegment, @@ -181,46 +182,55 @@ func (loader *indexLoader) setIndexInfo(collectionID UniqueID, segment *Segment, CollectionID: collectionID, SegmentID: segment.segmentID, } - response, err := loader.rootCoord.DescribeSegment(loader.ctx, req) + resp, err := loader.rootCoord.DescribeSegment(loader.ctx, req) if err != nil { - return err + return nil, err } - if response.Status.ErrorCode != commonpb.ErrorCode_Success { - return errors.New(response.Status.Reason) + if resp.Status.ErrorCode != commonpb.ErrorCode_Success { + return nil, errors.New(resp.Status.Reason) } - if !response.EnableIndex { - return errors.New("there are no indexes on this segment") + if !resp.EnableIndex { + log.Warn("index not enabled", zap.Int64("collection id", collectionID), + zap.Int64("segment id", segment.segmentID)) + return nil, errors.New("there are no indexes on this segment") } - indexFilePathRequest := &indexpb.GetIndexFilePathsRequest{ - IndexBuildIDs: []UniqueID{response.BuildID}, + // request for index info + indexFilePathReq := &indexpb.GetIndexFilePathsRequest{ + IndexBuildIDs: []UniqueID{resp.BuildID}, } - pathResponse, err := loader.indexCoord.GetIndexFilePaths(loader.ctx, indexFilePathRequest) - if err != nil || pathResponse.Status.ErrorCode != commonpb.ErrorCode_Success { - return err + pathResp, err := loader.indexCoord.GetIndexFilePaths(loader.ctx, indexFilePathReq) + if err != nil { + return nil, err + } + if pathResp.Status.ErrorCode != commonpb.ErrorCode_Success { + return nil, errors.New(pathResp.Status.Reason) } - if len(pathResponse.FilePaths) <= 0 { - return errors.New("illegal index file paths") + if len(pathResp.FilePaths) <= 0 { + log.Warn("illegal index file path", zap.Int64("collection id", collectionID), + zap.Int64("segment id", segment.segmentID), zap.Int64("build id", resp.BuildID)) + return nil, errors.New("illegal index file paths") } - if len(pathResponse.FilePaths[0].IndexFilePaths) == 0 { - return errors.New("empty index paths") + if len(pathResp.FilePaths[0].IndexFilePaths) == 0 { + log.Warn("empty index path", zap.Int64("collection id", collectionID), + zap.Int64("segment id", segment.segmentID), zap.Int64("build id", resp.BuildID)) + return nil, errors.New("empty index paths") } - info := &indexInfo{ - indexID: response.IndexID, - buildID: response.BuildID, - indexPaths: pathResponse.FilePaths[0].IndexFilePaths, + return &indexInfo{ + indexID: resp.IndexID, + buildID: resp.BuildID, + fieldID: resp.FieldID, + indexPaths: pathResp.FilePaths[0].IndexFilePaths, readyLoad: true, - } - segment.setEnableIndex(response.EnableIndex) - err = segment.setIndexInfo(fieldID, info) - if err != nil { - return err - } + }, nil +} - return nil +func (loader *indexLoader) setIndexInfo(segment *Segment, info *indexInfo) { + segment.setEnableIndex(true) + segment.setIndexInfo(info.fieldID, info) } func newIndexLoader(ctx context.Context, rootCoord types.RootCoord, indexCoord types.IndexCoord, replica ReplicaInterface) *indexLoader { diff --git a/internal/querynode/index_loader_test.go b/internal/querynode/index_loader_test.go index 9fecbccdcd..a80bedb20c 100644 --- a/internal/querynode/index_loader_test.go +++ b/internal/querynode/index_loader_test.go @@ -36,8 +36,9 @@ func TestIndexLoader_setIndexInfo(t *testing.T) { loader.indexLoader.rootCoord = newMockRootCoord() loader.indexLoader.indexCoord = newMockIndexCoord() - err = loader.indexLoader.setIndexInfo(defaultCollectionID, segment, rowIDFieldID) + info, err := loader.indexLoader.getIndexInfo(defaultCollectionID, segment) assert.NoError(t, err) + loader.indexLoader.setIndexInfo(segment, info) }) t.Run("test nil root and index", func(t *testing.T) { @@ -49,8 +50,9 @@ func TestIndexLoader_setIndexInfo(t *testing.T) { segment, err := genSimpleSealedSegment() assert.NoError(t, err) - err = loader.indexLoader.setIndexInfo(defaultCollectionID, segment, rowIDFieldID) + info, err := loader.indexLoader.getIndexInfo(defaultCollectionID, segment) assert.NoError(t, err) + loader.indexLoader.setIndexInfo(segment, info) }) } @@ -116,14 +118,15 @@ func TestIndexLoader_loadIndex(t *testing.T) { loader.indexLoader.rootCoord = newMockRootCoord() loader.indexLoader.indexCoord = newMockIndexCoord() - err = loader.indexLoader.setIndexInfo(defaultCollectionID, segment, simpleVecField.id) + info, err := loader.indexLoader.getIndexInfo(defaultCollectionID, segment) assert.NoError(t, err) + loader.indexLoader.setIndexInfo(segment, info) err = loader.indexLoader.loadIndex(segment, simpleVecField.id) assert.NoError(t, err) }) - t.Run("test set indexinfo with empty indexFilePath", func(t *testing.T) { + t.Run("test get indexinfo with empty indexFilePath", func(t *testing.T) { node, err := genSimpleQueryNode(ctx) assert.NoError(t, err) loader := node.loader @@ -138,9 +141,8 @@ func TestIndexLoader_loadIndex(t *testing.T) { loader.indexLoader.indexCoord = ic - err = loader.indexLoader.setIndexInfo(defaultCollectionID, segment, simpleVecField.id) + _, err = loader.indexLoader.getIndexInfo(defaultCollectionID, segment) assert.Error(t, err) - }) //t.Run("test get index failed", func(t *testing.T) { @@ -169,12 +171,15 @@ func TestIndexLoader_loadIndex(t *testing.T) { loader.indexLoader.rootCoord = newMockRootCoord() loader.indexLoader.indexCoord = newMockIndexCoord() - err = loader.indexLoader.setIndexInfo(defaultCollectionID, segment, rowIDFieldID) + info, err := loader.indexLoader.getIndexInfo(defaultCollectionID, segment) assert.NoError(t, err) - segment.indexInfos[rowIDFieldID].setReadyLoad(false) + vecFieldID := UniqueID(101) + info.setFieldID(vecFieldID) + loader.indexLoader.setIndexInfo(segment, info) - err = loader.indexLoader.loadIndex(segment, rowIDFieldID) + segment.indexInfos[vecFieldID].setReadyLoad(false) + err = loader.indexLoader.loadIndex(segment, vecFieldID) assert.Error(t, err) }) } diff --git a/internal/querynode/mock_components_test.go b/internal/querynode/mock_components_test.go index a1bcbd6867..29966d12dd 100644 --- a/internal/querynode/mock_components_test.go +++ b/internal/querynode/mock_components_test.go @@ -142,6 +142,7 @@ func (m *mockRootCoord) DescribeSegment(ctx context.Context, req *milvuspb.Descr IndexID: indexID, BuildID: buildID, EnableIndex: true, + FieldID: fieldID, }, nil } diff --git a/internal/querynode/mock_test.go b/internal/querynode/mock_test.go index 3d801739d0..05f0c972a2 100644 --- a/internal/querynode/mock_test.go +++ b/internal/querynode/mock_test.go @@ -84,6 +84,7 @@ const ( const ( buildID = UniqueID(0) indexID = UniqueID(0) + fieldID = UniqueID(100) indexName = "query-node-index-0" ) diff --git a/internal/querynode/segment.go b/internal/querynode/segment.go index 541c52806f..c937733abd 100644 --- a/internal/querynode/segment.go +++ b/internal/querynode/segment.go @@ -531,14 +531,10 @@ func (s *Segment) matchIndexParam(fieldID int64, indexParams indexParam) bool { return paramSize == matchCount } -func (s *Segment) setIndexInfo(fieldID int64, info *indexInfo) error { +func (s *Segment) setIndexInfo(fieldID int64, info *indexInfo) { s.paramMutex.Lock() defer s.paramMutex.Unlock() - if s.indexInfos == nil { - return errors.New("indexInfos hasn't been init") - } s.indexInfos[fieldID] = info - return nil } func (s *Segment) checkIndexReady(fieldID int64) bool { diff --git a/internal/querynode/segment_loader.go b/internal/querynode/segment_loader.go index cd76368379..c8544c361f 100644 --- a/internal/querynode/segment_loader.go +++ b/internal/querynode/segment_loader.go @@ -563,13 +563,11 @@ func (loader *segmentLoader) getFieldAndIndexInfo(segment *Segment, } indexedFieldIDs := make([]FieldID, 0) - for _, vecFieldID := range vectorFieldIDs { - err = loader.indexLoader.setIndexInfo(collectionID, segment, vecFieldID) - if err != nil { - log.Warn(err.Error()) - continue - } - indexedFieldIDs = append(indexedFieldIDs, vecFieldID) + if idxInfo, err := loader.indexLoader.getIndexInfo(collectionID, segment); err != nil { + log.Warn(err.Error()) + } else { + loader.indexLoader.setIndexInfo(segment, idxInfo) + indexedFieldIDs = append(indexedFieldIDs, idxInfo.fieldID) } // we don't need to load raw data for indexed vector field diff --git a/internal/querynode/segment_loader_test.go b/internal/querynode/segment_loader_test.go index d52ad5e253..04cea9e016 100644 --- a/internal/querynode/segment_loader_test.go +++ b/internal/querynode/segment_loader_test.go @@ -341,8 +341,7 @@ func TestSegmentLoader_estimateSegmentSize(t *testing.T) { indexPath, err := generateIndex(defaultSegmentID) assert.NoError(t, err) - err = seg.setIndexInfo(simpleVecField.id, &indexInfo{}) - assert.NoError(t, err) + seg.setIndexInfo(simpleVecField.id, &indexInfo{}) err = seg.setIndexPaths(simpleVecField.id, indexPath) assert.NoError(t, err) diff --git a/internal/querynode/segment_test.go b/internal/querynode/segment_test.go index b827aa9607..3aa1c50187 100644 --- a/internal/querynode/segment_test.go +++ b/internal/querynode/segment_test.go @@ -895,8 +895,7 @@ func TestSegment_indexInfoTest(t *testing.T) { fieldID := simpleVecField.id - err = seg.setIndexInfo(fieldID, &indexInfo{}) - assert.NoError(t, err) + seg.setIndexInfo(fieldID, &indexInfo{}) indexName := "query-node-test-index" err = seg.setIndexName(fieldID, indexName) @@ -983,21 +982,14 @@ func TestSegment_indexInfoTest(t *testing.T) { id = seg.getBuildID(fieldID) assert.Equal(t, int64(-1), id) - err = seg.setIndexInfo(fieldID, &indexInfo{ + seg.setIndexInfo(fieldID, &indexInfo{ readyLoad: true, }) - assert.NoError(t, err) ready := seg.checkIndexReady(fieldID) assert.True(t, ready) ready = seg.checkIndexReady(FieldID(1000)) assert.False(t, ready) - - seg.indexInfos = nil - err = seg.setIndexInfo(fieldID, &indexInfo{ - readyLoad: true, - }) - assert.Error(t, err) }) } @@ -1077,8 +1069,7 @@ func TestSegment_fillVectorFieldsData(t *testing.T) { t.Run("test fillVectorFieldsData float-vector invalid vectorChunkManager", func(t *testing.T) { fieldID := FieldID(100) fieldName := "float-vector-field-0" - err = segment.setIndexInfo(fieldID, &indexInfo{}) - assert.NoError(t, err) + segment.setIndexInfo(fieldID, &indexInfo{}) info := &VectorFieldInfo{ fieldBinlog: &datapb.FieldBinlog{ FieldID: fieldID, diff --git a/internal/rootcoord/task.go b/internal/rootcoord/task.go index 8e0e4a851f..924f9f0f26 100644 --- a/internal/rootcoord/task.go +++ b/internal/rootcoord/task.go @@ -755,6 +755,7 @@ func (t *DescribeSegmentReqTask) Execute(ctx context.Context) error { t.Rsp.IndexID = segIdxInfo.IndexID t.Rsp.BuildID = segIdxInfo.BuildID t.Rsp.EnableIndex = segIdxInfo.EnableIndex + t.Rsp.FieldID = segIdxInfo.FieldID return nil }