feat(version): update version command to return v2 info (#22807)

This commit is contained in:
Alex | Skip 2024-12-10 11:52:17 -05:00 committed by GitHub
parent cb26ce3fe3
commit 6a7ecd89ee
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 885 additions and 304 deletions

View File

@ -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

View File

@ -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,
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,
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,
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, 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,
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, 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, 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 (

View File

@ -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:])

View File

@ -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

View File

@ -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

166
version/build_test.go Normal file
View File

@ -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))
})
}
}

View File

@ -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})
}