From 0e316b86d765e4718d6f0ca77b1ad179f222b822 Mon Sep 17 00:00:00 2001 From: Weny Xu Date: Wed, 7 Jan 2026 11:53:40 +0800 Subject: [PATCH] feat: force drop region (#299) Signed-off-by: WenyXu --- .gitignore | 3 + c++/greptime/v1/region/server.pb.cc | 229 +++++----- c++/greptime/v1/region/server.pb.h | 31 ++ go/greptime/v1/region/server.pb.go | 428 +++++++++--------- .../java/io/greptime/v1/region/Server.java | 232 +++++++--- proto/greptime/v1/region/server.proto | 2 + 6 files changed, 545 insertions(+), 380 deletions(-) diff --git a/.gitignore b/.gitignore index d70e386..38b9d3a 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,6 @@ Cargo.lock shell.nix .envrc .direnv + +# Java build output +/java/target/ \ No newline at end of file diff --git a/c++/greptime/v1/region/server.pb.cc b/c++/greptime/v1/region/server.pb.cc index a19c1f6..3e4614d 100644 --- a/c++/greptime/v1/region/server.pb.cc +++ b/c++/greptime/v1/region/server.pb.cc @@ -221,6 +221,7 @@ PROTOBUF_CONSTEXPR DropRequest::DropRequest( ::_pbi::ConstantInitialized): _impl_{ /*decltype(_impl_.region_id_)*/uint64_t{0u} , /*decltype(_impl_.fast_path_)*/false + , /*decltype(_impl_.force_)*/false , /*decltype(_impl_._cached_size_)*/{}} {} struct DropRequestDefaultTypeInternal { PROTOBUF_CONSTEXPR DropRequestDefaultTypeInternal() @@ -729,6 +730,7 @@ const uint32_t TableStruct_greptime_2fv1_2fregion_2fserver_2eproto::offsets[] PR ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::greptime::v1::region::DropRequest, _impl_.region_id_), PROTOBUF_FIELD_OFFSET(::greptime::v1::region::DropRequest, _impl_.fast_path_), + PROTOBUF_FIELD_OFFSET(::greptime::v1::region::DropRequest, _impl_.force_), PROTOBUF_FIELD_OFFSET(::greptime::v1::region::OpenRequest_OptionsEntry_DoNotUse, _has_bits_), PROTOBUF_FIELD_OFFSET(::greptime::v1::region::OpenRequest_OptionsEntry_DoNotUse, _internal_metadata_), ~0u, // no _extensions_ @@ -957,31 +959,31 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode { 121, -1, -1, sizeof(::greptime::v1::region::CreateRequest)}, { 134, -1, -1, sizeof(::greptime::v1::region::DropRequests)}, { 141, -1, -1, sizeof(::greptime::v1::region::DropRequest)}, - { 149, 157, -1, sizeof(::greptime::v1::region::OpenRequest_OptionsEntry_DoNotUse)}, - { 159, -1, -1, sizeof(::greptime::v1::region::OpenRequest)}, - { 169, -1, -1, sizeof(::greptime::v1::region::CloseRequest)}, - { 176, -1, -1, sizeof(::greptime::v1::region::AlterRequests)}, - { 183, -1, -1, sizeof(::greptime::v1::region::AlterRequest)}, - { 204, -1, -1, sizeof(::greptime::v1::region::SyncColumns)}, - { 211, -1, -1, sizeof(::greptime::v1::region::AddColumns)}, - { 218, -1, -1, sizeof(::greptime::v1::region::DropColumns)}, - { 225, -1, -1, sizeof(::greptime::v1::region::AddColumn)}, - { 233, -1, -1, sizeof(::greptime::v1::region::DropColumn)}, - { 240, -1, -1, sizeof(::greptime::v1::region::FlushRequest)}, - { 247, -1, -1, sizeof(::greptime::v1::region::Regular)}, - { 253, -1, -1, sizeof(::greptime::v1::region::StrictWindow)}, - { 260, -1, -1, sizeof(::greptime::v1::region::CompactRequest)}, - { 271, -1, -1, sizeof(::greptime::v1::region::TruncateRequest)}, - { 281, -1, -1, sizeof(::greptime::v1::region::All)}, - { 287, -1, -1, sizeof(::greptime::v1::region::RegionColumnDef)}, - { 295, -1, -1, sizeof(::greptime::v1::region::BulkInsertRequest)}, - { 304, -1, -1, sizeof(::greptime::v1::region::MitoManifestInfo)}, - { 311, -1, -1, sizeof(::greptime::v1::region::MetricManifestInfo)}, - { 319, -1, -1, sizeof(::greptime::v1::region::SyncRequest)}, - { 329, -1, -1, sizeof(::greptime::v1::region::ListMetadataRequest)}, - { 336, -1, -1, sizeof(::greptime::v1::region::BuildIndexRequest)}, - { 343, -1, -1, sizeof(::greptime::v1::region::FileMetas)}, - { 350, -1, -1, sizeof(::greptime::v1::region::ApplyStagingManifestRequest)}, + { 150, 158, -1, sizeof(::greptime::v1::region::OpenRequest_OptionsEntry_DoNotUse)}, + { 160, -1, -1, sizeof(::greptime::v1::region::OpenRequest)}, + { 170, -1, -1, sizeof(::greptime::v1::region::CloseRequest)}, + { 177, -1, -1, sizeof(::greptime::v1::region::AlterRequests)}, + { 184, -1, -1, sizeof(::greptime::v1::region::AlterRequest)}, + { 205, -1, -1, sizeof(::greptime::v1::region::SyncColumns)}, + { 212, -1, -1, sizeof(::greptime::v1::region::AddColumns)}, + { 219, -1, -1, sizeof(::greptime::v1::region::DropColumns)}, + { 226, -1, -1, sizeof(::greptime::v1::region::AddColumn)}, + { 234, -1, -1, sizeof(::greptime::v1::region::DropColumn)}, + { 241, -1, -1, sizeof(::greptime::v1::region::FlushRequest)}, + { 248, -1, -1, sizeof(::greptime::v1::region::Regular)}, + { 254, -1, -1, sizeof(::greptime::v1::region::StrictWindow)}, + { 261, -1, -1, sizeof(::greptime::v1::region::CompactRequest)}, + { 272, -1, -1, sizeof(::greptime::v1::region::TruncateRequest)}, + { 282, -1, -1, sizeof(::greptime::v1::region::All)}, + { 288, -1, -1, sizeof(::greptime::v1::region::RegionColumnDef)}, + { 296, -1, -1, sizeof(::greptime::v1::region::BulkInsertRequest)}, + { 305, -1, -1, sizeof(::greptime::v1::region::MitoManifestInfo)}, + { 312, -1, -1, sizeof(::greptime::v1::region::MetricManifestInfo)}, + { 320, -1, -1, sizeof(::greptime::v1::region::SyncRequest)}, + { 330, -1, -1, sizeof(::greptime::v1::region::ListMetadataRequest)}, + { 337, -1, -1, sizeof(::greptime::v1::region::BuildIndexRequest)}, + { 344, -1, -1, sizeof(::greptime::v1::region::FileMetas)}, + { 351, -1, -1, sizeof(::greptime::v1::region::ApplyStagingManifestRequest)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -1091,75 +1093,76 @@ const char descriptor_table_protodef_greptime_2fv1_2fregion_2fserver_2eproto[] P "me.v1.meta.Partition\032.\n\014OptionsEntry\022\013\n\003" "key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"A\n\014DropRequ" "ests\0221\n\010requests\030\001 \003(\0132\037.greptime.v1.reg" - "ion.DropRequest\"3\n\013DropRequest\022\021\n\tregion" - "_id\030\001 \001(\004\022\021\n\tfast_path\030\002 \001(\010\"\255\001\n\013OpenReq" - "uest\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\007options\030\004 \003(\0132,.greptim" - "e.v1.region.OpenRequest.OptionsEntry\032.\n\014" - "OptionsEntry\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\010requests\030\001 \003(\0132 .gre" - "ptime.v1.region.AlterRequest\"\311\005\n\014AlterRe" - "quest\022\021\n\tregion_id\030\001 \001(\004\0225\n\013add_columns\030" - "\002 \001(\0132\036.greptime.v1.region.AddColumnsH\000\022" - "7\n\014drop_columns\030\003 \001(\0132\037.greptime.v1.regi" - "on.DropColumnsH\000\022=\n\023modify_column_types\030" - "\005 \001(\0132\036.greptime.v1.ModifyColumnTypesH\000\022" - "9\n\021set_table_options\030\006 \001(\0132\034.greptime.v1" - ".SetTableOptionsH\000\022=\n\023unset_table_option" - "s\030\t \001(\0132\036.greptime.v1.UnsetTableOptionsH" - "\000\022*\n\tset_index\030\n \001(\0132\025.greptime.v1.SetIn" - "dexH\000\022.\n\013unset_index\030\013 \001(\0132\027.greptime.v1" - ".UnsetIndexH\000\0222\n\rdrop_defaults\030\014 \001(\0132\031.g" - "reptime.v1.DropDefaultsH\000\022.\n\013set_indexes" - "\030\r \001(\0132\027.greptime.v1.SetIndexesH\000\0222\n\runs" - "et_indexes\030\016 \001(\0132\031.greptime.v1.UnsetInde" - "xesH\000\0220\n\014set_defaults\030\017 \001(\0132\030.greptime.v" - "1.SetDefaultsH\000\0227\n\014sync_columns\030\020 \001(\0132\037." - "greptime.v1.region.SyncColumnsH\000\022\026\n\016sche" - "ma_version\030\004 \001(\004B\006\n\004kind\"G\n\013SyncColumns\022" - "8\n\013column_defs\030\001 \003(\0132#.greptime.v1.regio" - "n.RegionColumnDef\"@\n\nAddColumns\0222\n\013add_c" - "olumns\030\001 \003(\0132\035.greptime.v1.region.AddCol" - "umn\"C\n\013DropColumns\0224\n\014drop_columns\030\001 \003(\013" - "2\036.greptime.v1.region.DropColumn\"v\n\tAddC" - "olumn\0227\n\ncolumn_def\030\001 \001(\0132#.greptime.v1." - "region.RegionColumnDef\0220\n\010location\030\003 \001(\013" - "2\036.greptime.v1.AddColumnLocation\"\032\n\nDrop" - "Column\022\014\n\004name\030\001 \001(\t\"!\n\014FlushRequest\022\021\n\t" - "region_id\030\001 \001(\004\"\t\n\007Regular\"&\n\014StrictWind" - "ow\022\026\n\016window_seconds\030\001 \001(\003\"\256\001\n\016CompactRe" - "quest\022\021\n\tregion_id\030\001 \001(\004\022.\n\007regular\030\002 \001(" - "\0132\033.greptime.v1.region.RegularH\000\0229\n\rstri" - "ct_window\030\003 \001(\0132 .greptime.v1.region.Str" - "ictWindowH\000\022\023\n\013parallelism\030\004 \001(\rB\t\n\007opti" - "ons\"\204\001\n\017TruncateRequest\022\021\n\tregion_id\030\001 \001" - "(\004\022&\n\003all\030\002 \001(\0132\027.greptime.v1.region.All" - "H\000\022.\n\013time_ranges\030\003 \001(\0132\027.greptime.v1.Ti" - "meRangesH\000B\006\n\004kind\"\005\n\003All\"P\n\017RegionColum" - "nDef\022*\n\ncolumn_def\030\001 \001(\0132\026.greptime.v1.C" - "olumnDef\022\021\n\tcolumn_id\030\002 \001(\r\"Z\n\021BulkInser" - "tRequest\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\020MitoManifestInfo\022\035\n\025data_manifest_ver" - "sion\030\001 \001(\004\"V\n\022MetricManifestInfo\022\035\n\025data" - "_manifest_version\030\001 \001(\004\022!\n\031metadata_mani" - "fest_version\030\002 \001(\004\"\275\001\n\013SyncRequest\022\021\n\tre" - "gion_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&.grepti" - "me.v1.region.MetricManifestInfoH\000B\017\n\rman" - "ifest_info\")\n\023ListMetadataRequest\022\022\n\nreg" - "ion_ids\030\001 \003(\004\"&\n\021BuildIndexRequest\022\021\n\tre" - "gion_id\030\001 \001(\004\"\031\n\tFileMetas\022\014\n\004data\030\001 \001(\014" - "\"z\n\033ApplyStagingManifestRequest\022\021\n\tregio" - "n_id\030\001 \001(\004\022\026\n\016partition_expr\030\002 \001(\t\022\031\n\021ce" - "ntral_region_id\030\003 \001(\004\022\025\n\rmanifest_path\030\004" - " \001(\t2Y\n\006Region\022O\n\006Handle\022!.greptime.v1.r" - "egion.RegionRequest\032\".greptime.v1.region" - ".RegionResponseB]\n\025io.greptime.v1.region" - "B\006ServerZ(from._internal_metadata_); ::memcpy(&_impl_.region_id_, &from._impl_.region_id_, - static_cast(reinterpret_cast(&_impl_.fast_path_) - - reinterpret_cast(&_impl_.region_id_)) + sizeof(_impl_.fast_path_)); + static_cast(reinterpret_cast(&_impl_.force_) - + reinterpret_cast(&_impl_.region_id_)) + sizeof(_impl_.force_)); // @@protoc_insertion_point(copy_constructor:greptime.v1.region.DropRequest) } @@ -5144,6 +5148,7 @@ inline void DropRequest::SharedCtor( new (&_impl_) Impl_{ decltype(_impl_.region_id_){uint64_t{0u}} , decltype(_impl_.fast_path_){false} + , decltype(_impl_.force_){false} , /*decltype(_impl_._cached_size_)*/{} }; } @@ -5172,8 +5177,8 @@ void DropRequest::Clear() { (void) cached_has_bits; ::memset(&_impl_.region_id_, 0, static_cast( - reinterpret_cast(&_impl_.fast_path_) - - reinterpret_cast(&_impl_.region_id_)) + sizeof(_impl_.fast_path_)); + reinterpret_cast(&_impl_.force_) - + reinterpret_cast(&_impl_.region_id_)) + sizeof(_impl_.force_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -5199,6 +5204,14 @@ const char* DropRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* c } else goto handle_unusual; continue; + // bool force = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + _impl_.force_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; default: goto handle_unusual; } // switch @@ -5240,6 +5253,12 @@ uint8_t* DropRequest::_InternalSerialize( target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_fast_path(), target); } + // bool force = 3; + if (this->_internal_force() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_force(), target); + } + 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); @@ -5266,6 +5285,11 @@ size_t DropRequest::ByteSizeLong() const { total_size += 1 + 1; } + // bool force = 3; + if (this->_internal_force() != 0) { + total_size += 1 + 1; + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); } @@ -5290,6 +5314,9 @@ void DropRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PR if (from._internal_fast_path() != 0) { _this->_internal_set_fast_path(from._internal_fast_path()); } + if (from._internal_force() != 0) { + _this->_internal_set_force(from._internal_force()); + } _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } @@ -5308,8 +5335,8 @@ void DropRequest::InternalSwap(DropRequest* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(DropRequest, _impl_.fast_path_) - + sizeof(DropRequest::_impl_.fast_path_) + PROTOBUF_FIELD_OFFSET(DropRequest, _impl_.force_) + + sizeof(DropRequest::_impl_.force_) - PROTOBUF_FIELD_OFFSET(DropRequest, _impl_.region_id_)>( reinterpret_cast(&_impl_.region_id_), reinterpret_cast(&other->_impl_.region_id_)); diff --git a/c++/greptime/v1/region/server.pb.h b/c++/greptime/v1/region/server.pb.h index 521f454..464e706 100644 --- a/c++/greptime/v1/region/server.pb.h +++ b/c++/greptime/v1/region/server.pb.h @@ -2827,6 +2827,7 @@ class DropRequest final : enum : int { kRegionIdFieldNumber = 1, kFastPathFieldNumber = 2, + kForceFieldNumber = 3, }; // uint64 region_id = 1; void clear_region_id(); @@ -2846,6 +2847,15 @@ class DropRequest final : void _internal_set_fast_path(bool value); public: + // bool force = 3; + void clear_force(); + bool force() const; + void set_force(bool value); + private: + bool _internal_force() const; + void _internal_set_force(bool value); + public: + // @@protoc_insertion_point(class_scope:greptime.v1.region.DropRequest) private: class _Internal; @@ -2856,6 +2866,7 @@ class DropRequest final : struct Impl_ { uint64_t region_id_; bool fast_path_; + bool force_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; }; union { Impl_ _impl_; }; @@ -9848,6 +9859,26 @@ inline void DropRequest::set_fast_path(bool value) { // @@protoc_insertion_point(field_set:greptime.v1.region.DropRequest.fast_path) } +// bool force = 3; +inline void DropRequest::clear_force() { + _impl_.force_ = false; +} +inline bool DropRequest::_internal_force() const { + return _impl_.force_; +} +inline bool DropRequest::force() const { + // @@protoc_insertion_point(field_get:greptime.v1.region.DropRequest.force) + return _internal_force(); +} +inline void DropRequest::_internal_set_force(bool value) { + + _impl_.force_ = value; +} +inline void DropRequest::set_force(bool value) { + _internal_set_force(value); + // @@protoc_insertion_point(field_set:greptime.v1.region.DropRequest.force) +} + // ------------------------------------------------------------------- // ------------------------------------------------------------------- diff --git a/go/greptime/v1/region/server.pb.go b/go/greptime/v1/region/server.pb.go index eb67b89..151f228 100644 --- a/go/greptime/v1/region/server.pb.go +++ b/go/greptime/v1/region/server.pb.go @@ -970,6 +970,8 @@ type DropRequest struct { // It only works for Metric Engine, and will be ignored by other engines. // If true, the Metric Engine will delete logical tables in memory, and drop the physical region eventually. FastPath bool `protobuf:"varint,2,opt,name=fast_path,json=fastPath,proto3" json:"fast_path,omitempty"` + // Used only by the Metric Engine, to forcibly drop a physical region and all its associated logical regions. + Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` } func (x *DropRequest) Reset() { @@ -1018,6 +1020,13 @@ func (x *DropRequest) GetFastPath() bool { return false } +func (x *DropRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + type OpenRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2767,221 +2776,222 @@ var file_greptime_v1_region_server_proto_rawDesc = []byte{ 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, 0x73, 0x22, 0x5d, 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, + 0x08, 0x52, 0x08, 0x66, 0x61, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x66, + 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, + 0x65, 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, 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, 0xdc, 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, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6c, - 0x6c, 0x65, 0x6c, 0x69, 0x73, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x61, - 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x69, 0x73, 0x6d, 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, 0x22, 0x30, 0x0a, 0x11, 0x42, 0x75, 0x69, - 0x6c, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 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, 0x1f, 0x0a, 0x09, 0x46, - 0x69, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb2, 0x01, 0x0a, - 0x1b, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x6e, - 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 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, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, - 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, - 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, - 0x68, 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, + 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, 0xdc, 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, 0x12, 0x20, 0x0a, + 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x69, 0x73, 0x6d, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x69, 0x73, 0x6d, 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, 0x22, + 0x30, 0x0a, 0x11, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 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, 0x1f, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0xb2, 0x01, 0x0a, 0x1b, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 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, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0f, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x69, 0x66, + 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 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, } var ( 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 47b9998..31f3927 100644 --- a/java/src/main/java/io/greptime/v1/region/Server.java +++ b/java/src/main/java/io/greptime/v1/region/Server.java @@ -14892,6 +14892,16 @@ java.lang.String defaultValue); * @return The fastPath. */ boolean getFastPath(); + + /** + *
+     * Used only by the Metric Engine, to forcibly drop a physical region and all its associated logical regions.
+     * 
+ * + * bool force = 3; + * @return The force. + */ + boolean getForce(); } /** * Protobuf type {@code greptime.v1.region.DropRequest} @@ -14948,6 +14958,11 @@ java.lang.String defaultValue); fastPath_ = input.readBool(); break; } + case 24: { + + force_ = input.readBool(); + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -15010,6 +15025,21 @@ java.lang.String defaultValue); return fastPath_; } + public static final int FORCE_FIELD_NUMBER = 3; + private boolean force_; + /** + *
+     * Used only by the Metric Engine, to forcibly drop a physical region and all its associated logical regions.
+     * 
+ * + * bool force = 3; + * @return The force. + */ + @java.lang.Override + public boolean getForce() { + return force_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -15030,6 +15060,9 @@ java.lang.String defaultValue); if (fastPath_ != false) { output.writeBool(2, fastPath_); } + if (force_ != false) { + output.writeBool(3, force_); + } unknownFields.writeTo(output); } @@ -15047,6 +15080,10 @@ java.lang.String defaultValue); size += com.google.protobuf.CodedOutputStream .computeBoolSize(2, fastPath_); } + if (force_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(3, force_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -15066,6 +15103,8 @@ java.lang.String defaultValue); != other.getRegionId()) return false; if (getFastPath() != other.getFastPath()) return false; + if (getForce() + != other.getForce()) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -15083,6 +15122,9 @@ java.lang.String defaultValue); hash = (37 * hash) + FAST_PATH_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getFastPath()); + hash = (37 * hash) + FORCE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getForce()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -15220,6 +15262,8 @@ java.lang.String defaultValue); fastPath_ = false; + force_ = false; + return this; } @@ -15248,6 +15292,7 @@ java.lang.String defaultValue); io.greptime.v1.region.Server.DropRequest result = new io.greptime.v1.region.Server.DropRequest(this); result.regionId_ = regionId_; result.fastPath_ = fastPath_; + result.force_ = force_; onBuilt(); return result; } @@ -15302,6 +15347,9 @@ java.lang.String defaultValue); if (other.getFastPath() != false) { setFastPath(other.getFastPath()); } + if (other.getForce() != false) { + setForce(other.getForce()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -15410,6 +15458,49 @@ java.lang.String defaultValue); onChanged(); return this; } + + private boolean force_ ; + /** + *
+       * Used only by the Metric Engine, to forcibly drop a physical region and all its associated logical regions.
+       * 
+ * + * bool force = 3; + * @return The force. + */ + @java.lang.Override + public boolean getForce() { + return force_; + } + /** + *
+       * Used only by the Metric Engine, to forcibly drop a physical region and all its associated logical regions.
+       * 
+ * + * bool force = 3; + * @param value The force to set. + * @return This builder for chaining. + */ + public Builder setForce(boolean value) { + + force_ = value; + onChanged(); + return this; + } + /** + *
+       * Used only by the Metric Engine, to forcibly drop a physical region and all its associated logical regions.
+       * 
+ * + * bool force = 3; + * @return This builder for chaining. + */ + public Builder clearForce() { + + force_ = false; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -35755,75 +35846,76 @@ java.lang.String defaultValue); "me.v1.meta.Partition\032.\n\014OptionsEntry\022\013\n\003" + "key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"A\n\014DropRequ" + "ests\0221\n\010requests\030\001 \003(\0132\037.greptime.v1.reg" + - "ion.DropRequest\"3\n\013DropRequest\022\021\n\tregion" + - "_id\030\001 \001(\004\022\021\n\tfast_path\030\002 \001(\010\"\255\001\n\013OpenReq" + - "uest\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\007options\030\004 \003(\0132,.greptim" + - "e.v1.region.OpenRequest.OptionsEntry\032.\n\014" + - "OptionsEntry\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\010requests\030\001 \003(\0132 .gre" + - "ptime.v1.region.AlterRequest\"\311\005\n\014AlterRe" + - "quest\022\021\n\tregion_id\030\001 \001(\004\0225\n\013add_columns\030" + - "\002 \001(\0132\036.greptime.v1.region.AddColumnsH\000\022" + - "7\n\014drop_columns\030\003 \001(\0132\037.greptime.v1.regi" + - "on.DropColumnsH\000\022=\n\023modify_column_types\030" + - "\005 \001(\0132\036.greptime.v1.ModifyColumnTypesH\000\022" + - "9\n\021set_table_options\030\006 \001(\0132\034.greptime.v1" + - ".SetTableOptionsH\000\022=\n\023unset_table_option" + - "s\030\t \001(\0132\036.greptime.v1.UnsetTableOptionsH" + - "\000\022*\n\tset_index\030\n \001(\0132\025.greptime.v1.SetIn" + - "dexH\000\022.\n\013unset_index\030\013 \001(\0132\027.greptime.v1" + - ".UnsetIndexH\000\0222\n\rdrop_defaults\030\014 \001(\0132\031.g" + - "reptime.v1.DropDefaultsH\000\022.\n\013set_indexes" + - "\030\r \001(\0132\027.greptime.v1.SetIndexesH\000\0222\n\runs" + - "et_indexes\030\016 \001(\0132\031.greptime.v1.UnsetInde" + - "xesH\000\0220\n\014set_defaults\030\017 \001(\0132\030.greptime.v" + - "1.SetDefaultsH\000\0227\n\014sync_columns\030\020 \001(\0132\037." + - "greptime.v1.region.SyncColumnsH\000\022\026\n\016sche" + - "ma_version\030\004 \001(\004B\006\n\004kind\"G\n\013SyncColumns\022" + - "8\n\013column_defs\030\001 \003(\0132#.greptime.v1.regio" + - "n.RegionColumnDef\"@\n\nAddColumns\0222\n\013add_c" + - "olumns\030\001 \003(\0132\035.greptime.v1.region.AddCol" + - "umn\"C\n\013DropColumns\0224\n\014drop_columns\030\001 \003(\013" + - "2\036.greptime.v1.region.DropColumn\"v\n\tAddC" + - "olumn\0227\n\ncolumn_def\030\001 \001(\0132#.greptime.v1." + - "region.RegionColumnDef\0220\n\010location\030\003 \001(\013" + - "2\036.greptime.v1.AddColumnLocation\"\032\n\nDrop" + - "Column\022\014\n\004name\030\001 \001(\t\"!\n\014FlushRequest\022\021\n\t" + - "region_id\030\001 \001(\004\"\t\n\007Regular\"&\n\014StrictWind" + - "ow\022\026\n\016window_seconds\030\001 \001(\003\"\256\001\n\016CompactRe" + - "quest\022\021\n\tregion_id\030\001 \001(\004\022.\n\007regular\030\002 \001(" + - "\0132\033.greptime.v1.region.RegularH\000\0229\n\rstri" + - "ct_window\030\003 \001(\0132 .greptime.v1.region.Str" + - "ictWindowH\000\022\023\n\013parallelism\030\004 \001(\rB\t\n\007opti" + - "ons\"\204\001\n\017TruncateRequest\022\021\n\tregion_id\030\001 \001" + - "(\004\022&\n\003all\030\002 \001(\0132\027.greptime.v1.region.All" + - "H\000\022.\n\013time_ranges\030\003 \001(\0132\027.greptime.v1.Ti" + - "meRangesH\000B\006\n\004kind\"\005\n\003All\"P\n\017RegionColum" + - "nDef\022*\n\ncolumn_def\030\001 \001(\0132\026.greptime.v1.C" + - "olumnDef\022\021\n\tcolumn_id\030\002 \001(\r\"Z\n\021BulkInser" + - "tRequest\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\020MitoManifestInfo\022\035\n\025data_manifest_ver" + - "sion\030\001 \001(\004\"V\n\022MetricManifestInfo\022\035\n\025data" + - "_manifest_version\030\001 \001(\004\022!\n\031metadata_mani" + - "fest_version\030\002 \001(\004\"\275\001\n\013SyncRequest\022\021\n\tre" + - "gion_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&.grepti" + - "me.v1.region.MetricManifestInfoH\000B\017\n\rman" + - "ifest_info\")\n\023ListMetadataRequest\022\022\n\nreg" + - "ion_ids\030\001 \003(\004\"&\n\021BuildIndexRequest\022\021\n\tre" + - "gion_id\030\001 \001(\004\"\031\n\tFileMetas\022\014\n\004data\030\001 \001(\014" + - "\"z\n\033ApplyStagingManifestRequest\022\021\n\tregio" + - "n_id\030\001 \001(\004\022\026\n\016partition_expr\030\002 \001(\t\022\031\n\021ce" + - "ntral_region_id\030\003 \001(\004\022\025\n\rmanifest_path\030\004" + - " \001(\t2Y\n\006Region\022O\n\006Handle\022!.greptime.v1.r" + - "egion.RegionRequest\032\".greptime.v1.region" + - ".RegionResponseB]\n\025io.greptime.v1.region" + - "B\006ServerZ