diff --git a/CHANGELOG.md b/CHANGELOG.md index 435bf333bc00..4958458cebd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i * (baseapp) [#20291](https://github.com/cosmos/cosmos-sdk/pull/20291) Simulate nested messages. * (crypto/keyring) [#21653](https://github.com/cosmos/cosmos-sdk/pull/21653) New Linux-only backend that adds Linux kernel's `keyctl` support. * (client/keys) [#21829](https://github.com/cosmos/cosmos-sdk/pull/21829) Add support for importing hex key using standard input. +* (client) [#22807](https://github.com/cosmos/cosmos-sdk/pull/22807) Return v2 server information in the `version` command. ### Improvements diff --git a/api/cosmos/base/tendermint/v1beta1/query.pulsar.go b/api/cosmos/base/tendermint/v1beta1/query.pulsar.go index fc9ff0abbeea..4a7018f2ef49 100644 --- a/api/cosmos/base/tendermint/v1beta1/query.pulsar.go +++ b/api/cosmos/base/tendermint/v1beta1/query.pulsar.go @@ -6410,15 +6410,18 @@ func (x *_VersionInfo_7_list) IsValid() bool { } var ( - md_VersionInfo protoreflect.MessageDescriptor - fd_VersionInfo_name protoreflect.FieldDescriptor - fd_VersionInfo_app_name protoreflect.FieldDescriptor - fd_VersionInfo_version protoreflect.FieldDescriptor - fd_VersionInfo_git_commit protoreflect.FieldDescriptor - fd_VersionInfo_build_tags protoreflect.FieldDescriptor - fd_VersionInfo_go_version protoreflect.FieldDescriptor - fd_VersionInfo_build_deps protoreflect.FieldDescriptor - fd_VersionInfo_cosmos_sdk_version protoreflect.FieldDescriptor + md_VersionInfo protoreflect.MessageDescriptor + fd_VersionInfo_name protoreflect.FieldDescriptor + fd_VersionInfo_app_name protoreflect.FieldDescriptor + fd_VersionInfo_version protoreflect.FieldDescriptor + fd_VersionInfo_git_commit protoreflect.FieldDescriptor + fd_VersionInfo_build_tags protoreflect.FieldDescriptor + fd_VersionInfo_go_version protoreflect.FieldDescriptor + fd_VersionInfo_build_deps protoreflect.FieldDescriptor + fd_VersionInfo_cosmos_sdk_version protoreflect.FieldDescriptor + fd_VersionInfo_comet_server_version protoreflect.FieldDescriptor + fd_VersionInfo_runtime_version protoreflect.FieldDescriptor + fd_VersionInfo_stf_version protoreflect.FieldDescriptor ) func init() { @@ -6432,6 +6435,9 @@ func init() { fd_VersionInfo_go_version = md_VersionInfo.Fields().ByName("go_version") fd_VersionInfo_build_deps = md_VersionInfo.Fields().ByName("build_deps") fd_VersionInfo_cosmos_sdk_version = md_VersionInfo.Fields().ByName("cosmos_sdk_version") + fd_VersionInfo_comet_server_version = md_VersionInfo.Fields().ByName("comet_server_version") + fd_VersionInfo_runtime_version = md_VersionInfo.Fields().ByName("runtime_version") + fd_VersionInfo_stf_version = md_VersionInfo.Fields().ByName("stf_version") } var _ protoreflect.Message = (*fastReflection_VersionInfo)(nil) @@ -6547,6 +6553,24 @@ func (x *fastReflection_VersionInfo) Range(f func(protoreflect.FieldDescriptor, return } } + if x.CometServerVersion != "" { + value := protoreflect.ValueOfString(x.CometServerVersion) + if !f(fd_VersionInfo_comet_server_version, value) { + return + } + } + if x.RuntimeVersion != "" { + value := protoreflect.ValueOfString(x.RuntimeVersion) + if !f(fd_VersionInfo_runtime_version, value) { + return + } + } + if x.StfVersion != "" { + value := protoreflect.ValueOfString(x.StfVersion) + if !f(fd_VersionInfo_stf_version, value) { + return + } + } } // Has reports whether a field is populated. @@ -6578,6 +6602,12 @@ func (x *fastReflection_VersionInfo) Has(fd protoreflect.FieldDescriptor) bool { return len(x.BuildDeps) != 0 case "cosmos.base.tendermint.v1beta1.VersionInfo.cosmos_sdk_version": return x.CosmosSdkVersion != "" + case "cosmos.base.tendermint.v1beta1.VersionInfo.comet_server_version": + return x.CometServerVersion != "" + case "cosmos.base.tendermint.v1beta1.VersionInfo.runtime_version": + return x.RuntimeVersion != "" + case "cosmos.base.tendermint.v1beta1.VersionInfo.stf_version": + return x.StfVersion != "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.base.tendermint.v1beta1.VersionInfo")) @@ -6610,6 +6640,12 @@ func (x *fastReflection_VersionInfo) Clear(fd protoreflect.FieldDescriptor) { x.BuildDeps = nil case "cosmos.base.tendermint.v1beta1.VersionInfo.cosmos_sdk_version": x.CosmosSdkVersion = "" + case "cosmos.base.tendermint.v1beta1.VersionInfo.comet_server_version": + x.CometServerVersion = "" + case "cosmos.base.tendermint.v1beta1.VersionInfo.runtime_version": + x.RuntimeVersion = "" + case "cosmos.base.tendermint.v1beta1.VersionInfo.stf_version": + x.StfVersion = "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.base.tendermint.v1beta1.VersionInfo")) @@ -6653,6 +6689,15 @@ func (x *fastReflection_VersionInfo) Get(descriptor protoreflect.FieldDescriptor case "cosmos.base.tendermint.v1beta1.VersionInfo.cosmos_sdk_version": value := x.CosmosSdkVersion return protoreflect.ValueOfString(value) + case "cosmos.base.tendermint.v1beta1.VersionInfo.comet_server_version": + value := x.CometServerVersion + return protoreflect.ValueOfString(value) + case "cosmos.base.tendermint.v1beta1.VersionInfo.runtime_version": + value := x.RuntimeVersion + return protoreflect.ValueOfString(value) + case "cosmos.base.tendermint.v1beta1.VersionInfo.stf_version": + value := x.StfVersion + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.base.tendermint.v1beta1.VersionInfo")) @@ -6691,6 +6736,12 @@ func (x *fastReflection_VersionInfo) Set(fd protoreflect.FieldDescriptor, value x.BuildDeps = *clv.list case "cosmos.base.tendermint.v1beta1.VersionInfo.cosmos_sdk_version": x.CosmosSdkVersion = value.Interface().(string) + case "cosmos.base.tendermint.v1beta1.VersionInfo.comet_server_version": + x.CometServerVersion = value.Interface().(string) + case "cosmos.base.tendermint.v1beta1.VersionInfo.runtime_version": + x.RuntimeVersion = value.Interface().(string) + case "cosmos.base.tendermint.v1beta1.VersionInfo.stf_version": + x.StfVersion = value.Interface().(string) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.base.tendermint.v1beta1.VersionInfo")) @@ -6731,6 +6782,12 @@ func (x *fastReflection_VersionInfo) Mutable(fd protoreflect.FieldDescriptor) pr panic(fmt.Errorf("field go_version of message cosmos.base.tendermint.v1beta1.VersionInfo is not mutable")) case "cosmos.base.tendermint.v1beta1.VersionInfo.cosmos_sdk_version": panic(fmt.Errorf("field cosmos_sdk_version of message cosmos.base.tendermint.v1beta1.VersionInfo is not mutable")) + case "cosmos.base.tendermint.v1beta1.VersionInfo.comet_server_version": + panic(fmt.Errorf("field comet_server_version of message cosmos.base.tendermint.v1beta1.VersionInfo is not mutable")) + case "cosmos.base.tendermint.v1beta1.VersionInfo.runtime_version": + panic(fmt.Errorf("field runtime_version of message cosmos.base.tendermint.v1beta1.VersionInfo is not mutable")) + case "cosmos.base.tendermint.v1beta1.VersionInfo.stf_version": + panic(fmt.Errorf("field stf_version of message cosmos.base.tendermint.v1beta1.VersionInfo is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.base.tendermint.v1beta1.VersionInfo")) @@ -6761,6 +6818,12 @@ func (x *fastReflection_VersionInfo) NewField(fd protoreflect.FieldDescriptor) p return protoreflect.ValueOfList(&_VersionInfo_7_list{list: &list}) case "cosmos.base.tendermint.v1beta1.VersionInfo.cosmos_sdk_version": return protoreflect.ValueOfString("") + case "cosmos.base.tendermint.v1beta1.VersionInfo.comet_server_version": + return protoreflect.ValueOfString("") + case "cosmos.base.tendermint.v1beta1.VersionInfo.runtime_version": + return protoreflect.ValueOfString("") + case "cosmos.base.tendermint.v1beta1.VersionInfo.stf_version": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.base.tendermint.v1beta1.VersionInfo")) @@ -6864,6 +6927,18 @@ func (x *fastReflection_VersionInfo) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + l = len(x.CometServerVersion) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.RuntimeVersion) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.StfVersion) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -6893,6 +6968,27 @@ func (x *fastReflection_VersionInfo) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.StfVersion) > 0 { + i -= len(x.StfVersion) + copy(dAtA[i:], x.StfVersion) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.StfVersion))) + i-- + dAtA[i] = 0x5a + } + if len(x.RuntimeVersion) > 0 { + i -= len(x.RuntimeVersion) + copy(dAtA[i:], x.RuntimeVersion) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RuntimeVersion))) + i-- + dAtA[i] = 0x52 + } + if len(x.CometServerVersion) > 0 { + i -= len(x.CometServerVersion) + copy(dAtA[i:], x.CometServerVersion) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CometServerVersion))) + i-- + dAtA[i] = 0x4a + } if len(x.CosmosSdkVersion) > 0 { i -= len(x.CosmosSdkVersion) copy(dAtA[i:], x.CosmosSdkVersion) @@ -7265,6 +7361,102 @@ func (x *fastReflection_VersionInfo) ProtoMethods() *protoiface.Methods { } x.CosmosSdkVersion = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 9: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CometServerVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.CometServerVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RuntimeVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.RuntimeVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 11: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field StfVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.StfVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -10958,14 +11150,17 @@ type VersionInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - AppName string `protobuf:"bytes,2,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` - Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` - GitCommit string `protobuf:"bytes,4,opt,name=git_commit,json=gitCommit,proto3" json:"git_commit,omitempty"` - BuildTags string `protobuf:"bytes,5,opt,name=build_tags,json=buildTags,proto3" json:"build_tags,omitempty"` - GoVersion string `protobuf:"bytes,6,opt,name=go_version,json=goVersion,proto3" json:"go_version,omitempty"` - BuildDeps []*Module `protobuf:"bytes,7,rep,name=build_deps,json=buildDeps,proto3" json:"build_deps,omitempty"` - CosmosSdkVersion string `protobuf:"bytes,8,opt,name=cosmos_sdk_version,json=cosmosSdkVersion,proto3" json:"cosmos_sdk_version,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + AppName string `protobuf:"bytes,2,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + GitCommit string `protobuf:"bytes,4,opt,name=git_commit,json=gitCommit,proto3" json:"git_commit,omitempty"` + BuildTags string `protobuf:"bytes,5,opt,name=build_tags,json=buildTags,proto3" json:"build_tags,omitempty"` + GoVersion string `protobuf:"bytes,6,opt,name=go_version,json=goVersion,proto3" json:"go_version,omitempty"` + BuildDeps []*Module `protobuf:"bytes,7,rep,name=build_deps,json=buildDeps,proto3" json:"build_deps,omitempty"` + CosmosSdkVersion string `protobuf:"bytes,8,opt,name=cosmos_sdk_version,json=cosmosSdkVersion,proto3" json:"cosmos_sdk_version,omitempty"` + CometServerVersion string `protobuf:"bytes,9,opt,name=comet_server_version,json=cometServerVersion,proto3" json:"comet_server_version,omitempty"` + RuntimeVersion string `protobuf:"bytes,10,opt,name=runtime_version,json=runtimeVersion,proto3" json:"runtime_version,omitempty"` + StfVersion string `protobuf:"bytes,11,opt,name=stf_version,json=stfVersion,proto3" json:"stf_version,omitempty"` } func (x *VersionInfo) Reset() { @@ -11044,6 +11239,27 @@ func (x *VersionInfo) GetCosmosSdkVersion() string { return "" } +func (x *VersionInfo) GetCometServerVersion() string { + if x != nil { + return x.CometServerVersion + } + return "" +} + +func (x *VersionInfo) GetRuntimeVersion() string { + if x != nil { + return x.RuntimeVersion + } + return "" +} + +func (x *VersionInfo) GetStfVersion() string { + if x != nil { + return x.StfVersion + } + return "" +} + // Module is the type for VersionInfo type Module struct { state protoimpl.MessageState @@ -11493,7 +11709,7 @@ var file_cosmos_base_tendermint_v1beta1_query_proto_rawDesc = []byte{ 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0xbd, 0x02, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0xf8, 0x03, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, @@ -11512,147 +11728,159 @@ var file_cosmos_base_tendermint_v1beta1_query_proto_rawDesc = []byte{ 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x73, 0x64, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x13, 0xda, 0xb4, 0x2d, 0x0f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x20, 0x30, 0x2e, 0x34, 0x33, 0x52, 0x10, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x53, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0x48, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x75, 0x6d, 0x22, 0x68, 0x0a, 0x10, 0x41, 0x42, 0x43, - 0x49, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x70, 0x72, - 0x6f, 0x76, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x11, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x6c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, - 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, - 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, - 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x6f, 0x66, - 0x5f, 0x6f, 0x70, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6d, - 0x65, 0x74, 0x62, 0x66, 0x74, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4f, 0x70, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x4f, - 0x70, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x22, 0x47, - 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4f, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x54, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6f, 0x66, - 0x4f, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x03, 0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4f, 0x70, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, - 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x03, 0x6f, 0x70, 0x73, 0x3a, 0x02, 0x18, 0x01, 0x32, 0xc2, 0x0a, - 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa9, 0x01, 0x0a, 0x0b, 0x47, 0x65, - 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, - 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, - 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, - 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xa4, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, - 0x63, 0x69, 0x6e, 0x67, 0x12, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x53, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x45, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x13, 0xda, + 0xb4, 0x2d, 0x0f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x20, 0x30, 0x2e, + 0x35, 0x32, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x13, 0xda, 0xb4, 0x2d, 0x0f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x20, + 0x30, 0x2e, 0x35, 0x32, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x74, 0x66, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x13, 0xda, 0xb4, 0x2d, 0x0f, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x20, 0x30, 0x2e, 0x35, 0x32, 0x52, 0x0a, + 0x73, 0x74, 0x66, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x48, 0x0a, 0x06, 0x4d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x73, 0x75, 0x6d, 0x22, 0x68, 0x0a, 0x10, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x76, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x22, 0x88, + 0x02, 0x0a, 0x11, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x14, + 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x6f, 0x70, 0x73, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6d, 0x65, 0x74, 0x62, 0x66, 0x74, + 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6f, 0x66, + 0x4f, 0x70, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x4f, 0x70, 0x73, 0x4a, 0x04, 0x08, + 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x22, 0x47, 0x0a, 0x07, 0x50, 0x72, 0x6f, + 0x6f, 0x66, 0x4f, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x02, + 0x18, 0x01, 0x22, 0x54, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4f, 0x70, 0x73, 0x12, 0x44, + 0x0a, 0x03, 0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, + 0x6f, 0x66, 0x4f, 0x70, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, + 0x03, 0x6f, 0x70, 0x73, 0x3a, 0x02, 0x18, 0x01, 0x32, 0xc2, 0x0a, 0x0a, 0x07, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0xa9, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, - 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x12, 0xb6, 0x01, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, - 0x35, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, + 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x12, 0xa4, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x12, + 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, - 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x2f, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0xbe, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x37, 0x2e, 0x63, 0x6f, 0x73, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, + 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x73, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x12, 0xb6, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x35, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, - 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, - 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x48, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, - 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xd2, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, - 0x12, 0x3c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, + 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2f, 0x12, 0x2d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x12, 0xbe, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x48, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, + 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, + 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, - 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x65, 0x74, 0x73, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0xda, 0x01, 0x0a, 0x17, - 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x42, - 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, - 0x12, 0x36, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, + 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, + 0x12, 0x2f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x7d, 0x12, 0xd2, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x3c, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, + 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x65, 0x74, 0x73, 0x2f, - 0x7b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xb7, 0x01, 0x0a, 0x09, 0x41, 0x42, 0x43, - 0x49, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0xca, 0xb4, 0x2d, - 0x0f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x20, 0x30, 0x2e, 0x34, 0x36, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x62, 0x63, 0x69, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x42, 0x8e, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, - 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, - 0x69, 0x6e, 0x74, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x42, 0x54, - 0xaa, 0x02, 0x1e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x54, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0xca, 0x02, 0x1e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42, 0x61, 0x73, 0x65, 0x5c, - 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0xe2, 0x02, 0x2a, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42, 0x61, 0x73, 0x65, - 0x5c, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x21, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x42, 0x61, 0x73, 0x65, 0x3a, 0x3a, - 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0xda, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x12, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x53, 0x65, 0x74, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x53, 0x65, 0x74, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x7d, 0x12, 0xb7, 0x01, 0x0a, 0x09, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, + 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0xca, 0xb4, 0x2d, 0x0f, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x20, 0x30, 0x2e, 0x34, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2c, 0x12, 0x2a, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x61, 0x62, 0x63, 0x69, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x42, 0x8e, 0x02, + 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, + 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x41, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, + 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x3b, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x42, 0x54, 0xaa, 0x02, 0x1e, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1e, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42, 0x61, 0x73, 0x65, 0x5c, 0x54, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x2a, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42, 0x61, 0x73, 0x65, 0x5c, 0x54, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x42, 0x61, 0x73, 0x65, 0x3a, 0x3a, 0x54, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/client/grpc/cmtservice/query.pb.go b/client/grpc/cmtservice/query.pb.go index 5a7e58dffc55..ff1675cb3a6e 100644 --- a/client/grpc/cmtservice/query.pb.go +++ b/client/grpc/cmtservice/query.pb.go @@ -712,14 +712,17 @@ func (m *GetNodeInfoResponse) GetApplicationVersion() *VersionInfo { // VersionInfo is the type for the GetNodeInfoResponse message. type VersionInfo struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - AppName string `protobuf:"bytes,2,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` - Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` - GitCommit string `protobuf:"bytes,4,opt,name=git_commit,json=gitCommit,proto3" json:"git_commit,omitempty"` - BuildTags string `protobuf:"bytes,5,opt,name=build_tags,json=buildTags,proto3" json:"build_tags,omitempty"` - GoVersion string `protobuf:"bytes,6,opt,name=go_version,json=goVersion,proto3" json:"go_version,omitempty"` - BuildDeps []*Module `protobuf:"bytes,7,rep,name=build_deps,json=buildDeps,proto3" json:"build_deps,omitempty"` - CosmosSdkVersion string `protobuf:"bytes,8,opt,name=cosmos_sdk_version,json=cosmosSdkVersion,proto3" json:"cosmos_sdk_version,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + AppName string `protobuf:"bytes,2,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + GitCommit string `protobuf:"bytes,4,opt,name=git_commit,json=gitCommit,proto3" json:"git_commit,omitempty"` + BuildTags string `protobuf:"bytes,5,opt,name=build_tags,json=buildTags,proto3" json:"build_tags,omitempty"` + GoVersion string `protobuf:"bytes,6,opt,name=go_version,json=goVersion,proto3" json:"go_version,omitempty"` + BuildDeps []*Module `protobuf:"bytes,7,rep,name=build_deps,json=buildDeps,proto3" json:"build_deps,omitempty"` + CosmosSdkVersion string `protobuf:"bytes,8,opt,name=cosmos_sdk_version,json=cosmosSdkVersion,proto3" json:"cosmos_sdk_version,omitempty"` + CometServerVersion string `protobuf:"bytes,9,opt,name=comet_server_version,json=cometServerVersion,proto3" json:"comet_server_version,omitempty"` + RuntimeVersion string `protobuf:"bytes,10,opt,name=runtime_version,json=runtimeVersion,proto3" json:"runtime_version,omitempty"` + StfVersion string `protobuf:"bytes,11,opt,name=stf_version,json=stfVersion,proto3" json:"stf_version,omitempty"` } func (m *VersionInfo) Reset() { *m = VersionInfo{} } @@ -811,6 +814,27 @@ func (m *VersionInfo) GetCosmosSdkVersion() string { return "" } +func (m *VersionInfo) GetCometServerVersion() string { + if m != nil { + return m.CometServerVersion + } + return "" +} + +func (m *VersionInfo) GetRuntimeVersion() string { + if m != nil { + return m.RuntimeVersion + } + return "" +} + +func (m *VersionInfo) GetStfVersion() string { + if m != nil { + return m.StfVersion + } + return "" +} + // Module is the type for VersionInfo type Module struct { // module path @@ -1199,99 +1223,103 @@ func init() { } var fileDescriptor_40c93fb3ef485c5d = []byte{ - // 1468 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0xcd, 0x6f, 0x1b, 0x45, - 0x1b, 0xcf, 0xda, 0x69, 0x6c, 0x3f, 0xe9, 0xfb, 0x36, 0x99, 0xe4, 0x6d, 0xb7, 0x7e, 0x53, 0x37, - 0xaf, 0xa5, 0xb7, 0x9f, 0x64, 0xb7, 0x76, 0xda, 0xb4, 0xa0, 0x52, 0x94, 0x34, 0x25, 0x4d, 0x69, - 0x4b, 0xd8, 0x54, 0x20, 0x21, 0xa4, 0xd5, 0x7a, 0x77, 0xbc, 0x59, 0xc5, 0xde, 0x99, 0xee, 0x8e, - 0x0d, 0x16, 0x42, 0x42, 0x9c, 0x38, 0x22, 0xf1, 0x2f, 0x70, 0x80, 0x1b, 0x87, 0x0a, 0x4e, 0x54, - 0x82, 0x53, 0xc5, 0xa9, 0x2a, 0x12, 0xaa, 0x7a, 0x40, 0xa8, 0x45, 0xe2, 0xdf, 0x40, 0xf3, 0xb1, - 0xeb, 0x75, 0x93, 0xd4, 0x4e, 0x6f, 0x70, 0x59, 0xcd, 0x3c, 0x9f, 0xbf, 0xe7, 0x63, 0x9e, 0x99, - 0x85, 0x33, 0x2e, 0x89, 0xdb, 0x24, 0x36, 0x1b, 0x4e, 0x8c, 0x4d, 0x86, 0x43, 0x0f, 0x47, 0xed, - 0x20, 0x64, 0x66, 0xb7, 0xd6, 0xc0, 0xcc, 0xa9, 0x99, 0x77, 0x3b, 0x38, 0xea, 0x19, 0x34, 0x22, - 0x8c, 0xa0, 0x8a, 0x94, 0x35, 0xb8, 0xac, 0xd1, 0x97, 0x35, 0x94, 0x6c, 0x79, 0xda, 0x69, 0x07, - 0x21, 0x31, 0xc5, 0x57, 0xaa, 0x94, 0x2b, 0x2e, 0x69, 0x63, 0xd6, 0x68, 0x32, 0xd3, 0x8d, 0x7a, - 0x94, 0x11, 0xb3, 0x5b, 0x33, 0x69, 0x44, 0x48, 0x53, 0xf1, 0xff, 0x9b, 0xf2, 0x69, 0x9d, 0x72, - 0x26, 0xeb, 0x51, 0x1c, 0x2b, 0xe6, 0xb1, 0x94, 0x29, 0xa8, 0x9c, 0xdd, 0x68, 0x11, 0x77, 0x7b, - 0x6f, 0x76, 0x56, 0x7b, 0x20, 0x32, 0x11, 0x46, 0x1a, 0x14, 0x75, 0xfc, 0x20, 0x74, 0x58, 0x40, - 0xc2, 0xdd, 0x64, 0x77, 0xc9, 0x42, 0xd6, 0xee, 0x51, 0x29, 0x6b, 0x8b, 0x9d, 0xa9, 0x52, 0x22, - 0x59, 0xb3, 0x3e, 0xf1, 0x89, 0xa4, 0xf3, 0x95, 0xa2, 0xce, 0xf9, 0x84, 0xf8, 0x2d, 0x6c, 0x3a, - 0x34, 0x30, 0x9d, 0x30, 0x24, 0x4c, 0x78, 0x4e, 0xcd, 0x29, 0xae, 0xd8, 0x35, 0x3a, 0x4d, 0xd3, - 0x09, 0x55, 0xbe, 0xab, 0x9f, 0x6a, 0x50, 0x59, 0xc3, 0xec, 0x5d, 0xa7, 0x15, 0x78, 0x0e, 0x23, - 0xd1, 0x26, 0x66, 0x2b, 0xbd, 0xeb, 0x38, 0xf0, 0xb7, 0x98, 0x85, 0xef, 0x76, 0x70, 0xcc, 0xd0, - 0x61, 0x98, 0xd8, 0x12, 0x04, 0x5d, 0x9b, 0xd7, 0x4e, 0xe5, 0x2d, 0xb5, 0x43, 0x6f, 0x02, 0xf4, - 0x83, 0xd4, 0x73, 0xf3, 0xda, 0xa9, 0xc9, 0xfa, 0x09, 0x23, 0x5b, 0x3f, 0x59, 0x58, 0x15, 0xa0, - 0xb1, 0xe1, 0xf8, 0x58, 0xd9, 0xb4, 0x32, 0x9a, 0xd5, 0xc7, 0x1a, 0x1c, 0xdf, 0x13, 0x42, 0x4c, - 0x49, 0x18, 0x63, 0xf4, 0x3f, 0x38, 0x28, 0xca, 0x62, 0x0f, 0x20, 0x99, 0x14, 0x34, 0x29, 0x8a, - 0xd6, 0x01, 0xba, 0x89, 0x89, 0x58, 0xcf, 0xcd, 0xe7, 0x4f, 0x4d, 0xd6, 0x4f, 0x1b, 0x2f, 0x6e, - 0x27, 0x23, 0x75, 0x6a, 0x65, 0x94, 0xd1, 0xda, 0x40, 0x64, 0x79, 0x11, 0xd9, 0xc9, 0xa1, 0x91, - 0x49, 0xa8, 0x03, 0xa1, 0x35, 0x61, 0x6e, 0x0d, 0xb3, 0x9b, 0x0e, 0xc3, 0xf1, 0x40, 0x7c, 0x49, - 0x6a, 0x07, 0x53, 0xa8, 0xbd, 0x74, 0x0a, 0x7f, 0xd5, 0xe0, 0xd8, 0x1e, 0x8e, 0xfe, 0xde, 0x09, - 0xbc, 0xaf, 0x41, 0x29, 0x75, 0x81, 0xea, 0x50, 0x70, 0x3c, 0x2f, 0xc2, 0x71, 0x2c, 0xf0, 0x97, - 0x56, 0xf4, 0x47, 0xf7, 0x16, 0x66, 0x95, 0xd9, 0x65, 0xc9, 0xd9, 0x64, 0x51, 0x10, 0xfa, 0x56, - 0x22, 0x88, 0x16, 0xa0, 0x40, 0x3b, 0x0d, 0x7b, 0x1b, 0xf7, 0x54, 0x8b, 0xce, 0x1a, 0xf2, 0x34, - 0x18, 0xc9, 0x69, 0x30, 0x96, 0xc3, 0x9e, 0x35, 0x41, 0x3b, 0x8d, 0xb7, 0x70, 0x8f, 0xe7, 0xa9, - 0x4b, 0x58, 0x10, 0xfa, 0x36, 0x25, 0x1f, 0xe2, 0x48, 0x60, 0xcf, 0x5b, 0x93, 0x92, 0xb6, 0xc1, - 0x49, 0xe8, 0x2c, 0x4c, 0xd3, 0x88, 0x50, 0x12, 0xe3, 0xc8, 0xa6, 0x51, 0x40, 0xa2, 0x80, 0xf5, - 0xf4, 0x71, 0x21, 0x37, 0x95, 0x30, 0x36, 0x14, 0xbd, 0x5a, 0x83, 0x23, 0x6b, 0x98, 0xad, 0xf0, - 0x34, 0x8f, 0x78, 0xae, 0xaa, 0x4f, 0x34, 0xd0, 0x77, 0xea, 0xa8, 0x3a, 0x5e, 0x80, 0xa2, 0xac, - 0x63, 0xe0, 0xa9, 0x7e, 0x29, 0x1b, 0xc9, 0x8c, 0x32, 0xe4, 0x08, 0xe9, 0xd6, 0x0c, 0xa1, 0xbb, - 0xbe, 0x6a, 0x15, 0x84, 0xec, 0xba, 0x87, 0x0c, 0x38, 0x20, 0x96, 0x2a, 0x07, 0xfa, 0x5e, 0x3a, - 0x96, 0x14, 0x43, 0xef, 0x41, 0x29, 0xf6, 0xb6, 0x6d, 0xa9, 0x23, 0xeb, 0xf7, 0xff, 0x61, 0xad, - 0x20, 0x01, 0xcf, 0x3c, 0xb9, 0xb7, 0x70, 0x48, 0x4a, 0x2e, 0xc4, 0xde, 0xf6, 0xfc, 0x39, 0xe3, - 0xfc, 0x45, 0xab, 0x18, 0x7b, 0xdb, 0x82, 0x5d, 0x3d, 0x02, 0xff, 0x49, 0x1b, 0x55, 0x7a, 0x94, - 0xd9, 0xe0, 0x53, 0xe0, 0xf0, 0xf3, 0x9c, 0x7f, 0x48, 0xcc, 0x33, 0x30, 0xbd, 0x86, 0xd9, 0x66, - 0x2f, 0x74, 0x79, 0x67, 0xaa, 0x78, 0x0d, 0x40, 0x59, 0xa2, 0x0a, 0x55, 0x87, 0x42, 0x2c, 0x49, - 0x22, 0xd2, 0xa2, 0x95, 0x6c, 0xab, 0xb3, 0x42, 0xfe, 0x36, 0xf1, 0xf0, 0x7a, 0xd8, 0x24, 0x89, - 0x95, 0x1f, 0x35, 0x98, 0x19, 0x20, 0x2b, 0x3b, 0x37, 0x61, 0xda, 0xc3, 0x4d, 0xa7, 0xd3, 0x62, - 0x76, 0x48, 0x3c, 0x6c, 0x07, 0x61, 0x93, 0xa8, 0xdc, 0xcd, 0xf7, 0xf3, 0x40, 0xeb, 0x94, 0x67, - 0x61, 0x55, 0x4a, 0xa6, 0x46, 0x0e, 0x79, 0x83, 0x04, 0xf4, 0x01, 0xcc, 0x38, 0x94, 0xb6, 0x02, - 0x57, 0x1c, 0x4a, 0xbb, 0x8b, 0xa3, 0xb8, 0x3f, 0xf2, 0xcf, 0x0e, 0x1d, 0x11, 0x52, 0x5c, 0x98, - 0x46, 0x19, 0x3b, 0x8a, 0x5e, 0xfd, 0x21, 0x07, 0x93, 0x19, 0x19, 0x84, 0x60, 0x3c, 0x74, 0xda, - 0x58, 0x1e, 0x71, 0x4b, 0xac, 0xd1, 0x51, 0x28, 0x3a, 0x94, 0xda, 0x82, 0x9e, 0x13, 0xf4, 0x82, - 0x43, 0xe9, 0x6d, 0xce, 0xd2, 0xa1, 0x90, 0x00, 0xca, 0x4b, 0x8e, 0xda, 0xa2, 0x63, 0x00, 0x7e, - 0xc0, 0x6c, 0x97, 0xb4, 0xdb, 0x01, 0x13, 0x27, 0xb4, 0x64, 0x95, 0xfc, 0x80, 0x5d, 0x15, 0x04, - 0xce, 0x6e, 0x74, 0x82, 0x96, 0x67, 0x33, 0xc7, 0x8f, 0xf5, 0x03, 0x92, 0x2d, 0x28, 0x77, 0x1c, - 0x3f, 0x16, 0xda, 0x24, 0x8d, 0x75, 0x42, 0x69, 0x13, 0x85, 0x14, 0x5d, 0x4b, 0xb4, 0x3d, 0x4c, - 0x63, 0xbd, 0x20, 0xa6, 0xe5, 0x89, 0x61, 0xa9, 0xb8, 0x45, 0xbc, 0x4e, 0x0b, 0x2b, 0x2f, 0xab, - 0x98, 0xc6, 0x68, 0x19, 0x90, 0xba, 0xeb, 0x79, 0xef, 0x25, 0xde, 0x8a, 0x62, 0xba, 0xed, 0xd2, - 0x56, 0x8b, 0xd6, 0x94, 0x24, 0x6c, 0x7a, 0xdb, 0x49, 0xfe, 0xae, 0xc3, 0x84, 0xb4, 0xcb, 0x33, - 0x47, 0x1d, 0xb6, 0x95, 0x64, 0x8e, 0xaf, 0xb3, 0xe9, 0xc9, 0x0d, 0xa6, 0x67, 0x0a, 0xf2, 0x71, - 0xa7, 0xad, 0x92, 0xc6, 0x97, 0xd5, 0x2d, 0x98, 0x5a, 0x5e, 0xb9, 0xba, 0xfe, 0x0e, 0x9f, 0xcd, - 0xc9, 0x94, 0x42, 0x30, 0xee, 0x39, 0xcc, 0x11, 0x36, 0x0f, 0x5a, 0x62, 0x9d, 0xfa, 0xc9, 0x65, - 0xfc, 0xf4, 0xa7, 0x59, 0x7e, 0xe0, 0x95, 0x30, 0x0b, 0x07, 0x68, 0x44, 0xba, 0x58, 0xe4, 0xbf, - 0x68, 0xc9, 0x4d, 0xf5, 0xf3, 0x1c, 0x4c, 0x67, 0x5c, 0xa9, 0xae, 0x45, 0x30, 0xee, 0x12, 0x4f, - 0x56, 0xfe, 0x5f, 0x96, 0x58, 0x73, 0x94, 0x2d, 0xe2, 0x27, 0x28, 0x5b, 0xc4, 0xe7, 0x52, 0xa2, - 0x9d, 0x65, 0x41, 0xc5, 0x9a, 0x7b, 0x09, 0x42, 0x0f, 0x7f, 0x24, 0xca, 0x98, 0xb7, 0xe4, 0x86, - 0xeb, 0xf2, 0xb9, 0x3f, 0x21, 0xa0, 0xf3, 0x25, 0x97, 0xeb, 0x3a, 0xad, 0x0e, 0xd6, 0x0b, 0x82, - 0x26, 0x37, 0x19, 0xec, 0xa5, 0x01, 0xec, 0x73, 0x50, 0xe2, 0x18, 0x62, 0xea, 0xb8, 0x58, 0x07, - 0xd9, 0x01, 0x29, 0x01, 0xbd, 0x0a, 0x25, 0xf1, 0xcc, 0xb4, 0x09, 0x8d, 0xf5, 0x49, 0x71, 0x16, - 0xe6, 0xfa, 0x67, 0x4b, 0xbe, 0x45, 0xf9, 0xf1, 0xda, 0xe0, 0x42, 0x6f, 0xd3, 0xd8, 0x2a, 0x52, - 0xb5, 0xba, 0x31, 0x5e, 0xcc, 0x4d, 0xe5, 0x6f, 0x8c, 0x17, 0x8b, 0x53, 0xa5, 0xea, 0x1a, 0x14, - 0x94, 0x04, 0x8f, 0x8c, 0x8f, 0xa6, 0xa4, 0x7e, 0x7c, 0x9d, 0xc4, 0x90, 0xeb, 0xc7, 0x90, 0x54, - 0x24, 0xdf, 0xaf, 0xc8, 0x6b, 0x39, 0x5d, 0xab, 0xde, 0x81, 0x62, 0xe2, 0x0a, 0xad, 0x42, 0x9e, - 0xa3, 0xd2, 0x44, 0x5b, 0x9e, 0x1c, 0xd6, 0x96, 0x4a, 0x6d, 0xa5, 0xf4, 0xe0, 0xb7, 0xe3, 0x63, - 0x5f, 0xff, 0xf9, 0xed, 0x19, 0xcd, 0xe2, 0xea, 0xdc, 0x6a, 0xfd, 0x27, 0x80, 0xc2, 0x26, 0x8e, - 0xba, 0x81, 0x8b, 0xd1, 0x37, 0x1a, 0x4c, 0x66, 0xa6, 0x0d, 0xaa, 0x0f, 0x33, 0xbc, 0x73, 0x62, - 0x95, 0x17, 0xf7, 0xa5, 0x23, 0x1b, 0xa3, 0x5a, 0xfb, 0xec, 0x97, 0x3f, 0xbe, 0xcc, 0x9d, 0x45, - 0xa7, 0xcd, 0x21, 0x8f, 0xe8, 0x74, 0xd8, 0xa1, 0xaf, 0x34, 0x80, 0xfe, 0x80, 0x45, 0xb5, 0x11, - 0xdc, 0x0e, 0x4e, 0xe8, 0x72, 0x7d, 0x3f, 0x2a, 0x0a, 0xa8, 0x29, 0x80, 0x9e, 0x46, 0x27, 0x87, - 0x01, 0x55, 0x63, 0x1d, 0x7d, 0xa7, 0xc1, 0xbf, 0x07, 0xaf, 0x3d, 0x74, 0x61, 0x04, 0xbf, 0x3b, - 0x2f, 0xd0, 0xf2, 0xd2, 0x7e, 0xd5, 0x14, 0xe4, 0x0b, 0x02, 0xb2, 0x89, 0x16, 0x86, 0x41, 0x16, - 0x17, 0x63, 0x6c, 0xb6, 0x84, 0x0d, 0x74, 0x5f, 0x83, 0xa9, 0xe7, 0x5f, 0x29, 0xe8, 0xe2, 0x08, - 0x18, 0x76, 0x7b, 0x0b, 0x95, 0x2f, 0xed, 0x5f, 0x51, 0xc1, 0xbf, 0x28, 0xe0, 0xd7, 0x90, 0x39, - 0x22, 0xfc, 0x8f, 0xe5, 0xd9, 0xfe, 0x04, 0x3d, 0xd2, 0x32, 0x4f, 0x91, 0xec, 0x9b, 0x19, 0x5d, - 0x1e, 0x39, 0x93, 0xbb, 0xbc, 0xe9, 0xcb, 0xaf, 0xbf, 0xa4, 0xb6, 0x8a, 0xe7, 0xb2, 0x88, 0x67, - 0x09, 0x9d, 0x1f, 0x16, 0x4f, 0xff, 0xb9, 0x8d, 0x59, 0x5a, 0x95, 0x27, 0x9a, 0x78, 0x6f, 0xee, - 0xf6, 0x2f, 0x85, 0xae, 0x8c, 0x00, 0xec, 0x05, 0xff, 0x81, 0xe5, 0x37, 0x5e, 0x5a, 0x5f, 0x85, - 0x76, 0x45, 0x84, 0x76, 0x09, 0x2d, 0xed, 0x2f, 0xb4, 0xb4, 0x62, 0xdf, 0x6b, 0x50, 0x4a, 0x2f, - 0x0d, 0x74, 0x6e, 0x18, 0x9c, 0xe7, 0xaf, 0xb2, 0x72, 0x6d, 0x1f, 0x1a, 0x0a, 0xf2, 0xb5, 0x9f, - 0x77, 0x5c, 0xc1, 0x4b, 0x22, 0x8a, 0x57, 0xd0, 0x99, 0x61, 0x51, 0x38, 0x0d, 0x37, 0xb0, 0xc5, - 0x7f, 0xce, 0xca, 0xad, 0x07, 0x4f, 0x2b, 0xda, 0xc3, 0xa7, 0x15, 0xed, 0xf7, 0xa7, 0x15, 0xed, - 0x8b, 0x67, 0x95, 0xb1, 0x87, 0xcf, 0x2a, 0x63, 0x8f, 0x9f, 0x55, 0xc6, 0xde, 0x5f, 0xf4, 0x03, - 0xb6, 0xd5, 0x69, 0xf0, 0x7b, 0x23, 0xb1, 0xd7, 0x77, 0x67, 0xba, 0xad, 0x00, 0x87, 0xcc, 0xf4, - 0x23, 0xea, 0x9a, 0x6e, 0x9b, 0xc5, 0x72, 0x0e, 0x37, 0x26, 0xc4, 0xaf, 0xcb, 0xe2, 0x5f, 0x01, - 0x00, 0x00, 0xff, 0xff, 0x65, 0x10, 0xfa, 0x9e, 0x59, 0x11, 0x00, 0x00, + // 1525 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0xcb, 0x6f, 0xdb, 0x46, + 0x1a, 0x37, 0x25, 0xc7, 0x92, 0x3e, 0x65, 0x13, 0x7b, 0xec, 0x4d, 0x14, 0xad, 0xa3, 0x78, 0x05, + 0x6c, 0x9e, 0x6b, 0x32, 0x92, 0x63, 0x27, 0xbb, 0xc8, 0x66, 0x61, 0xc7, 0x59, 0xc7, 0xd9, 0x24, + 0x75, 0xe9, 0xa0, 0x05, 0x8a, 0x02, 0x04, 0x25, 0x8e, 0x68, 0xc2, 0x12, 0x67, 0xc2, 0x19, 0xa9, + 0x15, 0x8a, 0x02, 0x45, 0x4f, 0x3d, 0x16, 0xe8, 0xbf, 0xd0, 0x43, 0x7b, 0xeb, 0x21, 0x68, 0x6f, + 0x01, 0xda, 0x53, 0xd0, 0x53, 0x90, 0x02, 0x45, 0x90, 0x43, 0x51, 0x24, 0x05, 0xfa, 0x2f, 0xf4, + 0x58, 0xcc, 0x83, 0x14, 0x15, 0xdb, 0x91, 0x9d, 0x5b, 0x7b, 0x21, 0x66, 0xbe, 0xe7, 0xef, 0x7b, + 0xcc, 0x37, 0x43, 0x38, 0xdf, 0x24, 0xac, 0x43, 0x98, 0xd5, 0x70, 0x19, 0xb6, 0x38, 0x0e, 0x3d, + 0x1c, 0x75, 0x82, 0x90, 0x5b, 0xbd, 0x5a, 0x03, 0x73, 0xb7, 0x66, 0xdd, 0xef, 0xe2, 0xa8, 0x6f, + 0xd2, 0x88, 0x70, 0x82, 0x2a, 0x4a, 0xd6, 0x14, 0xb2, 0xe6, 0x40, 0xd6, 0xd4, 0xb2, 0xe5, 0x29, + 0xb7, 0x13, 0x84, 0xc4, 0x92, 0x5f, 0xa5, 0x52, 0xae, 0x34, 0x49, 0x07, 0xf3, 0x46, 0x8b, 0x5b, + 0xcd, 0xa8, 0x4f, 0x39, 0xb1, 0x7a, 0x35, 0x8b, 0x46, 0x84, 0xb4, 0x34, 0xff, 0x6f, 0x09, 0x9f, + 0xd6, 0xa9, 0x60, 0xf2, 0x3e, 0xc5, 0x4c, 0x33, 0x4f, 0x26, 0x4c, 0x49, 0x15, 0xec, 0x46, 0x9b, + 0x34, 0xb7, 0xf7, 0x66, 0xa7, 0xb5, 0x87, 0x22, 0x93, 0x61, 0x24, 0x41, 0x51, 0xd7, 0x0f, 0x42, + 0x97, 0x07, 0x24, 0xdc, 0x4d, 0x76, 0x97, 0x2c, 0xa4, 0xed, 0x9e, 0x50, 0xb2, 0x8e, 0xdc, 0x59, + 0x3a, 0x25, 0x8a, 0x35, 0xe3, 0x13, 0x9f, 0x28, 0xba, 0x58, 0x69, 0xea, 0xac, 0x4f, 0x88, 0xdf, + 0xc6, 0x96, 0x4b, 0x03, 0xcb, 0x0d, 0x43, 0xc2, 0xa5, 0xe7, 0xc4, 0x9c, 0xe6, 0xca, 0x5d, 0xa3, + 0xdb, 0xb2, 0xdc, 0x50, 0xe7, 0xbb, 0xfa, 0x91, 0x01, 0x95, 0x35, 0xcc, 0xdf, 0x72, 0xdb, 0x81, + 0xe7, 0x72, 0x12, 0x6d, 0x62, 0xbe, 0xd2, 0xbf, 0x89, 0x03, 0x7f, 0x8b, 0xdb, 0xf8, 0x7e, 0x17, + 0x33, 0x8e, 0x8e, 0xc1, 0xc4, 0x96, 0x24, 0x94, 0x8c, 0x39, 0xe3, 0x6c, 0xd6, 0xd6, 0x3b, 0xf4, + 0x3f, 0x80, 0x41, 0x90, 0xa5, 0xcc, 0x9c, 0x71, 0xb6, 0x58, 0x3f, 0x6d, 0xa6, 0xeb, 0xa7, 0x0a, + 0xab, 0x03, 0x34, 0x37, 0x5c, 0x1f, 0x6b, 0x9b, 0x76, 0x4a, 0xb3, 0xfa, 0xd4, 0x80, 0x53, 0x7b, + 0x42, 0x60, 0x94, 0x84, 0x0c, 0xa3, 0xbf, 0xc3, 0x61, 0x59, 0x16, 0x67, 0x08, 0x49, 0x51, 0xd2, + 0x94, 0x28, 0x5a, 0x07, 0xe8, 0xc5, 0x26, 0x58, 0x29, 0x33, 0x97, 0x3d, 0x5b, 0xac, 0x9f, 0x33, + 0x5f, 0xdd, 0x4e, 0x66, 0xe2, 0xd4, 0x4e, 0x29, 0xa3, 0xb5, 0xa1, 0xc8, 0xb2, 0x32, 0xb2, 0x33, + 0x23, 0x23, 0x53, 0x50, 0x87, 0x42, 0x6b, 0xc1, 0xec, 0x1a, 0xe6, 0xb7, 0x5d, 0x8e, 0xd9, 0x50, + 0x7c, 0x71, 0x6a, 0x87, 0x53, 0x68, 0xbc, 0x76, 0x0a, 0x7f, 0x34, 0xe0, 0xe4, 0x1e, 0x8e, 0xfe, + 0xd8, 0x09, 0x7c, 0x68, 0x40, 0x21, 0x71, 0x81, 0xea, 0x90, 0x73, 0x3d, 0x2f, 0xc2, 0x8c, 0x49, + 0xfc, 0x85, 0x95, 0xd2, 0x93, 0x07, 0xf3, 0x33, 0xda, 0xec, 0xb2, 0xe2, 0x6c, 0xf2, 0x28, 0x08, + 0x7d, 0x3b, 0x16, 0x44, 0xf3, 0x90, 0xa3, 0xdd, 0x86, 0xb3, 0x8d, 0xfb, 0xba, 0x45, 0x67, 0x4c, + 0x75, 0x1a, 0xcc, 0xf8, 0x34, 0x98, 0xcb, 0x61, 0xdf, 0x9e, 0xa0, 0xdd, 0xc6, 0xff, 0x71, 0x5f, + 0xe4, 0xa9, 0x47, 0x78, 0x10, 0xfa, 0x0e, 0x25, 0xef, 0xe1, 0x48, 0x62, 0xcf, 0xda, 0x45, 0x45, + 0xdb, 0x10, 0x24, 0x74, 0x01, 0xa6, 0x68, 0x44, 0x28, 0x61, 0x38, 0x72, 0x68, 0x14, 0x90, 0x28, + 0xe0, 0xfd, 0xd2, 0xb8, 0x94, 0x9b, 0x8c, 0x19, 0x1b, 0x9a, 0x5e, 0xad, 0xc1, 0xf1, 0x35, 0xcc, + 0x57, 0x44, 0x9a, 0xf7, 0x79, 0xae, 0xaa, 0xcf, 0x0c, 0x28, 0xed, 0xd4, 0xd1, 0x75, 0x5c, 0x84, + 0xbc, 0xaa, 0x63, 0xe0, 0xe9, 0x7e, 0x29, 0x9b, 0xf1, 0x8c, 0x32, 0xd5, 0x08, 0xe9, 0xd5, 0x4c, + 0xa9, 0xbb, 0xbe, 0x6a, 0xe7, 0xa4, 0xec, 0xba, 0x87, 0x4c, 0x38, 0x24, 0x97, 0x3a, 0x07, 0xa5, + 0xbd, 0x74, 0x6c, 0x25, 0x86, 0xde, 0x86, 0x02, 0xf3, 0xb6, 0x1d, 0xa5, 0xa3, 0xea, 0xf7, 0x8f, + 0x51, 0xad, 0xa0, 0x00, 0x4f, 0x3f, 0x7b, 0x30, 0x7f, 0x54, 0x49, 0xce, 0x33, 0x6f, 0x7b, 0xee, + 0xa2, 0x79, 0xe9, 0xb2, 0x9d, 0x67, 0xde, 0xb6, 0x64, 0x57, 0x8f, 0xc3, 0x5f, 0x93, 0x46, 0x55, + 0x1e, 0x55, 0x36, 0xc4, 0x14, 0x38, 0xf6, 0x32, 0xe7, 0x4f, 0x12, 0xf3, 0x34, 0x4c, 0xad, 0x61, + 0xbe, 0xd9, 0x0f, 0x9b, 0xa2, 0x33, 0x75, 0xbc, 0x26, 0xa0, 0x34, 0x51, 0x87, 0x5a, 0x82, 0x1c, + 0x53, 0x24, 0x19, 0x69, 0xde, 0x8e, 0xb7, 0xd5, 0x19, 0x29, 0x7f, 0x97, 0x78, 0x78, 0x3d, 0x6c, + 0x91, 0xd8, 0xca, 0xb7, 0x06, 0x4c, 0x0f, 0x91, 0xb5, 0x9d, 0xdb, 0x30, 0xe5, 0xe1, 0x96, 0xdb, + 0x6d, 0x73, 0x27, 0x24, 0x1e, 0x76, 0x82, 0xb0, 0x45, 0x74, 0xee, 0xe6, 0x06, 0x79, 0xa0, 0x75, + 0x2a, 0xb2, 0xb0, 0xaa, 0x24, 0x13, 0x23, 0x47, 0xbd, 0x61, 0x02, 0x7a, 0x17, 0xa6, 0x5d, 0x4a, + 0xdb, 0x41, 0x53, 0x1e, 0x4a, 0xa7, 0x87, 0x23, 0x36, 0x18, 0xf9, 0x17, 0x46, 0x8e, 0x08, 0x25, + 0x2e, 0x4d, 0xa3, 0x94, 0x1d, 0x4d, 0xaf, 0xfe, 0x96, 0x85, 0x62, 0x4a, 0x06, 0x21, 0x18, 0x0f, + 0xdd, 0x0e, 0x56, 0x47, 0xdc, 0x96, 0x6b, 0x74, 0x02, 0xf2, 0x2e, 0xa5, 0x8e, 0xa4, 0x67, 0x24, + 0x3d, 0xe7, 0x52, 0x7a, 0x57, 0xb0, 0x4a, 0x90, 0x8b, 0x01, 0x65, 0x15, 0x47, 0x6f, 0xd1, 0x49, + 0x00, 0x3f, 0xe0, 0x4e, 0x93, 0x74, 0x3a, 0x01, 0x97, 0x27, 0xb4, 0x60, 0x17, 0xfc, 0x80, 0x5f, + 0x97, 0x04, 0xc1, 0x6e, 0x74, 0x83, 0xb6, 0xe7, 0x70, 0xd7, 0x67, 0xa5, 0x43, 0x8a, 0x2d, 0x29, + 0xf7, 0x5c, 0x9f, 0x49, 0x6d, 0x92, 0xc4, 0x3a, 0xa1, 0xb5, 0x89, 0x46, 0x8a, 0x6e, 0xc4, 0xda, + 0x1e, 0xa6, 0xac, 0x94, 0x93, 0xd3, 0xf2, 0xf4, 0xa8, 0x54, 0xdc, 0x21, 0x5e, 0xb7, 0x8d, 0xb5, + 0x97, 0x55, 0x4c, 0x19, 0x5a, 0x06, 0xa4, 0xef, 0x7a, 0xd1, 0x7b, 0xb1, 0xb7, 0xbc, 0x9c, 0x6e, + 0xbb, 0xb4, 0xd5, 0x82, 0x3d, 0xa9, 0x08, 0x9b, 0xde, 0xf6, 0x00, 0xc9, 0x8c, 0xac, 0xa8, 0xc3, + 0x70, 0xd4, 0xc3, 0x51, 0x62, 0xa4, 0xb0, 0x87, 0x91, 0xc5, 0xba, 0x8d, 0xa4, 0xc2, 0xa6, 0x94, + 0x8f, 0xcd, 0x5c, 0x85, 0xa3, 0x51, 0x37, 0xe4, 0x41, 0x07, 0x27, 0x16, 0x60, 0x6f, 0x0b, 0x47, + 0xb4, 0x6c, 0xac, 0x7d, 0x09, 0x8a, 0x8c, 0xb7, 0x12, 0xcd, 0xe2, 0xde, 0x9a, 0xc0, 0x78, 0x2b, + 0x2e, 0xfd, 0x4d, 0x98, 0x50, 0x29, 0x11, 0x45, 0xa7, 0x2e, 0xdf, 0x8a, 0x8b, 0x2e, 0xd6, 0xe9, + 0xca, 0x66, 0x86, 0x2b, 0x3b, 0x09, 0x59, 0xd6, 0xed, 0xe8, 0x7a, 0x8b, 0x65, 0x75, 0x0b, 0x26, + 0x97, 0x57, 0xae, 0xaf, 0xbf, 0x29, 0xae, 0x95, 0x78, 0xc0, 0x22, 0x18, 0xf7, 0x5c, 0xee, 0x4a, + 0x9b, 0x87, 0x6d, 0xb9, 0x4e, 0xfc, 0x64, 0x52, 0x7e, 0x06, 0x83, 0x38, 0x3b, 0xf4, 0xc0, 0x99, + 0x81, 0x43, 0x34, 0x22, 0x3d, 0x2c, 0x5b, 0x27, 0x6f, 0xab, 0x4d, 0xf5, 0x93, 0x0c, 0x4c, 0xa5, + 0x5c, 0xe9, 0x03, 0x87, 0x60, 0xbc, 0x49, 0x3c, 0xd5, 0xb4, 0x7f, 0xb1, 0xe5, 0x5a, 0xa0, 0x6c, + 0x13, 0x3f, 0x46, 0xd9, 0x26, 0xbe, 0x90, 0x92, 0x27, 0x51, 0xf5, 0xa2, 0x5c, 0x0b, 0x2f, 0x41, + 0xe8, 0xe1, 0xf7, 0x65, 0x07, 0x66, 0x6d, 0xb5, 0x11, 0xba, 0xe2, 0xca, 0x9a, 0x90, 0xd0, 0xc5, + 0x52, 0xc8, 0xf5, 0xdc, 0x76, 0x17, 0x97, 0x72, 0x92, 0xa6, 0x36, 0x29, 0xec, 0x85, 0x21, 0xec, + 0xb3, 0x50, 0x10, 0x18, 0x18, 0x75, 0x9b, 0x58, 0xd5, 0xd1, 0x1e, 0x10, 0xd0, 0xbf, 0xa0, 0x20, + 0x5f, 0xc8, 0x0e, 0xa1, 0x4c, 0xd6, 0xaa, 0x58, 0x9f, 0x1d, 0x8c, 0x05, 0xf5, 0x8c, 0x16, 0x93, + 0x61, 0x43, 0x08, 0xbd, 0x41, 0x99, 0x9d, 0xa7, 0x7a, 0x75, 0x6b, 0x3c, 0x9f, 0x99, 0xcc, 0xde, + 0x1a, 0xcf, 0xe7, 0x27, 0x0b, 0xd5, 0x35, 0xc8, 0x69, 0x09, 0x11, 0x99, 0x98, 0xaa, 0x71, 0xfd, + 0xc4, 0x3a, 0x8e, 0x21, 0x33, 0x88, 0x21, 0xae, 0x48, 0x76, 0x50, 0x91, 0x7f, 0x67, 0x4a, 0x46, + 0xf5, 0x1e, 0xe4, 0x63, 0x57, 0x68, 0x15, 0xb2, 0x02, 0x95, 0x21, 0x4f, 0xd4, 0x99, 0x51, 0x27, + 0x4a, 0xab, 0xad, 0x14, 0x1e, 0xfd, 0x74, 0x6a, 0xec, 0x8b, 0x5f, 0xbf, 0x3a, 0x6f, 0xd8, 0x42, + 0x5d, 0x58, 0xad, 0x7f, 0x07, 0x90, 0x13, 0x3d, 0x1e, 0x34, 0x31, 0xfa, 0xd2, 0x80, 0x62, 0x6a, + 0x50, 0xa2, 0xfa, 0x28, 0xc3, 0x3b, 0x87, 0x6d, 0x79, 0xe1, 0x40, 0x3a, 0xaa, 0x31, 0xaa, 0xb5, + 0x8f, 0x7f, 0xf8, 0xe5, 0xb3, 0xcc, 0x05, 0x74, 0xce, 0x1a, 0xf1, 0xfe, 0x4f, 0xe6, 0x34, 0xfa, + 0xdc, 0x00, 0x18, 0xdc, 0x0d, 0xa8, 0xb6, 0x0f, 0xb7, 0xc3, 0x97, 0x4b, 0xb9, 0x7e, 0x10, 0x15, + 0x0d, 0xd4, 0x92, 0x40, 0xcf, 0xa1, 0x33, 0xa3, 0x80, 0xea, 0x1b, 0x09, 0x7d, 0x6d, 0xc0, 0x91, + 0xe1, 0x1b, 0x1b, 0x2d, 0xee, 0xc3, 0xef, 0xce, 0xbb, 0xbf, 0xbc, 0x74, 0x50, 0x35, 0x0d, 0x79, + 0x51, 0x42, 0xb6, 0xd0, 0xfc, 0x28, 0xc8, 0xf2, 0x4e, 0x67, 0x56, 0x5b, 0xda, 0x40, 0x0f, 0x0d, + 0x98, 0x7c, 0xf9, 0x81, 0x85, 0x2e, 0xef, 0x03, 0xc3, 0x6e, 0xcf, 0xb8, 0xf2, 0x95, 0x83, 0x2b, + 0x6a, 0xf8, 0x97, 0x25, 0xfc, 0x1a, 0xb2, 0xf6, 0x09, 0xff, 0x03, 0x75, 0xb6, 0x3f, 0x44, 0x4f, + 0x8c, 0xd4, 0x2b, 0x2a, 0xfd, 0xdc, 0x47, 0x57, 0xf7, 0x9d, 0xc9, 0x5d, 0x7e, 0x47, 0xca, 0xff, + 0x79, 0x4d, 0x6d, 0x1d, 0xcf, 0x55, 0x19, 0xcf, 0x12, 0xba, 0x34, 0x2a, 0x9e, 0xc1, 0x9f, 0x02, + 0xe6, 0x49, 0x55, 0x9e, 0x19, 0xf2, 0xa9, 0xbc, 0xdb, 0x6f, 0x20, 0xba, 0xb6, 0x0f, 0x60, 0xaf, + 0xf8, 0x85, 0x2d, 0xff, 0xf7, 0xb5, 0xf5, 0x75, 0x68, 0xd7, 0x64, 0x68, 0x57, 0xd0, 0xd2, 0xc1, + 0x42, 0x4b, 0x2a, 0xf6, 0x8d, 0x01, 0x85, 0xe4, 0xd2, 0x40, 0x17, 0x47, 0xc1, 0x79, 0xf9, 0x2a, + 0x2b, 0xd7, 0x0e, 0xa0, 0xa1, 0x21, 0xdf, 0xf8, 0x7e, 0xc7, 0xeb, 0x61, 0x49, 0x46, 0xf1, 0x4f, + 0x74, 0x7e, 0x54, 0x14, 0x6e, 0xa3, 0x19, 0x38, 0xf2, 0x17, 0x6d, 0xe5, 0xce, 0xa3, 0xe7, 0x15, + 0xe3, 0xf1, 0xf3, 0x8a, 0xf1, 0xf3, 0xf3, 0x8a, 0xf1, 0xe9, 0x8b, 0xca, 0xd8, 0xe3, 0x17, 0x95, + 0xb1, 0xa7, 0x2f, 0x2a, 0x63, 0xef, 0x2c, 0xf8, 0x01, 0xdf, 0xea, 0x36, 0xc4, 0xbd, 0x11, 0xdb, + 0x1b, 0xb8, 0xb3, 0x9a, 0xed, 0x00, 0x87, 0xdc, 0xf2, 0x23, 0xda, 0xb4, 0x9a, 0x1d, 0xce, 0xd4, + 0x1c, 0x6e, 0x4c, 0xc8, 0xbf, 0xae, 0x85, 0xdf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x77, 0x79, + 0x79, 0x14, 0x12, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2159,6 +2187,27 @@ func (m *VersionInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.StfVersion) > 0 { + i -= len(m.StfVersion) + copy(dAtA[i:], m.StfVersion) + i = encodeVarintQuery(dAtA, i, uint64(len(m.StfVersion))) + i-- + dAtA[i] = 0x5a + } + if len(m.RuntimeVersion) > 0 { + i -= len(m.RuntimeVersion) + copy(dAtA[i:], m.RuntimeVersion) + i = encodeVarintQuery(dAtA, i, uint64(len(m.RuntimeVersion))) + i-- + dAtA[i] = 0x52 + } + if len(m.CometServerVersion) > 0 { + i -= len(m.CometServerVersion) + copy(dAtA[i:], m.CometServerVersion) + i = encodeVarintQuery(dAtA, i, uint64(len(m.CometServerVersion))) + i-- + dAtA[i] = 0x4a + } if len(m.CosmosSdkVersion) > 0 { i -= len(m.CosmosSdkVersion) copy(dAtA[i:], m.CosmosSdkVersion) @@ -2744,6 +2793,18 @@ func (m *VersionInfo) Size() (n int) { if l > 0 { n += 1 + l + sovQuery(uint64(l)) } + l = len(m.CometServerVersion) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.RuntimeVersion) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.StfVersion) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } return n } @@ -4514,6 +4575,102 @@ func (m *VersionInfo) Unmarshal(dAtA []byte) error { } m.CosmosSdkVersion = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CometServerVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CometServerVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RuntimeVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RuntimeVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StfVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.StfVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) diff --git a/client/grpc/cmtservice/service.go b/client/grpc/cmtservice/service.go index 7d56efd3389d..aabbee441bea 100644 --- a/client/grpc/cmtservice/service.go +++ b/client/grpc/cmtservice/service.go @@ -227,14 +227,17 @@ func (s queryServer) GetNodeInfo(ctx context.Context, _ *GetNodeInfoRequest) (*G resp := GetNodeInfoResponse{ DefaultNodeInfo: protoNodeInfo, ApplicationVersion: &VersionInfo{ - AppName: nodeInfo.AppName, - Name: nodeInfo.Name, - GitCommit: nodeInfo.GitCommit, - GoVersion: nodeInfo.GoVersion, - Version: nodeInfo.Version, - BuildTags: nodeInfo.BuildTags, - BuildDeps: deps, - CosmosSdkVersion: nodeInfo.CosmosSdkVersion, + AppName: nodeInfo.AppName, + Name: nodeInfo.Name, + GitCommit: nodeInfo.GitCommit, + GoVersion: nodeInfo.GoVersion, + Version: nodeInfo.Version, + BuildTags: nodeInfo.BuildTags, + BuildDeps: deps, + CosmosSdkVersion: nodeInfo.CosmosSdkVersion, + RuntimeVersion: nodeInfo.RuntimeVersion, + CometServerVersion: nodeInfo.CometServerVersion, + StfVersion: nodeInfo.StfVersion, }, } return &resp, nil diff --git a/proto/cosmos/base/tendermint/v1beta1/query.proto b/proto/cosmos/base/tendermint/v1beta1/query.proto index 70c6588985d3..c5462b523678 100644 --- a/proto/cosmos/base/tendermint/v1beta1/query.proto +++ b/proto/cosmos/base/tendermint/v1beta1/query.proto @@ -143,14 +143,17 @@ message GetNodeInfoResponse { // VersionInfo is the type for the GetNodeInfoResponse message. message VersionInfo { - string name = 1; - string app_name = 2; - string version = 3; - string git_commit = 4; - string build_tags = 5; - string go_version = 6; - repeated Module build_deps = 7; - string cosmos_sdk_version = 8 [(cosmos_proto.field_added_in) = "cosmos-sdk 0.43"]; + string name = 1; + string app_name = 2; + string version = 3; + string git_commit = 4; + string build_tags = 5; + string go_version = 6; + repeated Module build_deps = 7; + string cosmos_sdk_version = 8 [(cosmos_proto.field_added_in) = "cosmos-sdk 0.43"]; + string comet_server_version = 9 [(cosmos_proto.field_added_in) = "cosmos-sdk 0.52"]; + string runtime_version = 10 [(cosmos_proto.field_added_in) = "cosmos-sdk 0.52"]; + string stf_version = 11 [(cosmos_proto.field_added_in) = "cosmos-sdk 0.52"]; } // Module is the type for VersionInfo diff --git a/version/build_test.go b/version/build_test.go new file mode 100644 index 000000000000..1f00abba8e0b --- /dev/null +++ b/version/build_test.go @@ -0,0 +1,166 @@ +package version + +import ( + "runtime/debug" + "testing" + + "github.com/stretchr/testify/require" +) + +func Test_getSDKBuildInfo(t *testing.T) { + tests := []struct { + name string + debugBuildInfo *debug.BuildInfo + want sdkBuildInfo + }{ + { + name: "no deps", + debugBuildInfo: &debug.BuildInfo{ + Deps: nil, + }, + want: sdkBuildInfo{}, + }, + { + name: "cosmos-sdk dep only", + debugBuildInfo: &debug.BuildInfo{ + Deps: []*debug.Module{ + { + Path: "github.com/cosmos/cosmos-sdk", + Version: "v2.0.0", + }, + }, + }, + want: sdkBuildInfo{ + sdkVersion: "v2.0.0", + }, + }, + { + name: "all depo", + debugBuildInfo: &debug.BuildInfo{ + Deps: []*debug.Module{ + { + Path: "github.com/cosmos/cosmos-sdk", + Version: "v2.0.0", + }, + { + Path: "cosmossdk.io/server/v2/cometbft", + Version: "v2.0.1", + }, + { + Path: "cosmossdk.io/runtime/v2", + Version: "v2.0.2", + }, + { + Path: "cosmossdk.io/server/v2/stf", + Version: "v2.0.3", + }, + }, + }, + want: sdkBuildInfo{ + sdkVersion: "v2.0.0", + cometServerVersion: "v2.0.1", + runtimeVersion: "v2.0.2", + stfVersion: "v2.0.3", + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + require.Equal(t, tt.want, getSDKBuildInfo(tt.debugBuildInfo)) + }) + } +} + +func Test_extractVersionFromBuildInfo(t *testing.T) { + tests := []struct { + name string + dep *debug.Module + want string + }{ + { + name: "no replace", + dep: &debug.Module{ + Path: "github.com/cosmos/cosmos-sdk", + Version: "v2.0.0", + }, + want: "v2.0.0", + }, + { + name: "devel replace ", + dep: &debug.Module{ + Path: "github.com/cosmos/cosmos-sdk", + Version: "v2.0.0", + Replace: &debug.Module{ + Version: "(devel)", + }, + }, + want: "v2.0.0", + }, + { + name: "non-devel replace ", + dep: &debug.Module{ + Path: "github.com/cosmos/cosmos-sdk", + Version: "v2.0.0", + Replace: &debug.Module{ + Version: "v1.0.3", + }, + }, + want: "v1.0.3", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + require.Equal(t, tt.want, extractVersionFromBuildInfo(tt.dep)) + }) + } +} + +func Test_depsFromBuildInfo(t *testing.T) { + modules := []*debug.Module{ + { + Path: "github.com/cosmos/cosmos-sdk", + Version: "v2.0.0", + }, + { + Path: "cosmossdk.io/server/v2/cometbft", + Version: "v2.0.1", + }, + { + Path: "cosmossdk.io/runtime/v2", + Version: "v2.0.2", + }, + { + Path: "cosmossdk.io/server/v2/stf", + Version: "v2.0.3", + }, + } + + tests := []struct { + name string + debugBuildInfo *debug.BuildInfo + want []buildDep + }{ + { + name: "no deps", + debugBuildInfo: &debug.BuildInfo{}, + want: nil, + }, + { + name: "deps", + debugBuildInfo: &debug.BuildInfo{ + Deps: modules, + }, + want: []buildDep{ + {modules[0]}, + {modules[1]}, + {modules[2]}, + {modules[3]}, + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + require.Equal(t, tt.want, depsFromBuildInfo(tt.debugBuildInfo)) + }) + } +} diff --git a/version/version.go b/version/version.go index 8f1f040d471c..6f07624335f9 100644 --- a/version/version.go +++ b/version/version.go @@ -39,23 +39,37 @@ var ( BuildTags = "" ) -func getSDKVersion() string { - deps, ok := debug.ReadBuildInfo() - if !ok { - return "unable to read deps" - } - var sdkVersion string - for _, dep := range deps.Deps { - if dep.Path == "github.com/cosmos/cosmos-sdk" { - if dep.Replace != nil && dep.Replace.Version != "(devel)" { - sdkVersion = dep.Replace.Version - } else { - sdkVersion = dep.Version - } +type sdkBuildInfo struct { + sdkVersion string + runtimeVersion string + stfVersion string + cometServerVersion string +} + +func getSDKBuildInfo(debugBuildInfo *debug.BuildInfo) sdkBuildInfo { + var buildInfo sdkBuildInfo + for _, dep := range debugBuildInfo.Deps { + switch dep.Path { + case "github.com/cosmos/cosmos-sdk": + buildInfo.sdkVersion = extractVersionFromBuildInfo(dep) + case "cosmossdk.io/server/v2/cometbft": + buildInfo.cometServerVersion = extractVersionFromBuildInfo(dep) + case "cosmossdk.io/runtime/v2": + buildInfo.runtimeVersion = extractVersionFromBuildInfo(dep) + case "cosmossdk.io/server/v2/stf": + buildInfo.stfVersion = extractVersionFromBuildInfo(dep) } } - return sdkVersion + return buildInfo +} + +func extractVersionFromBuildInfo(dep *debug.Module) string { + if dep.Replace != nil && dep.Replace.Version != "(devel)" { + return dep.Replace.Version + } + + return dep.Version } // ExtraInfo contains a set of extra information provided by apps @@ -63,29 +77,43 @@ type ExtraInfo map[string]string // Info defines the application version information. type Info struct { - Name string `json:"name" yaml:"name"` - AppName string `json:"server_name" yaml:"server_name"` - Version string `json:"version" yaml:"version"` - GitCommit string `json:"commit" yaml:"commit"` - BuildTags string `json:"build_tags" yaml:"build_tags"` - GoVersion string `json:"go" yaml:"go"` - BuildDeps []buildDep `json:"build_deps" yaml:"build_deps"` - CosmosSdkVersion string `json:"cosmos_sdk_version" yaml:"cosmos_sdk_version"` - ExtraInfo ExtraInfo `json:"extra_info,omitempty" yaml:"extra_info,omitempty"` + Name string `json:"name" yaml:"name"` + AppName string `json:"server_name" yaml:"server_name"` + Version string `json:"version" yaml:"version"` + GitCommit string `json:"commit" yaml:"commit"` + BuildTags string `json:"build_tags" yaml:"build_tags"` + GoVersion string `json:"go" yaml:"go"` + BuildDeps []buildDep `json:"build_deps" yaml:"build_deps"` + CosmosSdkVersion string `json:"cosmos_sdk_version" yaml:"cosmos_sdk_version"` + RuntimeVersion string `json:"runtime_version,omitempty" yaml:"runtime_version,omitempty"` + StfVersion string `json:"stf_version,omitempty" yaml:"stf_version,omitempty"` + CometServerVersion string `json:"comet_server_version,omitempty" yaml:"comet_server_version,omitempty"` + ExtraInfo ExtraInfo `json:"extra_info,omitempty" yaml:"extra_info,omitempty"` } func NewInfo() Info { - sdkVersion := getSDKVersion() - return Info{ + info := Info{ Name: Name, AppName: AppName, Version: Version, GitCommit: Commit, BuildTags: BuildTags, GoVersion: fmt.Sprintf("go version %s %s/%s", runtime.Version(), runtime.GOOS, runtime.GOARCH), - BuildDeps: depsFromBuildInfo(), - CosmosSdkVersion: sdkVersion, + CosmosSdkVersion: "unable to read deps", + } + + // use debug info more granular build info if available + debugBuildInfo, ok := debug.ReadBuildInfo() + if ok { + info.BuildDeps = depsFromBuildInfo(debugBuildInfo) + sdkBuildInfo := getSDKBuildInfo(debugBuildInfo) + info.CosmosSdkVersion = sdkBuildInfo.sdkVersion + info.RuntimeVersion = sdkBuildInfo.runtimeVersion + info.StfVersion = sdkBuildInfo.stfVersion + info.CometServerVersion = sdkBuildInfo.cometServerVersion } + + return info } func (vi Info) String() string { @@ -97,13 +125,8 @@ build tags: %s ) } -func depsFromBuildInfo() (deps []buildDep) { - buildInfo, ok := debug.ReadBuildInfo() - if !ok { - return nil - } - - for _, dep := range buildInfo.Deps { +func depsFromBuildInfo(debugBuildInfo *debug.BuildInfo) (deps []buildDep) { + for _, dep := range debugBuildInfo.Deps { deps = append(deps, buildDep{dep}) }