From 9edc8c4d2a7e3c7d8e4982a6af94426da4057687 Mon Sep 17 00:00:00 2001 From: Zhenchi Date: Thu, 14 Aug 2025 05:39:49 +0800 Subject: [PATCH] feat: add `partition` to `CreateRequest` (#267) --- c++/greptime/v1/region/server.pb.cc | 353 ++++---- c++/greptime/v1/region/server.pb.h | 106 +++ go/greptime/v1/region/server.pb.go | 818 +++++++++--------- .../java/io/greptime/v1/region/Server.java | 509 ++++++++--- proto/greptime/v1/region/server.proto | 4 +- 5 files changed, 1120 insertions(+), 670 deletions(-) diff --git a/c++/greptime/v1/region/server.pb.cc b/c++/greptime/v1/region/server.pb.cc index bdbb85d..75f47d8 100644 --- a/c++/greptime/v1/region/server.pb.cc +++ b/c++/greptime/v1/region/server.pb.cc @@ -192,6 +192,7 @@ PROTOBUF_CONSTEXPR CreateRequest::CreateRequest( , /*decltype(_impl_.options_)*/{::_pbi::ConstantInitialized()} , /*decltype(_impl_.engine_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.path_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.partition_)*/nullptr , /*decltype(_impl_.region_id_)*/uint64_t{0u} , /*decltype(_impl_._cached_size_)*/{}} {} struct CreateRequestDefaultTypeInternal { @@ -667,6 +668,7 @@ const uint32_t TableStruct_greptime_2fv1_2fregion_2fserver_2eproto::offsets[] PR PROTOBUF_FIELD_OFFSET(::greptime::v1::region::CreateRequest, _impl_.primary_key_), PROTOBUF_FIELD_OFFSET(::greptime::v1::region::CreateRequest, _impl_.path_), PROTOBUF_FIELD_OFFSET(::greptime::v1::region::CreateRequest, _impl_.options_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::CreateRequest, _impl_.partition_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::greptime::v1::region::DropRequests, _internal_metadata_), ~0u, // no _extensions_ @@ -883,30 +885,30 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode { 102, -1, -1, sizeof(::greptime::v1::region::CreateRequests)}, { 109, 117, -1, sizeof(::greptime::v1::region::CreateRequest_OptionsEntry_DoNotUse)}, { 119, -1, -1, sizeof(::greptime::v1::region::CreateRequest)}, - { 131, -1, -1, sizeof(::greptime::v1::region::DropRequests)}, - { 138, -1, -1, sizeof(::greptime::v1::region::DropRequest)}, - { 146, 154, -1, sizeof(::greptime::v1::region::OpenRequest_OptionsEntry_DoNotUse)}, - { 156, -1, -1, sizeof(::greptime::v1::region::OpenRequest)}, - { 166, -1, -1, sizeof(::greptime::v1::region::CloseRequest)}, - { 173, -1, -1, sizeof(::greptime::v1::region::AlterRequests)}, - { 180, -1, -1, sizeof(::greptime::v1::region::AlterRequest)}, - { 201, -1, -1, sizeof(::greptime::v1::region::SyncColumns)}, - { 208, -1, -1, sizeof(::greptime::v1::region::AddColumns)}, - { 215, -1, -1, sizeof(::greptime::v1::region::DropColumns)}, - { 222, -1, -1, sizeof(::greptime::v1::region::AddColumn)}, - { 230, -1, -1, sizeof(::greptime::v1::region::DropColumn)}, - { 237, -1, -1, sizeof(::greptime::v1::region::FlushRequest)}, - { 244, -1, -1, sizeof(::greptime::v1::region::Regular)}, - { 250, -1, -1, sizeof(::greptime::v1::region::StrictWindow)}, - { 257, -1, -1, sizeof(::greptime::v1::region::CompactRequest)}, - { 267, -1, -1, sizeof(::greptime::v1::region::TruncateRequest)}, - { 277, -1, -1, sizeof(::greptime::v1::region::All)}, - { 283, -1, -1, sizeof(::greptime::v1::region::RegionColumnDef)}, - { 291, -1, -1, sizeof(::greptime::v1::region::BulkInsertRequest)}, - { 300, -1, -1, sizeof(::greptime::v1::region::MitoManifestInfo)}, - { 307, -1, -1, sizeof(::greptime::v1::region::MetricManifestInfo)}, - { 315, -1, -1, sizeof(::greptime::v1::region::SyncRequest)}, - { 325, -1, -1, sizeof(::greptime::v1::region::ListMetadataRequest)}, + { 132, -1, -1, sizeof(::greptime::v1::region::DropRequests)}, + { 139, -1, -1, sizeof(::greptime::v1::region::DropRequest)}, + { 147, 155, -1, sizeof(::greptime::v1::region::OpenRequest_OptionsEntry_DoNotUse)}, + { 157, -1, -1, sizeof(::greptime::v1::region::OpenRequest)}, + { 167, -1, -1, sizeof(::greptime::v1::region::CloseRequest)}, + { 174, -1, -1, sizeof(::greptime::v1::region::AlterRequests)}, + { 181, -1, -1, sizeof(::greptime::v1::region::AlterRequest)}, + { 202, -1, -1, sizeof(::greptime::v1::region::SyncColumns)}, + { 209, -1, -1, sizeof(::greptime::v1::region::AddColumns)}, + { 216, -1, -1, sizeof(::greptime::v1::region::DropColumns)}, + { 223, -1, -1, sizeof(::greptime::v1::region::AddColumn)}, + { 231, -1, -1, sizeof(::greptime::v1::region::DropColumn)}, + { 238, -1, -1, sizeof(::greptime::v1::region::FlushRequest)}, + { 245, -1, -1, sizeof(::greptime::v1::region::Regular)}, + { 251, -1, -1, sizeof(::greptime::v1::region::StrictWindow)}, + { 258, -1, -1, sizeof(::greptime::v1::region::CompactRequest)}, + { 268, -1, -1, sizeof(::greptime::v1::region::TruncateRequest)}, + { 278, -1, -1, sizeof(::greptime::v1::region::All)}, + { 284, -1, -1, sizeof(::greptime::v1::region::RegionColumnDef)}, + { 292, -1, -1, sizeof(::greptime::v1::region::BulkInsertRequest)}, + { 301, -1, -1, sizeof(::greptime::v1::region::MitoManifestInfo)}, + { 308, -1, -1, sizeof(::greptime::v1::region::MetricManifestInfo)}, + { 316, -1, -1, sizeof(::greptime::v1::region::SyncRequest)}, + { 326, -1, -1, sizeof(::greptime::v1::region::ListMetadataRequest)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -952,137 +954,140 @@ static const ::_pb::Message* const file_default_instances[] = { const char descriptor_table_protodef_greptime_2fv1_2fregion_2fserver_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\037greptime/v1/region/server.proto\022\022grept" "ime.v1.region\032\030greptime/v1/common.proto\032" - "\025greptime/v1/ddl.proto\032\025greptime/v1/row." - "proto\"\344\001\n\023RegionRequestHeader\022T\n\017tracing" - "_context\030\005 \003(\0132;.greptime.v1.region.Regi" - "onRequestHeader.TracingContextEntry\022\016\n\006d" - "bname\030\003 \001(\t\0220\n\rquery_context\030\006 \001(\0132\031.gre" - "ptime.v1.QueryContext\0325\n\023TracingContextE" - "ntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\256\007\n" - "\rRegionRequest\0227\n\006header\030\001 \001(\0132\'.greptim" - "e.v1.region.RegionRequestHeader\0225\n\007inser" - "ts\030\003 \001(\0132\".greptime.v1.region.InsertRequ" - "estsH\000\0225\n\007deletes\030\004 \001(\0132\".greptime.v1.re" - "gion.DeleteRequestsH\000\0223\n\006create\030\005 \001(\0132!." - "greptime.v1.region.CreateRequestH\000\022/\n\004dr" - "op\030\006 \001(\0132\037.greptime.v1.region.DropReques" - "tH\000\022/\n\004open\030\007 \001(\0132\037.greptime.v1.region.O" - "penRequestH\000\0221\n\005close\030\010 \001(\0132 .greptime.v" - "1.region.CloseRequestH\000\0221\n\005alter\030\t \001(\0132 " - ".greptime.v1.region.AlterRequestH\000\0221\n\005fl" - "ush\030\n \001(\0132 .greptime.v1.region.FlushRequ" - "estH\000\0225\n\007compact\030\013 \001(\0132\".greptime.v1.reg" - "ion.CompactRequestH\000\0227\n\010truncate\030\014 \001(\0132#" - ".greptime.v1.region.TruncateRequestH\000\0225\n" - "\007creates\030\r \001(\0132\".greptime.v1.region.Crea" - "teRequestsH\000\0221\n\005drops\030\016 \001(\0132 .greptime.v" - "1.region.DropRequestsH\000\0223\n\006alters\030\017 \001(\0132" - "!.greptime.v1.region.AlterRequestsH\000\022<\n\013" - "bulk_insert\030\020 \001(\0132%.greptime.v1.region.B" - "ulkInsertRequestH\000\022/\n\004sync\030\021 \001(\0132\037.grept" - "ime.v1.region.SyncRequestH\000\022@\n\rlist_meta" - "data\030\022 \001(\0132\'.greptime.v1.region.ListMeta" - "dataRequestH\000B\006\n\004body\"\341\001\n\016RegionResponse" - "\022+\n\006header\030\001 \001(\0132\033.greptime.v1.ResponseH" - "eader\022\025\n\raffected_rows\030\002 \001(\004\022F\n\nextensio" - "ns\030\003 \003(\01322.greptime.v1.region.RegionResp" - "onse.ExtensionsEntry\022\020\n\010metadata\030\004 \001(\014\0321" - "\n\017ExtensionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030" - "\002 \001(\014:\0028\001\"E\n\016InsertRequests\0223\n\010requests\030" - "\001 \003(\0132!.greptime.v1.region.InsertRequest" - "\"E\n\016DeleteRequests\0223\n\010requests\030\001 \003(\0132!.g" - "reptime.v1.region.DeleteRequest\"C\n\rInser" - "tRequest\022\021\n\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001(" - "\0132\021.greptime.v1.Rows\"C\n\rDeleteRequest\022\021\n" - "\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001(\0132\021.greptim" - "e.v1.Rows\"h\n\014QueryRequest\0227\n\006header\030\001 \001(" - "\0132\'.greptime.v1.region.RegionRequestHead" - "er\022\021\n\tregion_id\030\002 \001(\004\022\014\n\004plan\030\003 \001(\014\"E\n\016C" - "reateRequests\0223\n\010requests\030\001 \003(\0132!.grepti" - "me.v1.region.CreateRequest\"\200\002\n\rCreateReq" - "uest\022\021\n\tregion_id\030\001 \001(\004\022\016\n\006engine\030\002 \001(\t\022" - "8\n\013column_defs\030\003 \003(\0132#.greptime.v1.regio" - "n.RegionColumnDef\022\023\n\013primary_key\030\004 \003(\r\022\014" - "\n\004path\030\005 \001(\t\022\?\n\007options\030\006 \003(\0132..greptime" - ".v1.region.CreateRequest.OptionsEntry\032.\n" - "\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(" - "\t:\0028\001\"A\n\014DropRequests\0221\n\010requests\030\001 \003(\0132" - "\037.greptime.v1.region.DropRequest\"3\n\013Drop" - "Request\022\021\n\tregion_id\030\001 \001(\004\022\021\n\tfast_path\030" - "\002 \001(\010\"\255\001\n\013OpenRequest\022\021\n\tregion_id\030\001 \001(\004" - "\022\016\n\006engine\030\002 \001(\t\022\014\n\004path\030\003 \001(\t\022=\n\007option" - "s\030\004 \003(\0132,.greptime.v1.region.OpenRequest" - ".OptionsEntry\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001" - "(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"!\n\014CloseRequest\022\021\n" - "\tregion_id\030\001 \001(\004\"C\n\rAlterRequests\0222\n\010req" - "uests\030\001 \003(\0132 .greptime.v1.region.AlterRe" - "quest\"\311\005\n\014AlterRequest\022\021\n\tregion_id\030\001 \001(" - "\004\0225\n\013add_columns\030\002 \001(\0132\036.greptime.v1.reg" - "ion.AddColumnsH\000\0227\n\014drop_columns\030\003 \001(\0132\037" - ".greptime.v1.region.DropColumnsH\000\022=\n\023mod" - "ify_column_types\030\005 \001(\0132\036.greptime.v1.Mod" - "ifyColumnTypesH\000\0229\n\021set_table_options\030\006 " - "\001(\0132\034.greptime.v1.SetTableOptionsH\000\022=\n\023u" - "nset_table_options\030\t \001(\0132\036.greptime.v1.U" - "nsetTableOptionsH\000\022*\n\tset_index\030\n \001(\0132\025." - "greptime.v1.SetIndexH\000\022.\n\013unset_index\030\013 " - "\001(\0132\027.greptime.v1.UnsetIndexH\000\0222\n\rdrop_d" - "efaults\030\014 \001(\0132\031.greptime.v1.DropDefaults" - "H\000\022.\n\013set_indexes\030\r \001(\0132\027.greptime.v1.Se" - "tIndexesH\000\0222\n\runset_indexes\030\016 \001(\0132\031.grep" - "time.v1.UnsetIndexesH\000\0220\n\014set_defaults\030\017" - " \001(\0132\030.greptime.v1.SetDefaultsH\000\0227\n\014sync" - "_columns\030\020 \001(\0132\037.greptime.v1.region.Sync" - "ColumnsH\000\022\026\n\016schema_version\030\004 \001(\004B\006\n\004kin" - "d\"G\n\013SyncColumns\0228\n\013column_defs\030\001 \003(\0132#." - "greptime.v1.region.RegionColumnDef\"@\n\nAd" - "dColumns\0222\n\013add_columns\030\001 \003(\0132\035.greptime" - ".v1.region.AddColumn\"C\n\013DropColumns\0224\n\014d" - "rop_columns\030\001 \003(\0132\036.greptime.v1.region.D" - "ropColumn\"v\n\tAddColumn\0227\n\ncolumn_def\030\001 \001" - "(\0132#.greptime.v1.region.RegionColumnDef\022" - "0\n\010location\030\003 \001(\0132\036.greptime.v1.AddColum" - "nLocation\"\032\n\nDropColumn\022\014\n\004name\030\001 \001(\t\"!\n" - "\014FlushRequest\022\021\n\tregion_id\030\001 \001(\004\"\t\n\007Regu" - "lar\"&\n\014StrictWindow\022\026\n\016window_seconds\030\001 " - "\001(\003\"\231\001\n\016CompactRequest\022\021\n\tregion_id\030\001 \001(" - "\004\022.\n\007regular\030\002 \001(\0132\033.greptime.v1.region." - "RegularH\000\0229\n\rstrict_window\030\003 \001(\0132 .grept" - "ime.v1.region.StrictWindowH\000B\t\n\007options\"" - "\204\001\n\017TruncateRequest\022\021\n\tregion_id\030\001 \001(\004\022&" - "\n\003all\030\002 \001(\0132\027.greptime.v1.region.AllH\000\022." - "\n\013time_ranges\030\003 \001(\0132\027.greptime.v1.TimeRa" - "ngesH\000B\006\n\004kind\"\005\n\003All\"P\n\017RegionColumnDef" - "\022*\n\ncolumn_def\030\001 \001(\0132\026.greptime.v1.Colum" - "nDef\022\021\n\tcolumn_id\030\002 \001(\r\"Z\n\021BulkInsertReq" - "uest\022\021\n\tregion_id\030\001 \001(\004\022*\n\tarrow_ipc\030\002 \001" - "(\0132\025.greptime.v1.ArrowIpcH\000B\006\n\004body\"1\n\020M" - "itoManifestInfo\022\035\n\025data_manifest_version" - "\030\001 \001(\004\"V\n\022MetricManifestInfo\022\035\n\025data_man" - "ifest_version\030\001 \001(\004\022!\n\031metadata_manifest" - "_version\030\002 \001(\004\"\275\001\n\013SyncRequest\022\021\n\tregion" - "_id\030\001 \001(\004\022B\n\022mito_manifest_info\030\002 \001(\0132$." - "greptime.v1.region.MitoManifestInfoH\000\022F\n" - "\024metric_manifest_info\030\003 \001(\0132&.greptime.v" - "1.region.MetricManifestInfoH\000B\017\n\rmanifes" - "t_info\")\n\023ListMetadataRequest\022\022\n\nregion_" - "ids\030\001 \003(\0042Y\n\006Region\022O\n\006Handle\022!.greptime" - ".v1.region.RegionRequest\032\".greptime.v1.r" - "egion.RegionResponseB]\n\025io.greptime.v1.r" - "egionB\006ServerZ_impl_.partition_; +} +void CreateRequest::clear_partition() { + if (GetArenaForAllocation() == nullptr && _impl_.partition_ != nullptr) { + delete _impl_.partition_; + } + _impl_.partition_ = nullptr; +} CreateRequest::CreateRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { @@ -4269,6 +4285,7 @@ CreateRequest::CreateRequest(const CreateRequest& from) , /*decltype(_impl_.options_)*/{} , decltype(_impl_.engine_){} , decltype(_impl_.path_){} + , decltype(_impl_.partition_){nullptr} , decltype(_impl_.region_id_){} , /*decltype(_impl_._cached_size_)*/{}}; @@ -4290,6 +4307,9 @@ CreateRequest::CreateRequest(const CreateRequest& from) _this->_impl_.path_.Set(from._internal_path(), _this->GetArenaForAllocation()); } + if (from._internal_has_partition()) { + _this->_impl_.partition_ = new ::greptime::v1::meta::Partition(*from._impl_.partition_); + } _this->_impl_.region_id_ = from._impl_.region_id_; // @@protoc_insertion_point(copy_constructor:greptime.v1.region.CreateRequest) } @@ -4305,6 +4325,7 @@ inline void CreateRequest::SharedCtor( , /*decltype(_impl_.options_)*/{::_pbi::ArenaInitialized(), arena} , decltype(_impl_.engine_){} , decltype(_impl_.path_){} + , decltype(_impl_.partition_){nullptr} , decltype(_impl_.region_id_){uint64_t{0u}} , /*decltype(_impl_._cached_size_)*/{} }; @@ -4336,6 +4357,7 @@ inline void CreateRequest::SharedDtor() { _impl_.options_.~MapField(); _impl_.engine_.Destroy(); _impl_.path_.Destroy(); + if (this != internal_default_instance()) delete _impl_.partition_; } void CreateRequest::ArenaDtor(void* object) { @@ -4357,6 +4379,10 @@ void CreateRequest::Clear() { _impl_.options_.Clear(); _impl_.engine_.ClearToEmpty(); _impl_.path_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && _impl_.partition_ != nullptr) { + delete _impl_.partition_; + } + _impl_.partition_ = nullptr; _impl_.region_id_ = uint64_t{0u}; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -4432,6 +4458,14 @@ const char* CreateRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* } else goto handle_unusual; continue; + // .greptime.v1.meta.Partition partition = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + ptr = ctx->ParseMessage(_internal_mutable_partition(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; default: goto handle_unusual; } // switch @@ -4534,6 +4568,13 @@ uint8_t* CreateRequest::_InternalSerialize( } } + // .greptime.v1.meta.Partition partition = 7; + if (this->_internal_has_partition()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(7, _Internal::partition(this), + _Internal::partition(this).GetCachedSize(), target, stream); + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); @@ -4594,6 +4635,13 @@ size_t CreateRequest::ByteSizeLong() const { this->_internal_path()); } + // .greptime.v1.meta.Partition partition = 7; + if (this->_internal_has_partition()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.partition_); + } + // uint64 region_id = 1; if (this->_internal_region_id() != 0) { total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_region_id()); @@ -4626,6 +4674,10 @@ void CreateRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const :: if (!from._internal_path().empty()) { _this->_internal_set_path(from._internal_path()); } + if (from._internal_has_partition()) { + _this->_internal_mutable_partition()->::greptime::v1::meta::Partition::MergeFrom( + from._internal_partition()); + } if (from._internal_region_id() != 0) { _this->_internal_set_region_id(from._internal_region_id()); } @@ -4659,7 +4711,12 @@ void CreateRequest::InternalSwap(CreateRequest* other) { &_impl_.path_, lhs_arena, &other->_impl_.path_, rhs_arena ); - swap(_impl_.region_id_, other->_impl_.region_id_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(CreateRequest, _impl_.region_id_) + + sizeof(CreateRequest::_impl_.region_id_) + - PROTOBUF_FIELD_OFFSET(CreateRequest, _impl_.partition_)>( + reinterpret_cast(&_impl_.partition_), + reinterpret_cast(&other->_impl_.partition_)); } ::PROTOBUF_NAMESPACE_ID::Metadata CreateRequest::GetMetadata() const { diff --git a/c++/greptime/v1/region/server.pb.h b/c++/greptime/v1/region/server.pb.h index 3d47bea..e34b7d0 100644 --- a/c++/greptime/v1/region/server.pb.h +++ b/c++/greptime/v1/region/server.pb.h @@ -36,6 +36,7 @@ #include #include "greptime/v1/common.pb.h" #include "greptime/v1/ddl.pb.h" +#include "greptime/v1/meta/route.pb.h" #include "greptime/v1/row.pb.h" // @@protoc_insertion_point(includes) #include @@ -2348,6 +2349,7 @@ class CreateRequest final : kOptionsFieldNumber = 6, kEngineFieldNumber = 2, kPathFieldNumber = 5, + kPartitionFieldNumber = 7, kRegionIdFieldNumber = 1, }; // repeated .greptime.v1.region.RegionColumnDef column_defs = 3; @@ -2435,6 +2437,24 @@ class CreateRequest final : std::string* _internal_mutable_path(); public: + // .greptime.v1.meta.Partition partition = 7; + bool has_partition() const; + private: + bool _internal_has_partition() const; + public: + void clear_partition(); + const ::greptime::v1::meta::Partition& partition() const; + PROTOBUF_NODISCARD ::greptime::v1::meta::Partition* release_partition(); + ::greptime::v1::meta::Partition* mutable_partition(); + void set_allocated_partition(::greptime::v1::meta::Partition* partition); + private: + const ::greptime::v1::meta::Partition& _internal_partition() const; + ::greptime::v1::meta::Partition* _internal_mutable_partition(); + public: + void unsafe_arena_set_allocated_partition( + ::greptime::v1::meta::Partition* partition); + ::greptime::v1::meta::Partition* unsafe_arena_release_partition(); + // uint64 region_id = 1; void clear_region_id(); uint64_t region_id() const; @@ -2462,6 +2482,7 @@ class CreateRequest final : ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> options_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr engine_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr path_; + ::greptime::v1::meta::Partition* partition_; uint64_t region_id_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; }; @@ -8947,6 +8968,91 @@ CreateRequest::mutable_options() { return _internal_mutable_options(); } +// .greptime.v1.meta.Partition partition = 7; +inline bool CreateRequest::_internal_has_partition() const { + return this != internal_default_instance() && _impl_.partition_ != nullptr; +} +inline bool CreateRequest::has_partition() const { + return _internal_has_partition(); +} +inline const ::greptime::v1::meta::Partition& CreateRequest::_internal_partition() const { + const ::greptime::v1::meta::Partition* p = _impl_.partition_; + return p != nullptr ? *p : reinterpret_cast( + ::greptime::v1::meta::_Partition_default_instance_); +} +inline const ::greptime::v1::meta::Partition& CreateRequest::partition() const { + // @@protoc_insertion_point(field_get:greptime.v1.region.CreateRequest.partition) + return _internal_partition(); +} +inline void CreateRequest::unsafe_arena_set_allocated_partition( + ::greptime::v1::meta::Partition* partition) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.partition_); + } + _impl_.partition_ = partition; + if (partition) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:greptime.v1.region.CreateRequest.partition) +} +inline ::greptime::v1::meta::Partition* CreateRequest::release_partition() { + + ::greptime::v1::meta::Partition* temp = _impl_.partition_; + _impl_.partition_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::greptime::v1::meta::Partition* CreateRequest::unsafe_arena_release_partition() { + // @@protoc_insertion_point(field_release:greptime.v1.region.CreateRequest.partition) + + ::greptime::v1::meta::Partition* temp = _impl_.partition_; + _impl_.partition_ = nullptr; + return temp; +} +inline ::greptime::v1::meta::Partition* CreateRequest::_internal_mutable_partition() { + + if (_impl_.partition_ == nullptr) { + auto* p = CreateMaybeMessage<::greptime::v1::meta::Partition>(GetArenaForAllocation()); + _impl_.partition_ = p; + } + return _impl_.partition_; +} +inline ::greptime::v1::meta::Partition* CreateRequest::mutable_partition() { + ::greptime::v1::meta::Partition* _msg = _internal_mutable_partition(); + // @@protoc_insertion_point(field_mutable:greptime.v1.region.CreateRequest.partition) + return _msg; +} +inline void CreateRequest::set_allocated_partition(::greptime::v1::meta::Partition* partition) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.partition_); + } + if (partition) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(partition)); + if (message_arena != submessage_arena) { + partition = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, partition, submessage_arena); + } + + } else { + + } + _impl_.partition_ = partition; + // @@protoc_insertion_point(field_set_allocated:greptime.v1.region.CreateRequest.partition) +} + // ------------------------------------------------------------------- // DropRequests diff --git a/go/greptime/v1/region/server.pb.go b/go/greptime/v1/region/server.pb.go index 8e12a42..8bf818a 100644 --- a/go/greptime/v1/region/server.pb.go +++ b/go/greptime/v1/region/server.pb.go @@ -22,6 +22,7 @@ package region import ( v1 "github.com/GreptimeTeam/greptime-proto/go/greptime/v1" + meta "github.com/GreptimeTeam/greptime-proto/go/greptime/v1/meta" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -797,7 +798,9 @@ type CreateRequest struct { // Region storage path Path string `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"` // Options of the created region. - Options map[string]string `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // TODO: add partition def + Options map[string]string `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Partition of the created region. + Partition *meta.Partition `protobuf:"bytes,7,opt,name=partition,proto3" json:"partition,omitempty"` } func (x *CreateRequest) Reset() { @@ -874,6 +877,13 @@ func (x *CreateRequest) GetOptions() map[string]string { return nil } +func (x *CreateRequest) GetPartition() *meta.Partition { + if x != nil { + return x.Partition + } + return nil +} + // Same as CreateRequests, but for dropping regions. type DropRequests struct { state protoimpl.MessageState @@ -2368,366 +2378,372 @@ var file_greptime_v1_region_server_proto_rawDesc = []byte{ 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x1a, 0x18, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x64, 0x6c, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x6f, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x02, - 0x0a, 0x13, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x64, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, - 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x72, 0x61, - 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, - 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, - 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x1a, 0x41, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbc, 0x08, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, - 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x07, 0x69, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x65, - 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x48, 0x00, - 0x52, 0x07, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x65, - 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x48, 0x00, - 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, - 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x72, 0x6f, 0x70, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x64, 0x72, 0x6f, 0x70, 0x12, 0x35, 0x0a, - 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, - 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, - 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x38, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x38, - 0x0a, 0x05, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, - 0x00, 0x52, 0x05, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x05, 0x66, 0x6c, 0x75, 0x73, - 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, - 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6c, 0x75, - 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x66, 0x6c, 0x75, - 0x73, 0x68, 0x12, 0x3e, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, - 0x63, 0x74, 0x12, 0x41, 0x0a, 0x08, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x74, 0x72, 0x75, - 0x6e, 0x63, 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x05, 0x64, 0x72, 0x6f, 0x70, 0x73, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x05, 0x64, 0x72, 0x6f, 0x70, 0x73, 0x12, - 0x3b, 0x0a, 0x06, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x48, 0x00, 0x52, 0x06, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x0b, - 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x75, 0x6c, 0x6b, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x11, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x4e, 0x0a, - 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x06, 0x0a, - 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x99, 0x02, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, - 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x23, 0x0a, - 0x0d, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, - 0x77, 0x73, 0x12, 0x52, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x72, 0x6f, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x02, 0x0a, 0x13, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x12, 0x64, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, + 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x1a, 0x41, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbc, 0x08, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x4f, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x22, 0x4f, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x22, 0x53, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x25, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, - 0x77, 0x73, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, 0x53, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, 0x80, 0x01, - 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, - 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, - 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, - 0x22, 0x4f, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, + 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x07, 0x69, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x07, + 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x07, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, + 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x72, 0x6f, 0x70, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x64, 0x72, 0x6f, 0x70, 0x12, 0x35, 0x0a, 0x04, 0x6f, + 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, + 0x70, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, + 0x65, 0x6e, 0x12, 0x38, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x05, + 0x61, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, + 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x05, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x05, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6c, 0x75, 0x73, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x66, 0x6c, 0x75, 0x73, 0x68, + 0x12, 0x3e, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, + 0x12, 0x41, 0x0a, 0x08, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x74, 0x72, 0x75, 0x6e, 0x63, + 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x05, 0x64, 0x72, 0x6f, 0x70, 0x73, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x05, 0x64, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x3b, 0x0a, + 0x06, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x48, 0x00, 0x52, 0x06, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x0b, 0x62, 0x75, + 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x75, 0x6c, 0x6b, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x4e, 0x0a, 0x0d, 0x6c, + 0x69, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x6c, + 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x62, + 0x6f, 0x64, 0x79, 0x22, 0x99, 0x02, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x61, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0c, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, + 0x12, 0x52, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x1a, 0x3d, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x4f, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x73, 0x12, 0x3d, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x22, 0x4f, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x22, 0xc5, 0x02, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x73, 0x22, 0x53, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x25, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x77, 0x73, + 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, 0x53, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x0c, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, + 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1b, 0x0a, + 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, + 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x22, 0x4f, + 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x12, 0x3d, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, + 0x80, 0x03, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x44, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x5f, 0x64, 0x65, 0x66, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x72, + 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, + 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x12, 0x48, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, + 0x61, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x4b, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, + 0x47, 0x0a, 0x0b, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, + 0x61, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x66, 0x61, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x22, 0xda, 0x01, 0x0a, 0x0b, 0x4f, 0x70, 0x65, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x12, 0x46, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2b, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x73, 0x22, 0x8a, 0x07, 0x0a, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x41, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x72, + 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x72, 0x6f, + 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x48, 0x00, 0x52, 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x11, 0x73, 0x65, + 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x13, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x11, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x09, 0x73, 0x65, 0x74, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x72, + 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3a, + 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x48, 0x00, 0x52, 0x0a, + 0x75, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x40, 0x0a, 0x0d, 0x64, 0x72, + 0x6f, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0c, + 0x64, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x0b, + 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x65, + 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x75, 0x6e, 0x73, 0x65, + 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, + 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x6e, + 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x65, + 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, + 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x73, 0x79, 0x6e, + 0x63, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x48, 0x00, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x53, + 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x44, 0x0a, + 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, + 0x65, 0x66, 0x73, 0x22, 0x4c, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x73, 0x22, 0x50, 0x0a, 0x0b, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x12, 0x41, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x72, 0x6f, 0x70, + 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, + 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x20, 0x0a, 0x0a, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x2b, 0x0a, 0x0c, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x44, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, - 0x65, 0x66, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x73, 0x12, 0x1f, - 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x12, - 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, - 0x61, 0x74, 0x68, 0x12, 0x48, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, - 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4b, 0x0a, 0x0c, 0x44, 0x72, 0x6f, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, - 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x47, 0x0a, 0x0b, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x65, + 0x22, 0x09, 0x0a, 0x07, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x22, 0x35, 0x0a, 0x0c, 0x53, + 0x74, 0x72, 0x69, 0x63, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x25, 0x0a, 0x0e, 0x77, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x22, - 0xda, 0x01, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x46, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x65, 0x70, - 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, - 0x70, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2b, 0x0a, 0x0c, - 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x0d, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x8a, 0x07, 0x0a, 0x0c, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, + 0x49, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, + 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x12, 0x47, 0x0a, 0x0d, 0x73, + 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x57, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x57, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0x9f, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x2b, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x2e, 0x41, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x3a, 0x0a, + 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x74, + 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x22, 0x05, 0x0a, 0x03, 0x41, 0x6c, 0x6c, 0x22, 0x65, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x35, 0x0a, 0x0a, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, + 0x65, 0x66, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x49, 0x64, 0x22, + 0x6e, 0x0a, 0x11, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x34, 0x0a, 0x09, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x69, 0x70, 0x63, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x49, 0x70, 0x63, 0x48, 0x00, 0x52, 0x08, 0x61, + 0x72, 0x72, 0x6f, 0x77, 0x49, 0x70, 0x63, 0x42, 0x06, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, + 0x46, 0x0a, 0x10, 0x4d, 0x69, 0x74, 0x6f, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x6e, 0x69, + 0x66, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x13, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x12, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, + 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x64, + 0x61, 0x74, 0x61, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x19, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, + 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, + 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xed, + 0x01, 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x12, 0x6d, + 0x69, 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, + 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x69, 0x74, + 0x6f, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, + 0x10, 0x6d, 0x69, 0x74, 0x6f, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x5a, 0x0a, 0x14, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x61, 0x6e, 0x69, + 0x66, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4d, 0x61, 0x6e, 0x69, 0x66, + 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x12, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0f, 0x0a, + 0x0d, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x34, + 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x73, 0x32, 0x59, 0x0a, 0x06, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x4f, + 0x0a, 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x61, - 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x64, 0x72, 0x6f, - 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, - 0x48, 0x00, 0x52, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, - 0x50, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, - 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, - 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x48, 0x00, 0x52, 0x11, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x12, 0x4a, 0x0a, 0x11, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, - 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x65, - 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x50, 0x0a, - 0x13, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, - 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x11, 0x75, 0x6e, - 0x73, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x34, 0x0a, 0x09, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x74, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3a, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, - 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x48, 0x00, 0x52, 0x0a, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x12, 0x40, 0x0a, 0x0d, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, - 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, - 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, - 0x73, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, - 0x40, 0x0a, 0x0d, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, - 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, - 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, - 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x73, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, - 0x12, 0x44, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x79, 0x6e, 0x63, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x53, 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, - 0x65, 0x66, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x72, 0x65, 0x70, - 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x52, 0x0a, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x73, 0x22, 0x4c, 0x0a, 0x0a, 0x41, 0x64, - 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0a, 0x61, 0x64, - 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x50, 0x0a, 0x0b, 0x44, 0x72, 0x6f, 0x70, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0b, 0x64, - 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x09, 0x41, - 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, - 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, - 0x66, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x3a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x0a, 0x0a, 0x44, 0x72, 0x6f, 0x70, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2b, 0x0a, 0x0c, 0x46, 0x6c, - 0x75, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x09, 0x0a, 0x07, 0x52, 0x65, 0x67, 0x75, 0x6c, - 0x61, 0x72, 0x22, 0x35, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x77, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x0e, 0x43, 0x6f, - 0x6d, 0x70, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x72, 0x65, 0x67, - 0x75, 0x6c, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, - 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, - 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x67, 0x75, 0x6c, - 0x61, 0x72, 0x12, 0x47, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x77, 0x69, 0x6e, - 0x64, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, - 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x53, - 0x74, 0x72, 0x69, 0x63, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x48, 0x00, 0x52, 0x0c, 0x73, - 0x74, 0x72, 0x69, 0x63, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x09, 0x0a, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9f, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x75, 0x6e, 0x63, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x6c, 0x6c, 0x48, 0x00, 0x52, - 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x3a, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, - 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, - 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x05, 0x0a, 0x03, 0x41, 0x6c, 0x6c, 0x22, - 0x65, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, - 0x65, 0x66, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x52, 0x09, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x11, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x09, 0x61, 0x72, 0x72, 0x6f, - 0x77, 0x5f, 0x69, 0x70, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x72, - 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x49, - 0x70, 0x63, 0x48, 0x00, 0x52, 0x08, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x49, 0x70, 0x63, 0x42, 0x06, - 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x46, 0x0a, 0x10, 0x4d, 0x69, 0x74, 0x6f, 0x4d, 0x61, - 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x64, 0x61, 0x74, 0x61, 0x4d, - 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x84, - 0x01, 0x0a, 0x12, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, - 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, - 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x19, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xed, 0x01, 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x54, 0x0a, 0x12, 0x6d, 0x69, 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x69, 0x74, 0x6f, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x10, 0x6d, 0x69, 0x74, 0x6f, 0x4d, 0x61, 0x6e, 0x69, - 0x66, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5a, 0x0a, 0x14, 0x6d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, - 0x52, 0x12, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0f, 0x0a, 0x0d, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x34, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, - 0x52, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x32, 0x59, 0x0a, 0x06, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, - 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x5d, 0x0a, 0x15, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, - 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, - 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x61, 0x6d, - 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x67, 0x6f, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, + 0x5d, 0x0a, 0x15, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x65, + 0x70, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, + 0x6d, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x72, 0x65, 0x70, + 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2784,19 +2800,20 @@ var file_greptime_v1_region_server_proto_goTypes = []interface{}{ (*v1.QueryContext)(nil), // 37: greptime.v1.QueryContext (*v1.ResponseHeader)(nil), // 38: greptime.v1.ResponseHeader (*v1.Rows)(nil), // 39: greptime.v1.Rows - (*v1.ModifyColumnTypes)(nil), // 40: greptime.v1.ModifyColumnTypes - (*v1.SetTableOptions)(nil), // 41: greptime.v1.SetTableOptions - (*v1.UnsetTableOptions)(nil), // 42: greptime.v1.UnsetTableOptions - (*v1.SetIndex)(nil), // 43: greptime.v1.SetIndex - (*v1.UnsetIndex)(nil), // 44: greptime.v1.UnsetIndex - (*v1.DropDefaults)(nil), // 45: greptime.v1.DropDefaults - (*v1.SetIndexes)(nil), // 46: greptime.v1.SetIndexes - (*v1.UnsetIndexes)(nil), // 47: greptime.v1.UnsetIndexes - (*v1.SetDefaults)(nil), // 48: greptime.v1.SetDefaults - (*v1.AddColumnLocation)(nil), // 49: greptime.v1.AddColumnLocation - (*v1.TimeRanges)(nil), // 50: greptime.v1.TimeRanges - (*v1.ColumnDef)(nil), // 51: greptime.v1.ColumnDef - (*v1.ArrowIpc)(nil), // 52: greptime.v1.ArrowIpc + (*meta.Partition)(nil), // 40: greptime.v1.meta.Partition + (*v1.ModifyColumnTypes)(nil), // 41: greptime.v1.ModifyColumnTypes + (*v1.SetTableOptions)(nil), // 42: greptime.v1.SetTableOptions + (*v1.UnsetTableOptions)(nil), // 43: greptime.v1.UnsetTableOptions + (*v1.SetIndex)(nil), // 44: greptime.v1.SetIndex + (*v1.UnsetIndex)(nil), // 45: greptime.v1.UnsetIndex + (*v1.DropDefaults)(nil), // 46: greptime.v1.DropDefaults + (*v1.SetIndexes)(nil), // 47: greptime.v1.SetIndexes + (*v1.UnsetIndexes)(nil), // 48: greptime.v1.UnsetIndexes + (*v1.SetDefaults)(nil), // 49: greptime.v1.SetDefaults + (*v1.AddColumnLocation)(nil), // 50: greptime.v1.AddColumnLocation + (*v1.TimeRanges)(nil), // 51: greptime.v1.TimeRanges + (*v1.ColumnDef)(nil), // 52: greptime.v1.ColumnDef + (*v1.ArrowIpc)(nil), // 53: greptime.v1.ArrowIpc } var file_greptime_v1_region_server_proto_depIdxs = []int32{ 33, // 0: greptime.v1.region.RegionRequestHeader.tracing_context:type_name -> greptime.v1.region.RegionRequestHeader.TracingContextEntry @@ -2828,41 +2845,42 @@ var file_greptime_v1_region_server_proto_depIdxs = []int32{ 9, // 26: greptime.v1.region.CreateRequests.requests:type_name -> greptime.v1.region.CreateRequest 27, // 27: greptime.v1.region.CreateRequest.column_defs:type_name -> greptime.v1.region.RegionColumnDef 35, // 28: greptime.v1.region.CreateRequest.options:type_name -> greptime.v1.region.CreateRequest.OptionsEntry - 11, // 29: greptime.v1.region.DropRequests.requests:type_name -> greptime.v1.region.DropRequest - 36, // 30: greptime.v1.region.OpenRequest.options:type_name -> greptime.v1.region.OpenRequest.OptionsEntry - 15, // 31: greptime.v1.region.AlterRequests.requests:type_name -> greptime.v1.region.AlterRequest - 17, // 32: greptime.v1.region.AlterRequest.add_columns:type_name -> greptime.v1.region.AddColumns - 18, // 33: greptime.v1.region.AlterRequest.drop_columns:type_name -> greptime.v1.region.DropColumns - 40, // 34: greptime.v1.region.AlterRequest.modify_column_types:type_name -> greptime.v1.ModifyColumnTypes - 41, // 35: greptime.v1.region.AlterRequest.set_table_options:type_name -> greptime.v1.SetTableOptions - 42, // 36: greptime.v1.region.AlterRequest.unset_table_options:type_name -> greptime.v1.UnsetTableOptions - 43, // 37: greptime.v1.region.AlterRequest.set_index:type_name -> greptime.v1.SetIndex - 44, // 38: greptime.v1.region.AlterRequest.unset_index:type_name -> greptime.v1.UnsetIndex - 45, // 39: greptime.v1.region.AlterRequest.drop_defaults:type_name -> greptime.v1.DropDefaults - 46, // 40: greptime.v1.region.AlterRequest.set_indexes:type_name -> greptime.v1.SetIndexes - 47, // 41: greptime.v1.region.AlterRequest.unset_indexes:type_name -> greptime.v1.UnsetIndexes - 48, // 42: greptime.v1.region.AlterRequest.set_defaults:type_name -> greptime.v1.SetDefaults - 16, // 43: greptime.v1.region.AlterRequest.sync_columns:type_name -> greptime.v1.region.SyncColumns - 27, // 44: greptime.v1.region.SyncColumns.column_defs:type_name -> greptime.v1.region.RegionColumnDef - 19, // 45: greptime.v1.region.AddColumns.add_columns:type_name -> greptime.v1.region.AddColumn - 20, // 46: greptime.v1.region.DropColumns.drop_columns:type_name -> greptime.v1.region.DropColumn - 27, // 47: greptime.v1.region.AddColumn.column_def:type_name -> greptime.v1.region.RegionColumnDef - 49, // 48: greptime.v1.region.AddColumn.location:type_name -> greptime.v1.AddColumnLocation - 22, // 49: greptime.v1.region.CompactRequest.regular:type_name -> greptime.v1.region.Regular - 23, // 50: greptime.v1.region.CompactRequest.strict_window:type_name -> greptime.v1.region.StrictWindow - 26, // 51: greptime.v1.region.TruncateRequest.all:type_name -> greptime.v1.region.All - 50, // 52: greptime.v1.region.TruncateRequest.time_ranges:type_name -> greptime.v1.TimeRanges - 51, // 53: greptime.v1.region.RegionColumnDef.column_def:type_name -> greptime.v1.ColumnDef - 52, // 54: greptime.v1.region.BulkInsertRequest.arrow_ipc:type_name -> greptime.v1.ArrowIpc - 29, // 55: greptime.v1.region.SyncRequest.mito_manifest_info:type_name -> greptime.v1.region.MitoManifestInfo - 30, // 56: greptime.v1.region.SyncRequest.metric_manifest_info:type_name -> greptime.v1.region.MetricManifestInfo - 1, // 57: greptime.v1.region.Region.Handle:input_type -> greptime.v1.region.RegionRequest - 2, // 58: greptime.v1.region.Region.Handle:output_type -> greptime.v1.region.RegionResponse - 58, // [58:59] is the sub-list for method output_type - 57, // [57:58] is the sub-list for method input_type - 57, // [57:57] is the sub-list for extension type_name - 57, // [57:57] is the sub-list for extension extendee - 0, // [0:57] is the sub-list for field type_name + 40, // 29: greptime.v1.region.CreateRequest.partition:type_name -> greptime.v1.meta.Partition + 11, // 30: greptime.v1.region.DropRequests.requests:type_name -> greptime.v1.region.DropRequest + 36, // 31: greptime.v1.region.OpenRequest.options:type_name -> greptime.v1.region.OpenRequest.OptionsEntry + 15, // 32: greptime.v1.region.AlterRequests.requests:type_name -> greptime.v1.region.AlterRequest + 17, // 33: greptime.v1.region.AlterRequest.add_columns:type_name -> greptime.v1.region.AddColumns + 18, // 34: greptime.v1.region.AlterRequest.drop_columns:type_name -> greptime.v1.region.DropColumns + 41, // 35: greptime.v1.region.AlterRequest.modify_column_types:type_name -> greptime.v1.ModifyColumnTypes + 42, // 36: greptime.v1.region.AlterRequest.set_table_options:type_name -> greptime.v1.SetTableOptions + 43, // 37: greptime.v1.region.AlterRequest.unset_table_options:type_name -> greptime.v1.UnsetTableOptions + 44, // 38: greptime.v1.region.AlterRequest.set_index:type_name -> greptime.v1.SetIndex + 45, // 39: greptime.v1.region.AlterRequest.unset_index:type_name -> greptime.v1.UnsetIndex + 46, // 40: greptime.v1.region.AlterRequest.drop_defaults:type_name -> greptime.v1.DropDefaults + 47, // 41: greptime.v1.region.AlterRequest.set_indexes:type_name -> greptime.v1.SetIndexes + 48, // 42: greptime.v1.region.AlterRequest.unset_indexes:type_name -> greptime.v1.UnsetIndexes + 49, // 43: greptime.v1.region.AlterRequest.set_defaults:type_name -> greptime.v1.SetDefaults + 16, // 44: greptime.v1.region.AlterRequest.sync_columns:type_name -> greptime.v1.region.SyncColumns + 27, // 45: greptime.v1.region.SyncColumns.column_defs:type_name -> greptime.v1.region.RegionColumnDef + 19, // 46: greptime.v1.region.AddColumns.add_columns:type_name -> greptime.v1.region.AddColumn + 20, // 47: greptime.v1.region.DropColumns.drop_columns:type_name -> greptime.v1.region.DropColumn + 27, // 48: greptime.v1.region.AddColumn.column_def:type_name -> greptime.v1.region.RegionColumnDef + 50, // 49: greptime.v1.region.AddColumn.location:type_name -> greptime.v1.AddColumnLocation + 22, // 50: greptime.v1.region.CompactRequest.regular:type_name -> greptime.v1.region.Regular + 23, // 51: greptime.v1.region.CompactRequest.strict_window:type_name -> greptime.v1.region.StrictWindow + 26, // 52: greptime.v1.region.TruncateRequest.all:type_name -> greptime.v1.region.All + 51, // 53: greptime.v1.region.TruncateRequest.time_ranges:type_name -> greptime.v1.TimeRanges + 52, // 54: greptime.v1.region.RegionColumnDef.column_def:type_name -> greptime.v1.ColumnDef + 53, // 55: greptime.v1.region.BulkInsertRequest.arrow_ipc:type_name -> greptime.v1.ArrowIpc + 29, // 56: greptime.v1.region.SyncRequest.mito_manifest_info:type_name -> greptime.v1.region.MitoManifestInfo + 30, // 57: greptime.v1.region.SyncRequest.metric_manifest_info:type_name -> greptime.v1.region.MetricManifestInfo + 1, // 58: greptime.v1.region.Region.Handle:input_type -> greptime.v1.region.RegionRequest + 2, // 59: greptime.v1.region.Region.Handle:output_type -> greptime.v1.region.RegionResponse + 59, // [59:60] is the sub-list for method output_type + 58, // [58:59] is the sub-list for method input_type + 58, // [58:58] is the sub-list for extension type_name + 58, // [58:58] is the sub-list for extension extendee + 0, // [0:58] is the sub-list for field type_name } func init() { file_greptime_v1_region_server_proto_init() } diff --git a/java/src/main/java/io/greptime/v1/region/Server.java b/java/src/main/java/io/greptime/v1/region/Server.java index 046dde7..0b8236a 100644 --- a/java/src/main/java/io/greptime/v1/region/Server.java +++ b/java/src/main/java/io/greptime/v1/region/Server.java @@ -11541,6 +11541,33 @@ java.lang.String defaultValue); java.lang.String getOptionsOrThrow( java.lang.String key); + + /** + *
+     * Partition of the created region.
+     * 
+ * + * .greptime.v1.meta.Partition partition = 7; + * @return Whether the partition field is set. + */ + boolean hasPartition(); + /** + *
+     * Partition of the created region.
+     * 
+ * + * .greptime.v1.meta.Partition partition = 7; + * @return The partition. + */ + greptime.v1.meta.Route.Partition getPartition(); + /** + *
+     * Partition of the created region.
+     * 
+ * + * .greptime.v1.meta.Partition partition = 7; + */ + greptime.v1.meta.Route.PartitionOrBuilder getPartitionOrBuilder(); } /** * Protobuf type {@code greptime.v1.region.CreateRequest} @@ -11652,6 +11679,19 @@ java.lang.String defaultValue); options__.getKey(), options__.getValue()); break; } + case 58: { + greptime.v1.meta.Route.Partition.Builder subBuilder = null; + if (partition_ != null) { + subBuilder = partition_.toBuilder(); + } + partition_ = input.readMessage(greptime.v1.meta.Route.Partition.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(partition_); + partition_ = subBuilder.buildPartial(); + } + + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -12004,6 +12044,44 @@ java.lang.String defaultValue); return map.get(key); } + public static final int PARTITION_FIELD_NUMBER = 7; + private greptime.v1.meta.Route.Partition partition_; + /** + *
+     * Partition of the created region.
+     * 
+ * + * .greptime.v1.meta.Partition partition = 7; + * @return Whether the partition field is set. + */ + @java.lang.Override + public boolean hasPartition() { + return partition_ != null; + } + /** + *
+     * Partition of the created region.
+     * 
+ * + * .greptime.v1.meta.Partition partition = 7; + * @return The partition. + */ + @java.lang.Override + public greptime.v1.meta.Route.Partition getPartition() { + return partition_ == null ? greptime.v1.meta.Route.Partition.getDefaultInstance() : partition_; + } + /** + *
+     * Partition of the created region.
+     * 
+ * + * .greptime.v1.meta.Partition partition = 7; + */ + @java.lang.Override + public greptime.v1.meta.Route.PartitionOrBuilder getPartitionOrBuilder() { + return getPartition(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -12044,6 +12122,9 @@ java.lang.String defaultValue); internalGetOptions(), OptionsDefaultEntryHolder.defaultEntry, 6); + if (partition_ != null) { + output.writeMessage(7, getPartition()); + } unknownFields.writeTo(output); } @@ -12091,6 +12172,10 @@ java.lang.String defaultValue); size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, options__); } + if (partition_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, getPartition()); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -12118,6 +12203,11 @@ java.lang.String defaultValue); .equals(other.getPath())) return false; if (!internalGetOptions().equals( other.internalGetOptions())) return false; + if (hasPartition() != other.hasPartition()) return false; + if (hasPartition()) { + if (!getPartition() + .equals(other.getPartition())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -12148,6 +12238,10 @@ java.lang.String defaultValue); hash = (37 * hash) + OPTIONS_FIELD_NUMBER; hash = (53 * hash) + internalGetOptions().hashCode(); } + if (hasPartition()) { + hash = (37 * hash) + PARTITION_FIELD_NUMBER; + hash = (53 * hash) + getPartition().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -12319,6 +12413,12 @@ java.lang.String defaultValue); path_ = ""; internalGetMutableOptions().clear(); + if (partitionBuilder_ == null) { + partition_ = null; + } else { + partition_ = null; + partitionBuilder_ = null; + } return this; } @@ -12365,6 +12465,11 @@ java.lang.String defaultValue); result.path_ = path_; result.options_ = internalGetOptions(); result.options_.makeImmutable(); + if (partitionBuilder_ == null) { + result.partition_ = partition_; + } else { + result.partition_ = partitionBuilder_.build(); + } onBuilt(); return result; } @@ -12462,6 +12567,9 @@ java.lang.String defaultValue); } internalGetMutableOptions().mergeFrom( other.internalGetOptions()); + if (other.hasPartition()) { + mergePartition(other.getPartition()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -13292,6 +13400,161 @@ java.lang.String defaultValue); .putAll(values); return this; } + + private greptime.v1.meta.Route.Partition partition_; + private com.google.protobuf.SingleFieldBuilderV3< + greptime.v1.meta.Route.Partition, greptime.v1.meta.Route.Partition.Builder, greptime.v1.meta.Route.PartitionOrBuilder> partitionBuilder_; + /** + *
+       * Partition of the created region.
+       * 
+ * + * .greptime.v1.meta.Partition partition = 7; + * @return Whether the partition field is set. + */ + public boolean hasPartition() { + return partitionBuilder_ != null || partition_ != null; + } + /** + *
+       * Partition of the created region.
+       * 
+ * + * .greptime.v1.meta.Partition partition = 7; + * @return The partition. + */ + public greptime.v1.meta.Route.Partition getPartition() { + if (partitionBuilder_ == null) { + return partition_ == null ? greptime.v1.meta.Route.Partition.getDefaultInstance() : partition_; + } else { + return partitionBuilder_.getMessage(); + } + } + /** + *
+       * Partition of the created region.
+       * 
+ * + * .greptime.v1.meta.Partition partition = 7; + */ + public Builder setPartition(greptime.v1.meta.Route.Partition value) { + if (partitionBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + partition_ = value; + onChanged(); + } else { + partitionBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * Partition of the created region.
+       * 
+ * + * .greptime.v1.meta.Partition partition = 7; + */ + public Builder setPartition( + greptime.v1.meta.Route.Partition.Builder builderForValue) { + if (partitionBuilder_ == null) { + partition_ = builderForValue.build(); + onChanged(); + } else { + partitionBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * Partition of the created region.
+       * 
+ * + * .greptime.v1.meta.Partition partition = 7; + */ + public Builder mergePartition(greptime.v1.meta.Route.Partition value) { + if (partitionBuilder_ == null) { + if (partition_ != null) { + partition_ = + greptime.v1.meta.Route.Partition.newBuilder(partition_).mergeFrom(value).buildPartial(); + } else { + partition_ = value; + } + onChanged(); + } else { + partitionBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * Partition of the created region.
+       * 
+ * + * .greptime.v1.meta.Partition partition = 7; + */ + public Builder clearPartition() { + if (partitionBuilder_ == null) { + partition_ = null; + onChanged(); + } else { + partition_ = null; + partitionBuilder_ = null; + } + + return this; + } + /** + *
+       * Partition of the created region.
+       * 
+ * + * .greptime.v1.meta.Partition partition = 7; + */ + public greptime.v1.meta.Route.Partition.Builder getPartitionBuilder() { + + onChanged(); + return getPartitionFieldBuilder().getBuilder(); + } + /** + *
+       * Partition of the created region.
+       * 
+ * + * .greptime.v1.meta.Partition partition = 7; + */ + public greptime.v1.meta.Route.PartitionOrBuilder getPartitionOrBuilder() { + if (partitionBuilder_ != null) { + return partitionBuilder_.getMessageOrBuilder(); + } else { + return partition_ == null ? + greptime.v1.meta.Route.Partition.getDefaultInstance() : partition_; + } + } + /** + *
+       * Partition of the created region.
+       * 
+ * + * .greptime.v1.meta.Partition partition = 7; + */ + private com.google.protobuf.SingleFieldBuilderV3< + greptime.v1.meta.Route.Partition, greptime.v1.meta.Route.Partition.Builder, greptime.v1.meta.Route.PartitionOrBuilder> + getPartitionFieldBuilder() { + if (partitionBuilder_ == null) { + partitionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + greptime.v1.meta.Route.Partition, greptime.v1.meta.Route.Partition.Builder, greptime.v1.meta.Route.PartitionOrBuilder>( + getPartition(), + getParentForChildren(), + isClean()); + partition_ = null; + } + return partitionBuilder_; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -32909,132 +33172,135 @@ java.lang.String defaultValue); java.lang.String[] descriptorData = { "\n\037greptime/v1/region/server.proto\022\022grept" + "ime.v1.region\032\030greptime/v1/common.proto\032" + - "\025greptime/v1/ddl.proto\032\025greptime/v1/row." + - "proto\"\344\001\n\023RegionRequestHeader\022T\n\017tracing" + - "_context\030\005 \003(\0132;.greptime.v1.region.Regi" + - "onRequestHeader.TracingContextEntry\022\016\n\006d" + - "bname\030\003 \001(\t\0220\n\rquery_context\030\006 \001(\0132\031.gre" + - "ptime.v1.QueryContext\0325\n\023TracingContextE" + - "ntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\256\007\n" + - "\rRegionRequest\0227\n\006header\030\001 \001(\0132\'.greptim" + - "e.v1.region.RegionRequestHeader\0225\n\007inser" + - "ts\030\003 \001(\0132\".greptime.v1.region.InsertRequ" + - "estsH\000\0225\n\007deletes\030\004 \001(\0132\".greptime.v1.re" + - "gion.DeleteRequestsH\000\0223\n\006create\030\005 \001(\0132!." + - "greptime.v1.region.CreateRequestH\000\022/\n\004dr" + - "op\030\006 \001(\0132\037.greptime.v1.region.DropReques" + - "tH\000\022/\n\004open\030\007 \001(\0132\037.greptime.v1.region.O" + - "penRequestH\000\0221\n\005close\030\010 \001(\0132 .greptime.v" + - "1.region.CloseRequestH\000\0221\n\005alter\030\t \001(\0132 " + - ".greptime.v1.region.AlterRequestH\000\0221\n\005fl" + - "ush\030\n \001(\0132 .greptime.v1.region.FlushRequ" + - "estH\000\0225\n\007compact\030\013 \001(\0132\".greptime.v1.reg" + - "ion.CompactRequestH\000\0227\n\010truncate\030\014 \001(\0132#" + - ".greptime.v1.region.TruncateRequestH\000\0225\n" + - "\007creates\030\r \001(\0132\".greptime.v1.region.Crea" + - "teRequestsH\000\0221\n\005drops\030\016 \001(\0132 .greptime.v" + - "1.region.DropRequestsH\000\0223\n\006alters\030\017 \001(\0132" + - "!.greptime.v1.region.AlterRequestsH\000\022<\n\013" + - "bulk_insert\030\020 \001(\0132%.greptime.v1.region.B" + - "ulkInsertRequestH\000\022/\n\004sync\030\021 \001(\0132\037.grept" + - "ime.v1.region.SyncRequestH\000\022@\n\rlist_meta" + - "data\030\022 \001(\0132\'.greptime.v1.region.ListMeta" + - "dataRequestH\000B\006\n\004body\"\341\001\n\016RegionResponse" + - "\022+\n\006header\030\001 \001(\0132\033.greptime.v1.ResponseH" + - "eader\022\025\n\raffected_rows\030\002 \001(\004\022F\n\nextensio" + - "ns\030\003 \003(\01322.greptime.v1.region.RegionResp" + - "onse.ExtensionsEntry\022\020\n\010metadata\030\004 \001(\014\0321" + - "\n\017ExtensionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030" + - "\002 \001(\014:\0028\001\"E\n\016InsertRequests\0223\n\010requests\030" + - "\001 \003(\0132!.greptime.v1.region.InsertRequest" + - "\"E\n\016DeleteRequests\0223\n\010requests\030\001 \003(\0132!.g" + - "reptime.v1.region.DeleteRequest\"C\n\rInser" + - "tRequest\022\021\n\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001(" + - "\0132\021.greptime.v1.Rows\"C\n\rDeleteRequest\022\021\n" + - "\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001(\0132\021.greptim" + - "e.v1.Rows\"h\n\014QueryRequest\0227\n\006header\030\001 \001(" + - "\0132\'.greptime.v1.region.RegionRequestHead" + - "er\022\021\n\tregion_id\030\002 \001(\004\022\014\n\004plan\030\003 \001(\014\"E\n\016C" + - "reateRequests\0223\n\010requests\030\001 \003(\0132!.grepti" + - "me.v1.region.CreateRequest\"\200\002\n\rCreateReq" + - "uest\022\021\n\tregion_id\030\001 \001(\004\022\016\n\006engine\030\002 \001(\t\022" + - "8\n\013column_defs\030\003 \003(\0132#.greptime.v1.regio" + - "n.RegionColumnDef\022\023\n\013primary_key\030\004 \003(\r\022\014" + - "\n\004path\030\005 \001(\t\022?\n\007options\030\006 \003(\0132..greptime" + - ".v1.region.CreateRequest.OptionsEntry\032.\n" + - "\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(" + - "\t:\0028\001\"A\n\014DropRequests\0221\n\010requests\030\001 \003(\0132" + - "\037.greptime.v1.region.DropRequest\"3\n\013Drop" + - "Request\022\021\n\tregion_id\030\001 \001(\004\022\021\n\tfast_path\030" + - "\002 \001(\010\"\255\001\n\013OpenRequest\022\021\n\tregion_id\030\001 \001(\004" + - "\022\016\n\006engine\030\002 \001(\t\022\014\n\004path\030\003 \001(\t\022=\n\007option" + - "s\030\004 \003(\0132,.greptime.v1.region.OpenRequest" + - ".OptionsEntry\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001" + - "(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"!\n\014CloseRequest\022\021\n" + - "\tregion_id\030\001 \001(\004\"C\n\rAlterRequests\0222\n\010req" + - "uests\030\001 \003(\0132 .greptime.v1.region.AlterRe" + - "quest\"\311\005\n\014AlterRequest\022\021\n\tregion_id\030\001 \001(" + - "\004\0225\n\013add_columns\030\002 \001(\0132\036.greptime.v1.reg" + - "ion.AddColumnsH\000\0227\n\014drop_columns\030\003 \001(\0132\037" + - ".greptime.v1.region.DropColumnsH\000\022=\n\023mod" + - "ify_column_types\030\005 \001(\0132\036.greptime.v1.Mod" + - "ifyColumnTypesH\000\0229\n\021set_table_options\030\006 " + - "\001(\0132\034.greptime.v1.SetTableOptionsH\000\022=\n\023u" + - "nset_table_options\030\t \001(\0132\036.greptime.v1.U" + - "nsetTableOptionsH\000\022*\n\tset_index\030\n \001(\0132\025." + - "greptime.v1.SetIndexH\000\022.\n\013unset_index\030\013 " + - "\001(\0132\027.greptime.v1.UnsetIndexH\000\0222\n\rdrop_d" + - "efaults\030\014 \001(\0132\031.greptime.v1.DropDefaults" + - "H\000\022.\n\013set_indexes\030\r \001(\0132\027.greptime.v1.Se" + - "tIndexesH\000\0222\n\runset_indexes\030\016 \001(\0132\031.grep" + - "time.v1.UnsetIndexesH\000\0220\n\014set_defaults\030\017" + - " \001(\0132\030.greptime.v1.SetDefaultsH\000\0227\n\014sync" + - "_columns\030\020 \001(\0132\037.greptime.v1.region.Sync" + - "ColumnsH\000\022\026\n\016schema_version\030\004 \001(\004B\006\n\004kin" + - "d\"G\n\013SyncColumns\0228\n\013column_defs\030\001 \003(\0132#." + - "greptime.v1.region.RegionColumnDef\"@\n\nAd" + - "dColumns\0222\n\013add_columns\030\001 \003(\0132\035.greptime" + - ".v1.region.AddColumn\"C\n\013DropColumns\0224\n\014d" + - "rop_columns\030\001 \003(\0132\036.greptime.v1.region.D" + - "ropColumn\"v\n\tAddColumn\0227\n\ncolumn_def\030\001 \001" + - "(\0132#.greptime.v1.region.RegionColumnDef\022" + - "0\n\010location\030\003 \001(\0132\036.greptime.v1.AddColum" + - "nLocation\"\032\n\nDropColumn\022\014\n\004name\030\001 \001(\t\"!\n" + - "\014FlushRequest\022\021\n\tregion_id\030\001 \001(\004\"\t\n\007Regu" + - "lar\"&\n\014StrictWindow\022\026\n\016window_seconds\030\001 " + - "\001(\003\"\231\001\n\016CompactRequest\022\021\n\tregion_id\030\001 \001(" + - "\004\022.\n\007regular\030\002 \001(\0132\033.greptime.v1.region." + - "RegularH\000\0229\n\rstrict_window\030\003 \001(\0132 .grept" + - "ime.v1.region.StrictWindowH\000B\t\n\007options\"" + - "\204\001\n\017TruncateRequest\022\021\n\tregion_id\030\001 \001(\004\022&" + - "\n\003all\030\002 \001(\0132\027.greptime.v1.region.AllH\000\022." + - "\n\013time_ranges\030\003 \001(\0132\027.greptime.v1.TimeRa" + - "ngesH\000B\006\n\004kind\"\005\n\003All\"P\n\017RegionColumnDef" + - "\022*\n\ncolumn_def\030\001 \001(\0132\026.greptime.v1.Colum" + - "nDef\022\021\n\tcolumn_id\030\002 \001(\r\"Z\n\021BulkInsertReq" + - "uest\022\021\n\tregion_id\030\001 \001(\004\022*\n\tarrow_ipc\030\002 \001" + - "(\0132\025.greptime.v1.ArrowIpcH\000B\006\n\004body\"1\n\020M" + - "itoManifestInfo\022\035\n\025data_manifest_version" + - "\030\001 \001(\004\"V\n\022MetricManifestInfo\022\035\n\025data_man" + - "ifest_version\030\001 \001(\004\022!\n\031metadata_manifest" + - "_version\030\002 \001(\004\"\275\001\n\013SyncRequest\022\021\n\tregion" + - "_id\030\001 \001(\004\022B\n\022mito_manifest_info\030\002 \001(\0132$." + - "greptime.v1.region.MitoManifestInfoH\000\022F\n" + - "\024metric_manifest_info\030\003 \001(\0132&.greptime.v" + - "1.region.MetricManifestInfoH\000B\017\n\rmanifes" + - "t_info\")\n\023ListMetadataRequest\022\022\n\nregion_" + - "ids\030\001 \003(\0042Y\n\006Region\022O\n\006Handle\022!.greptime" + - ".v1.region.RegionRequest\032\".greptime.v1.r" + - "egion.RegionResponseB]\n\025io.greptime.v1.r" + - "egionB\006ServerZ options = 6; - // TODO: add partition def + // Partition of the created region. + greptime.v1.meta.Partition partition = 7; } // Same as CreateRequests, but for dropping regions.