diff --git a/pkg/kvrpcpb/kvrpcpb.pb.go b/pkg/kvrpcpb/kvrpcpb.pb.go index 249e8e5bd..2bb6984dd 100644 --- a/pkg/kvrpcpb/kvrpcpb.pb.go +++ b/pkg/kvrpcpb/kvrpcpb.pb.go @@ -62,8 +62,9 @@ KeyRange RawBatchScanRequest RawBatchScanResponse - WriteInfo - ValueInfo + MvccWrite + MvccValue + MvccLock MvccInfo MvccGetByKeyRequest MvccGetByKeyResponse @@ -1779,96 +1780,136 @@ func (m *RawBatchScanResponse) GetKvs() []*KvPair { return nil } -type WriteInfo struct { - StartTs uint64 `protobuf:"varint,1,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` - Type Op `protobuf:"varint,2,opt,name=type,proto3,enum=kvrpcpb.Op" json:"type,omitempty"` - CommitTs uint64 `protobuf:"varint,3,opt,name=commit_ts,json=commitTs,proto3" json:"commit_ts,omitempty"` +type MvccWrite struct { + Type Op `protobuf:"varint,1,opt,name=type,proto3,enum=kvrpcpb.Op" json:"type,omitempty"` + StartTs uint64 `protobuf:"varint,2,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` + CommitTs uint64 `protobuf:"varint,3,opt,name=commit_ts,json=commitTs,proto3" json:"commit_ts,omitempty"` + ShortValue []byte `protobuf:"bytes,4,opt,name=short_value,json=shortValue,proto3" json:"short_value,omitempty"` } -func (m *WriteInfo) Reset() { *m = WriteInfo{} } -func (m *WriteInfo) String() string { return proto.CompactTextString(m) } -func (*WriteInfo) ProtoMessage() {} -func (*WriteInfo) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{53} } +func (m *MvccWrite) Reset() { *m = MvccWrite{} } +func (m *MvccWrite) String() string { return proto.CompactTextString(m) } +func (*MvccWrite) ProtoMessage() {} +func (*MvccWrite) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{53} } -func (m *WriteInfo) GetStartTs() uint64 { +func (m *MvccWrite) GetType() Op { if m != nil { - return m.StartTs + return m.Type } - return 0 + return Op_Put } -func (m *WriteInfo) GetType() Op { +func (m *MvccWrite) GetStartTs() uint64 { if m != nil { - return m.Type + return m.StartTs } - return Op_Put + return 0 } -func (m *WriteInfo) GetCommitTs() uint64 { +func (m *MvccWrite) GetCommitTs() uint64 { if m != nil { return m.CommitTs } return 0 } -type ValueInfo struct { - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` - Ts uint64 `protobuf:"varint,2,opt,name=ts,proto3" json:"ts,omitempty"` - IsShortValue bool `protobuf:"varint,3,opt,name=is_short_value,json=isShortValue,proto3" json:"is_short_value,omitempty"` +func (m *MvccWrite) GetShortValue() []byte { + if m != nil { + return m.ShortValue + } + return nil +} + +type MvccValue struct { + StartTs uint64 `protobuf:"varint,1,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (m *ValueInfo) Reset() { *m = ValueInfo{} } -func (m *ValueInfo) String() string { return proto.CompactTextString(m) } -func (*ValueInfo) ProtoMessage() {} -func (*ValueInfo) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{54} } +func (m *MvccValue) Reset() { *m = MvccValue{} } +func (m *MvccValue) String() string { return proto.CompactTextString(m) } +func (*MvccValue) ProtoMessage() {} +func (*MvccValue) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{54} } + +func (m *MvccValue) GetStartTs() uint64 { + if m != nil { + return m.StartTs + } + return 0 +} -func (m *ValueInfo) GetValue() []byte { +func (m *MvccValue) GetValue() []byte { if m != nil { return m.Value } return nil } -func (m *ValueInfo) GetTs() uint64 { +type MvccLock struct { + Type Op `protobuf:"varint,1,opt,name=type,proto3,enum=kvrpcpb.Op" json:"type,omitempty"` + StartTs uint64 `protobuf:"varint,2,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` + Primary []byte `protobuf:"bytes,3,opt,name=primary,proto3" json:"primary,omitempty"` + ShortValue []byte `protobuf:"bytes,4,opt,name=short_value,json=shortValue,proto3" json:"short_value,omitempty"` +} + +func (m *MvccLock) Reset() { *m = MvccLock{} } +func (m *MvccLock) String() string { return proto.CompactTextString(m) } +func (*MvccLock) ProtoMessage() {} +func (*MvccLock) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{55} } + +func (m *MvccLock) GetType() Op { + if m != nil { + return m.Type + } + return Op_Put +} + +func (m *MvccLock) GetStartTs() uint64 { if m != nil { - return m.Ts + return m.StartTs } return 0 } -func (m *ValueInfo) GetIsShortValue() bool { +func (m *MvccLock) GetPrimary() []byte { if m != nil { - return m.IsShortValue + return m.Primary } - return false + return nil +} + +func (m *MvccLock) GetShortValue() []byte { + if m != nil { + return m.ShortValue + } + return nil } type MvccInfo struct { - Lock *LockInfo `protobuf:"bytes,1,opt,name=lock" json:"lock,omitempty"` - Writes []*WriteInfo `protobuf:"bytes,2,rep,name=writes" json:"writes,omitempty"` - Values []*ValueInfo `protobuf:"bytes,3,rep,name=values" json:"values,omitempty"` + Lock *MvccLock `protobuf:"bytes,1,opt,name=lock" json:"lock,omitempty"` + Writes []*MvccWrite `protobuf:"bytes,2,rep,name=writes" json:"writes,omitempty"` + Values []*MvccValue `protobuf:"bytes,3,rep,name=values" json:"values,omitempty"` } func (m *MvccInfo) Reset() { *m = MvccInfo{} } func (m *MvccInfo) String() string { return proto.CompactTextString(m) } func (*MvccInfo) ProtoMessage() {} -func (*MvccInfo) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{55} } +func (*MvccInfo) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{56} } -func (m *MvccInfo) GetLock() *LockInfo { +func (m *MvccInfo) GetLock() *MvccLock { if m != nil { return m.Lock } return nil } -func (m *MvccInfo) GetWrites() []*WriteInfo { +func (m *MvccInfo) GetWrites() []*MvccWrite { if m != nil { return m.Writes } return nil } -func (m *MvccInfo) GetValues() []*ValueInfo { +func (m *MvccInfo) GetValues() []*MvccValue { if m != nil { return m.Values } @@ -1883,7 +1924,7 @@ type MvccGetByKeyRequest struct { func (m *MvccGetByKeyRequest) Reset() { *m = MvccGetByKeyRequest{} } func (m *MvccGetByKeyRequest) String() string { return proto.CompactTextString(m) } func (*MvccGetByKeyRequest) ProtoMessage() {} -func (*MvccGetByKeyRequest) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{56} } +func (*MvccGetByKeyRequest) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{57} } func (m *MvccGetByKeyRequest) GetContext() *Context { if m != nil { @@ -1908,7 +1949,7 @@ type MvccGetByKeyResponse struct { func (m *MvccGetByKeyResponse) Reset() { *m = MvccGetByKeyResponse{} } func (m *MvccGetByKeyResponse) String() string { return proto.CompactTextString(m) } func (*MvccGetByKeyResponse) ProtoMessage() {} -func (*MvccGetByKeyResponse) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{57} } +func (*MvccGetByKeyResponse) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{58} } func (m *MvccGetByKeyResponse) GetRegionError() *errorpb.Error { if m != nil { @@ -1939,7 +1980,7 @@ type MvccGetByStartTsRequest struct { func (m *MvccGetByStartTsRequest) Reset() { *m = MvccGetByStartTsRequest{} } func (m *MvccGetByStartTsRequest) String() string { return proto.CompactTextString(m) } func (*MvccGetByStartTsRequest) ProtoMessage() {} -func (*MvccGetByStartTsRequest) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{58} } +func (*MvccGetByStartTsRequest) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{59} } func (m *MvccGetByStartTsRequest) GetContext() *Context { if m != nil { @@ -1965,7 +2006,7 @@ type MvccGetByStartTsResponse struct { func (m *MvccGetByStartTsResponse) Reset() { *m = MvccGetByStartTsResponse{} } func (m *MvccGetByStartTsResponse) String() string { return proto.CompactTextString(m) } func (*MvccGetByStartTsResponse) ProtoMessage() {} -func (*MvccGetByStartTsResponse) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{59} } +func (*MvccGetByStartTsResponse) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{60} } func (m *MvccGetByStartTsResponse) GetRegionError() *errorpb.Error { if m != nil { @@ -2003,7 +2044,7 @@ type SplitRegionRequest struct { func (m *SplitRegionRequest) Reset() { *m = SplitRegionRequest{} } func (m *SplitRegionRequest) String() string { return proto.CompactTextString(m) } func (*SplitRegionRequest) ProtoMessage() {} -func (*SplitRegionRequest) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{60} } +func (*SplitRegionRequest) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{61} } func (m *SplitRegionRequest) GetContext() *Context { if m != nil { @@ -2028,7 +2069,7 @@ type SplitRegionResponse struct { func (m *SplitRegionResponse) Reset() { *m = SplitRegionResponse{} } func (m *SplitRegionResponse) String() string { return proto.CompactTextString(m) } func (*SplitRegionResponse) ProtoMessage() {} -func (*SplitRegionResponse) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{61} } +func (*SplitRegionResponse) Descriptor() ([]byte, []int) { return fileDescriptorKvrpcpb, []int{62} } func (m *SplitRegionResponse) GetRegionError() *errorpb.Error { if m != nil { @@ -2105,8 +2146,9 @@ func init() { proto.RegisterType((*KeyRange)(nil), "kvrpcpb.KeyRange") proto.RegisterType((*RawBatchScanRequest)(nil), "kvrpcpb.RawBatchScanRequest") proto.RegisterType((*RawBatchScanResponse)(nil), "kvrpcpb.RawBatchScanResponse") - proto.RegisterType((*WriteInfo)(nil), "kvrpcpb.WriteInfo") - proto.RegisterType((*ValueInfo)(nil), "kvrpcpb.ValueInfo") + proto.RegisterType((*MvccWrite)(nil), "kvrpcpb.MvccWrite") + proto.RegisterType((*MvccValue)(nil), "kvrpcpb.MvccValue") + proto.RegisterType((*MvccLock)(nil), "kvrpcpb.MvccLock") proto.RegisterType((*MvccInfo)(nil), "kvrpcpb.MvccInfo") proto.RegisterType((*MvccGetByKeyRequest)(nil), "kvrpcpb.MvccGetByKeyRequest") proto.RegisterType((*MvccGetByKeyResponse)(nil), "kvrpcpb.MvccGetByKeyResponse") @@ -4270,7 +4312,7 @@ func (m *RawBatchScanResponse) MarshalTo(dAtA []byte) (int, error) { return i, nil } -func (m *WriteInfo) Marshal() (dAtA []byte, err error) { +func (m *MvccWrite) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalTo(dAtA) @@ -4280,30 +4322,36 @@ func (m *WriteInfo) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *WriteInfo) MarshalTo(dAtA []byte) (int, error) { +func (m *MvccWrite) MarshalTo(dAtA []byte) (int, error) { var i int _ = i var l int _ = l - if m.StartTs != 0 { + if m.Type != 0 { dAtA[i] = 0x8 i++ - i = encodeVarintKvrpcpb(dAtA, i, uint64(m.StartTs)) + i = encodeVarintKvrpcpb(dAtA, i, uint64(m.Type)) } - if m.Type != 0 { + if m.StartTs != 0 { dAtA[i] = 0x10 i++ - i = encodeVarintKvrpcpb(dAtA, i, uint64(m.Type)) + i = encodeVarintKvrpcpb(dAtA, i, uint64(m.StartTs)) } if m.CommitTs != 0 { dAtA[i] = 0x18 i++ i = encodeVarintKvrpcpb(dAtA, i, uint64(m.CommitTs)) } + if len(m.ShortValue) > 0 { + dAtA[i] = 0x22 + i++ + i = encodeVarintKvrpcpb(dAtA, i, uint64(len(m.ShortValue))) + i += copy(dAtA[i:], m.ShortValue) + } return i, nil } -func (m *ValueInfo) Marshal() (dAtA []byte, err error) { +func (m *MvccValue) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalTo(dAtA) @@ -4313,31 +4361,61 @@ func (m *ValueInfo) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ValueInfo) MarshalTo(dAtA []byte) (int, error) { +func (m *MvccValue) MarshalTo(dAtA []byte) (int, error) { var i int _ = i var l int _ = l + if m.StartTs != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintKvrpcpb(dAtA, i, uint64(m.StartTs)) + } if len(m.Value) > 0 { - dAtA[i] = 0xa + dAtA[i] = 0x12 i++ i = encodeVarintKvrpcpb(dAtA, i, uint64(len(m.Value))) i += copy(dAtA[i:], m.Value) } - if m.Ts != 0 { + return i, nil +} + +func (m *MvccLock) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MvccLock) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Type != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintKvrpcpb(dAtA, i, uint64(m.Type)) + } + if m.StartTs != 0 { dAtA[i] = 0x10 i++ - i = encodeVarintKvrpcpb(dAtA, i, uint64(m.Ts)) + i = encodeVarintKvrpcpb(dAtA, i, uint64(m.StartTs)) } - if m.IsShortValue { - dAtA[i] = 0x18 + if len(m.Primary) > 0 { + dAtA[i] = 0x1a i++ - if m.IsShortValue { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } + i = encodeVarintKvrpcpb(dAtA, i, uint64(len(m.Primary))) + i += copy(dAtA[i:], m.Primary) + } + if len(m.ShortValue) > 0 { + dAtA[i] = 0x22 i++ + i = encodeVarintKvrpcpb(dAtA, i, uint64(len(m.ShortValue))) + i += copy(dAtA[i:], m.ShortValue) } return i, nil } @@ -5568,33 +5646,54 @@ func (m *RawBatchScanResponse) Size() (n int) { return n } -func (m *WriteInfo) Size() (n int) { +func (m *MvccWrite) Size() (n int) { var l int _ = l - if m.StartTs != 0 { - n += 1 + sovKvrpcpb(uint64(m.StartTs)) - } if m.Type != 0 { n += 1 + sovKvrpcpb(uint64(m.Type)) } + if m.StartTs != 0 { + n += 1 + sovKvrpcpb(uint64(m.StartTs)) + } if m.CommitTs != 0 { n += 1 + sovKvrpcpb(uint64(m.CommitTs)) } + l = len(m.ShortValue) + if l > 0 { + n += 1 + l + sovKvrpcpb(uint64(l)) + } return n } -func (m *ValueInfo) Size() (n int) { +func (m *MvccValue) Size() (n int) { var l int _ = l + if m.StartTs != 0 { + n += 1 + sovKvrpcpb(uint64(m.StartTs)) + } l = len(m.Value) if l > 0 { n += 1 + l + sovKvrpcpb(uint64(l)) } - if m.Ts != 0 { - n += 1 + sovKvrpcpb(uint64(m.Ts)) + return n +} + +func (m *MvccLock) Size() (n int) { + var l int + _ = l + if m.Type != 0 { + n += 1 + sovKvrpcpb(uint64(m.Type)) } - if m.IsShortValue { - n += 2 + if m.StartTs != 0 { + n += 1 + sovKvrpcpb(uint64(m.StartTs)) + } + l = len(m.Primary) + if l > 0 { + n += 1 + l + sovKvrpcpb(uint64(l)) + } + l = len(m.ShortValue) + if l > 0 { + n += 1 + l + sovKvrpcpb(uint64(l)) } return n } @@ -12583,7 +12682,7 @@ func (m *RawBatchScanResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *WriteInfo) Unmarshal(dAtA []byte) error { +func (m *MvccWrite) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12606,17 +12705,17 @@ func (m *WriteInfo) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: WriteInfo: wiretype end group for non-group") + return fmt.Errorf("proto: MvccWrite: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: WriteInfo: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MvccWrite: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field StartTs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) } - m.StartTs = 0 + m.Type = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowKvrpcpb @@ -12626,16 +12725,16 @@ func (m *WriteInfo) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.StartTs |= (uint64(b) & 0x7F) << shift + m.Type |= (Op(b) & 0x7F) << shift if b < 0x80 { break } } case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StartTs", wireType) } - m.Type = 0 + m.StartTs = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowKvrpcpb @@ -12645,7 +12744,7 @@ func (m *WriteInfo) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Type |= (Op(b) & 0x7F) << shift + m.StartTs |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } @@ -12669,6 +12768,37 @@ func (m *WriteInfo) Unmarshal(dAtA []byte) error { break } } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ShortValue", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowKvrpcpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthKvrpcpb + } + postIndex := iNdEx + byteLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ShortValue = append(m.ShortValue[:0], dAtA[iNdEx:postIndex]...) + if m.ShortValue == nil { + m.ShortValue = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipKvrpcpb(dAtA[iNdEx:]) @@ -12690,7 +12820,7 @@ func (m *WriteInfo) Unmarshal(dAtA []byte) error { } return nil } -func (m *ValueInfo) Unmarshal(dAtA []byte) error { +func (m *MvccValue) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12713,13 +12843,32 @@ func (m *ValueInfo) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ValueInfo: wiretype end group for non-group") + return fmt.Errorf("proto: MvccValue: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ValueInfo: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MvccValue: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field StartTs", wireType) + } + m.StartTs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowKvrpcpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.StartTs |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) } @@ -12750,11 +12899,80 @@ func (m *ValueInfo) Unmarshal(dAtA []byte) error { m.Value = []byte{} } iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipKvrpcpb(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthKvrpcpb + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MvccLock) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowKvrpcpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MvccLock: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MvccLock: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + m.Type = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowKvrpcpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Type |= (Op(b) & 0x7F) << shift + if b < 0x80 { + break + } + } case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Ts", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StartTs", wireType) } - m.Ts = 0 + m.StartTs = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowKvrpcpb @@ -12764,16 +12982,16 @@ func (m *ValueInfo) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Ts |= (uint64(b) & 0x7F) << shift + m.StartTs |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsShortValue", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Primary", wireType) } - var v int + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowKvrpcpb @@ -12783,12 +13001,54 @@ func (m *ValueInfo) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + byteLen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthKvrpcpb + } + postIndex := iNdEx + byteLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Primary = append(m.Primary[:0], dAtA[iNdEx:postIndex]...) + if m.Primary == nil { + m.Primary = []byte{} + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ShortValue", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowKvrpcpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= (int(b) & 0x7F) << shift if b < 0x80 { break } } - m.IsShortValue = bool(v != 0) + if byteLen < 0 { + return ErrInvalidLengthKvrpcpb + } + postIndex := iNdEx + byteLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ShortValue = append(m.ShortValue[:0], dAtA[iNdEx:postIndex]...) + if m.ShortValue == nil { + m.ShortValue = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipKvrpcpb(dAtA[iNdEx:]) @@ -12866,7 +13126,7 @@ func (m *MvccInfo) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Lock == nil { - m.Lock = &LockInfo{} + m.Lock = &MvccLock{} } if err := m.Lock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -12898,7 +13158,7 @@ func (m *MvccInfo) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Writes = append(m.Writes, &WriteInfo{}) + m.Writes = append(m.Writes, &MvccWrite{}) if err := m.Writes[len(m.Writes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -12929,7 +13189,7 @@ func (m *MvccInfo) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Values = append(m.Values, &ValueInfo{}) + m.Values = append(m.Values, &MvccValue{}) if err := m.Values[len(m.Values)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -13863,125 +14123,126 @@ var ( func init() { proto.RegisterFile("kvrpcpb.proto", fileDescriptorKvrpcpb) } var fileDescriptorKvrpcpb = []byte{ - // 1916 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0x5f, 0x6f, 0xdb, 0xc8, - 0x11, 0x0f, 0x29, 0x4a, 0xa2, 0x46, 0xb2, 0xac, 0x5b, 0x3b, 0x17, 0xdd, 0xa5, 0x97, 0xf8, 0xd8, - 0x04, 0x71, 0x5c, 0xd4, 0x41, 0x7d, 0x87, 0x3e, 0x16, 0x87, 0x38, 0x69, 0x2e, 0x17, 0xbb, 0x31, - 0xd6, 0x46, 0x82, 0x00, 0x6d, 0xd9, 0x35, 0xb5, 0x96, 0x16, 0xa2, 0xb8, 0x0c, 0xb9, 0x92, 0x2d, - 0x14, 0x45, 0x1f, 0x8a, 0x16, 0x68, 0xdf, 0x5a, 0x14, 0x68, 0x1f, 0xda, 0x87, 0xbe, 0x14, 0xe8, - 0x67, 0xe8, 0x17, 0xe8, 0x63, 0x3f, 0x42, 0x91, 0x7e, 0x91, 0x62, 0x77, 0xf9, 0x47, 0x94, 0xe4, - 0x9e, 0x41, 0x28, 0xbe, 0x27, 0x72, 0x67, 0x66, 0x77, 0x66, 0x7e, 0x33, 0x3b, 0xb3, 0x5c, 0xc2, - 0xda, 0x70, 0x12, 0x85, 0x5e, 0x78, 0xba, 0x1b, 0x46, 0x5c, 0x70, 0x54, 0x4f, 0x86, 0x1f, 0xb7, - 0x46, 0x54, 0x90, 0x94, 0xfc, 0xf1, 0x1a, 0x8d, 0x22, 0x1e, 0x65, 0xc3, 0xcd, 0x3e, 0xef, 0x73, - 0xf5, 0xfa, 0x48, 0xbe, 0x69, 0xaa, 0xf3, 0x0b, 0xb0, 0x0f, 0xb8, 0x37, 0x7c, 0x1e, 0x9c, 0x71, - 0xf4, 0x29, 0xb4, 0xc2, 0x88, 0x8d, 0x48, 0x34, 0x75, 0x7d, 0xee, 0x0d, 0xbb, 0xc6, 0x96, 0xb1, - 0xdd, 0xc2, 0xcd, 0x84, 0x26, 0xc5, 0xa4, 0x88, 0x64, 0xb9, 0x13, 0x1a, 0xc5, 0x8c, 0x07, 0x5d, - 0x73, 0xcb, 0xd8, 0xb6, 0x70, 0x53, 0xd2, 0x5e, 0x69, 0x12, 0xea, 0x40, 0x65, 0x48, 0xa7, 0xdd, - 0x8a, 0x9a, 0x2c, 0x5f, 0xd1, 0x47, 0x60, 0xab, 0x49, 0x42, 0xf8, 0x5d, 0x4b, 0x4d, 0xa8, 0xcb, - 0xf1, 0x89, 0xf0, 0x1d, 0x06, 0xf6, 0x0b, 0x3a, 0x7d, 0x2a, 0x0d, 0x45, 0x0f, 0xa1, 0x26, 0xc9, - 0xb4, 0xa7, 0x14, 0x37, 0xf7, 0x3e, 0xd8, 0x4d, 0xdd, 0x4c, 0x2d, 0xc4, 0x89, 0x00, 0xfa, 0x16, - 0x34, 0x22, 0x2a, 0xa2, 0x29, 0x39, 0xf5, 0xa9, 0xb2, 0xa1, 0x81, 0x73, 0x02, 0xda, 0x84, 0x2a, - 0x39, 0xe5, 0x91, 0x50, 0x36, 0x34, 0xb0, 0x1e, 0x38, 0x7f, 0xad, 0x40, 0x7d, 0x9f, 0x07, 0x82, - 0x5e, 0x08, 0x74, 0x5b, 0xce, 0xef, 0x33, 0x1e, 0xb8, 0x4c, 0x6b, 0xb3, 0xb0, 0xad, 0x09, 0xcf, - 0x7b, 0xe8, 0xfb, 0xd0, 0x4a, 0x98, 0x34, 0xe4, 0xde, 0x40, 0xad, 0xdf, 0xdc, 0xdb, 0xd8, 0x4d, - 0xc0, 0xc5, 0x8a, 0xf7, 0x54, 0xb2, 0x70, 0x33, 0xca, 0x07, 0x68, 0x0b, 0xac, 0x90, 0xd2, 0x48, - 0x69, 0x6d, 0xee, 0xb5, 0x52, 0xf9, 0x23, 0x4a, 0x23, 0xac, 0x38, 0x08, 0x81, 0x25, 0x68, 0x34, - 0xea, 0x56, 0x95, 0x46, 0xf5, 0x8e, 0x1e, 0x81, 0x1d, 0x46, 0x8c, 0x47, 0x4c, 0x4c, 0xbb, 0xb5, - 0x2d, 0x63, 0xbb, 0xbd, 0xb7, 0x91, 0xf9, 0xbd, 0xcf, 0x47, 0x23, 0x12, 0xf4, 0x8e, 0x22, 0x86, - 0x33, 0x21, 0xf4, 0x05, 0xac, 0xb3, 0x98, 0xfb, 0x44, 0x48, 0x0b, 0x7d, 0x3a, 0xa1, 0x7e, 0xb7, - 0xae, 0xe6, 0xdd, 0xca, 0xe6, 0x3d, 0x4f, 0xf9, 0x07, 0x92, 0x8d, 0xdb, 0xac, 0x30, 0x46, 0xf7, - 0xa0, 0x1d, 0x70, 0xe1, 0x9e, 0x31, 0xdf, 0x77, 0x3d, 0xe2, 0x0d, 0x68, 0xd7, 0xde, 0x32, 0xb6, - 0x6d, 0xdc, 0x0a, 0xb8, 0xf8, 0x21, 0xf3, 0xfd, 0x7d, 0x49, 0x93, 0x51, 0x8b, 0xa7, 0x81, 0xe7, - 0xfa, 0xbc, 0xdf, 0x6d, 0x28, 0x7e, 0x5d, 0x8e, 0x0f, 0x78, 0x1f, 0xdd, 0x85, 0xe6, 0x80, 0x04, - 0x3d, 0x9f, 0xba, 0x82, 0x8d, 0x68, 0x17, 0x14, 0x17, 0x34, 0xe9, 0x84, 0x8d, 0xa8, 0x14, 0x88, - 0x3d, 0x12, 0xb8, 0x3d, 0x2a, 0x08, 0xf3, 0xbb, 0x4d, 0x2d, 0x20, 0x49, 0x4f, 0x14, 0xe5, 0x2b, - 0xcb, 0xb6, 0x3a, 0x55, 0x09, 0x1f, 0xe9, 0xb9, 0x6f, 0xc7, 0x3c, 0x1a, 0x8f, 0x9c, 0x27, 0x00, - 0x5f, 0xe6, 0x2b, 0xdc, 0x82, 0xfa, 0x39, 0x61, 0xc2, 0x1d, 0xc5, 0x2a, 0x3e, 0x15, 0x5c, 0x93, - 0xc3, 0xc3, 0x18, 0x7d, 0x02, 0x10, 0x46, 0xdc, 0xa3, 0x71, 0x2c, 0x79, 0xa6, 0xe2, 0x35, 0x12, - 0xca, 0x61, 0xec, 0xfc, 0x00, 0xec, 0x63, 0x8f, 0x04, 0x2a, 0x9f, 0x37, 0xa1, 0x2a, 0xb8, 0x20, - 0x7e, 0xb2, 0x82, 0x1e, 0xc8, 0xdc, 0x49, 0xc4, 0x69, 0x6f, 0x6e, 0x3e, 0xed, 0x39, 0xbf, 0x32, - 0x00, 0x8e, 0x33, 0x3b, 0xd1, 0x03, 0xa8, 0x9e, 0x47, 0x4c, 0xd0, 0x85, 0x94, 0x4c, 0x95, 0x60, - 0xcd, 0x47, 0xf7, 0xc1, 0x52, 0x7b, 0xc6, 0xbc, 0x4c, 0x4e, 0xb1, 0xa5, 0x58, 0x8f, 0x08, 0x92, - 0xe4, 0xc8, 0x32, 0x31, 0xc9, 0x76, 0xa6, 0xd0, 0x7c, 0x7a, 0x41, 0x3d, 0x6d, 0x44, 0x8c, 0x3e, - 0x2f, 0xe2, 0x6d, 0x24, 0x09, 0x99, 0x4e, 0xce, 0x61, 0x2b, 0x04, 0xe1, 0xf3, 0x62, 0x10, 0xcc, - 0xb9, 0x59, 0xb9, 0x97, 0xb3, 0x91, 0x71, 0x7a, 0x00, 0xcf, 0xa8, 0xc0, 0xf4, 0xed, 0x98, 0xc6, - 0x02, 0xed, 0x40, 0xdd, 0xd3, 0x7b, 0x26, 0xd1, 0xda, 0x99, 0x49, 0x4e, 0x45, 0xc7, 0xa9, 0x40, - 0xba, 0xf1, 0xcd, 0x7c, 0xe3, 0x77, 0xa1, 0x9e, 0x16, 0x8a, 0x8a, 0xde, 0xf7, 0xc9, 0xd0, 0xf9, - 0x25, 0x34, 0x95, 0x96, 0x38, 0xe4, 0x41, 0x4c, 0xd1, 0xf7, 0xf2, 0x2d, 0x27, 0x4b, 0x41, 0xa2, - 0xab, 0xbd, 0x9b, 0x56, 0x30, 0x55, 0x20, 0xb2, 0xdd, 0xa6, 0xaa, 0xc5, 0x03, 0xa8, 0x6a, 0xd9, - 0x79, 0xc4, 0xd3, 0x7a, 0x82, 0x35, 0x5f, 0x66, 0xc1, 0x84, 0xf8, 0x63, 0x9a, 0x54, 0x24, 0x3d, - 0x70, 0xfe, 0x66, 0x40, 0x53, 0x22, 0x50, 0xc6, 0xd1, 0xdb, 0xd0, 0x88, 0x05, 0x89, 0x84, 0x9b, - 0xbb, 0x6b, 0x2b, 0xc2, 0x0b, 0x3a, 0x95, 0xea, 0x7c, 0x36, 0x62, 0xba, 0xf8, 0xac, 0x61, 0x3d, - 0x98, 0x45, 0xc2, 0x2a, 0x20, 0x21, 0xb7, 0xd9, 0x90, 0x4e, 0x5d, 0x1e, 0xf8, 0x53, 0x55, 0x17, - 0x6c, 0x5c, 0x1f, 0xd2, 0xe9, 0xcb, 0xc0, 0x9f, 0x3a, 0x6f, 0xa0, 0xf6, 0x62, 0x72, 0x44, 0xd8, - 0x8c, 0xb3, 0xc6, 0xd7, 0x38, 0xbb, 0x18, 0x83, 0xe5, 0xee, 0x0f, 0xa0, 0xa5, 0xbd, 0x2f, 0x1f, - 0x80, 0xfb, 0x50, 0x0d, 0x09, 0x8b, 0xe4, 0x1e, 0xac, 0x6c, 0x37, 0xf7, 0xd6, 0x73, 0x9b, 0x94, - 0xcd, 0x58, 0x73, 0x9d, 0x97, 0x60, 0x1f, 0x8e, 0x85, 0xaa, 0x3e, 0xe8, 0x36, 0x98, 0x3c, 0x54, - 0x6b, 0xb7, 0xf7, 0x9a, 0x99, 0xfc, 0xcb, 0x10, 0x9b, 0x3c, 0xbc, 0xb2, 0xe9, 0xbf, 0x36, 0x61, - 0xfd, 0x28, 0xa2, 0x6a, 0xdb, 0x95, 0x89, 0xde, 0x23, 0x68, 0x8c, 0x12, 0x83, 0x52, 0xdb, 0x73, - 0x3c, 0x53, 0x53, 0x71, 0x2e, 0xb3, 0xd0, 0x16, 0x2b, 0x8b, 0x6d, 0xf1, 0xdb, 0xb0, 0xa6, 0x33, - 0xa2, 0x18, 0xe4, 0x96, 0x22, 0xbe, 0xca, 0x23, 0x9d, 0xb5, 0xc1, 0x6a, 0xa1, 0x0d, 0xa2, 0x3d, - 0xb8, 0x19, 0x0f, 0x59, 0xe8, 0x7a, 0x3c, 0x88, 0x45, 0x44, 0x58, 0x20, 0x5c, 0x6f, 0x40, 0xbd, - 0xa1, 0xea, 0x08, 0x36, 0xde, 0x90, 0xcc, 0xfd, 0x8c, 0xb7, 0x2f, 0x59, 0x4e, 0x08, 0x9d, 0x1c, - 0x86, 0xf2, 0x61, 0x7c, 0x08, 0x35, 0xc5, 0x5d, 0xc4, 0x22, 0xcb, 0xad, 0x44, 0xc0, 0xf9, 0x87, - 0x01, 0x6b, 0xb2, 0x25, 0xb1, 0x52, 0xe5, 0x61, 0x01, 0x23, 0x73, 0x09, 0x46, 0x08, 0xac, 0x21, - 0x9d, 0xc6, 0xdd, 0xca, 0x56, 0x65, 0xbb, 0x85, 0xd5, 0x3b, 0xba, 0x0f, 0x6d, 0x4f, 0x69, 0x9d, - 0x43, 0x77, 0x4d, 0x53, 0x93, 0xa9, 0x5f, 0x59, 0x76, 0xb5, 0x53, 0xc3, 0xb5, 0x53, 0x16, 0xf8, - 0xbc, 0xef, 0xf8, 0xd0, 0x4e, 0x4d, 0x7d, 0xff, 0x35, 0xc6, 0xe9, 0xc3, 0xda, 0xf3, 0x51, 0xc8, - 0xa3, 0x0c, 0x98, 0x42, 0x92, 0x19, 0x57, 0x48, 0xb2, 0x45, 0x27, 0xcd, 0x25, 0x4e, 0x3a, 0x6f, - 0xa0, 0x9d, 0x2a, 0x2a, 0xef, 0xd6, 0xe6, 0xac, 0x5b, 0x8d, 0xd4, 0x87, 0x9f, 0xc3, 0xe6, 0x63, - 0x22, 0xbc, 0x01, 0xe6, 0xbe, 0x7f, 0x4a, 0xbc, 0xe1, 0x75, 0xc6, 0xd8, 0x89, 0xe1, 0xe6, 0x9c, - 0xf2, 0x6b, 0x88, 0x5a, 0x0c, 0xed, 0x7d, 0x9f, 0x92, 0x60, 0x1c, 0xae, 0xa6, 0xdd, 0x2d, 0x78, - 0x5f, 0x59, 0xf4, 0xde, 0xf9, 0xa3, 0x01, 0xeb, 0x99, 0xd6, 0x6b, 0x68, 0x7f, 0x8b, 0x89, 0x55, - 0x59, 0x96, 0x58, 0x43, 0x58, 0x57, 0x01, 0x28, 0xd9, 0xfb, 0xd3, 0x98, 0x9a, 0x33, 0xfb, 0xf6, - 0xf2, 0xee, 0xef, 0x43, 0x27, 0x57, 0xf6, 0xde, 0x3b, 0xd0, 0xef, 0x0d, 0x58, 0x97, 0xcd, 0x4e, - 0x56, 0xea, 0x32, 0xbe, 0xdd, 0x85, 0xe6, 0x88, 0x5c, 0xcc, 0xa5, 0x34, 0x8c, 0xc8, 0x45, 0x9a, - 0xd0, 0x85, 0xf3, 0x40, 0xe5, 0xb2, 0xf3, 0x80, 0x35, 0x73, 0x1e, 0x70, 0xfe, 0x64, 0x40, 0x27, - 0xb7, 0xe9, 0x1a, 0xd2, 0xe0, 0x01, 0x54, 0x65, 0xb3, 0xd1, 0xbb, 0x6e, 0xe9, 0xb7, 0x95, 0xe6, - 0x3b, 0x9f, 0x41, 0xfd, 0xe4, 0x42, 0x9f, 0x9f, 0x3b, 0x50, 0x11, 0x17, 0x41, 0xf2, 0x7d, 0x24, - 0x5f, 0xd1, 0x87, 0x50, 0x8b, 0x05, 0x11, 0xe3, 0x38, 0x41, 0x21, 0x19, 0x39, 0xff, 0x34, 0x00, - 0x61, 0x1a, 0x73, 0x7f, 0x42, 0xcb, 0xa2, 0x7c, 0xa5, 0xd2, 0x71, 0xb5, 0x64, 0x46, 0xdf, 0x85, - 0x86, 0xb8, 0x08, 0x5c, 0x16, 0x9c, 0xf1, 0xb8, 0x6b, 0x29, 0x87, 0x73, 0xcd, 0x89, 0x77, 0xd8, - 0x16, 0xfa, 0x25, 0x76, 0xde, 0xc2, 0x46, 0xc1, 0xf8, 0x6b, 0x28, 0x3d, 0xaf, 0xa0, 0xf1, 0x6c, - 0xbf, 0x0c, 0x4c, 0x9f, 0x00, 0xc4, 0xe4, 0x8c, 0xba, 0x21, 0x67, 0x81, 0x48, 0x30, 0x6a, 0x48, - 0xca, 0x91, 0x24, 0x38, 0x03, 0x00, 0xb9, 0xee, 0x35, 0x78, 0x70, 0x08, 0x6b, 0x98, 0x9c, 0xaf, - 0xea, 0x53, 0xc1, 0xe1, 0xd0, 0x4e, 0x97, 0x5b, 0x71, 0x63, 0xbb, 0xe4, 0x18, 0xe9, 0x29, 0xfb, - 0x8f, 0xc6, 0x2b, 0xfa, 0xd4, 0x59, 0xae, 0xe4, 0x8d, 0xf2, 0x4a, 0x29, 0x59, 0x75, 0xbb, 0xee, - 0x03, 0xc2, 0xe4, 0x5c, 0x95, 0xd1, 0x92, 0x4e, 0x5c, 0xb1, 0x7c, 0xfe, 0x14, 0x36, 0x0a, 0x8a, - 0x56, 0xed, 0xc8, 0x49, 0xee, 0xc8, 0xea, 0x9a, 0x8f, 0xc3, 0x73, 0xab, 0xaf, 0xa7, 0xcb, 0x1c, - 0x41, 0x07, 0x93, 0xf3, 0x27, 0xd4, 0xa7, 0xe5, 0x3e, 0x4b, 0x16, 0xb7, 0xc4, 0x8f, 0xe1, 0x83, - 0x99, 0x15, 0x57, 0x0d, 0xfb, 0x6b, 0xb8, 0x99, 0x02, 0x54, 0xde, 0xe8, 0x65, 0xc8, 0x13, 0xf8, - 0x70, 0x7e, 0xe1, 0x55, 0xdb, 0x3e, 0x01, 0x94, 0x2c, 0x4d, 0x82, 0x3e, 0x5d, 0xf9, 0x27, 0xfc, - 0x2d, 0xa8, 0xd3, 0xa0, 0x37, 0xd3, 0xcd, 0x6b, 0x34, 0xe8, 0xbd, 0xa0, 0x53, 0xb9, 0x15, 0x0a, - 0x7a, 0x57, 0xed, 0xd7, 0x54, 0xc5, 0xe4, 0x1b, 0x71, 0x4d, 0x47, 0xed, 0xbd, 0x7a, 0xf7, 0x3b, - 0x43, 0x55, 0xc3, 0x6b, 0xbc, 0x75, 0x99, 0xbd, 0x5b, 0xb1, 0x8a, 0x77, 0x2b, 0x7d, 0x58, 0xcf, - 0x6c, 0x29, 0xef, 0xe8, 0xa7, 0x50, 0x19, 0x4e, 0x2e, 0xad, 0x0c, 0x92, 0xe7, 0x7c, 0xa1, 0x6e, - 0xb8, 0x15, 0xa4, 0x45, 0x17, 0x8c, 0xcb, 0x43, 0x63, 0x16, 0x42, 0xf3, 0x77, 0x23, 0xaf, 0x65, - 0x65, 0xc1, 0x7b, 0x08, 0xb5, 0x48, 0x9a, 0xb0, 0xf4, 0x2b, 0x5f, 0xc7, 0x3b, 0x11, 0x90, 0x27, - 0x0c, 0x4a, 0xbc, 0x81, 0x3b, 0x8b, 0x67, 0x43, 0x52, 0x0e, 0xbe, 0x0e, 0x53, 0x1f, 0x36, 0x8b, - 0x76, 0xbe, 0x57, 0x60, 0x7b, 0xd0, 0x78, 0x1d, 0x31, 0x41, 0xd5, 0x51, 0xf5, 0x23, 0xd0, 0x40, - 0xba, 0x22, 0x4e, 0xce, 0xab, 0x75, 0x35, 0x3e, 0x89, 0xd1, 0x5d, 0xb0, 0xc4, 0x34, 0xd4, 0xbf, - 0x09, 0xe6, 0xae, 0x9d, 0x14, 0x43, 0x46, 0x25, 0x39, 0x54, 0x8a, 0x38, 0x39, 0x4f, 0xda, 0x9a, - 0x70, 0x12, 0x3b, 0xaf, 0xa1, 0xf1, 0x4a, 0xb6, 0xf2, 0xf4, 0x42, 0x59, 0x37, 0x79, 0x63, 0xa6, - 0xc9, 0xa3, 0x36, 0x98, 0x22, 0x3d, 0x10, 0x9b, 0x22, 0x46, 0xf7, 0xa0, 0xcd, 0x62, 0x37, 0x1e, - 0x70, 0x79, 0x98, 0xcd, 0xce, 0x04, 0x36, 0x6e, 0xb1, 0xf8, 0x58, 0x12, 0xd5, 0x7a, 0xce, 0x6f, - 0x0d, 0xb0, 0x0f, 0x27, 0x9e, 0xa7, 0x16, 0x4e, 0x6f, 0x8f, 0x2f, 0xfd, 0xf1, 0xa1, 0x6f, 0x8f, - 0x77, 0xa0, 0xa6, 0xee, 0x7b, 0x52, 0x60, 0x50, 0x26, 0x98, 0x21, 0x81, 0x13, 0x09, 0x29, 0xab, - 0x94, 0xa7, 0x27, 0xfe, 0x5c, 0x36, 0xf3, 0x07, 0x27, 0x12, 0xce, 0x31, 0x6c, 0x48, 0x53, 0x9e, - 0x51, 0xf1, 0x78, 0x2a, 0xf3, 0x61, 0x25, 0xed, 0xeb, 0x37, 0x06, 0x6c, 0x16, 0x57, 0x5d, 0xf5, - 0xc1, 0xee, 0x3e, 0x58, 0xf2, 0x88, 0xbf, 0x70, 0x99, 0x9e, 0xc2, 0x8a, 0x15, 0xdb, 0xf9, 0x19, - 0xdc, 0xca, 0xec, 0x38, 0xd6, 0x49, 0x51, 0xc6, 0xc3, 0xd9, 0x14, 0x33, 0x0b, 0x29, 0xe6, 0xfc, - 0xc5, 0x80, 0xee, 0xa2, 0x8a, 0x55, 0xbb, 0xbb, 0xf8, 0x63, 0x2d, 0x05, 0xc0, 0xfa, 0xff, 0x00, - 0xfc, 0x04, 0xd0, 0x71, 0xe8, 0x33, 0xa1, 0xff, 0x5c, 0x95, 0xad, 0xbd, 0x72, 0x85, 0x42, 0xed, - 0x95, 0x04, 0x59, 0x9f, 0xfe, 0x60, 0xc0, 0x46, 0x61, 0xfd, 0xf2, 0x8e, 0x3b, 0x60, 0xf9, 0xf4, - 0x4c, 0x24, 0x1f, 0x1f, 0xed, 0xe2, 0x2f, 0x37, 0xac, 0x78, 0xe8, 0x1e, 0x54, 0x23, 0xd6, 0x1f, - 0x88, 0x24, 0xec, 0xf3, 0x42, 0x9a, 0xb9, 0xf3, 0x1d, 0x80, 0xfc, 0xef, 0x19, 0x02, 0xa8, 0xfd, - 0x88, 0x47, 0x23, 0xe2, 0x77, 0x6e, 0xa0, 0x3a, 0x54, 0x0e, 0xf8, 0x79, 0xc7, 0x40, 0x36, 0x58, - 0x5f, 0xb2, 0xfe, 0xa0, 0x63, 0xee, 0x6c, 0x41, 0xbb, 0xf8, 0xcb, 0x0c, 0xd5, 0xc0, 0x3c, 0x7e, - 0xde, 0xb9, 0x21, 0x9f, 0x78, 0xbf, 0x63, 0xec, 0xec, 0x82, 0xf9, 0x32, 0x94, 0x53, 0x8f, 0xc6, - 0x42, 0xaf, 0xf1, 0x84, 0xfa, 0x7a, 0x0d, 0xb9, 0x47, 0x3b, 0x26, 0x6a, 0x81, 0x9d, 0x5e, 0x5e, - 0x75, 0x2a, 0x8f, 0x77, 0xfe, 0xf5, 0xee, 0x8e, 0xf1, 0xef, 0x77, 0x77, 0x8c, 0xff, 0xbc, 0xbb, - 0x63, 0xfc, 0xf9, 0xbf, 0x77, 0x6e, 0x40, 0xd7, 0xe3, 0xa3, 0xdd, 0x90, 0x05, 0x7d, 0x8f, 0x84, - 0xbb, 0x82, 0x0d, 0x27, 0xbb, 0xc3, 0x89, 0xfa, 0x05, 0x7b, 0x5a, 0x53, 0x8f, 0xcf, 0xfe, 0x17, - 0x00, 0x00, 0xff, 0xff, 0xe4, 0xf3, 0xe7, 0xaf, 0xd6, 0x1d, 0x00, 0x00, + // 1922 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0x51, 0x8f, 0x1b, 0x49, + 0x11, 0xce, 0xd8, 0x63, 0x7b, 0x5c, 0xf6, 0x7a, 0x7d, 0xbd, 0x9b, 0x8b, 0xb9, 0x70, 0xc9, 0xde, + 0x70, 0x51, 0x36, 0x8b, 0xd8, 0x88, 0xbd, 0x13, 0x4f, 0x08, 0x9d, 0xb2, 0x09, 0xb9, 0x5c, 0x76, + 0xc9, 0xaa, 0x77, 0x95, 0x53, 0x24, 0xc0, 0xf4, 0x8e, 0x7b, 0xed, 0x91, 0xc7, 0xd3, 0x93, 0x99, + 0xb6, 0x77, 0x47, 0x08, 0x21, 0x84, 0x0e, 0x09, 0xde, 0x40, 0x48, 0xf0, 0x00, 0x0f, 0xbc, 0x20, + 0xf1, 0x1b, 0xf8, 0x03, 0x3c, 0xf2, 0x13, 0x50, 0xf8, 0x23, 0xa8, 0x6b, 0x7a, 0x3c, 0x1e, 0xdb, + 0x4b, 0x56, 0x83, 0xb3, 0x3c, 0x79, 0xba, 0xaa, 0xba, 0xab, 0xbe, 0xaa, 0xea, 0xaa, 0xee, 0x36, + 0xac, 0x0d, 0x27, 0x61, 0xe0, 0x04, 0xa7, 0xbb, 0x41, 0x28, 0xa4, 0x20, 0x35, 0x3d, 0xfc, 0xa0, + 0x39, 0xe2, 0x92, 0xa5, 0xe4, 0x0f, 0xd6, 0x78, 0x18, 0x8a, 0x70, 0x3a, 0xdc, 0xec, 0x8b, 0xbe, + 0xc0, 0xcf, 0x87, 0xea, 0x2b, 0xa1, 0xda, 0x3f, 0x03, 0xeb, 0x40, 0x38, 0xc3, 0x67, 0xfe, 0x99, + 0x20, 0x1f, 0x41, 0x33, 0x08, 0xdd, 0x11, 0x0b, 0xe3, 0xae, 0x27, 0x9c, 0x61, 0xc7, 0xd8, 0x32, + 0xb6, 0x9b, 0xb4, 0xa1, 0x69, 0x4a, 0x4c, 0x89, 0x28, 0x56, 0x77, 0xc2, 0xc3, 0xc8, 0x15, 0x7e, + 0xa7, 0xb4, 0x65, 0x6c, 0x9b, 0xb4, 0xa1, 0x68, 0x2f, 0x13, 0x12, 0x69, 0x43, 0x79, 0xc8, 0xe3, + 0x4e, 0x19, 0x27, 0xab, 0x4f, 0xf2, 0x35, 0xb0, 0x70, 0x92, 0x94, 0x5e, 0xc7, 0xc4, 0x09, 0x35, + 0x35, 0x3e, 0x91, 0x9e, 0xed, 0x82, 0xf5, 0x9c, 0xc7, 0x4f, 0x94, 0xa1, 0xe4, 0x01, 0x54, 0x15, + 0x99, 0xf7, 0x50, 0x71, 0x63, 0xef, 0xbd, 0xdd, 0x14, 0x66, 0x6a, 0x21, 0xd5, 0x02, 0xe4, 0xeb, + 0x50, 0x0f, 0xb9, 0x0c, 0x63, 0x76, 0xea, 0x71, 0xb4, 0xa1, 0x4e, 0x33, 0x02, 0xd9, 0x84, 0x0a, + 0x3b, 0x15, 0xa1, 0x44, 0x1b, 0xea, 0x34, 0x19, 0xd8, 0x7f, 0x2e, 0x43, 0x6d, 0x5f, 0xf8, 0x92, + 0x5f, 0x48, 0x72, 0x5b, 0xcd, 0xef, 0xbb, 0xc2, 0xef, 0xba, 0x89, 0x36, 0x93, 0x5a, 0x09, 0xe1, + 0x59, 0x8f, 0x7c, 0x07, 0x9a, 0x9a, 0xc9, 0x03, 0xe1, 0x0c, 0x70, 0xfd, 0xc6, 0xde, 0xc6, 0xae, + 0x76, 0x2e, 0x45, 0xde, 0x13, 0xc5, 0xa2, 0x8d, 0x30, 0x1b, 0x90, 0x2d, 0x30, 0x03, 0xce, 0x43, + 0xd4, 0xda, 0xd8, 0x6b, 0xa6, 0xf2, 0x47, 0x9c, 0x87, 0x14, 0x39, 0x84, 0x80, 0x29, 0x79, 0x38, + 0xea, 0x54, 0x50, 0x23, 0x7e, 0x93, 0x87, 0x60, 0x05, 0xa1, 0x2b, 0x42, 0x57, 0xc6, 0x9d, 0xea, + 0x96, 0xb1, 0xdd, 0xda, 0xdb, 0x98, 0xe2, 0xde, 0x17, 0xa3, 0x11, 0xf3, 0x7b, 0x47, 0xa1, 0x4b, + 0xa7, 0x42, 0xe4, 0x33, 0x58, 0x77, 0x23, 0xe1, 0x31, 0xa9, 0x2c, 0xf4, 0xf8, 0x84, 0x7b, 0x9d, + 0x1a, 0xce, 0xbb, 0x35, 0x9d, 0xf7, 0x2c, 0xe5, 0x1f, 0x28, 0x36, 0x6d, 0xb9, 0xb9, 0x31, 0xf9, + 0x18, 0x5a, 0xbe, 0x90, 0xdd, 0x33, 0xd7, 0xf3, 0xba, 0x0e, 0x73, 0x06, 0xbc, 0x63, 0x6d, 0x19, + 0xdb, 0x16, 0x6d, 0xfa, 0x42, 0x7e, 0xdf, 0xf5, 0xbc, 0x7d, 0x45, 0x53, 0x51, 0x8b, 0x62, 0xdf, + 0xe9, 0x7a, 0xa2, 0xdf, 0xa9, 0x23, 0xbf, 0xa6, 0xc6, 0x07, 0xa2, 0x4f, 0xee, 0x42, 0x63, 0xc0, + 0xfc, 0x9e, 0xc7, 0xbb, 0xd2, 0x1d, 0xf1, 0x0e, 0x20, 0x17, 0x12, 0xd2, 0x89, 0x3b, 0xe2, 0x4a, + 0x20, 0x72, 0x98, 0xdf, 0xed, 0x71, 0xc9, 0x5c, 0xaf, 0xd3, 0x48, 0x04, 0x14, 0xe9, 0x31, 0x52, + 0xbe, 0x30, 0x2d, 0xb3, 0x5d, 0x51, 0xee, 0x63, 0xbd, 0xee, 0xeb, 0xb1, 0x08, 0xc7, 0x23, 0xfb, + 0x31, 0xc0, 0xe7, 0xd9, 0x0a, 0xb7, 0xa0, 0x76, 0xce, 0x5c, 0xd9, 0x1d, 0x45, 0x18, 0x9f, 0x32, + 0xad, 0xaa, 0xe1, 0x61, 0x44, 0x3e, 0x04, 0x08, 0x42, 0xe1, 0xf0, 0x28, 0x52, 0xbc, 0x12, 0xf2, + 0xea, 0x9a, 0x72, 0x18, 0xd9, 0xdf, 0x03, 0xeb, 0xd8, 0x61, 0x3e, 0xe6, 0xf3, 0x26, 0x54, 0xa4, + 0x90, 0xcc, 0xd3, 0x2b, 0x24, 0x03, 0x95, 0x3b, 0x5a, 0x9c, 0xf7, 0xe6, 0xe6, 0xf3, 0x9e, 0xfd, + 0x4b, 0x03, 0xe0, 0x78, 0x6a, 0x27, 0xb9, 0x0f, 0x95, 0xf3, 0xd0, 0x95, 0x7c, 0x21, 0x25, 0x53, + 0x25, 0x34, 0xe1, 0x93, 0x7b, 0x60, 0xe2, 0x9e, 0x29, 0x5d, 0x26, 0x87, 0x6c, 0x25, 0xd6, 0x63, + 0x92, 0xe9, 0x1c, 0x59, 0x26, 0xa6, 0xd8, 0x76, 0x0c, 0x8d, 0x27, 0x17, 0xdc, 0x49, 0x8c, 0x88, + 0xc8, 0xa7, 0x79, 0x7f, 0x1b, 0x3a, 0x21, 0xd3, 0xc9, 0x99, 0xdb, 0x72, 0x41, 0xf8, 0x34, 0x1f, + 0x84, 0xd2, 0xdc, 0xac, 0x0c, 0xe5, 0x6c, 0x64, 0xec, 0x1e, 0xc0, 0x53, 0x2e, 0x29, 0x7f, 0x3d, + 0xe6, 0x91, 0x24, 0x3b, 0x50, 0x73, 0x92, 0x3d, 0xa3, 0xb5, 0xb6, 0x67, 0x92, 0x13, 0xe9, 0x34, + 0x15, 0x48, 0x37, 0x7e, 0x29, 0xdb, 0xf8, 0x1d, 0xa8, 0xa5, 0x85, 0xa2, 0x9c, 0xec, 0x7b, 0x3d, + 0xb4, 0x7f, 0x0e, 0x0d, 0xd4, 0x12, 0x05, 0xc2, 0x8f, 0x38, 0xf9, 0x76, 0xb6, 0xe5, 0x54, 0x29, + 0xd0, 0xba, 0x5a, 0xbb, 0x69, 0x05, 0xc3, 0x02, 0x31, 0xdd, 0x6d, 0x58, 0x2d, 0xee, 0x43, 0x25, + 0x91, 0x9d, 0xf7, 0x78, 0x5a, 0x4f, 0x68, 0xc2, 0x57, 0x59, 0x30, 0x61, 0xde, 0x98, 0xeb, 0x8a, + 0x94, 0x0c, 0xec, 0xbf, 0x18, 0xd0, 0x50, 0x1e, 0x28, 0x02, 0xf4, 0x36, 0xd4, 0x23, 0xc9, 0x42, + 0xd9, 0xcd, 0xe0, 0x5a, 0x48, 0x78, 0xce, 0x63, 0xa5, 0xce, 0x73, 0x47, 0x6e, 0x52, 0x7c, 0xd6, + 0x68, 0x32, 0x98, 0xf5, 0x84, 0x99, 0xf3, 0x84, 0xda, 0x66, 0x43, 0x1e, 0x77, 0x85, 0xef, 0xc5, + 0x58, 0x17, 0x2c, 0x5a, 0x1b, 0xf2, 0xf8, 0x85, 0xef, 0xc5, 0xf6, 0x2b, 0xa8, 0x3e, 0x9f, 0x1c, + 0x31, 0x77, 0x06, 0xac, 0xf1, 0x16, 0xb0, 0x8b, 0x31, 0x58, 0x0e, 0x7f, 0x00, 0xcd, 0x04, 0x7d, + 0xf1, 0x00, 0xdc, 0x83, 0x4a, 0xc0, 0xdc, 0x50, 0xed, 0xc1, 0xf2, 0x76, 0x63, 0x6f, 0x3d, 0xb3, + 0x09, 0x6d, 0xa6, 0x09, 0xd7, 0x7e, 0x01, 0xd6, 0xe1, 0x58, 0x62, 0xf5, 0x21, 0xb7, 0xa1, 0x24, + 0x02, 0x5c, 0xbb, 0xb5, 0xd7, 0x98, 0xca, 0xbf, 0x08, 0x68, 0x49, 0x04, 0x57, 0x36, 0xfd, 0xab, + 0x12, 0xac, 0x1f, 0x85, 0x1c, 0xb7, 0x5d, 0x91, 0xe8, 0x3d, 0x84, 0xfa, 0x48, 0x1b, 0x94, 0xda, + 0x9e, 0xf9, 0x33, 0x35, 0x95, 0x66, 0x32, 0x0b, 0x6d, 0xb1, 0xbc, 0xd8, 0x16, 0xbf, 0x01, 0x6b, + 0x49, 0x46, 0xe4, 0x83, 0xdc, 0x44, 0xe2, 0xcb, 0x2c, 0xd2, 0xd3, 0x36, 0x58, 0xc9, 0xb5, 0x41, + 0xb2, 0x07, 0x37, 0xa3, 0xa1, 0x1b, 0x74, 0x1d, 0xe1, 0x47, 0x32, 0x64, 0xae, 0x2f, 0xbb, 0xce, + 0x80, 0x3b, 0x43, 0xec, 0x08, 0x16, 0xdd, 0x50, 0xcc, 0xfd, 0x29, 0x6f, 0x5f, 0xb1, 0xec, 0x00, + 0xda, 0x99, 0x1b, 0x8a, 0x87, 0xf1, 0x01, 0x54, 0x91, 0xbb, 0xe8, 0x8b, 0x69, 0x6e, 0x69, 0x01, + 0xfb, 0x6f, 0x06, 0xac, 0xa9, 0x96, 0xe4, 0x16, 0x2a, 0x0f, 0x0b, 0x3e, 0x2a, 0x2d, 0xf1, 0x11, + 0x01, 0x73, 0xc8, 0xe3, 0xa8, 0x53, 0xde, 0x2a, 0x6f, 0x37, 0x29, 0x7e, 0x93, 0x7b, 0xd0, 0x72, + 0x50, 0xeb, 0x9c, 0x77, 0xd7, 0x12, 0xaa, 0x9e, 0xfa, 0x85, 0x69, 0x55, 0xda, 0x55, 0x5a, 0x3d, + 0x75, 0x7d, 0x4f, 0xf4, 0x6d, 0x0f, 0x5a, 0xa9, 0xa9, 0xef, 0xbe, 0xc6, 0xd8, 0x7d, 0x58, 0x7b, + 0x36, 0x0a, 0x44, 0x38, 0x75, 0x4c, 0x2e, 0xc9, 0x8c, 0x2b, 0x24, 0xd9, 0x22, 0xc8, 0xd2, 0x12, + 0x90, 0xf6, 0x2b, 0x68, 0xa5, 0x8a, 0x8a, 0xc3, 0xda, 0x9c, 0x85, 0x55, 0x4f, 0x31, 0xfc, 0x14, + 0x36, 0x1f, 0x31, 0xe9, 0x0c, 0xa8, 0xf0, 0xbc, 0x53, 0xe6, 0x0c, 0xaf, 0x33, 0xc6, 0x76, 0x04, + 0x37, 0xe7, 0x94, 0x5f, 0x43, 0xd4, 0x22, 0x68, 0xed, 0x7b, 0x9c, 0xf9, 0xe3, 0x60, 0x35, 0xed, + 0x6e, 0x01, 0x7d, 0x79, 0x11, 0xbd, 0xfd, 0x7b, 0x03, 0xd6, 0xa7, 0x5a, 0xaf, 0xa1, 0xfd, 0x2d, + 0x26, 0x56, 0x79, 0x59, 0x62, 0x0d, 0x61, 0x1d, 0x03, 0x50, 0xb0, 0xf7, 0xa7, 0x31, 0x2d, 0xcd, + 0xec, 0xdb, 0xcb, 0xbb, 0xbf, 0x07, 0xed, 0x4c, 0xd9, 0x3b, 0xef, 0x40, 0xbf, 0x35, 0x60, 0x5d, + 0x35, 0x3b, 0x55, 0xa9, 0x8b, 0x60, 0xbb, 0x0b, 0x8d, 0x11, 0xbb, 0x98, 0x4b, 0x69, 0x18, 0xb1, + 0x8b, 0x34, 0xa1, 0x73, 0xe7, 0x81, 0xf2, 0x65, 0xe7, 0x01, 0x73, 0xe6, 0x3c, 0x60, 0xff, 0xc1, + 0x80, 0x76, 0x66, 0xd3, 0x35, 0xa4, 0xc1, 0x7d, 0xa8, 0xa8, 0x66, 0x93, 0xec, 0xba, 0xa5, 0x77, + 0xab, 0x84, 0x6f, 0x7f, 0x02, 0xb5, 0x93, 0x8b, 0xe4, 0xfc, 0xdc, 0x86, 0xb2, 0xbc, 0xf0, 0xf5, + 0xfd, 0x48, 0x7d, 0x92, 0xf7, 0xa1, 0x1a, 0x49, 0x26, 0xc7, 0x91, 0xf6, 0x82, 0x1e, 0xd9, 0x7f, + 0x37, 0x80, 0x50, 0x1e, 0x09, 0x6f, 0xc2, 0x8b, 0x7a, 0xf9, 0x4a, 0xa5, 0xe3, 0x6a, 0xc9, 0x4c, + 0xbe, 0x05, 0x75, 0x79, 0xe1, 0x77, 0x5d, 0xff, 0x4c, 0x44, 0x1d, 0x13, 0x01, 0x67, 0x9a, 0x35, + 0x3a, 0x6a, 0xc9, 0xe4, 0x23, 0xb2, 0x5f, 0xc3, 0x46, 0xce, 0xf8, 0x6b, 0x28, 0x3d, 0x2f, 0xa1, + 0xfe, 0x74, 0xbf, 0x88, 0x9b, 0x3e, 0x04, 0x88, 0xd8, 0x19, 0xef, 0x06, 0xc2, 0xf5, 0xa5, 0xf6, + 0x51, 0x5d, 0x51, 0x8e, 0x14, 0xc1, 0x1e, 0x00, 0xa8, 0x75, 0xaf, 0x01, 0xc1, 0x21, 0xac, 0x51, + 0x76, 0xbe, 0xaa, 0xab, 0x82, 0x2d, 0xa0, 0x95, 0x2e, 0xb7, 0xe2, 0xc6, 0x76, 0xc9, 0x31, 0xd2, + 0x41, 0xfb, 0x8f, 0xc6, 0x2b, 0xba, 0xea, 0x2c, 0x57, 0xf2, 0x0a, 0x51, 0xa1, 0x92, 0x55, 0xb7, + 0xeb, 0x3e, 0x10, 0xca, 0xce, 0xb1, 0x8c, 0x16, 0x04, 0x71, 0xc5, 0xf2, 0xf9, 0x63, 0xd8, 0xc8, + 0x29, 0x5a, 0x35, 0x90, 0x93, 0x0c, 0xc8, 0xea, 0x9a, 0x8f, 0x2d, 0x32, 0xab, 0xaf, 0xa7, 0xcb, + 0x1c, 0x41, 0x9b, 0xb2, 0xf3, 0xc7, 0xdc, 0xe3, 0xc5, 0xae, 0x25, 0x8b, 0x5b, 0xe2, 0x87, 0xf0, + 0xde, 0xcc, 0x8a, 0xab, 0x76, 0xfb, 0x97, 0x70, 0x33, 0x75, 0x50, 0x71, 0xa3, 0x97, 0x79, 0x9e, + 0xc1, 0xfb, 0xf3, 0x0b, 0xaf, 0xda, 0xf6, 0x09, 0x10, 0xbd, 0x34, 0xf3, 0xfb, 0x7c, 0xe5, 0x57, + 0xf8, 0x5b, 0x50, 0xe3, 0x7e, 0x6f, 0xa6, 0x9b, 0x57, 0xb9, 0xdf, 0x7b, 0xce, 0x63, 0xb5, 0x15, + 0x72, 0x7a, 0x57, 0x8d, 0x2b, 0xc6, 0x98, 0xfc, 0x5f, 0xa0, 0x25, 0x51, 0x7b, 0xa7, 0xe8, 0x7e, + 0x63, 0x60, 0x35, 0xbc, 0xc6, 0x57, 0x97, 0xd9, 0xb7, 0x15, 0x33, 0xff, 0xb6, 0xd2, 0x87, 0xf5, + 0xa9, 0x2d, 0xc5, 0x81, 0x7e, 0x04, 0xe5, 0xe1, 0xe4, 0xd2, 0xca, 0xa0, 0x78, 0xf6, 0x67, 0xf8, + 0xc2, 0x8d, 0x2e, 0xcd, 0x43, 0x30, 0x2e, 0x0f, 0x4d, 0x29, 0x17, 0x9a, 0xbf, 0x1a, 0x59, 0x2d, + 0x2b, 0xea, 0xbc, 0x07, 0x50, 0x0d, 0x95, 0x09, 0x4b, 0x6f, 0xf9, 0x49, 0xbc, 0xb5, 0x80, 0x3a, + 0x61, 0x70, 0xe6, 0x0c, 0xba, 0xb3, 0xfe, 0xac, 0x2b, 0xca, 0xc1, 0xdb, 0x7c, 0xea, 0xc1, 0x66, + 0xde, 0xce, 0x77, 0xea, 0xd8, 0xaf, 0x0c, 0xa8, 0x1f, 0x4e, 0x1c, 0xe7, 0x4b, 0x7c, 0x7f, 0xbd, + 0x0b, 0xa6, 0x8c, 0x03, 0xbe, 0xec, 0x71, 0x09, 0x19, 0xf8, 0x9c, 0x8d, 0xbe, 0x97, 0xe9, 0xe1, + 0xb5, 0x86, 0xe3, 0x93, 0x48, 0x85, 0x45, 0x9f, 0x2a, 0x65, 0xa4, 0x0f, 0x94, 0x56, 0x42, 0x38, + 0x89, 0xf0, 0x29, 0x7b, 0x20, 0xd4, 0xb9, 0x14, 0xdb, 0xbb, 0x89, 0xa1, 0x01, 0x24, 0xbd, 0xc4, + 0x1e, 0xff, 0xdd, 0xc4, 0x0c, 0x1c, 0xe4, 0xb4, 0x18, 0x79, 0x2d, 0xd3, 0x13, 0x42, 0x69, 0xf6, + 0x84, 0xf0, 0x0b, 0x03, 0x2c, 0x35, 0x1d, 0x9f, 0x91, 0xfe, 0x17, 0x10, 0x1d, 0xa8, 0xe9, 0x17, + 0x29, 0xbd, 0xb3, 0xd3, 0xe1, 0xdb, 0x11, 0xfc, 0x5a, 0xdb, 0x80, 0x87, 0xfe, 0xf4, 0x21, 0x7b, + 0xfe, 0xa5, 0x31, 0x35, 0x52, 0x3f, 0x64, 0xef, 0x40, 0x15, 0x9f, 0x9e, 0xd2, 0x18, 0x91, 0x9c, + 0x20, 0xc6, 0x84, 0x6a, 0x09, 0x25, 0x8b, 0xaa, 0xd3, 0xcb, 0x47, 0x5e, 0x16, 0x6d, 0xa0, 0x5a, + 0xc2, 0x3e, 0x86, 0x0d, 0x45, 0x7c, 0xca, 0xe5, 0xa3, 0x58, 0xa5, 0xe6, 0x4a, 0x3a, 0xe9, 0xaf, + 0x0c, 0xd8, 0xcc, 0xaf, 0xba, 0xea, 0x33, 0xe6, 0x3d, 0x30, 0xd5, 0x6d, 0x63, 0xe1, 0x5d, 0x3f, + 0x75, 0x2b, 0x45, 0xb6, 0xfd, 0x13, 0xb8, 0x35, 0xb5, 0xe3, 0x38, 0x09, 0x5c, 0x11, 0x84, 0x97, + 0xa7, 0x81, 0xfd, 0x27, 0x03, 0x3a, 0x8b, 0x2a, 0x56, 0x0d, 0x77, 0xf1, 0x3f, 0xbe, 0xd4, 0x01, + 0xe6, 0x7f, 0x77, 0xc0, 0x8f, 0x80, 0x1c, 0x07, 0x9e, 0x2b, 0x93, 0x3f, 0xd1, 0x8a, 0xb6, 0x01, + 0xb5, 0x42, 0xae, 0x0d, 0x28, 0x82, 0x2a, 0x95, 0xbf, 0x33, 0x60, 0x23, 0xb7, 0x7e, 0x71, 0xe0, + 0x36, 0x98, 0x1e, 0x3f, 0x93, 0xfa, 0x1e, 0xd4, 0xca, 0xff, 0xfb, 0x47, 0x91, 0x47, 0x3e, 0x86, + 0x4a, 0xe8, 0xf6, 0x07, 0x52, 0x87, 0x7d, 0x5e, 0x28, 0x61, 0xee, 0x7c, 0x13, 0x20, 0xfb, 0x23, + 0x8f, 0x00, 0x54, 0x7f, 0x20, 0xc2, 0x11, 0xf3, 0xda, 0x37, 0x48, 0x0d, 0xca, 0x07, 0xe2, 0xbc, + 0x6d, 0x10, 0x0b, 0xcc, 0xcf, 0xdd, 0xfe, 0xa0, 0x5d, 0xda, 0xd9, 0x82, 0x56, 0xfe, 0xdf, 0x3b, + 0x52, 0x85, 0xd2, 0xf1, 0xb3, 0xf6, 0x0d, 0xf5, 0x4b, 0xf7, 0xdb, 0xc6, 0xce, 0x2e, 0x94, 0x5e, + 0x04, 0x6a, 0xea, 0xd1, 0x58, 0x26, 0x6b, 0x3c, 0xe6, 0x5e, 0xb2, 0x86, 0xda, 0x9f, 0xed, 0x12, + 0x69, 0x82, 0x95, 0xbe, 0xa3, 0xb5, 0xcb, 0x8f, 0x76, 0xfe, 0xf1, 0xe6, 0x8e, 0xf1, 0xcf, 0x37, + 0x77, 0x8c, 0x7f, 0xbd, 0xb9, 0x63, 0xfc, 0xf1, 0xdf, 0x77, 0x6e, 0x40, 0xc7, 0x11, 0xa3, 0xdd, + 0xc0, 0xf5, 0xfb, 0x0e, 0x0b, 0x76, 0xa5, 0x3b, 0x9c, 0xec, 0x0e, 0x27, 0xf8, 0x6f, 0xf0, 0x69, + 0x15, 0x7f, 0x3e, 0xf9, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe2, 0x8f, 0x9a, 0x77, 0x61, 0x1e, + 0x00, 0x00, } diff --git a/proto/kvrpcpb.proto b/proto/kvrpcpb.proto index 167e5eeb8..855569014 100644 --- a/proto/kvrpcpb.proto +++ b/proto/kvrpcpb.proto @@ -342,22 +342,29 @@ message RawBatchScanResponse { repeated KvPair kvs = 2; } -message WriteInfo { - uint64 start_ts = 1; - Op type = 2; +message MvccWrite { + Op type = 1; + uint64 start_ts = 2; uint64 commit_ts = 3; + bytes short_value = 4; +} + +message MvccValue { + uint64 start_ts = 1; + bytes value = 2; } -message ValueInfo { - bytes value = 1; - uint64 ts = 2; - bool is_short_value = 3; +message MvccLock { + Op type = 1; + uint64 start_ts = 2; + bytes primary = 3; + bytes short_value = 4; } message MvccInfo { - LockInfo lock = 1; - repeated WriteInfo writes = 2; - repeated ValueInfo values = 3; + MvccLock lock = 1; + repeated MvccWrite writes = 2; + repeated MvccValue values = 3; } message MvccGetByKeyRequest { diff --git a/src/kvrpcpb.rs b/src/kvrpcpb.rs index c9343d9ff..fc20df8ab 100644 --- a/src/kvrpcpb.rs +++ b/src/kvrpcpb.rs @@ -14754,78 +14754,79 @@ impl ::protobuf::reflect::ProtobufValue for RawBatchScanResponse { } #[derive(PartialEq,Clone,Default)] -pub struct WriteInfo { +pub struct MvccWrite { // message fields - pub start_ts: u64, pub field_type: Op, + pub start_ts: u64, pub commit_ts: u64, + pub short_value: ::std::vec::Vec, // special fields unknown_fields: ::protobuf::UnknownFields, cached_size: ::protobuf::CachedSize, } // see codegen.rs for the explanation why impl Sync explicitly -unsafe impl ::std::marker::Sync for WriteInfo {} +unsafe impl ::std::marker::Sync for MvccWrite {} -impl WriteInfo { - pub fn new() -> WriteInfo { +impl MvccWrite { + pub fn new() -> MvccWrite { ::std::default::Default::default() } - pub fn default_instance() -> &'static WriteInfo { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { + pub fn default_instance() -> &'static MvccWrite { + static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const WriteInfo, + ptr: 0 as *const MvccWrite, }; unsafe { - instance.get(WriteInfo::new) + instance.get(MvccWrite::new) } } - // uint64 start_ts = 1; + // .kvrpcpb.Op type = 1; - pub fn clear_start_ts(&mut self) { - self.start_ts = 0; + pub fn clear_field_type(&mut self) { + self.field_type = Op::Put; } // Param is passed by value, moved - pub fn set_start_ts(&mut self, v: u64) { - self.start_ts = v; + pub fn set_field_type(&mut self, v: Op) { + self.field_type = v; } - pub fn get_start_ts(&self) -> u64 { - self.start_ts + pub fn get_field_type(&self) -> Op { + self.field_type } - fn get_start_ts_for_reflect(&self) -> &u64 { - &self.start_ts + fn get_field_type_for_reflect(&self) -> &Op { + &self.field_type } - fn mut_start_ts_for_reflect(&mut self) -> &mut u64 { - &mut self.start_ts + fn mut_field_type_for_reflect(&mut self) -> &mut Op { + &mut self.field_type } - // .kvrpcpb.Op type = 2; + // uint64 start_ts = 2; - pub fn clear_field_type(&mut self) { - self.field_type = Op::Put; + pub fn clear_start_ts(&mut self) { + self.start_ts = 0; } // Param is passed by value, moved - pub fn set_field_type(&mut self, v: Op) { - self.field_type = v; + pub fn set_start_ts(&mut self, v: u64) { + self.start_ts = v; } - pub fn get_field_type(&self) -> Op { - self.field_type + pub fn get_start_ts(&self) -> u64 { + self.start_ts } - fn get_field_type_for_reflect(&self) -> &Op { - &self.field_type + fn get_start_ts_for_reflect(&self) -> &u64 { + &self.start_ts } - fn mut_field_type_for_reflect(&mut self) -> &mut Op { - &mut self.field_type + fn mut_start_ts_for_reflect(&mut self) -> &mut u64 { + &mut self.start_ts } // uint64 commit_ts = 3; @@ -14850,9 +14851,43 @@ impl WriteInfo { fn mut_commit_ts_for_reflect(&mut self) -> &mut u64 { &mut self.commit_ts } + + // bytes short_value = 4; + + pub fn clear_short_value(&mut self) { + self.short_value.clear(); + } + + // Param is passed by value, moved + pub fn set_short_value(&mut self, v: ::std::vec::Vec) { + self.short_value = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_short_value(&mut self) -> &mut ::std::vec::Vec { + &mut self.short_value + } + + // Take field + pub fn take_short_value(&mut self) -> ::std::vec::Vec { + ::std::mem::replace(&mut self.short_value, ::std::vec::Vec::new()) + } + + pub fn get_short_value(&self) -> &[u8] { + &self.short_value + } + + fn get_short_value_for_reflect(&self) -> &::std::vec::Vec { + &self.short_value + } + + fn mut_short_value_for_reflect(&mut self) -> &mut ::std::vec::Vec { + &mut self.short_value + } } -impl ::protobuf::Message for WriteInfo { +impl ::protobuf::Message for MvccWrite { fn is_initialized(&self) -> bool { true } @@ -14865,15 +14900,15 @@ impl ::protobuf::Message for WriteInfo { if wire_type != ::protobuf::wire_format::WireTypeVarint { return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); } - let tmp = is.read_uint64()?; - self.start_ts = tmp; + let tmp = is.read_enum()?; + self.field_type = tmp; }, 2 => { if wire_type != ::protobuf::wire_format::WireTypeVarint { return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); } - let tmp = is.read_enum()?; - self.field_type = tmp; + let tmp = is.read_uint64()?; + self.start_ts = tmp; }, 3 => { if wire_type != ::protobuf::wire_format::WireTypeVarint { @@ -14882,6 +14917,9 @@ impl ::protobuf::Message for WriteInfo { let tmp = is.read_uint64()?; self.commit_ts = tmp; }, + 4 => { + ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.short_value)?; + }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -14894,30 +14932,36 @@ impl ::protobuf::Message for WriteInfo { #[allow(unused_variables)] fn compute_size(&self) -> u32 { let mut my_size = 0; - if self.start_ts != 0 { - my_size += ::protobuf::rt::value_size(1, self.start_ts, ::protobuf::wire_format::WireTypeVarint); - } if self.field_type != Op::Put { - my_size += ::protobuf::rt::enum_size(2, self.field_type); + my_size += ::protobuf::rt::enum_size(1, self.field_type); + } + if self.start_ts != 0 { + my_size += ::protobuf::rt::value_size(2, self.start_ts, ::protobuf::wire_format::WireTypeVarint); } if self.commit_ts != 0 { my_size += ::protobuf::rt::value_size(3, self.commit_ts, ::protobuf::wire_format::WireTypeVarint); } + if !self.short_value.is_empty() { + my_size += ::protobuf::rt::bytes_size(4, &self.short_value); + } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { - if self.start_ts != 0 { - os.write_uint64(1, self.start_ts)?; - } if self.field_type != Op::Put { - os.write_enum(2, self.field_type.value())?; + os.write_enum(1, self.field_type.value())?; + } + if self.start_ts != 0 { + os.write_uint64(2, self.start_ts)?; } if self.commit_ts != 0 { os.write_uint64(3, self.commit_ts)?; } + if !self.short_value.is_empty() { + os.write_bytes(4, &self.short_value)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -14949,12 +14993,12 @@ impl ::protobuf::Message for WriteInfo { } } -impl ::protobuf::MessageStatic for WriteInfo { - fn new() -> WriteInfo { - WriteInfo::new() +impl ::protobuf::MessageStatic for MvccWrite { + fn new() -> MvccWrite { + MvccWrite::new() } - fn descriptor_static(_: ::std::option::Option) -> &'static ::protobuf::reflect::MessageDescriptor { + fn descriptor_static(_: ::std::option::Option) -> &'static ::protobuf::reflect::MessageDescriptor { static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { lock: ::protobuf::lazy::ONCE_INIT, ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, @@ -14962,23 +15006,28 @@ impl ::protobuf::MessageStatic for WriteInfo { unsafe { descriptor.get(|| { let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( - "start_ts", - WriteInfo::get_start_ts_for_reflect, - WriteInfo::mut_start_ts_for_reflect, - )); fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( "type", - WriteInfo::get_field_type_for_reflect, - WriteInfo::mut_field_type_for_reflect, + MvccWrite::get_field_type_for_reflect, + MvccWrite::mut_field_type_for_reflect, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( + "start_ts", + MvccWrite::get_start_ts_for_reflect, + MvccWrite::mut_start_ts_for_reflect, )); fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( "commit_ts", - WriteInfo::get_commit_ts_for_reflect, - WriteInfo::mut_commit_ts_for_reflect, + MvccWrite::get_commit_ts_for_reflect, + MvccWrite::mut_commit_ts_for_reflect, )); - ::protobuf::reflect::MessageDescriptor::new::( - "WriteInfo", + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "short_value", + MvccWrite::get_short_value_for_reflect, + MvccWrite::mut_short_value_for_reflect, + )); + ::protobuf::reflect::MessageDescriptor::new::( + "MvccWrite", fields, file_descriptor_proto() ) @@ -14987,57 +15036,80 @@ impl ::protobuf::MessageStatic for WriteInfo { } } -impl ::protobuf::Clear for WriteInfo { +impl ::protobuf::Clear for MvccWrite { fn clear(&mut self) { - self.clear_start_ts(); self.clear_field_type(); + self.clear_start_ts(); self.clear_commit_ts(); + self.clear_short_value(); self.unknown_fields.clear(); } } -impl ::std::fmt::Debug for WriteInfo { +impl ::std::fmt::Debug for MvccWrite { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } -impl ::protobuf::reflect::ProtobufValue for WriteInfo { +impl ::protobuf::reflect::ProtobufValue for MvccWrite { fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { ::protobuf::reflect::ProtobufValueRef::Message(self) } } #[derive(PartialEq,Clone,Default)] -pub struct ValueInfo { +pub struct MvccValue { // message fields + pub start_ts: u64, pub value: ::std::vec::Vec, - pub ts: u64, - pub is_short_value: bool, // special fields unknown_fields: ::protobuf::UnknownFields, cached_size: ::protobuf::CachedSize, } // see codegen.rs for the explanation why impl Sync explicitly -unsafe impl ::std::marker::Sync for ValueInfo {} +unsafe impl ::std::marker::Sync for MvccValue {} -impl ValueInfo { - pub fn new() -> ValueInfo { +impl MvccValue { + pub fn new() -> MvccValue { ::std::default::Default::default() } - pub fn default_instance() -> &'static ValueInfo { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { + pub fn default_instance() -> &'static MvccValue { + static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ValueInfo, + ptr: 0 as *const MvccValue, }; unsafe { - instance.get(ValueInfo::new) + instance.get(MvccValue::new) } } - // bytes value = 1; + // uint64 start_ts = 1; + + pub fn clear_start_ts(&mut self) { + self.start_ts = 0; + } + + // Param is passed by value, moved + pub fn set_start_ts(&mut self, v: u64) { + self.start_ts = v; + } + + pub fn get_start_ts(&self) -> u64 { + self.start_ts + } + + fn get_start_ts_for_reflect(&self) -> &u64 { + &self.start_ts + } + + fn mut_start_ts_for_reflect(&mut self) -> &mut u64 { + &mut self.start_ts + } + + // bytes value = 2; pub fn clear_value(&mut self) { self.value.clear(); @@ -15070,55 +15142,287 @@ impl ValueInfo { fn mut_value_for_reflect(&mut self) -> &mut ::std::vec::Vec { &mut self.value } +} - // uint64 ts = 2; +impl ::protobuf::Message for MvccValue { + fn is_initialized(&self) -> bool { + true + } - pub fn clear_ts(&mut self) { - self.ts = 0; + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + while !is.eof()? { + let (field_number, wire_type) = is.read_tag_unpack()?; + match field_number { + 1 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_uint64()?; + self.start_ts = tmp; + }, + 2 => { + ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.value)?; + }, + _ => { + ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u32 { + let mut my_size = 0; + if self.start_ts != 0 { + my_size += ::protobuf::rt::value_size(1, self.start_ts, ::protobuf::wire_format::WireTypeVarint); + } + if !self.value.is_empty() { + my_size += ::protobuf::rt::bytes_size(2, &self.value); + } + my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); + self.cached_size.set(my_size); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + if self.start_ts != 0 { + os.write_uint64(1, self.start_ts)?; + } + if !self.value.is_empty() { + os.write_bytes(2, &self.value)?; + } + os.write_unknown_fields(self.get_unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn get_cached_size(&self) -> u32 { + self.cached_size.get() + } + + fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { + &self.unknown_fields + } + + fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { + &mut self.unknown_fields + } + + fn as_any(&self) -> &::std::any::Any { + self as &::std::any::Any + } + fn as_any_mut(&mut self) -> &mut ::std::any::Any { + self as &mut ::std::any::Any + } + fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + self + } + + fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { + ::protobuf::MessageStatic::descriptor_static(None::) + } +} + +impl ::protobuf::MessageStatic for MvccValue { + fn new() -> MvccValue { + MvccValue::new() + } + + fn descriptor_static(_: ::std::option::Option) -> &'static ::protobuf::reflect::MessageDescriptor { + static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, + }; + unsafe { + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( + "start_ts", + MvccValue::get_start_ts_for_reflect, + MvccValue::mut_start_ts_for_reflect, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "value", + MvccValue::get_value_for_reflect, + MvccValue::mut_value_for_reflect, + )); + ::protobuf::reflect::MessageDescriptor::new::( + "MvccValue", + fields, + file_descriptor_proto() + ) + }) + } + } +} + +impl ::protobuf::Clear for MvccValue { + fn clear(&mut self) { + self.clear_start_ts(); + self.clear_value(); + self.unknown_fields.clear(); + } +} + +impl ::std::fmt::Debug for MvccValue { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for MvccValue { + fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { + ::protobuf::reflect::ProtobufValueRef::Message(self) + } +} + +#[derive(PartialEq,Clone,Default)] +pub struct MvccLock { + // message fields + pub field_type: Op, + pub start_ts: u64, + pub primary: ::std::vec::Vec, + pub short_value: ::std::vec::Vec, + // special fields + unknown_fields: ::protobuf::UnknownFields, + cached_size: ::protobuf::CachedSize, +} + +// see codegen.rs for the explanation why impl Sync explicitly +unsafe impl ::std::marker::Sync for MvccLock {} + +impl MvccLock { + pub fn new() -> MvccLock { + ::std::default::Default::default() + } + + pub fn default_instance() -> &'static MvccLock { + static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const MvccLock, + }; + unsafe { + instance.get(MvccLock::new) + } + } + + // .kvrpcpb.Op type = 1; + + pub fn clear_field_type(&mut self) { + self.field_type = Op::Put; + } + + // Param is passed by value, moved + pub fn set_field_type(&mut self, v: Op) { + self.field_type = v; + } + + pub fn get_field_type(&self) -> Op { + self.field_type + } + + fn get_field_type_for_reflect(&self) -> &Op { + &self.field_type + } + + fn mut_field_type_for_reflect(&mut self) -> &mut Op { + &mut self.field_type + } + + // uint64 start_ts = 2; + + pub fn clear_start_ts(&mut self) { + self.start_ts = 0; } // Param is passed by value, moved - pub fn set_ts(&mut self, v: u64) { - self.ts = v; + pub fn set_start_ts(&mut self, v: u64) { + self.start_ts = v; } - pub fn get_ts(&self) -> u64 { - self.ts + pub fn get_start_ts(&self) -> u64 { + self.start_ts } - fn get_ts_for_reflect(&self) -> &u64 { - &self.ts + fn get_start_ts_for_reflect(&self) -> &u64 { + &self.start_ts } - fn mut_ts_for_reflect(&mut self) -> &mut u64 { - &mut self.ts + fn mut_start_ts_for_reflect(&mut self) -> &mut u64 { + &mut self.start_ts } - // bool is_short_value = 3; + // bytes primary = 3; - pub fn clear_is_short_value(&mut self) { - self.is_short_value = false; + pub fn clear_primary(&mut self) { + self.primary.clear(); } // Param is passed by value, moved - pub fn set_is_short_value(&mut self, v: bool) { - self.is_short_value = v; + pub fn set_primary(&mut self, v: ::std::vec::Vec) { + self.primary = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_primary(&mut self) -> &mut ::std::vec::Vec { + &mut self.primary + } + + // Take field + pub fn take_primary(&mut self) -> ::std::vec::Vec { + ::std::mem::replace(&mut self.primary, ::std::vec::Vec::new()) + } + + pub fn get_primary(&self) -> &[u8] { + &self.primary + } + + fn get_primary_for_reflect(&self) -> &::std::vec::Vec { + &self.primary } - pub fn get_is_short_value(&self) -> bool { - self.is_short_value + fn mut_primary_for_reflect(&mut self) -> &mut ::std::vec::Vec { + &mut self.primary } - fn get_is_short_value_for_reflect(&self) -> &bool { - &self.is_short_value + // bytes short_value = 4; + + pub fn clear_short_value(&mut self) { + self.short_value.clear(); } - fn mut_is_short_value_for_reflect(&mut self) -> &mut bool { - &mut self.is_short_value + // Param is passed by value, moved + pub fn set_short_value(&mut self, v: ::std::vec::Vec) { + self.short_value = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_short_value(&mut self) -> &mut ::std::vec::Vec { + &mut self.short_value + } + + // Take field + pub fn take_short_value(&mut self) -> ::std::vec::Vec { + ::std::mem::replace(&mut self.short_value, ::std::vec::Vec::new()) + } + + pub fn get_short_value(&self) -> &[u8] { + &self.short_value + } + + fn get_short_value_for_reflect(&self) -> &::std::vec::Vec { + &self.short_value + } + + fn mut_short_value_for_reflect(&mut self) -> &mut ::std::vec::Vec { + &mut self.short_value } } -impl ::protobuf::Message for ValueInfo { +impl ::protobuf::Message for MvccLock { fn is_initialized(&self) -> bool { true } @@ -15128,21 +15432,24 @@ impl ::protobuf::Message for ValueInfo { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { 1 => { - ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.value)?; + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_enum()?; + self.field_type = tmp; }, 2 => { if wire_type != ::protobuf::wire_format::WireTypeVarint { return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); } let tmp = is.read_uint64()?; - self.ts = tmp; + self.start_ts = tmp; }, 3 => { - if wire_type != ::protobuf::wire_format::WireTypeVarint { - return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); - } - let tmp = is.read_bool()?; - self.is_short_value = tmp; + ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.primary)?; + }, + 4 => { + ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.short_value)?; }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; @@ -15156,14 +15463,17 @@ impl ::protobuf::Message for ValueInfo { #[allow(unused_variables)] fn compute_size(&self) -> u32 { let mut my_size = 0; - if !self.value.is_empty() { - my_size += ::protobuf::rt::bytes_size(1, &self.value); + if self.field_type != Op::Put { + my_size += ::protobuf::rt::enum_size(1, self.field_type); + } + if self.start_ts != 0 { + my_size += ::protobuf::rt::value_size(2, self.start_ts, ::protobuf::wire_format::WireTypeVarint); } - if self.ts != 0 { - my_size += ::protobuf::rt::value_size(2, self.ts, ::protobuf::wire_format::WireTypeVarint); + if !self.primary.is_empty() { + my_size += ::protobuf::rt::bytes_size(3, &self.primary); } - if self.is_short_value != false { - my_size += 2; + if !self.short_value.is_empty() { + my_size += ::protobuf::rt::bytes_size(4, &self.short_value); } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); @@ -15171,14 +15481,17 @@ impl ::protobuf::Message for ValueInfo { } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { - if !self.value.is_empty() { - os.write_bytes(1, &self.value)?; + if self.field_type != Op::Put { + os.write_enum(1, self.field_type.value())?; } - if self.ts != 0 { - os.write_uint64(2, self.ts)?; + if self.start_ts != 0 { + os.write_uint64(2, self.start_ts)?; } - if self.is_short_value != false { - os.write_bool(3, self.is_short_value)?; + if !self.primary.is_empty() { + os.write_bytes(3, &self.primary)?; + } + if !self.short_value.is_empty() { + os.write_bytes(4, &self.short_value)?; } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) @@ -15211,12 +15524,12 @@ impl ::protobuf::Message for ValueInfo { } } -impl ::protobuf::MessageStatic for ValueInfo { - fn new() -> ValueInfo { - ValueInfo::new() +impl ::protobuf::MessageStatic for MvccLock { + fn new() -> MvccLock { + MvccLock::new() } - fn descriptor_static(_: ::std::option::Option) -> &'static ::protobuf::reflect::MessageDescriptor { + fn descriptor_static(_: ::std::option::Option) -> &'static ::protobuf::reflect::MessageDescriptor { static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { lock: ::protobuf::lazy::ONCE_INIT, ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, @@ -15224,23 +15537,28 @@ impl ::protobuf::MessageStatic for ValueInfo { unsafe { descriptor.get(|| { let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "value", - ValueInfo::get_value_for_reflect, - ValueInfo::mut_value_for_reflect, + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "type", + MvccLock::get_field_type_for_reflect, + MvccLock::mut_field_type_for_reflect, )); fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( - "ts", - ValueInfo::get_ts_for_reflect, - ValueInfo::mut_ts_for_reflect, + "start_ts", + MvccLock::get_start_ts_for_reflect, + MvccLock::mut_start_ts_for_reflect, )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( - "is_short_value", - ValueInfo::get_is_short_value_for_reflect, - ValueInfo::mut_is_short_value_for_reflect, + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "primary", + MvccLock::get_primary_for_reflect, + MvccLock::mut_primary_for_reflect, )); - ::protobuf::reflect::MessageDescriptor::new::( - "ValueInfo", + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "short_value", + MvccLock::get_short_value_for_reflect, + MvccLock::mut_short_value_for_reflect, + )); + ::protobuf::reflect::MessageDescriptor::new::( + "MvccLock", fields, file_descriptor_proto() ) @@ -15249,22 +15567,23 @@ impl ::protobuf::MessageStatic for ValueInfo { } } -impl ::protobuf::Clear for ValueInfo { +impl ::protobuf::Clear for MvccLock { fn clear(&mut self) { - self.clear_value(); - self.clear_ts(); - self.clear_is_short_value(); + self.clear_field_type(); + self.clear_start_ts(); + self.clear_primary(); + self.clear_short_value(); self.unknown_fields.clear(); } } -impl ::std::fmt::Debug for ValueInfo { +impl ::std::fmt::Debug for MvccLock { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } -impl ::protobuf::reflect::ProtobufValue for ValueInfo { +impl ::protobuf::reflect::ProtobufValue for MvccLock { fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { ::protobuf::reflect::ProtobufValueRef::Message(self) } @@ -15273,9 +15592,9 @@ impl ::protobuf::reflect::ProtobufValue for ValueInfo { #[derive(PartialEq,Clone,Default)] pub struct MvccInfo { // message fields - pub lock: ::protobuf::SingularPtrField, - pub writes: ::protobuf::RepeatedField, - pub values: ::protobuf::RepeatedField, + pub lock: ::protobuf::SingularPtrField, + pub writes: ::protobuf::RepeatedField, + pub values: ::protobuf::RepeatedField, // special fields unknown_fields: ::protobuf::UnknownFields, cached_size: ::protobuf::CachedSize, @@ -15299,7 +15618,7 @@ impl MvccInfo { } } - // .kvrpcpb.LockInfo lock = 1; + // .kvrpcpb.MvccLock lock = 1; pub fn clear_lock(&mut self) { self.lock.clear(); @@ -15310,13 +15629,13 @@ impl MvccInfo { } // Param is passed by value, moved - pub fn set_lock(&mut self, v: LockInfo) { + pub fn set_lock(&mut self, v: MvccLock) { self.lock = ::protobuf::SingularPtrField::some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. - pub fn mut_lock(&mut self) -> &mut LockInfo { + pub fn mut_lock(&mut self) -> &mut MvccLock { if self.lock.is_none() { self.lock.set_default(); } @@ -15324,85 +15643,85 @@ impl MvccInfo { } // Take field - pub fn take_lock(&mut self) -> LockInfo { - self.lock.take().unwrap_or_else(|| LockInfo::new()) + pub fn take_lock(&mut self) -> MvccLock { + self.lock.take().unwrap_or_else(|| MvccLock::new()) } - pub fn get_lock(&self) -> &LockInfo { - self.lock.as_ref().unwrap_or_else(|| LockInfo::default_instance()) + pub fn get_lock(&self) -> &MvccLock { + self.lock.as_ref().unwrap_or_else(|| MvccLock::default_instance()) } - fn get_lock_for_reflect(&self) -> &::protobuf::SingularPtrField { + fn get_lock_for_reflect(&self) -> &::protobuf::SingularPtrField { &self.lock } - fn mut_lock_for_reflect(&mut self) -> &mut ::protobuf::SingularPtrField { + fn mut_lock_for_reflect(&mut self) -> &mut ::protobuf::SingularPtrField { &mut self.lock } - // repeated .kvrpcpb.WriteInfo writes = 2; + // repeated .kvrpcpb.MvccWrite writes = 2; pub fn clear_writes(&mut self) { self.writes.clear(); } // Param is passed by value, moved - pub fn set_writes(&mut self, v: ::protobuf::RepeatedField) { + pub fn set_writes(&mut self, v: ::protobuf::RepeatedField) { self.writes = v; } // Mutable pointer to the field. - pub fn mut_writes(&mut self) -> &mut ::protobuf::RepeatedField { + pub fn mut_writes(&mut self) -> &mut ::protobuf::RepeatedField { &mut self.writes } // Take field - pub fn take_writes(&mut self) -> ::protobuf::RepeatedField { + pub fn take_writes(&mut self) -> ::protobuf::RepeatedField { ::std::mem::replace(&mut self.writes, ::protobuf::RepeatedField::new()) } - pub fn get_writes(&self) -> &[WriteInfo] { + pub fn get_writes(&self) -> &[MvccWrite] { &self.writes } - fn get_writes_for_reflect(&self) -> &::protobuf::RepeatedField { + fn get_writes_for_reflect(&self) -> &::protobuf::RepeatedField { &self.writes } - fn mut_writes_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField { + fn mut_writes_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField { &mut self.writes } - // repeated .kvrpcpb.ValueInfo values = 3; + // repeated .kvrpcpb.MvccValue values = 3; pub fn clear_values(&mut self) { self.values.clear(); } // Param is passed by value, moved - pub fn set_values(&mut self, v: ::protobuf::RepeatedField) { + pub fn set_values(&mut self, v: ::protobuf::RepeatedField) { self.values = v; } // Mutable pointer to the field. - pub fn mut_values(&mut self) -> &mut ::protobuf::RepeatedField { + pub fn mut_values(&mut self) -> &mut ::protobuf::RepeatedField { &mut self.values } // Take field - pub fn take_values(&mut self) -> ::protobuf::RepeatedField { + pub fn take_values(&mut self) -> ::protobuf::RepeatedField { ::std::mem::replace(&mut self.values, ::protobuf::RepeatedField::new()) } - pub fn get_values(&self) -> &[ValueInfo] { + pub fn get_values(&self) -> &[MvccValue] { &self.values } - fn get_values_for_reflect(&self) -> &::protobuf::RepeatedField { + fn get_values_for_reflect(&self) -> &::protobuf::RepeatedField { &self.values } - fn mut_values_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField { + fn mut_values_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField { &mut self.values } } @@ -15529,17 +15848,17 @@ impl ::protobuf::MessageStatic for MvccInfo { unsafe { descriptor.get(|| { let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( "lock", MvccInfo::get_lock_for_reflect, MvccInfo::mut_lock_for_reflect, )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( "writes", MvccInfo::get_writes_for_reflect, MvccInfo::mut_writes_for_reflect, )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( "values", MvccInfo::get_values_for_reflect, MvccInfo::mut_values_for_reflect, @@ -17600,29 +17919,33 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x03\x20\x01(\rR\teachLimit\x12\x19\n\x08key_only\x18\x04\x20\x01(\x08R\ \x07keyOnly\"l\n\x14RawBatchScanResponse\x121\n\x0cregion_error\x18\x01\ \x20\x01(\x0b2\x0e.errorpb.ErrorR\x0bregionError\x12!\n\x03kvs\x18\x02\ - \x20\x03(\x0b2\x0f.kvrpcpb.KvPairR\x03kvs\"d\n\tWriteInfo\x12\x19\n\x08s\ - tart_ts\x18\x01\x20\x01(\x04R\x07startTs\x12\x1f\n\x04type\x18\x02\x20\ - \x01(\x0e2\x0b.kvrpcpb.OpR\x04type\x12\x1b\n\tcommit_ts\x18\x03\x20\x01(\ - \x04R\x08commitTs\"W\n\tValueInfo\x12\x14\n\x05value\x18\x01\x20\x01(\ - \x0cR\x05value\x12\x0e\n\x02ts\x18\x02\x20\x01(\x04R\x02ts\x12$\n\x0eis_\ - short_value\x18\x03\x20\x01(\x08R\x0cisShortValue\"\x89\x01\n\x08MvccInf\ - o\x12%\n\x04lock\x18\x01\x20\x01(\x0b2\x11.kvrpcpb.LockInfoR\x04lock\x12\ - *\n\x06writes\x18\x02\x20\x03(\x0b2\x12.kvrpcpb.WriteInfoR\x06writes\x12\ - *\n\x06values\x18\x03\x20\x03(\x0b2\x12.kvrpcpb.ValueInfoR\x06values\"S\ - \n\x13MvccGetByKeyRequest\x12*\n\x07context\x18\x01\x20\x01(\x0b2\x10.kv\ - rpcpb.ContextR\x07context\x12\x10\n\x03key\x18\x02\x20\x01(\x0cR\x03key\ - \"\x86\x01\n\x14MvccGetByKeyResponse\x121\n\x0cregion_error\x18\x01\x20\ - \x01(\x0b2\x0e.errorpb.ErrorR\x0bregionError\x12\x14\n\x05error\x18\x02\ - \x20\x01(\tR\x05error\x12%\n\x04info\x18\x03\x20\x01(\x0b2\x11.kvrpcpb.M\ - vccInfoR\x04info\"`\n\x17MvccGetByStartTsRequest\x12*\n\x07context\x18\ - \x01\x20\x01(\x0b2\x10.kvrpcpb.ContextR\x07context\x12\x19\n\x08start_ts\ - \x18\x02\x20\x01(\x04R\x07startTs\"\x9c\x01\n\x18MvccGetByStartTsRespons\ - e\x121\n\x0cregion_error\x18\x01\x20\x01(\x0b2\x0e.errorpb.ErrorR\x0breg\ - ionError\x12\x14\n\x05error\x18\x02\x20\x01(\tR\x05error\x12\x10\n\x03ke\ - y\x18\x03\x20\x01(\x0cR\x03key\x12%\n\x04info\x18\x04\x20\x01(\x0b2\x11.\ - kvrpcpb.MvccInfoR\x04info\"]\n\x12SplitRegionRequest\x12*\n\x07context\ - \x18\x01\x20\x01(\x0b2\x10.kvrpcpb.ContextR\x07context\x12\x1b\n\tsplit_\ - key\x18\x02\x20\x01(\x0cR\x08splitKey\"\x92\x01\n\x13SplitRegionResponse\ + \x20\x03(\x0b2\x0f.kvrpcpb.KvPairR\x03kvs\"\x85\x01\n\tMvccWrite\x12\x1f\ + \n\x04type\x18\x01\x20\x01(\x0e2\x0b.kvrpcpb.OpR\x04type\x12\x19\n\x08st\ + art_ts\x18\x02\x20\x01(\x04R\x07startTs\x12\x1b\n\tcommit_ts\x18\x03\x20\ + \x01(\x04R\x08commitTs\x12\x1f\n\x0bshort_value\x18\x04\x20\x01(\x0cR\ns\ + hortValue\"<\n\tMvccValue\x12\x19\n\x08start_ts\x18\x01\x20\x01(\x04R\ + \x07startTs\x12\x14\n\x05value\x18\x02\x20\x01(\x0cR\x05value\"\x81\x01\ + \n\x08MvccLock\x12\x1f\n\x04type\x18\x01\x20\x01(\x0e2\x0b.kvrpcpb.OpR\ + \x04type\x12\x19\n\x08start_ts\x18\x02\x20\x01(\x04R\x07startTs\x12\x18\ + \n\x07primary\x18\x03\x20\x01(\x0cR\x07primary\x12\x1f\n\x0bshort_value\ + \x18\x04\x20\x01(\x0cR\nshortValue\"\x89\x01\n\x08MvccInfo\x12%\n\x04loc\ + k\x18\x01\x20\x01(\x0b2\x11.kvrpcpb.MvccLockR\x04lock\x12*\n\x06writes\ + \x18\x02\x20\x03(\x0b2\x12.kvrpcpb.MvccWriteR\x06writes\x12*\n\x06values\ + \x18\x03\x20\x03(\x0b2\x12.kvrpcpb.MvccValueR\x06values\"S\n\x13MvccGetB\ + yKeyRequest\x12*\n\x07context\x18\x01\x20\x01(\x0b2\x10.kvrpcpb.ContextR\ + \x07context\x12\x10\n\x03key\x18\x02\x20\x01(\x0cR\x03key\"\x86\x01\n\ + \x14MvccGetByKeyResponse\x121\n\x0cregion_error\x18\x01\x20\x01(\x0b2\ + \x0e.errorpb.ErrorR\x0bregionError\x12\x14\n\x05error\x18\x02\x20\x01(\t\ + R\x05error\x12%\n\x04info\x18\x03\x20\x01(\x0b2\x11.kvrpcpb.MvccInfoR\ + \x04info\"`\n\x17MvccGetByStartTsRequest\x12*\n\x07context\x18\x01\x20\ + \x01(\x0b2\x10.kvrpcpb.ContextR\x07context\x12\x19\n\x08start_ts\x18\x02\ + \x20\x01(\x04R\x07startTs\"\x9c\x01\n\x18MvccGetByStartTsResponse\x121\n\ + \x0cregion_error\x18\x01\x20\x01(\x0b2\x0e.errorpb.ErrorR\x0bregionError\ + \x12\x14\n\x05error\x18\x02\x20\x01(\tR\x05error\x12\x10\n\x03key\x18\ + \x03\x20\x01(\x0cR\x03key\x12%\n\x04info\x18\x04\x20\x01(\x0b2\x11.kvrpc\ + pb.MvccInfoR\x04info\"]\n\x12SplitRegionRequest\x12*\n\x07context\x18\ + \x01\x20\x01(\x0b2\x10.kvrpcpb.ContextR\x07context\x12\x1b\n\tsplit_key\ + \x18\x02\x20\x01(\x0cR\x08splitKey\"\x92\x01\n\x13SplitRegionResponse\ \x121\n\x0cregion_error\x18\x01\x20\x01(\x0b2\x0e.errorpb.ErrorR\x0bregi\ onError\x12\"\n\x04left\x18\x02\x20\x01(\x0b2\x0e.metapb.RegionR\x04left\ \x12$\n\x05right\x18\x03\x20\x01(\x0b2\x0e.metapb.RegionR\x05right*+\n\n\ @@ -17631,210 +17954,211 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \n\x02RC\x10\x01*.\n\x02Op\x12\x07\n\x03Put\x10\0\x12\x07\n\x03Del\x10\ \x01\x12\x08\n\x04Lock\x10\x02\x12\x0c\n\x08Rollback\x10\x03B&\n\x18com.\ pingcap.tikv.kvproto\xd0\xe2\x1e\x01\xe0\xe2\x1e\x01\xc8\xe2\x1e\x01J\ - \xee}\n\x07\x12\x05\0\0\x8a\x03\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\ - \x08\n\x01\x02\x12\x03\x01\x08\x0f\n\t\n\x02\x03\0\x12\x03\x03\x07\x15\n\ - \t\n\x02\x03\x01\x12\x03\x04\x07\x16\n\t\n\x02\x03\x02\x12\x03\x05\x07\ - \x1d\n\x08\n\x01\x08\x12\x03\x07\0(\n\x0b\n\x04\x08\xe7\x07\0\x12\x03\ - \x07\0(\n\x0c\n\x05\x08\xe7\x07\0\x02\x12\x03\x07\x07\x20\n\r\n\x06\x08\ - \xe7\x07\0\x02\0\x12\x03\x07\x07\x20\n\x0e\n\x07\x08\xe7\x07\0\x02\0\x01\ - \x12\x03\x07\x08\x1f\n\x0c\n\x05\x08\xe7\x07\0\x03\x12\x03\x07#'\n\x08\n\ - \x01\x08\x12\x03\x08\0$\n\x0b\n\x04\x08\xe7\x07\x01\x12\x03\x08\0$\n\x0c\ - \n\x05\x08\xe7\x07\x01\x02\x12\x03\x08\x07\x1c\n\r\n\x06\x08\xe7\x07\x01\ - \x02\0\x12\x03\x08\x07\x1c\n\x0e\n\x07\x08\xe7\x07\x01\x02\0\x01\x12\x03\ - \x08\x08\x1b\n\x0c\n\x05\x08\xe7\x07\x01\x03\x12\x03\x08\x1f#\n\x08\n\ - \x01\x08\x12\x03\t\0*\n\x0b\n\x04\x08\xe7\x07\x02\x12\x03\t\0*\n\x0c\n\ - \x05\x08\xe7\x07\x02\x02\x12\x03\t\x07\"\n\r\n\x06\x08\xe7\x07\x02\x02\0\ - \x12\x03\t\x07\"\n\x0e\n\x07\x08\xe7\x07\x02\x02\0\x01\x12\x03\t\x08!\n\ - \x0c\n\x05\x08\xe7\x07\x02\x03\x12\x03\t%)\n\x08\n\x01\x08\x12\x03\x0b\0\ - 1\n\x0b\n\x04\x08\xe7\x07\x03\x12\x03\x0b\01\n\x0c\n\x05\x08\xe7\x07\x03\ - \x02\x12\x03\x0b\x07\x13\n\r\n\x06\x08\xe7\x07\x03\x02\0\x12\x03\x0b\x07\ - \x13\n\x0e\n\x07\x08\xe7\x07\x03\x02\0\x01\x12\x03\x0b\x07\x13\n\x0c\n\ - \x05\x08\xe7\x07\x03\x07\x12\x03\x0b\x160\n\n\n\x02\x04\0\x12\x04\r\0\ - \x12\x01\n\n\n\x03\x04\0\x01\x12\x03\r\x08\x10\n\x0b\n\x04\x04\0\x02\0\ - \x12\x03\x0e\x04\x1b\n\r\n\x05\x04\0\x02\0\x04\x12\x04\x0e\x04\r\x12\n\ - \x0c\n\x05\x04\0\x02\0\x05\x12\x03\x0e\x04\t\n\x0c\n\x05\x04\0\x02\0\x01\ - \x12\x03\x0e\n\x16\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x0e\x19\x1a\n\x0b\ - \n\x04\x04\0\x02\x01\x12\x03\x0f\x04\x1c\n\r\n\x05\x04\0\x02\x01\x04\x12\ - \x04\x0f\x04\x0e\x1b\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x0f\x04\n\n\ - \x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x0f\x0b\x17\n\x0c\n\x05\x04\0\x02\ - \x01\x03\x12\x03\x0f\x1a\x1b\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x10\x04\ - \x12\n\r\n\x05\x04\0\x02\x02\x04\x12\x04\x10\x04\x0f\x1c\n\x0c\n\x05\x04\ - \0\x02\x02\x05\x12\x03\x10\x04\t\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\ - \x10\n\r\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x10\x10\x11\n\x0b\n\x04\ - \x04\0\x02\x03\x12\x03\x11\x04\x18\n\r\n\x05\x04\0\x02\x03\x04\x12\x04\ - \x11\x04\x10\x12\n\x0c\n\x05\x04\0\x02\x03\x05\x12\x03\x11\x04\n\n\x0c\n\ - \x05\x04\0\x02\x03\x01\x12\x03\x11\x0b\x13\n\x0c\n\x05\x04\0\x02\x03\x03\ - \x12\x03\x11\x16\x17\n\n\n\x02\x04\x01\x12\x04\x14\0\x18\x01\n\n\n\x03\ - \x04\x01\x01\x12\x03\x14\x08\x10\nD\n\x04\x04\x01\x02\0\x12\x03\x15\x04\ - \x18\"7\x20Client\x20should\x20backoff\x20or\x20cleanup\x20the\x20lock\ - \x20then\x20retry.\n\n\r\n\x05\x04\x01\x02\0\x04\x12\x04\x15\x04\x14\x12\ - \n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03\x15\x04\x0c\n\x0c\n\x05\x04\x01\ - \x02\0\x01\x12\x03\x15\r\x13\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x15\ - \x16\x17\n>\n\x04\x04\x01\x02\x01\x12\x03\x16\x04\x19\"1\x20Client\x20ma\ - y\x20restart\x20the\x20txn.\x20e.g\x20write\x20conflict.\n\n\r\n\x05\x04\ - \x01\x02\x01\x04\x12\x04\x16\x04\x15\x18\n\x0c\n\x05\x04\x01\x02\x01\x05\ - \x12\x03\x16\x04\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x16\x0b\x14\n\ - \x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x16\x17\x18\n+\n\x04\x04\x01\x02\ - \x02\x12\x03\x17\x04\x15\"\x1e\x20Client\x20should\x20abort\x20the\x20tx\ - n.\n\n\r\n\x05\x04\x01\x02\x02\x04\x12\x04\x17\x04\x16\x19\n\x0c\n\x05\ - \x04\x01\x02\x02\x05\x12\x03\x17\x04\n\n\x0c\n\x05\x04\x01\x02\x02\x01\ - \x12\x03\x17\x0b\x10\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x17\x13\x14\ - \n\n\n\x02\x05\0\x12\x04\x1a\0\x1e\x01\n\n\n\x03\x05\0\x01\x12\x03\x1a\ - \x05\x0f\n,\n\x04\x05\0\x02\0\x12\x03\x1b\x04\x0f\"\x1f\x20Normal\x20mus\ - t\x20the\x20default\x20value\n\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x1b\ - \x04\n\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x1b\r\x0e\n\x0b\n\x04\x05\0\ - \x02\x01\x12\x03\x1c\x04\x0c\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x1c\ - \x04\x07\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x1c\n\x0b\n\x0b\n\x04\x05\ - \0\x02\x02\x12\x03\x1d\x04\r\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\x1d\ - \x04\x08\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\x1d\x0b\x0c\n\n\n\x02\x05\ - \x01\x12\x04\x20\0#\x01\n\n\n\x03\x05\x01\x01\x12\x03\x20\x05\x13\n&\n\ - \x04\x05\x01\x02\0\x12\x03!\x04\x0b\"\x19\x20SI\x20=\x20snapshot\x20isol\ - ation\n\n\x0c\n\x05\x05\x01\x02\0\x01\x12\x03!\x04\x06\n\x0c\n\x05\x05\ - \x01\x02\0\x02\x12\x03!\t\n\n\"\n\x04\x05\x01\x02\x01\x12\x03\"\x04\x0b\ - \"\x15\x20RC\x20=\x20read\x20committed\n\n\x0c\n\x05\x05\x01\x02\x01\x01\ - \x12\x03\"\x04\x06\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03\"\t\n\n\n\n\ - \x02\x04\x02\x12\x04%\02\x01\n\n\n\x03\x04\x02\x01\x12\x03%\x08\x0f\n\n\ - \n\x03\x04\x02\t\x12\x03&\r\x0f\n\x0b\n\x04\x04\x02\t\0\x12\x03&\r\x0e\n\ - \x0c\n\x05\x04\x02\t\0\x01\x12\x03&\r\x0e\n\x0c\n\x05\x04\x02\t\0\x02\ - \x12\x03&\r\x0e\n\n\n\x03\x04\x02\n\x12\x03'\r\x1b\n\x0b\n\x04\x04\x02\n\ - \0\x12\x03'\r\x1a\n\x0b\n\x04\x04\x02\x02\0\x12\x03(\x04\x19\n\r\n\x05\ - \x04\x02\x02\0\x04\x12\x04(\x04'\x1b\n\x0c\n\x05\x04\x02\x02\0\x05\x12\ - \x03(\x04\n\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03(\x0b\x14\n\x0c\n\x05\ - \x04\x02\x02\0\x03\x12\x03(\x17\x18\n\x0b\n\x04\x04\x02\x02\x01\x12\x03)\ - \x04(\n\r\n\x05\x04\x02\x02\x01\x04\x12\x04)\x04(\x19\n\x0c\n\x05\x04\ - \x02\x02\x01\x06\x12\x03)\x04\x16\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\ - \x03)\x17#\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03)&'\n\x0b\n\x04\x04\ - \x02\x02\x02\x12\x03*\x04\x19\n\r\n\x05\x04\x02\x02\x02\x04\x12\x04*\x04\ - )(\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03*\x04\x0f\n\x0c\n\x05\x04\x02\ - \x02\x02\x01\x12\x03*\x10\x14\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03*\ - \x17\x18\n\x0b\n\x04\x04\x02\x02\x03\x12\x03+\x04\x14\n\r\n\x05\x04\x02\ - \x02\x03\x04\x12\x04+\x04*\x19\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03+\ - \x04\n\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03+\x0b\x0f\n\x0c\n\x05\x04\ - \x02\x02\x03\x03\x12\x03+\x12\x13\n\x0b\n\x04\x04\x02\x02\x04\x12\x03,\ - \x04\x1c\n\r\n\x05\x04\x02\x02\x04\x04\x12\x04,\x04+\x14\n\x0c\n\x05\x04\ - \x02\x02\x04\x06\x12\x03,\x04\x0e\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\ - \x03,\x0f\x17\n\x0c\n\x05\x04\x02\x02\x04\x03\x12\x03,\x1a\x1b\n\x0b\n\ - \x04\x04\x02\x02\x05\x12\x03-\x04'\n\r\n\x05\x04\x02\x02\x05\x04\x12\x04\ - -\x04,\x1c\n\x0c\n\x05\x04\x02\x02\x05\x06\x12\x03-\x04\x12\n\x0c\n\x05\ - \x04\x02\x02\x05\x01\x12\x03-\x13\"\n\x0c\n\x05\x04\x02\x02\x05\x03\x12\ - \x03-%&\n\x0b\n\x04\x04\x02\x02\x06\x12\x03.\x04\x1c\n\r\n\x05\x04\x02\ - \x02\x06\x04\x12\x04.\x04-'\n\x0c\n\x05\x04\x02\x02\x06\x05\x12\x03.\x04\ - \x08\n\x0c\n\x05\x04\x02\x02\x06\x01\x12\x03.\t\x17\n\x0c\n\x05\x04\x02\ - \x02\x06\x03\x12\x03.\x1a\x1b\n\x0b\n\x04\x04\x02\x02\x07\x12\x03/\x04\ - \x16\n\r\n\x05\x04\x02\x02\x07\x04\x12\x04/\x04.\x1c\n\x0c\n\x05\x04\x02\ - \x02\x07\x05\x12\x03/\x04\x08\n\x0c\n\x05\x04\x02\x02\x07\x01\x12\x03/\t\ - \x11\n\x0c\n\x05\x04\x02\x02\x07\x03\x12\x03/\x14\x15\n3\n\x04\x04\x02\ - \x02\x08\x12\x030\x04\x1a\"&\x20true\x20means\x20return\x20handle\x20tim\ - e\x20detail\n\n\r\n\x05\x04\x02\x02\x08\x04\x12\x040\x04/\x16\n\x0c\n\ - \x05\x04\x02\x02\x08\x05\x12\x030\x04\x08\n\x0c\n\x05\x04\x02\x02\x08\ - \x01\x12\x030\t\x14\n\x0c\n\x05\x04\x02\x02\x08\x03\x12\x030\x17\x19\n1\ - \n\x04\x04\x02\x02\t\x12\x031\x04\x1a\"$\x20true\x20means\x20return\x20s\ - can\x20cf's\x20detail\n\n\r\n\x05\x04\x02\x02\t\x04\x12\x041\x040\x1a\n\ - \x0c\n\x05\x04\x02\x02\t\x05\x12\x031\x04\x08\n\x0c\n\x05\x04\x02\x02\t\ - \x01\x12\x031\t\x14\n\x0c\n\x05\x04\x02\x02\t\x03\x12\x031\x17\x19\n\n\n\ - \x02\x04\x03\x12\x044\07\x01\n\n\n\x03\x04\x03\x01\x12\x034\x08\x12\n\ - \x1c\n\x04\x04\x03\x02\0\x12\x035\x04\x16\"\x0f\x20time\x20in\x20queue\n\ - \n\r\n\x05\x04\x03\x02\0\x04\x12\x045\x044\x14\n\x0c\n\x05\x04\x03\x02\0\ - \x05\x12\x035\x04\t\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x035\n\x11\n\x0c\n\ - \x05\x04\x03\x02\0\x03\x12\x035\x14\x15\n.\n\x04\x04\x03\x02\x01\x12\x03\ - 6\x04\x19\"!\x20process\x20time\x20without\x20wait\x20time.\n\n\r\n\x05\ - \x04\x03\x02\x01\x04\x12\x046\x045\x16\n\x0c\n\x05\x04\x03\x02\x01\x05\ - \x12\x036\x04\t\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x036\n\x14\n\x0c\n\ - \x05\x04\x03\x02\x01\x03\x12\x036\x17\x18\n\n\n\x02\x04\x04\x12\x049\0<\ - \x01\n\n\n\x03\x04\x04\x01\x12\x039\x08\x10\n\x1a\n\x04\x04\x04\x02\0\ - \x12\x03:\x04\x14\"\r\x20total\x20count\n\n\r\n\x05\x04\x04\x02\0\x04\ - \x12\x04:\x049\x12\n\x0c\n\x05\x04\x04\x02\0\x05\x12\x03:\x04\t\n\x0c\n\ - \x05\x04\x04\x02\0\x01\x12\x03:\n\x0f\n\x0c\n\x05\x04\x04\x02\0\x03\x12\ - \x03:\x12\x13\n\x1e\n\x04\x04\x04\x02\x01\x12\x03;\x04\x18\"\x11\x20proc\ - essed\x20count\n\n\r\n\x05\x04\x04\x02\x01\x04\x12\x04;\x04:\x14\n\x0c\n\ - \x05\x04\x04\x02\x01\x05\x12\x03;\x04\t\n\x0c\n\x05\x04\x04\x02\x01\x01\ - \x12\x03;\n\x13\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03;\x16\x17\n\n\n\ - \x02\x04\x05\x12\x04>\0B\x01\n\n\n\x03\x04\x05\x01\x12\x03>\x08\x12\n\ - \x0b\n\x04\x04\x05\x02\0\x12\x03?\x04\x17\n\r\n\x05\x04\x05\x02\0\x04\ - \x12\x04?\x04>\x14\n\x0c\n\x05\x04\x05\x02\0\x06\x12\x03?\x04\x0c\n\x0c\ - \n\x05\x04\x05\x02\0\x01\x12\x03?\r\x12\n\x0c\n\x05\x04\x05\x02\0\x03\ - \x12\x03?\x15\x16\n\x0b\n\x04\x04\x05\x02\x01\x12\x03@\x04\x16\n\r\n\x05\ - \x04\x05\x02\x01\x04\x12\x04@\x04?\x17\n\x0c\n\x05\x04\x05\x02\x01\x06\ - \x12\x03@\x04\x0c\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03@\r\x11\n\x0c\n\ - \x05\x04\x05\x02\x01\x03\x12\x03@\x14\x15\n\x0b\n\x04\x04\x05\x02\x02\ - \x12\x03A\x04\x16\n\r\n\x05\x04\x05\x02\x02\x04\x12\x04A\x04@\x16\n\x0c\ - \n\x05\x04\x05\x02\x02\x06\x12\x03A\x04\x0c\n\x0c\n\x05\x04\x05\x02\x02\ - \x01\x12\x03A\r\x11\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03A\x14\x15\n\n\ - \n\x02\x04\x06\x12\x04D\0G\x01\n\n\n\x03\x04\x06\x01\x12\x03D\x08\x13\nA\ - \n\x04\x04\x06\x02\0\x12\x03E\x04\x1f\"4\x20set\x20when\x20ctx.handle_ti\ - me\x20=\x20true\x20or\x20meet\x20slow\x20query\n\n\r\n\x05\x04\x06\x02\0\ - \x04\x12\x04E\x04D\x15\n\x0c\n\x05\x04\x06\x02\0\x06\x12\x03E\x04\x0e\n\ - \x0c\n\x05\x04\x06\x02\0\x01\x12\x03E\x0f\x1a\n\x0c\n\x05\x04\x06\x02\0\ - \x03\x12\x03E\x1d\x1e\nA\n\x04\x04\x06\x02\x01\x12\x03F\x04\x1f\"4\x20se\ - t\x20when\x20ctx.scan_detail\x20=\x20true\x20or\x20meet\x20slow\x20query\ - \n\n\r\n\x05\x04\x06\x02\x01\x04\x12\x04F\x04E\x1f\n\x0c\n\x05\x04\x06\ - \x02\x01\x06\x12\x03F\x04\x0e\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03F\ - \x0f\x1a\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03F\x1d\x1e\n\n\n\x02\x04\ - \x07\x12\x04I\0M\x01\n\n\n\x03\x04\x07\x01\x12\x03I\x08\x12\n\x0b\n\x04\ - \x04\x07\x02\0\x12\x03J\x04\x18\n\r\n\x05\x04\x07\x02\0\x04\x12\x04J\x04\ - I\x14\n\x0c\n\x05\x04\x07\x02\0\x06\x12\x03J\x04\x0b\n\x0c\n\x05\x04\x07\ - \x02\0\x01\x12\x03J\x0c\x13\n\x0c\n\x05\x04\x07\x02\0\x03\x12\x03J\x16\ - \x17\n\x0b\n\x04\x04\x07\x02\x01\x12\x03K\x04\x12\n\r\n\x05\x04\x07\x02\ - \x01\x04\x12\x04K\x04J\x18\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03K\x04\ - \t\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03K\n\r\n\x0c\n\x05\x04\x07\x02\ - \x01\x03\x12\x03K\x10\x11\n\x0b\n\x04\x04\x07\x02\x02\x12\x03L\x04\x17\n\ - \r\n\x05\x04\x07\x02\x02\x04\x12\x04L\x04K\x12\n\x0c\n\x05\x04\x07\x02\ - \x02\x05\x12\x03L\x04\n\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03L\x0b\x12\ - \n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03L\x15\x16\n\n\n\x02\x04\x08\x12\ - \x04O\0S\x01\n\n\n\x03\x04\x08\x01\x12\x03O\x08\x13\n\x0b\n\x04\x04\x08\ - \x02\0\x12\x03P\x04#\n\r\n\x05\x04\x08\x02\0\x04\x12\x04P\x04O\x15\n\x0c\ - \n\x05\x04\x08\x02\0\x06\x12\x03P\x04\x11\n\x0c\n\x05\x04\x08\x02\0\x01\ - \x12\x03P\x12\x1e\n\x0c\n\x05\x04\x08\x02\0\x03\x12\x03P!\"\n\x0b\n\x04\ - \x04\x08\x02\x01\x12\x03Q\x04\x17\n\r\n\x05\x04\x08\x02\x01\x04\x12\x04Q\ - \x04P#\n\x0c\n\x05\x04\x08\x02\x01\x06\x12\x03Q\x04\x0c\n\x0c\n\x05\x04\ - \x08\x02\x01\x01\x12\x03Q\r\x12\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x03Q\ - \x15\x16\n\x0b\n\x04\x04\x08\x02\x02\x12\x03R\x04\x14\n\r\n\x05\x04\x08\ - \x02\x02\x04\x12\x04R\x04Q\x17\n\x0c\n\x05\x04\x08\x02\x02\x05\x12\x03R\ - \x04\t\n\x0c\n\x05\x04\x08\x02\x02\x01\x12\x03R\n\x0f\n\x0c\n\x05\x04\ - \x08\x02\x02\x03\x12\x03R\x12\x13\n\n\n\x02\x04\t\x12\x04U\0[\x01\n\n\n\ - \x03\x04\t\x01\x12\x03U\x08\x13\n\x0b\n\x04\x04\t\x02\0\x12\x03V\x04\x18\ - \n\r\n\x05\x04\t\x02\0\x04\x12\x04V\x04U\x15\n\x0c\n\x05\x04\t\x02\0\x06\ - \x12\x03V\x04\x0b\n\x0c\n\x05\x04\t\x02\0\x01\x12\x03V\x0c\x13\n\x0c\n\ - \x05\x04\t\x02\0\x03\x12\x03V\x16\x17\n\x0b\n\x04\x04\t\x02\x01\x12\x03W\ - \x04\x18\n\r\n\x05\x04\t\x02\x01\x04\x12\x04W\x04V\x18\n\x0c\n\x05\x04\t\ - \x02\x01\x05\x12\x03W\x04\t\n\x0c\n\x05\x04\t\x02\x01\x01\x12\x03W\n\x13\ - \n\x0c\n\x05\x04\t\x02\x01\x03\x12\x03W\x16\x17\n\x0b\n\x04\x04\t\x02\ - \x02\x12\x03X\x04\x15\n\r\n\x05\x04\t\x02\x02\x04\x12\x04X\x04W\x18\n\ - \x0c\n\x05\x04\t\x02\x02\x05\x12\x03X\x04\n\n\x0c\n\x05\x04\t\x02\x02\ - \x01\x12\x03X\x0b\x10\n\x0c\n\x05\x04\t\x02\x02\x03\x12\x03X\x13\x14\n\ - \x0b\n\x04\x04\t\x02\x03\x12\x03Y\x04\x17\n\r\n\x05\x04\t\x02\x03\x04\ - \x12\x04Y\x04X\x15\n\x0c\n\x05\x04\t\x02\x03\x05\x12\x03Y\x04\n\n\x0c\n\ - \x05\x04\t\x02\x03\x01\x12\x03Y\x0b\x12\n\x0c\n\x05\x04\t\x02\x03\x03\ - \x12\x03Y\x15\x16\n\x0b\n\x04\x04\t\x02\x04\x12\x03Z\x04\x16\n\r\n\x05\ - \x04\t\x02\x04\x04\x12\x04Z\x04Y\x17\n\x0c\n\x05\x04\t\x02\x04\x05\x12\ - \x03Z\x04\x08\n\x0c\n\x05\x04\t\x02\x04\x01\x12\x03Z\t\x11\n\x0c\n\x05\ - \x04\t\x02\x04\x03\x12\x03Z\x14\x15\n\n\n\x02\x04\n\x12\x04]\0a\x01\n\n\ - \n\x03\x04\n\x01\x12\x03]\x08\x0e\n\x0b\n\x04\x04\n\x02\0\x12\x03^\x04\ - \x17\n\r\n\x05\x04\n\x02\0\x04\x12\x04^\x04]\x10\n\x0c\n\x05\x04\n\x02\0\ - \x06\x12\x03^\x04\x0c\n\x0c\n\x05\x04\n\x02\0\x01\x12\x03^\r\x12\n\x0c\n\ - \x05\x04\n\x02\0\x03\x12\x03^\x15\x16\n\x0b\n\x04\x04\n\x02\x01\x12\x03_\ - \x04\x12\n\r\n\x05\x04\n\x02\x01\x04\x12\x04_\x04^\x17\n\x0c\n\x05\x04\n\ - \x02\x01\x05\x12\x03_\x04\t\n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03_\n\r\n\ - \x0c\n\x05\x04\n\x02\x01\x03\x12\x03_\x10\x11\n\x0b\n\x04\x04\n\x02\x02\ - \x12\x03`\x04\x14\n\r\n\x05\x04\n\x02\x02\x04\x12\x04`\x04_\x12\n\x0c\n\ - \x05\x04\n\x02\x02\x05\x12\x03`\x04\t\n\x0c\n\x05\x04\n\x02\x02\x01\x12\ - \x03`\n\x0f\n\x0c\n\x05\x04\n\x02\x02\x03\x12\x03`\x12\x13\n\n\n\x02\x04\ - \x0b\x12\x04c\0f\x01\n\n\n\x03\x04\x0b\x01\x12\x03c\x08\x14\n\x0b\n\x04\ - \x04\x0b\x02\0\x12\x03d\x04#\n\r\n\x05\x04\x0b\x02\0\x04\x12\x04d\x04c\ - \x16\n\x0c\n\x05\x04\x0b\x02\0\x06\x12\x03d\x04\x11\n\x0c\n\x05\x04\x0b\ - \x02\0\x01\x12\x03d\x12\x1e\n\x0c\n\x05\x04\x0b\x02\0\x03\x12\x03d!\"\n\ - \x0b\n\x04\x04\x0b\x02\x01\x12\x03e\x04\x1e\n\x0c\n\x05\x04\x0b\x02\x01\ - \x04\x12\x03e\x04\x0c\n\x0c\n\x05\x04\x0b\x02\x01\x06\x12\x03e\r\x13\n\ - \x0c\n\x05\x04\x0b\x02\x01\x01\x12\x03e\x14\x19\n\x0c\n\x05\x04\x0b\x02\ - \x01\x03\x12\x03e\x1c\x1d\n\n\n\x02\x05\x02\x12\x04h\0m\x01\n\n\n\x03\ - \x05\x02\x01\x12\x03h\x05\x07\n\x0b\n\x04\x05\x02\x02\0\x12\x03i\x04\x0c\ - \n\x0c\n\x05\x05\x02\x02\0\x01\x12\x03i\x04\x07\n\x0c\n\x05\x05\x02\x02\ - \0\x02\x12\x03i\n\x0b\n\x0b\n\x04\x05\x02\x02\x01\x12\x03j\x04\x0c\n\x0c\ - \n\x05\x05\x02\x02\x01\x01\x12\x03j\x04\x07\n\x0c\n\x05\x05\x02\x02\x01\ - \x02\x12\x03j\n\x0b\n\x0b\n\x04\x05\x02\x02\x02\x12\x03k\x04\r\n\x0c\n\ - \x05\x05\x02\x02\x02\x01\x12\x03k\x04\x08\n\x0c\n\x05\x05\x02\x02\x02\ - \x02\x12\x03k\x0b\x0c\n\x0b\n\x04\x05\x02\x02\x03\x12\x03l\x04\x11\n\x0c\ - \n\x05\x05\x02\x02\x03\x01\x12\x03l\x04\x0c\n\x0c\n\x05\x05\x02\x02\x03\ + \xb9\x80\x01\n\x07\x12\x05\0\0\x91\x03\x01\n\x08\n\x01\x0c\x12\x03\0\0\ + \x12\n\x08\n\x01\x02\x12\x03\x01\x08\x0f\n\t\n\x02\x03\0\x12\x03\x03\x07\ + \x15\n\t\n\x02\x03\x01\x12\x03\x04\x07\x16\n\t\n\x02\x03\x02\x12\x03\x05\ + \x07\x1d\n\x08\n\x01\x08\x12\x03\x07\0(\n\x0b\n\x04\x08\xe7\x07\0\x12\ + \x03\x07\0(\n\x0c\n\x05\x08\xe7\x07\0\x02\x12\x03\x07\x07\x20\n\r\n\x06\ + \x08\xe7\x07\0\x02\0\x12\x03\x07\x07\x20\n\x0e\n\x07\x08\xe7\x07\0\x02\0\ + \x01\x12\x03\x07\x08\x1f\n\x0c\n\x05\x08\xe7\x07\0\x03\x12\x03\x07#'\n\ + \x08\n\x01\x08\x12\x03\x08\0$\n\x0b\n\x04\x08\xe7\x07\x01\x12\x03\x08\0$\ + \n\x0c\n\x05\x08\xe7\x07\x01\x02\x12\x03\x08\x07\x1c\n\r\n\x06\x08\xe7\ + \x07\x01\x02\0\x12\x03\x08\x07\x1c\n\x0e\n\x07\x08\xe7\x07\x01\x02\0\x01\ + \x12\x03\x08\x08\x1b\n\x0c\n\x05\x08\xe7\x07\x01\x03\x12\x03\x08\x1f#\n\ + \x08\n\x01\x08\x12\x03\t\0*\n\x0b\n\x04\x08\xe7\x07\x02\x12\x03\t\0*\n\ + \x0c\n\x05\x08\xe7\x07\x02\x02\x12\x03\t\x07\"\n\r\n\x06\x08\xe7\x07\x02\ + \x02\0\x12\x03\t\x07\"\n\x0e\n\x07\x08\xe7\x07\x02\x02\0\x01\x12\x03\t\ + \x08!\n\x0c\n\x05\x08\xe7\x07\x02\x03\x12\x03\t%)\n\x08\n\x01\x08\x12\ + \x03\x0b\01\n\x0b\n\x04\x08\xe7\x07\x03\x12\x03\x0b\01\n\x0c\n\x05\x08\ + \xe7\x07\x03\x02\x12\x03\x0b\x07\x13\n\r\n\x06\x08\xe7\x07\x03\x02\0\x12\ + \x03\x0b\x07\x13\n\x0e\n\x07\x08\xe7\x07\x03\x02\0\x01\x12\x03\x0b\x07\ + \x13\n\x0c\n\x05\x08\xe7\x07\x03\x07\x12\x03\x0b\x160\n\n\n\x02\x04\0\ + \x12\x04\r\0\x12\x01\n\n\n\x03\x04\0\x01\x12\x03\r\x08\x10\n\x0b\n\x04\ + \x04\0\x02\0\x12\x03\x0e\x04\x1b\n\r\n\x05\x04\0\x02\0\x04\x12\x04\x0e\ + \x04\r\x12\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x0e\x04\t\n\x0c\n\x05\x04\ + \0\x02\0\x01\x12\x03\x0e\n\x16\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x0e\ + \x19\x1a\n\x0b\n\x04\x04\0\x02\x01\x12\x03\x0f\x04\x1c\n\r\n\x05\x04\0\ + \x02\x01\x04\x12\x04\x0f\x04\x0e\x1b\n\x0c\n\x05\x04\0\x02\x01\x05\x12\ + \x03\x0f\x04\n\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x0f\x0b\x17\n\x0c\n\ + \x05\x04\0\x02\x01\x03\x12\x03\x0f\x1a\x1b\n\x0b\n\x04\x04\0\x02\x02\x12\ + \x03\x10\x04\x12\n\r\n\x05\x04\0\x02\x02\x04\x12\x04\x10\x04\x0f\x1c\n\ + \x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x10\x04\t\n\x0c\n\x05\x04\0\x02\x02\ + \x01\x12\x03\x10\n\r\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x10\x10\x11\n\ + \x0b\n\x04\x04\0\x02\x03\x12\x03\x11\x04\x18\n\r\n\x05\x04\0\x02\x03\x04\ + \x12\x04\x11\x04\x10\x12\n\x0c\n\x05\x04\0\x02\x03\x05\x12\x03\x11\x04\n\ + \n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03\x11\x0b\x13\n\x0c\n\x05\x04\0\x02\ + \x03\x03\x12\x03\x11\x16\x17\n\n\n\x02\x04\x01\x12\x04\x14\0\x18\x01\n\n\ + \n\x03\x04\x01\x01\x12\x03\x14\x08\x10\nD\n\x04\x04\x01\x02\0\x12\x03\ + \x15\x04\x18\"7\x20Client\x20should\x20backoff\x20or\x20cleanup\x20the\ + \x20lock\x20then\x20retry.\n\n\r\n\x05\x04\x01\x02\0\x04\x12\x04\x15\x04\ + \x14\x12\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03\x15\x04\x0c\n\x0c\n\x05\ + \x04\x01\x02\0\x01\x12\x03\x15\r\x13\n\x0c\n\x05\x04\x01\x02\0\x03\x12\ + \x03\x15\x16\x17\n>\n\x04\x04\x01\x02\x01\x12\x03\x16\x04\x19\"1\x20Clie\ + nt\x20may\x20restart\x20the\x20txn.\x20e.g\x20write\x20conflict.\n\n\r\n\ + \x05\x04\x01\x02\x01\x04\x12\x04\x16\x04\x15\x18\n\x0c\n\x05\x04\x01\x02\ + \x01\x05\x12\x03\x16\x04\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x16\ + \x0b\x14\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x16\x17\x18\n+\n\x04\ + \x04\x01\x02\x02\x12\x03\x17\x04\x15\"\x1e\x20Client\x20should\x20abort\ + \x20the\x20txn.\n\n\r\n\x05\x04\x01\x02\x02\x04\x12\x04\x17\x04\x16\x19\ + \n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x17\x04\n\n\x0c\n\x05\x04\x01\ + \x02\x02\x01\x12\x03\x17\x0b\x10\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\ + \x17\x13\x14\n\n\n\x02\x05\0\x12\x04\x1a\0\x1e\x01\n\n\n\x03\x05\0\x01\ + \x12\x03\x1a\x05\x0f\n,\n\x04\x05\0\x02\0\x12\x03\x1b\x04\x0f\"\x1f\x20N\ + ormal\x20must\x20the\x20default\x20value\n\n\x0c\n\x05\x05\0\x02\0\x01\ + \x12\x03\x1b\x04\n\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x1b\r\x0e\n\x0b\n\ + \x04\x05\0\x02\x01\x12\x03\x1c\x04\x0c\n\x0c\n\x05\x05\0\x02\x01\x01\x12\ + \x03\x1c\x04\x07\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x1c\n\x0b\n\x0b\n\ + \x04\x05\0\x02\x02\x12\x03\x1d\x04\r\n\x0c\n\x05\x05\0\x02\x02\x01\x12\ + \x03\x1d\x04\x08\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\x1d\x0b\x0c\n\n\n\ + \x02\x05\x01\x12\x04\x20\0#\x01\n\n\n\x03\x05\x01\x01\x12\x03\x20\x05\ + \x13\n&\n\x04\x05\x01\x02\0\x12\x03!\x04\x0b\"\x19\x20SI\x20=\x20snapsho\ + t\x20isolation\n\n\x0c\n\x05\x05\x01\x02\0\x01\x12\x03!\x04\x06\n\x0c\n\ + \x05\x05\x01\x02\0\x02\x12\x03!\t\n\n\"\n\x04\x05\x01\x02\x01\x12\x03\"\ + \x04\x0b\"\x15\x20RC\x20=\x20read\x20committed\n\n\x0c\n\x05\x05\x01\x02\ + \x01\x01\x12\x03\"\x04\x06\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03\"\t\n\ + \n\n\n\x02\x04\x02\x12\x04%\02\x01\n\n\n\x03\x04\x02\x01\x12\x03%\x08\ + \x0f\n\n\n\x03\x04\x02\t\x12\x03&\r\x0f\n\x0b\n\x04\x04\x02\t\0\x12\x03&\ + \r\x0e\n\x0c\n\x05\x04\x02\t\0\x01\x12\x03&\r\x0e\n\x0c\n\x05\x04\x02\t\ + \0\x02\x12\x03&\r\x0e\n\n\n\x03\x04\x02\n\x12\x03'\r\x1b\n\x0b\n\x04\x04\ + \x02\n\0\x12\x03'\r\x1a\n\x0b\n\x04\x04\x02\x02\0\x12\x03(\x04\x19\n\r\n\ + \x05\x04\x02\x02\0\x04\x12\x04(\x04'\x1b\n\x0c\n\x05\x04\x02\x02\0\x05\ + \x12\x03(\x04\n\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03(\x0b\x14\n\x0c\n\ + \x05\x04\x02\x02\0\x03\x12\x03(\x17\x18\n\x0b\n\x04\x04\x02\x02\x01\x12\ + \x03)\x04(\n\r\n\x05\x04\x02\x02\x01\x04\x12\x04)\x04(\x19\n\x0c\n\x05\ + \x04\x02\x02\x01\x06\x12\x03)\x04\x16\n\x0c\n\x05\x04\x02\x02\x01\x01\ + \x12\x03)\x17#\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03)&'\n\x0b\n\x04\ + \x04\x02\x02\x02\x12\x03*\x04\x19\n\r\n\x05\x04\x02\x02\x02\x04\x12\x04*\ + \x04)(\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03*\x04\x0f\n\x0c\n\x05\x04\ + \x02\x02\x02\x01\x12\x03*\x10\x14\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\ + \x03*\x17\x18\n\x0b\n\x04\x04\x02\x02\x03\x12\x03+\x04\x14\n\r\n\x05\x04\ + \x02\x02\x03\x04\x12\x04+\x04*\x19\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\ + \x03+\x04\n\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03+\x0b\x0f\n\x0c\n\x05\ + \x04\x02\x02\x03\x03\x12\x03+\x12\x13\n\x0b\n\x04\x04\x02\x02\x04\x12\ + \x03,\x04\x1c\n\r\n\x05\x04\x02\x02\x04\x04\x12\x04,\x04+\x14\n\x0c\n\ + \x05\x04\x02\x02\x04\x06\x12\x03,\x04\x0e\n\x0c\n\x05\x04\x02\x02\x04\ + \x01\x12\x03,\x0f\x17\n\x0c\n\x05\x04\x02\x02\x04\x03\x12\x03,\x1a\x1b\n\ + \x0b\n\x04\x04\x02\x02\x05\x12\x03-\x04'\n\r\n\x05\x04\x02\x02\x05\x04\ + \x12\x04-\x04,\x1c\n\x0c\n\x05\x04\x02\x02\x05\x06\x12\x03-\x04\x12\n\ + \x0c\n\x05\x04\x02\x02\x05\x01\x12\x03-\x13\"\n\x0c\n\x05\x04\x02\x02\ + \x05\x03\x12\x03-%&\n\x0b\n\x04\x04\x02\x02\x06\x12\x03.\x04\x1c\n\r\n\ + \x05\x04\x02\x02\x06\x04\x12\x04.\x04-'\n\x0c\n\x05\x04\x02\x02\x06\x05\ + \x12\x03.\x04\x08\n\x0c\n\x05\x04\x02\x02\x06\x01\x12\x03.\t\x17\n\x0c\n\ + \x05\x04\x02\x02\x06\x03\x12\x03.\x1a\x1b\n\x0b\n\x04\x04\x02\x02\x07\ + \x12\x03/\x04\x16\n\r\n\x05\x04\x02\x02\x07\x04\x12\x04/\x04.\x1c\n\x0c\ + \n\x05\x04\x02\x02\x07\x05\x12\x03/\x04\x08\n\x0c\n\x05\x04\x02\x02\x07\ + \x01\x12\x03/\t\x11\n\x0c\n\x05\x04\x02\x02\x07\x03\x12\x03/\x14\x15\n3\ + \n\x04\x04\x02\x02\x08\x12\x030\x04\x1a\"&\x20true\x20means\x20return\ + \x20handle\x20time\x20detail\n\n\r\n\x05\x04\x02\x02\x08\x04\x12\x040\ + \x04/\x16\n\x0c\n\x05\x04\x02\x02\x08\x05\x12\x030\x04\x08\n\x0c\n\x05\ + \x04\x02\x02\x08\x01\x12\x030\t\x14\n\x0c\n\x05\x04\x02\x02\x08\x03\x12\ + \x030\x17\x19\n1\n\x04\x04\x02\x02\t\x12\x031\x04\x1a\"$\x20true\x20mean\ + s\x20return\x20scan\x20cf's\x20detail\n\n\r\n\x05\x04\x02\x02\t\x04\x12\ + \x041\x040\x1a\n\x0c\n\x05\x04\x02\x02\t\x05\x12\x031\x04\x08\n\x0c\n\ + \x05\x04\x02\x02\t\x01\x12\x031\t\x14\n\x0c\n\x05\x04\x02\x02\t\x03\x12\ + \x031\x17\x19\n\n\n\x02\x04\x03\x12\x044\07\x01\n\n\n\x03\x04\x03\x01\ + \x12\x034\x08\x12\n\x1c\n\x04\x04\x03\x02\0\x12\x035\x04\x16\"\x0f\x20ti\ + me\x20in\x20queue\n\n\r\n\x05\x04\x03\x02\0\x04\x12\x045\x044\x14\n\x0c\ + \n\x05\x04\x03\x02\0\x05\x12\x035\x04\t\n\x0c\n\x05\x04\x03\x02\0\x01\ + \x12\x035\n\x11\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x035\x14\x15\n.\n\x04\ + \x04\x03\x02\x01\x12\x036\x04\x19\"!\x20process\x20time\x20without\x20wa\ + it\x20time.\n\n\r\n\x05\x04\x03\x02\x01\x04\x12\x046\x045\x16\n\x0c\n\ + \x05\x04\x03\x02\x01\x05\x12\x036\x04\t\n\x0c\n\x05\x04\x03\x02\x01\x01\ + \x12\x036\n\x14\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x036\x17\x18\n\n\n\ + \x02\x04\x04\x12\x049\0<\x01\n\n\n\x03\x04\x04\x01\x12\x039\x08\x10\n\ + \x1a\n\x04\x04\x04\x02\0\x12\x03:\x04\x14\"\r\x20total\x20count\n\n\r\n\ + \x05\x04\x04\x02\0\x04\x12\x04:\x049\x12\n\x0c\n\x05\x04\x04\x02\0\x05\ + \x12\x03:\x04\t\n\x0c\n\x05\x04\x04\x02\0\x01\x12\x03:\n\x0f\n\x0c\n\x05\ + \x04\x04\x02\0\x03\x12\x03:\x12\x13\n\x1e\n\x04\x04\x04\x02\x01\x12\x03;\ + \x04\x18\"\x11\x20processed\x20count\n\n\r\n\x05\x04\x04\x02\x01\x04\x12\ + \x04;\x04:\x14\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03;\x04\t\n\x0c\n\ + \x05\x04\x04\x02\x01\x01\x12\x03;\n\x13\n\x0c\n\x05\x04\x04\x02\x01\x03\ + \x12\x03;\x16\x17\n\n\n\x02\x04\x05\x12\x04>\0B\x01\n\n\n\x03\x04\x05\ + \x01\x12\x03>\x08\x12\n\x0b\n\x04\x04\x05\x02\0\x12\x03?\x04\x17\n\r\n\ + \x05\x04\x05\x02\0\x04\x12\x04?\x04>\x14\n\x0c\n\x05\x04\x05\x02\0\x06\ + \x12\x03?\x04\x0c\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03?\r\x12\n\x0c\n\ + \x05\x04\x05\x02\0\x03\x12\x03?\x15\x16\n\x0b\n\x04\x04\x05\x02\x01\x12\ + \x03@\x04\x16\n\r\n\x05\x04\x05\x02\x01\x04\x12\x04@\x04?\x17\n\x0c\n\ + \x05\x04\x05\x02\x01\x06\x12\x03@\x04\x0c\n\x0c\n\x05\x04\x05\x02\x01\ + \x01\x12\x03@\r\x11\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03@\x14\x15\n\ + \x0b\n\x04\x04\x05\x02\x02\x12\x03A\x04\x16\n\r\n\x05\x04\x05\x02\x02\ + \x04\x12\x04A\x04@\x16\n\x0c\n\x05\x04\x05\x02\x02\x06\x12\x03A\x04\x0c\ + \n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03A\r\x11\n\x0c\n\x05\x04\x05\x02\ + \x02\x03\x12\x03A\x14\x15\n\n\n\x02\x04\x06\x12\x04D\0G\x01\n\n\n\x03\ + \x04\x06\x01\x12\x03D\x08\x13\nA\n\x04\x04\x06\x02\0\x12\x03E\x04\x1f\"4\ + \x20set\x20when\x20ctx.handle_time\x20=\x20true\x20or\x20meet\x20slow\ + \x20query\n\n\r\n\x05\x04\x06\x02\0\x04\x12\x04E\x04D\x15\n\x0c\n\x05\ + \x04\x06\x02\0\x06\x12\x03E\x04\x0e\n\x0c\n\x05\x04\x06\x02\0\x01\x12\ + \x03E\x0f\x1a\n\x0c\n\x05\x04\x06\x02\0\x03\x12\x03E\x1d\x1e\nA\n\x04\ + \x04\x06\x02\x01\x12\x03F\x04\x1f\"4\x20set\x20when\x20ctx.scan_detail\ + \x20=\x20true\x20or\x20meet\x20slow\x20query\n\n\r\n\x05\x04\x06\x02\x01\ + \x04\x12\x04F\x04E\x1f\n\x0c\n\x05\x04\x06\x02\x01\x06\x12\x03F\x04\x0e\ + \n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03F\x0f\x1a\n\x0c\n\x05\x04\x06\ + \x02\x01\x03\x12\x03F\x1d\x1e\n\n\n\x02\x04\x07\x12\x04I\0M\x01\n\n\n\ + \x03\x04\x07\x01\x12\x03I\x08\x12\n\x0b\n\x04\x04\x07\x02\0\x12\x03J\x04\ + \x18\n\r\n\x05\x04\x07\x02\0\x04\x12\x04J\x04I\x14\n\x0c\n\x05\x04\x07\ + \x02\0\x06\x12\x03J\x04\x0b\n\x0c\n\x05\x04\x07\x02\0\x01\x12\x03J\x0c\ + \x13\n\x0c\n\x05\x04\x07\x02\0\x03\x12\x03J\x16\x17\n\x0b\n\x04\x04\x07\ + \x02\x01\x12\x03K\x04\x12\n\r\n\x05\x04\x07\x02\x01\x04\x12\x04K\x04J\ + \x18\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03K\x04\t\n\x0c\n\x05\x04\x07\ + \x02\x01\x01\x12\x03K\n\r\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03K\x10\ + \x11\n\x0b\n\x04\x04\x07\x02\x02\x12\x03L\x04\x17\n\r\n\x05\x04\x07\x02\ + \x02\x04\x12\x04L\x04K\x12\n\x0c\n\x05\x04\x07\x02\x02\x05\x12\x03L\x04\ + \n\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03L\x0b\x12\n\x0c\n\x05\x04\x07\ + \x02\x02\x03\x12\x03L\x15\x16\n\n\n\x02\x04\x08\x12\x04O\0S\x01\n\n\n\ + \x03\x04\x08\x01\x12\x03O\x08\x13\n\x0b\n\x04\x04\x08\x02\0\x12\x03P\x04\ + #\n\r\n\x05\x04\x08\x02\0\x04\x12\x04P\x04O\x15\n\x0c\n\x05\x04\x08\x02\ + \0\x06\x12\x03P\x04\x11\n\x0c\n\x05\x04\x08\x02\0\x01\x12\x03P\x12\x1e\n\ + \x0c\n\x05\x04\x08\x02\0\x03\x12\x03P!\"\n\x0b\n\x04\x04\x08\x02\x01\x12\ + \x03Q\x04\x17\n\r\n\x05\x04\x08\x02\x01\x04\x12\x04Q\x04P#\n\x0c\n\x05\ + \x04\x08\x02\x01\x06\x12\x03Q\x04\x0c\n\x0c\n\x05\x04\x08\x02\x01\x01\ + \x12\x03Q\r\x12\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x03Q\x15\x16\n\x0b\n\ + \x04\x04\x08\x02\x02\x12\x03R\x04\x14\n\r\n\x05\x04\x08\x02\x02\x04\x12\ + \x04R\x04Q\x17\n\x0c\n\x05\x04\x08\x02\x02\x05\x12\x03R\x04\t\n\x0c\n\ + \x05\x04\x08\x02\x02\x01\x12\x03R\n\x0f\n\x0c\n\x05\x04\x08\x02\x02\x03\ + \x12\x03R\x12\x13\n\n\n\x02\x04\t\x12\x04U\0[\x01\n\n\n\x03\x04\t\x01\ + \x12\x03U\x08\x13\n\x0b\n\x04\x04\t\x02\0\x12\x03V\x04\x18\n\r\n\x05\x04\ + \t\x02\0\x04\x12\x04V\x04U\x15\n\x0c\n\x05\x04\t\x02\0\x06\x12\x03V\x04\ + \x0b\n\x0c\n\x05\x04\t\x02\0\x01\x12\x03V\x0c\x13\n\x0c\n\x05\x04\t\x02\ + \0\x03\x12\x03V\x16\x17\n\x0b\n\x04\x04\t\x02\x01\x12\x03W\x04\x18\n\r\n\ + \x05\x04\t\x02\x01\x04\x12\x04W\x04V\x18\n\x0c\n\x05\x04\t\x02\x01\x05\ + \x12\x03W\x04\t\n\x0c\n\x05\x04\t\x02\x01\x01\x12\x03W\n\x13\n\x0c\n\x05\ + \x04\t\x02\x01\x03\x12\x03W\x16\x17\n\x0b\n\x04\x04\t\x02\x02\x12\x03X\ + \x04\x15\n\r\n\x05\x04\t\x02\x02\x04\x12\x04X\x04W\x18\n\x0c\n\x05\x04\t\ + \x02\x02\x05\x12\x03X\x04\n\n\x0c\n\x05\x04\t\x02\x02\x01\x12\x03X\x0b\ + \x10\n\x0c\n\x05\x04\t\x02\x02\x03\x12\x03X\x13\x14\n\x0b\n\x04\x04\t\ + \x02\x03\x12\x03Y\x04\x17\n\r\n\x05\x04\t\x02\x03\x04\x12\x04Y\x04X\x15\ + \n\x0c\n\x05\x04\t\x02\x03\x05\x12\x03Y\x04\n\n\x0c\n\x05\x04\t\x02\x03\ + \x01\x12\x03Y\x0b\x12\n\x0c\n\x05\x04\t\x02\x03\x03\x12\x03Y\x15\x16\n\ + \x0b\n\x04\x04\t\x02\x04\x12\x03Z\x04\x16\n\r\n\x05\x04\t\x02\x04\x04\ + \x12\x04Z\x04Y\x17\n\x0c\n\x05\x04\t\x02\x04\x05\x12\x03Z\x04\x08\n\x0c\ + \n\x05\x04\t\x02\x04\x01\x12\x03Z\t\x11\n\x0c\n\x05\x04\t\x02\x04\x03\ + \x12\x03Z\x14\x15\n\n\n\x02\x04\n\x12\x04]\0a\x01\n\n\n\x03\x04\n\x01\ + \x12\x03]\x08\x0e\n\x0b\n\x04\x04\n\x02\0\x12\x03^\x04\x17\n\r\n\x05\x04\ + \n\x02\0\x04\x12\x04^\x04]\x10\n\x0c\n\x05\x04\n\x02\0\x06\x12\x03^\x04\ + \x0c\n\x0c\n\x05\x04\n\x02\0\x01\x12\x03^\r\x12\n\x0c\n\x05\x04\n\x02\0\ + \x03\x12\x03^\x15\x16\n\x0b\n\x04\x04\n\x02\x01\x12\x03_\x04\x12\n\r\n\ + \x05\x04\n\x02\x01\x04\x12\x04_\x04^\x17\n\x0c\n\x05\x04\n\x02\x01\x05\ + \x12\x03_\x04\t\n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03_\n\r\n\x0c\n\x05\ + \x04\n\x02\x01\x03\x12\x03_\x10\x11\n\x0b\n\x04\x04\n\x02\x02\x12\x03`\ + \x04\x14\n\r\n\x05\x04\n\x02\x02\x04\x12\x04`\x04_\x12\n\x0c\n\x05\x04\n\ + \x02\x02\x05\x12\x03`\x04\t\n\x0c\n\x05\x04\n\x02\x02\x01\x12\x03`\n\x0f\ + \n\x0c\n\x05\x04\n\x02\x02\x03\x12\x03`\x12\x13\n\n\n\x02\x04\x0b\x12\ + \x04c\0f\x01\n\n\n\x03\x04\x0b\x01\x12\x03c\x08\x14\n\x0b\n\x04\x04\x0b\ + \x02\0\x12\x03d\x04#\n\r\n\x05\x04\x0b\x02\0\x04\x12\x04d\x04c\x16\n\x0c\ + \n\x05\x04\x0b\x02\0\x06\x12\x03d\x04\x11\n\x0c\n\x05\x04\x0b\x02\0\x01\ + \x12\x03d\x12\x1e\n\x0c\n\x05\x04\x0b\x02\0\x03\x12\x03d!\"\n\x0b\n\x04\ + \x04\x0b\x02\x01\x12\x03e\x04\x1e\n\x0c\n\x05\x04\x0b\x02\x01\x04\x12\ + \x03e\x04\x0c\n\x0c\n\x05\x04\x0b\x02\x01\x06\x12\x03e\r\x13\n\x0c\n\x05\ + \x04\x0b\x02\x01\x01\x12\x03e\x14\x19\n\x0c\n\x05\x04\x0b\x02\x01\x03\ + \x12\x03e\x1c\x1d\n\n\n\x02\x05\x02\x12\x04h\0m\x01\n\n\n\x03\x05\x02\ + \x01\x12\x03h\x05\x07\n\x0b\n\x04\x05\x02\x02\0\x12\x03i\x04\x0c\n\x0c\n\ + \x05\x05\x02\x02\0\x01\x12\x03i\x04\x07\n\x0c\n\x05\x05\x02\x02\0\x02\ + \x12\x03i\n\x0b\n\x0b\n\x04\x05\x02\x02\x01\x12\x03j\x04\x0c\n\x0c\n\x05\ + \x05\x02\x02\x01\x01\x12\x03j\x04\x07\n\x0c\n\x05\x05\x02\x02\x01\x02\ + \x12\x03j\n\x0b\n\x0b\n\x04\x05\x02\x02\x02\x12\x03k\x04\r\n\x0c\n\x05\ + \x05\x02\x02\x02\x01\x12\x03k\x04\x08\n\x0c\n\x05\x05\x02\x02\x02\x02\ + \x12\x03k\x0b\x0c\n\x0b\n\x04\x05\x02\x02\x03\x12\x03l\x04\x11\n\x0c\n\ + \x05\x05\x02\x02\x03\x01\x12\x03l\x04\x0c\n\x0c\n\x05\x05\x02\x02\x03\ \x02\x12\x03l\x0f\x10\n\n\n\x02\x04\x0c\x12\x04o\0s\x01\n\n\n\x03\x04\ \x0c\x01\x12\x03o\x08\x10\n\x0b\n\x04\x04\x0c\x02\0\x12\x03p\x04\x0e\n\r\ \n\x05\x04\x0c\x02\0\x04\x12\x04p\x04o\x12\n\x0c\n\x05\x04\x0c\x02\0\x06\ @@ -18284,109 +18608,125 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x044\x02\x01\x12\x04\xd5\x02\x04\x1c\n\r\n\x05\x044\x02\x01\x04\x12\x04\ \xd5\x02\x04\x0c\n\r\n\x05\x044\x02\x01\x06\x12\x04\xd5\x02\r\x13\n\r\n\ \x05\x044\x02\x01\x01\x12\x04\xd5\x02\x14\x17\n\r\n\x05\x044\x02\x01\x03\ - \x12\x04\xd5\x02\x1a\x1b\n\x0c\n\x02\x045\x12\x06\xd8\x02\0\xdc\x02\x01\ + \x12\x04\xd5\x02\x1a\x1b\n\x0c\n\x02\x045\x12\x06\xd8\x02\0\xdd\x02\x01\ \n\x0b\n\x03\x045\x01\x12\x04\xd8\x02\x08\x11\n\x0c\n\x04\x045\x02\0\x12\ - \x04\xd9\x02\x04\x18\n\x0f\n\x05\x045\x02\0\x04\x12\x06\xd9\x02\x04\xd8\ - \x02\x13\n\r\n\x05\x045\x02\0\x05\x12\x04\xd9\x02\x04\n\n\r\n\x05\x045\ - \x02\0\x01\x12\x04\xd9\x02\x0b\x13\n\r\n\x05\x045\x02\0\x03\x12\x04\xd9\ - \x02\x16\x17\n\x0c\n\x04\x045\x02\x01\x12\x04\xda\x02\x04\x10\n\x0f\n\ - \x05\x045\x02\x01\x04\x12\x06\xda\x02\x04\xd9\x02\x18\n\r\n\x05\x045\x02\ - \x01\x06\x12\x04\xda\x02\x04\x06\n\r\n\x05\x045\x02\x01\x01\x12\x04\xda\ - \x02\x07\x0b\n\r\n\x05\x045\x02\x01\x03\x12\x04\xda\x02\x0e\x0f\n\x0c\n\ + \x04\xd9\x02\x04\x10\n\x0f\n\x05\x045\x02\0\x04\x12\x06\xd9\x02\x04\xd8\ + \x02\x13\n\r\n\x05\x045\x02\0\x06\x12\x04\xd9\x02\x04\x06\n\r\n\x05\x045\ + \x02\0\x01\x12\x04\xd9\x02\x07\x0b\n\r\n\x05\x045\x02\0\x03\x12\x04\xd9\ + \x02\x0e\x0f\n\x0c\n\x04\x045\x02\x01\x12\x04\xda\x02\x04\x18\n\x0f\n\ + \x05\x045\x02\x01\x04\x12\x06\xda\x02\x04\xd9\x02\x10\n\r\n\x05\x045\x02\ + \x01\x05\x12\x04\xda\x02\x04\n\n\r\n\x05\x045\x02\x01\x01\x12\x04\xda\ + \x02\x0b\x13\n\r\n\x05\x045\x02\x01\x03\x12\x04\xda\x02\x16\x17\n\x0c\n\ \x04\x045\x02\x02\x12\x04\xdb\x02\x04\x19\n\x0f\n\x05\x045\x02\x02\x04\ - \x12\x06\xdb\x02\x04\xda\x02\x10\n\r\n\x05\x045\x02\x02\x05\x12\x04\xdb\ + \x12\x06\xdb\x02\x04\xda\x02\x18\n\r\n\x05\x045\x02\x02\x05\x12\x04\xdb\ \x02\x04\n\n\r\n\x05\x045\x02\x02\x01\x12\x04\xdb\x02\x0b\x14\n\r\n\x05\ - \x045\x02\x02\x03\x12\x04\xdb\x02\x17\x18\n\x0c\n\x02\x046\x12\x06\xde\ - \x02\0\xe2\x02\x01\n\x0b\n\x03\x046\x01\x12\x04\xde\x02\x08\x11\n\x0c\n\ - \x04\x046\x02\0\x12\x04\xdf\x02\x04\x14\n\x0f\n\x05\x046\x02\0\x04\x12\ - \x06\xdf\x02\x04\xde\x02\x13\n\r\n\x05\x046\x02\0\x05\x12\x04\xdf\x02\ - \x04\t\n\r\n\x05\x046\x02\0\x01\x12\x04\xdf\x02\n\x0f\n\r\n\x05\x046\x02\ - \0\x03\x12\x04\xdf\x02\x12\x13\n\x0c\n\x04\x046\x02\x01\x12\x04\xe0\x02\ - \x04\x12\n\x0f\n\x05\x046\x02\x01\x04\x12\x06\xe0\x02\x04\xdf\x02\x14\n\ - \r\n\x05\x046\x02\x01\x05\x12\x04\xe0\x02\x04\n\n\r\n\x05\x046\x02\x01\ - \x01\x12\x04\xe0\x02\x0b\r\n\r\n\x05\x046\x02\x01\x03\x12\x04\xe0\x02\ - \x10\x11\n\x0c\n\x04\x046\x02\x02\x12\x04\xe1\x02\x04\x1c\n\x0f\n\x05\ - \x046\x02\x02\x04\x12\x06\xe1\x02\x04\xe0\x02\x12\n\r\n\x05\x046\x02\x02\ - \x05\x12\x04\xe1\x02\x04\x08\n\r\n\x05\x046\x02\x02\x01\x12\x04\xe1\x02\ - \t\x17\n\r\n\x05\x046\x02\x02\x03\x12\x04\xe1\x02\x1a\x1b\n\x0c\n\x02\ - \x047\x12\x06\xe4\x02\0\xe8\x02\x01\n\x0b\n\x03\x047\x01\x12\x04\xe4\x02\ - \x08\x10\n\x0c\n\x04\x047\x02\0\x12\x04\xe5\x02\x04\x16\n\x0f\n\x05\x047\ - \x02\0\x04\x12\x06\xe5\x02\x04\xe4\x02\x12\n\r\n\x05\x047\x02\0\x06\x12\ - \x04\xe5\x02\x04\x0c\n\r\n\x05\x047\x02\0\x01\x12\x04\xe5\x02\r\x11\n\r\ - \n\x05\x047\x02\0\x03\x12\x04\xe5\x02\x14\x15\n\x0c\n\x04\x047\x02\x01\ - \x12\x04\xe6\x02\x04\"\n\r\n\x05\x047\x02\x01\x04\x12\x04\xe6\x02\x04\ - \x0c\n\r\n\x05\x047\x02\x01\x06\x12\x04\xe6\x02\r\x16\n\r\n\x05\x047\x02\ - \x01\x01\x12\x04\xe6\x02\x17\x1d\n\r\n\x05\x047\x02\x01\x03\x12\x04\xe6\ - \x02\x20!\n\x0c\n\x04\x047\x02\x02\x12\x04\xe7\x02\x04\"\n\r\n\x05\x047\ - \x02\x02\x04\x12\x04\xe7\x02\x04\x0c\n\r\n\x05\x047\x02\x02\x06\x12\x04\ - \xe7\x02\r\x16\n\r\n\x05\x047\x02\x02\x01\x12\x04\xe7\x02\x17\x1d\n\r\n\ - \x05\x047\x02\x02\x03\x12\x04\xe7\x02\x20!\n\x0c\n\x02\x048\x12\x06\xea\ - \x02\0\xed\x02\x01\n\x0b\n\x03\x048\x01\x12\x04\xea\x02\x08\x1b\n\x0c\n\ - \x04\x048\x02\0\x12\x04\xeb\x02\x04\x18\n\x0f\n\x05\x048\x02\0\x04\x12\ - \x06\xeb\x02\x04\xea\x02\x1d\n\r\n\x05\x048\x02\0\x06\x12\x04\xeb\x02\ - \x04\x0b\n\r\n\x05\x048\x02\0\x01\x12\x04\xeb\x02\x0c\x13\n\r\n\x05\x048\ - \x02\0\x03\x12\x04\xeb\x02\x16\x17\n\x0c\n\x04\x048\x02\x01\x12\x04\xec\ - \x02\x04\x12\n\x0f\n\x05\x048\x02\x01\x04\x12\x06\xec\x02\x04\xeb\x02\ - \x18\n\r\n\x05\x048\x02\x01\x05\x12\x04\xec\x02\x04\t\n\r\n\x05\x048\x02\ - \x01\x01\x12\x04\xec\x02\n\r\n\r\n\x05\x048\x02\x01\x03\x12\x04\xec\x02\ - \x10\x11\n\x0c\n\x02\x049\x12\x06\xef\x02\0\xf3\x02\x01\n\x0b\n\x03\x049\ - \x01\x12\x04\xef\x02\x08\x1c\n\x0c\n\x04\x049\x02\0\x12\x04\xf0\x02\x04#\ - \n\x0f\n\x05\x049\x02\0\x04\x12\x06\xf0\x02\x04\xef\x02\x1e\n\r\n\x05\ - \x049\x02\0\x06\x12\x04\xf0\x02\x04\x11\n\r\n\x05\x049\x02\0\x01\x12\x04\ - \xf0\x02\x12\x1e\n\r\n\x05\x049\x02\0\x03\x12\x04\xf0\x02!\"\n\x0c\n\x04\ - \x049\x02\x01\x12\x04\xf1\x02\x04\x15\n\x0f\n\x05\x049\x02\x01\x04\x12\ - \x06\xf1\x02\x04\xf0\x02#\n\r\n\x05\x049\x02\x01\x05\x12\x04\xf1\x02\x04\ - \n\n\r\n\x05\x049\x02\x01\x01\x12\x04\xf1\x02\x0b\x10\n\r\n\x05\x049\x02\ - \x01\x03\x12\x04\xf1\x02\x13\x14\n\x0c\n\x04\x049\x02\x02\x12\x04\xf2\ - \x02\x04\x16\n\x0f\n\x05\x049\x02\x02\x04\x12\x06\xf2\x02\x04\xf1\x02\ - \x15\n\r\n\x05\x049\x02\x02\x06\x12\x04\xf2\x02\x04\x0c\n\r\n\x05\x049\ - \x02\x02\x01\x12\x04\xf2\x02\r\x11\n\r\n\x05\x049\x02\x02\x03\x12\x04\ - \xf2\x02\x14\x15\n\x0c\n\x02\x04:\x12\x06\xf5\x02\0\xf8\x02\x01\n\x0b\n\ - \x03\x04:\x01\x12\x04\xf5\x02\x08\x1f\n\x0c\n\x04\x04:\x02\0\x12\x04\xf6\ - \x02\x04\x18\n\x0f\n\x05\x04:\x02\0\x04\x12\x06\xf6\x02\x04\xf5\x02!\n\r\ - \n\x05\x04:\x02\0\x06\x12\x04\xf6\x02\x04\x0b\n\r\n\x05\x04:\x02\0\x01\ - \x12\x04\xf6\x02\x0c\x13\n\r\n\x05\x04:\x02\0\x03\x12\x04\xf6\x02\x16\ - \x17\n\x0c\n\x04\x04:\x02\x01\x12\x04\xf7\x02\x04\x18\n\x0f\n\x05\x04:\ - \x02\x01\x04\x12\x06\xf7\x02\x04\xf6\x02\x18\n\r\n\x05\x04:\x02\x01\x05\ - \x12\x04\xf7\x02\x04\n\n\r\n\x05\x04:\x02\x01\x01\x12\x04\xf7\x02\x0b\ - \x13\n\r\n\x05\x04:\x02\x01\x03\x12\x04\xf7\x02\x16\x17\n\x0c\n\x02\x04;\ - \x12\x06\xfa\x02\0\xff\x02\x01\n\x0b\n\x03\x04;\x01\x12\x04\xfa\x02\x08\ - \x20\n\x0c\n\x04\x04;\x02\0\x12\x04\xfb\x02\x04#\n\x0f\n\x05\x04;\x02\0\ - \x04\x12\x06\xfb\x02\x04\xfa\x02\"\n\r\n\x05\x04;\x02\0\x06\x12\x04\xfb\ - \x02\x04\x11\n\r\n\x05\x04;\x02\0\x01\x12\x04\xfb\x02\x12\x1e\n\r\n\x05\ - \x04;\x02\0\x03\x12\x04\xfb\x02!\"\n\x0c\n\x04\x04;\x02\x01\x12\x04\xfc\ - \x02\x04\x15\n\x0f\n\x05\x04;\x02\x01\x04\x12\x06\xfc\x02\x04\xfb\x02#\n\ - \r\n\x05\x04;\x02\x01\x05\x12\x04\xfc\x02\x04\n\n\r\n\x05\x04;\x02\x01\ - \x01\x12\x04\xfc\x02\x0b\x10\n\r\n\x05\x04;\x02\x01\x03\x12\x04\xfc\x02\ - \x13\x14\n\x0c\n\x04\x04;\x02\x02\x12\x04\xfd\x02\x04\x12\n\x0f\n\x05\ - \x04;\x02\x02\x04\x12\x06\xfd\x02\x04\xfc\x02\x15\n\r\n\x05\x04;\x02\x02\ - \x05\x12\x04\xfd\x02\x04\t\n\r\n\x05\x04;\x02\x02\x01\x12\x04\xfd\x02\n\ - \r\n\r\n\x05\x04;\x02\x02\x03\x12\x04\xfd\x02\x10\x11\n\x0c\n\x04\x04;\ - \x02\x03\x12\x04\xfe\x02\x04\x16\n\x0f\n\x05\x04;\x02\x03\x04\x12\x06\ - \xfe\x02\x04\xfd\x02\x12\n\r\n\x05\x04;\x02\x03\x06\x12\x04\xfe\x02\x04\ - \x0c\n\r\n\x05\x04;\x02\x03\x01\x12\x04\xfe\x02\r\x11\n\r\n\x05\x04;\x02\ - \x03\x03\x12\x04\xfe\x02\x14\x15\n\x0c\n\x02\x04<\x12\x06\x81\x03\0\x84\ - \x03\x01\n\x0b\n\x03\x04<\x01\x12\x04\x81\x03\x08\x1a\n\x0c\n\x04\x04<\ - \x02\0\x12\x04\x82\x03\x04\x18\n\x0f\n\x05\x04<\x02\0\x04\x12\x06\x82\ - \x03\x04\x81\x03\x1c\n\r\n\x05\x04<\x02\0\x06\x12\x04\x82\x03\x04\x0b\n\ - \r\n\x05\x04<\x02\0\x01\x12\x04\x82\x03\x0c\x13\n\r\n\x05\x04<\x02\0\x03\ - \x12\x04\x82\x03\x16\x17\n\x0c\n\x04\x04<\x02\x01\x12\x04\x83\x03\x04\ - \x18\n\x0f\n\x05\x04<\x02\x01\x04\x12\x06\x83\x03\x04\x82\x03\x18\n\r\n\ - \x05\x04<\x02\x01\x05\x12\x04\x83\x03\x04\t\n\r\n\x05\x04<\x02\x01\x01\ - \x12\x04\x83\x03\n\x13\n\r\n\x05\x04<\x02\x01\x03\x12\x04\x83\x03\x16\ - \x17\n\x0c\n\x02\x04=\x12\x06\x86\x03\0\x8a\x03\x01\n\x0b\n\x03\x04=\x01\ - \x12\x04\x86\x03\x08\x1b\n\x0c\n\x04\x04=\x02\0\x12\x04\x87\x03\x04#\n\ - \x0f\n\x05\x04=\x02\0\x04\x12\x06\x87\x03\x04\x86\x03\x1d\n\r\n\x05\x04=\ - \x02\0\x06\x12\x04\x87\x03\x04\x11\n\r\n\x05\x04=\x02\0\x01\x12\x04\x87\ - \x03\x12\x1e\n\r\n\x05\x04=\x02\0\x03\x12\x04\x87\x03!\"\n\x0c\n\x04\x04\ - =\x02\x01\x12\x04\x88\x03\x04\x1c\n\x0f\n\x05\x04=\x02\x01\x04\x12\x06\ - \x88\x03\x04\x87\x03#\n\r\n\x05\x04=\x02\x01\x06\x12\x04\x88\x03\x04\x11\ - \n\r\n\x05\x04=\x02\x01\x01\x12\x04\x88\x03\x12\x16\n\r\n\x05\x04=\x02\ - \x01\x03\x12\x04\x88\x03\x1a\x1b\n\x0c\n\x04\x04=\x02\x02\x12\x04\x89\ - \x03\x04\x1c\n\x0f\n\x05\x04=\x02\x02\x04\x12\x06\x89\x03\x04\x88\x03\ - \x1c\n\r\n\x05\x04=\x02\x02\x06\x12\x04\x89\x03\x04\x11\n\r\n\x05\x04=\ - \x02\x02\x01\x12\x04\x89\x03\x12\x17\n\r\n\x05\x04=\x02\x02\x03\x12\x04\ - \x89\x03\x1a\x1bb\x06proto3\ + \x045\x02\x02\x03\x12\x04\xdb\x02\x17\x18\n\x0c\n\x04\x045\x02\x03\x12\ + \x04\xdc\x02\x04\x1a\n\x0f\n\x05\x045\x02\x03\x04\x12\x06\xdc\x02\x04\ + \xdb\x02\x19\n\r\n\x05\x045\x02\x03\x05\x12\x04\xdc\x02\x04\t\n\r\n\x05\ + \x045\x02\x03\x01\x12\x04\xdc\x02\n\x15\n\r\n\x05\x045\x02\x03\x03\x12\ + \x04\xdc\x02\x18\x19\n\x0c\n\x02\x046\x12\x06\xdf\x02\0\xe2\x02\x01\n\ + \x0b\n\x03\x046\x01\x12\x04\xdf\x02\x08\x11\n\x0c\n\x04\x046\x02\0\x12\ + \x04\xe0\x02\x04\x18\n\x0f\n\x05\x046\x02\0\x04\x12\x06\xe0\x02\x04\xdf\ + \x02\x13\n\r\n\x05\x046\x02\0\x05\x12\x04\xe0\x02\x04\n\n\r\n\x05\x046\ + \x02\0\x01\x12\x04\xe0\x02\x0b\x13\n\r\n\x05\x046\x02\0\x03\x12\x04\xe0\ + \x02\x16\x17\n\x0c\n\x04\x046\x02\x01\x12\x04\xe1\x02\x04\x14\n\x0f\n\ + \x05\x046\x02\x01\x04\x12\x06\xe1\x02\x04\xe0\x02\x18\n\r\n\x05\x046\x02\ + \x01\x05\x12\x04\xe1\x02\x04\t\n\r\n\x05\x046\x02\x01\x01\x12\x04\xe1\ + \x02\n\x0f\n\r\n\x05\x046\x02\x01\x03\x12\x04\xe1\x02\x12\x13\n\x0c\n\ + \x02\x047\x12\x06\xe4\x02\0\xe9\x02\x01\n\x0b\n\x03\x047\x01\x12\x04\xe4\ + \x02\x08\x10\n\x0c\n\x04\x047\x02\0\x12\x04\xe5\x02\x04\x10\n\x0f\n\x05\ + \x047\x02\0\x04\x12\x06\xe5\x02\x04\xe4\x02\x12\n\r\n\x05\x047\x02\0\x06\ + \x12\x04\xe5\x02\x04\x06\n\r\n\x05\x047\x02\0\x01\x12\x04\xe5\x02\x07\ + \x0b\n\r\n\x05\x047\x02\0\x03\x12\x04\xe5\x02\x0e\x0f\n\x0c\n\x04\x047\ + \x02\x01\x12\x04\xe6\x02\x04\x18\n\x0f\n\x05\x047\x02\x01\x04\x12\x06\ + \xe6\x02\x04\xe5\x02\x10\n\r\n\x05\x047\x02\x01\x05\x12\x04\xe6\x02\x04\ + \n\n\r\n\x05\x047\x02\x01\x01\x12\x04\xe6\x02\x0b\x13\n\r\n\x05\x047\x02\ + \x01\x03\x12\x04\xe6\x02\x16\x17\n\x0c\n\x04\x047\x02\x02\x12\x04\xe7\ + \x02\x04\x16\n\x0f\n\x05\x047\x02\x02\x04\x12\x06\xe7\x02\x04\xe6\x02\ + \x18\n\r\n\x05\x047\x02\x02\x05\x12\x04\xe7\x02\x04\t\n\r\n\x05\x047\x02\ + \x02\x01\x12\x04\xe7\x02\n\x11\n\r\n\x05\x047\x02\x02\x03\x12\x04\xe7\ + \x02\x14\x15\n\x0c\n\x04\x047\x02\x03\x12\x04\xe8\x02\x04\x1a\n\x0f\n\ + \x05\x047\x02\x03\x04\x12\x06\xe8\x02\x04\xe7\x02\x16\n\r\n\x05\x047\x02\ + \x03\x05\x12\x04\xe8\x02\x04\t\n\r\n\x05\x047\x02\x03\x01\x12\x04\xe8\ + \x02\n\x15\n\r\n\x05\x047\x02\x03\x03\x12\x04\xe8\x02\x18\x19\n\x0c\n\ + \x02\x048\x12\x06\xeb\x02\0\xef\x02\x01\n\x0b\n\x03\x048\x01\x12\x04\xeb\ + \x02\x08\x10\n\x0c\n\x04\x048\x02\0\x12\x04\xec\x02\x04\x16\n\x0f\n\x05\ + \x048\x02\0\x04\x12\x06\xec\x02\x04\xeb\x02\x12\n\r\n\x05\x048\x02\0\x06\ + \x12\x04\xec\x02\x04\x0c\n\r\n\x05\x048\x02\0\x01\x12\x04\xec\x02\r\x11\ + \n\r\n\x05\x048\x02\0\x03\x12\x04\xec\x02\x14\x15\n\x0c\n\x04\x048\x02\ + \x01\x12\x04\xed\x02\x04\"\n\r\n\x05\x048\x02\x01\x04\x12\x04\xed\x02\ + \x04\x0c\n\r\n\x05\x048\x02\x01\x06\x12\x04\xed\x02\r\x16\n\r\n\x05\x048\ + \x02\x01\x01\x12\x04\xed\x02\x17\x1d\n\r\n\x05\x048\x02\x01\x03\x12\x04\ + \xed\x02\x20!\n\x0c\n\x04\x048\x02\x02\x12\x04\xee\x02\x04\"\n\r\n\x05\ + \x048\x02\x02\x04\x12\x04\xee\x02\x04\x0c\n\r\n\x05\x048\x02\x02\x06\x12\ + \x04\xee\x02\r\x16\n\r\n\x05\x048\x02\x02\x01\x12\x04\xee\x02\x17\x1d\n\ + \r\n\x05\x048\x02\x02\x03\x12\x04\xee\x02\x20!\n\x0c\n\x02\x049\x12\x06\ + \xf1\x02\0\xf4\x02\x01\n\x0b\n\x03\x049\x01\x12\x04\xf1\x02\x08\x1b\n\ + \x0c\n\x04\x049\x02\0\x12\x04\xf2\x02\x04\x18\n\x0f\n\x05\x049\x02\0\x04\ + \x12\x06\xf2\x02\x04\xf1\x02\x1d\n\r\n\x05\x049\x02\0\x06\x12\x04\xf2\ + \x02\x04\x0b\n\r\n\x05\x049\x02\0\x01\x12\x04\xf2\x02\x0c\x13\n\r\n\x05\ + \x049\x02\0\x03\x12\x04\xf2\x02\x16\x17\n\x0c\n\x04\x049\x02\x01\x12\x04\ + \xf3\x02\x04\x12\n\x0f\n\x05\x049\x02\x01\x04\x12\x06\xf3\x02\x04\xf2\ + \x02\x18\n\r\n\x05\x049\x02\x01\x05\x12\x04\xf3\x02\x04\t\n\r\n\x05\x049\ + \x02\x01\x01\x12\x04\xf3\x02\n\r\n\r\n\x05\x049\x02\x01\x03\x12\x04\xf3\ + \x02\x10\x11\n\x0c\n\x02\x04:\x12\x06\xf6\x02\0\xfa\x02\x01\n\x0b\n\x03\ + \x04:\x01\x12\x04\xf6\x02\x08\x1c\n\x0c\n\x04\x04:\x02\0\x12\x04\xf7\x02\ + \x04#\n\x0f\n\x05\x04:\x02\0\x04\x12\x06\xf7\x02\x04\xf6\x02\x1e\n\r\n\ + \x05\x04:\x02\0\x06\x12\x04\xf7\x02\x04\x11\n\r\n\x05\x04:\x02\0\x01\x12\ + \x04\xf7\x02\x12\x1e\n\r\n\x05\x04:\x02\0\x03\x12\x04\xf7\x02!\"\n\x0c\n\ + \x04\x04:\x02\x01\x12\x04\xf8\x02\x04\x15\n\x0f\n\x05\x04:\x02\x01\x04\ + \x12\x06\xf8\x02\x04\xf7\x02#\n\r\n\x05\x04:\x02\x01\x05\x12\x04\xf8\x02\ + \x04\n\n\r\n\x05\x04:\x02\x01\x01\x12\x04\xf8\x02\x0b\x10\n\r\n\x05\x04:\ + \x02\x01\x03\x12\x04\xf8\x02\x13\x14\n\x0c\n\x04\x04:\x02\x02\x12\x04\ + \xf9\x02\x04\x16\n\x0f\n\x05\x04:\x02\x02\x04\x12\x06\xf9\x02\x04\xf8\ + \x02\x15\n\r\n\x05\x04:\x02\x02\x06\x12\x04\xf9\x02\x04\x0c\n\r\n\x05\ + \x04:\x02\x02\x01\x12\x04\xf9\x02\r\x11\n\r\n\x05\x04:\x02\x02\x03\x12\ + \x04\xf9\x02\x14\x15\n\x0c\n\x02\x04;\x12\x06\xfc\x02\0\xff\x02\x01\n\ + \x0b\n\x03\x04;\x01\x12\x04\xfc\x02\x08\x1f\n\x0c\n\x04\x04;\x02\0\x12\ + \x04\xfd\x02\x04\x18\n\x0f\n\x05\x04;\x02\0\x04\x12\x06\xfd\x02\x04\xfc\ + \x02!\n\r\n\x05\x04;\x02\0\x06\x12\x04\xfd\x02\x04\x0b\n\r\n\x05\x04;\ + \x02\0\x01\x12\x04\xfd\x02\x0c\x13\n\r\n\x05\x04;\x02\0\x03\x12\x04\xfd\ + \x02\x16\x17\n\x0c\n\x04\x04;\x02\x01\x12\x04\xfe\x02\x04\x18\n\x0f\n\ + \x05\x04;\x02\x01\x04\x12\x06\xfe\x02\x04\xfd\x02\x18\n\r\n\x05\x04;\x02\ + \x01\x05\x12\x04\xfe\x02\x04\n\n\r\n\x05\x04;\x02\x01\x01\x12\x04\xfe\ + \x02\x0b\x13\n\r\n\x05\x04;\x02\x01\x03\x12\x04\xfe\x02\x16\x17\n\x0c\n\ + \x02\x04<\x12\x06\x81\x03\0\x86\x03\x01\n\x0b\n\x03\x04<\x01\x12\x04\x81\ + \x03\x08\x20\n\x0c\n\x04\x04<\x02\0\x12\x04\x82\x03\x04#\n\x0f\n\x05\x04\ + <\x02\0\x04\x12\x06\x82\x03\x04\x81\x03\"\n\r\n\x05\x04<\x02\0\x06\x12\ + \x04\x82\x03\x04\x11\n\r\n\x05\x04<\x02\0\x01\x12\x04\x82\x03\x12\x1e\n\ + \r\n\x05\x04<\x02\0\x03\x12\x04\x82\x03!\"\n\x0c\n\x04\x04<\x02\x01\x12\ + \x04\x83\x03\x04\x15\n\x0f\n\x05\x04<\x02\x01\x04\x12\x06\x83\x03\x04\ + \x82\x03#\n\r\n\x05\x04<\x02\x01\x05\x12\x04\x83\x03\x04\n\n\r\n\x05\x04\ + <\x02\x01\x01\x12\x04\x83\x03\x0b\x10\n\r\n\x05\x04<\x02\x01\x03\x12\x04\ + \x83\x03\x13\x14\n\x0c\n\x04\x04<\x02\x02\x12\x04\x84\x03\x04\x12\n\x0f\ + \n\x05\x04<\x02\x02\x04\x12\x06\x84\x03\x04\x83\x03\x15\n\r\n\x05\x04<\ + \x02\x02\x05\x12\x04\x84\x03\x04\t\n\r\n\x05\x04<\x02\x02\x01\x12\x04\ + \x84\x03\n\r\n\r\n\x05\x04<\x02\x02\x03\x12\x04\x84\x03\x10\x11\n\x0c\n\ + \x04\x04<\x02\x03\x12\x04\x85\x03\x04\x16\n\x0f\n\x05\x04<\x02\x03\x04\ + \x12\x06\x85\x03\x04\x84\x03\x12\n\r\n\x05\x04<\x02\x03\x06\x12\x04\x85\ + \x03\x04\x0c\n\r\n\x05\x04<\x02\x03\x01\x12\x04\x85\x03\r\x11\n\r\n\x05\ + \x04<\x02\x03\x03\x12\x04\x85\x03\x14\x15\n\x0c\n\x02\x04=\x12\x06\x88\ + \x03\0\x8b\x03\x01\n\x0b\n\x03\x04=\x01\x12\x04\x88\x03\x08\x1a\n\x0c\n\ + \x04\x04=\x02\0\x12\x04\x89\x03\x04\x18\n\x0f\n\x05\x04=\x02\0\x04\x12\ + \x06\x89\x03\x04\x88\x03\x1c\n\r\n\x05\x04=\x02\0\x06\x12\x04\x89\x03\ + \x04\x0b\n\r\n\x05\x04=\x02\0\x01\x12\x04\x89\x03\x0c\x13\n\r\n\x05\x04=\ + \x02\0\x03\x12\x04\x89\x03\x16\x17\n\x0c\n\x04\x04=\x02\x01\x12\x04\x8a\ + \x03\x04\x18\n\x0f\n\x05\x04=\x02\x01\x04\x12\x06\x8a\x03\x04\x89\x03\ + \x18\n\r\n\x05\x04=\x02\x01\x05\x12\x04\x8a\x03\x04\t\n\r\n\x05\x04=\x02\ + \x01\x01\x12\x04\x8a\x03\n\x13\n\r\n\x05\x04=\x02\x01\x03\x12\x04\x8a\ + \x03\x16\x17\n\x0c\n\x02\x04>\x12\x06\x8d\x03\0\x91\x03\x01\n\x0b\n\x03\ + \x04>\x01\x12\x04\x8d\x03\x08\x1b\n\x0c\n\x04\x04>\x02\0\x12\x04\x8e\x03\ + \x04#\n\x0f\n\x05\x04>\x02\0\x04\x12\x06\x8e\x03\x04\x8d\x03\x1d\n\r\n\ + \x05\x04>\x02\0\x06\x12\x04\x8e\x03\x04\x11\n\r\n\x05\x04>\x02\0\x01\x12\ + \x04\x8e\x03\x12\x1e\n\r\n\x05\x04>\x02\0\x03\x12\x04\x8e\x03!\"\n\x0c\n\ + \x04\x04>\x02\x01\x12\x04\x8f\x03\x04\x1c\n\x0f\n\x05\x04>\x02\x01\x04\ + \x12\x06\x8f\x03\x04\x8e\x03#\n\r\n\x05\x04>\x02\x01\x06\x12\x04\x8f\x03\ + \x04\x11\n\r\n\x05\x04>\x02\x01\x01\x12\x04\x8f\x03\x12\x16\n\r\n\x05\ + \x04>\x02\x01\x03\x12\x04\x8f\x03\x1a\x1b\n\x0c\n\x04\x04>\x02\x02\x12\ + \x04\x90\x03\x04\x1c\n\x0f\n\x05\x04>\x02\x02\x04\x12\x06\x90\x03\x04\ + \x8f\x03\x1c\n\r\n\x05\x04>\x02\x02\x06\x12\x04\x90\x03\x04\x11\n\r\n\ + \x05\x04>\x02\x02\x01\x12\x04\x90\x03\x12\x17\n\r\n\x05\x04>\x02\x02\x03\ + \x12\x04\x90\x03\x1a\x1bb\x06proto3\ "; static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {