github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/storage/enginepb/mvcc.pb.go (about) 1 // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 // source: storage/enginepb/mvcc.proto 3 4 package enginepb 5 6 import proto "github.com/gogo/protobuf/proto" 7 import fmt "fmt" 8 import math "math" 9 import hlc "github.com/cockroachdb/cockroach/pkg/util/hlc" 10 11 import bytes "bytes" 12 13 import encoding_binary "encoding/binary" 14 15 import io "io" 16 17 // Reference imports to suppress errors if they are not otherwise used. 18 var _ = proto.Marshal 19 var _ = fmt.Errorf 20 var _ = math.Inf 21 22 // This is a compile-time assertion to ensure that this generated file 23 // is compatible with the proto package it is being compiled against. 24 // A compilation error at this line likely means your copy of the 25 // proto package needs to be updated. 26 const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package 27 28 // MVCCMetadata holds MVCC metadata for a key. Used by storage/mvcc.go. 29 // An MVCCMetadata is stored for a versioned key while there is an intent on 30 // that key. 31 type MVCCMetadata struct { 32 // The transaction metadata. Present for intents, but not for inline 33 // values (e.g. timeseries data). Also not present for 34 // "reconstructed" metadata that is used during MVCC processing when 35 // no intent exists on disk. 36 Txn *TxnMeta `protobuf:"bytes,1,opt,name=txn" json:"txn,omitempty"` 37 // The timestamp of the most recent versioned value if this is a 38 // value that may have multiple versions. For values which may have 39 // only one version, the data is stored inline (via raw_bytes), and 40 // timestamp is set to zero. 41 Timestamp hlc.LegacyTimestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp"` 42 // Is the most recent value a deletion tombstone? 43 Deleted bool `protobuf:"varint,3,opt,name=deleted" json:"deleted"` 44 // The size in bytes of the most recent encoded key. 45 KeyBytes int64 `protobuf:"varint,4,opt,name=key_bytes,json=keyBytes" json:"key_bytes"` 46 // The size in bytes of the most recent versioned value. 47 ValBytes int64 `protobuf:"varint,5,opt,name=val_bytes,json=valBytes" json:"val_bytes"` 48 // Inline value, used for non-versioned values with zero 49 // timestamp. This provides an efficient short circuit of the normal 50 // MVCC metadata sentinel and subsequent version rows. If timestamp 51 // == (0, 0), then there is only a single MVCC metadata row with 52 // value inlined, and with empty timestamp, key_bytes, and 53 // val_bytes. 54 RawBytes []byte `protobuf:"bytes,6,opt,name=raw_bytes,json=rawBytes" json:"raw_bytes,omitempty"` 55 // IntentHistory of the transaction stores the older values the txn wrote 56 // for the key along with each values corresponding Sequence. It doesn't 57 // contain the latest intent value but rather stores all the values that have 58 // been overwritten by the transaction. 59 // IntentHistory will be empty for non-transactional requests. 60 IntentHistory []MVCCMetadata_SequencedIntent `protobuf:"bytes,8,rep,name=intent_history,json=intentHistory" json:"intent_history"` 61 // This provides a measure of protection against replays caused by 62 // Raft duplicating merge commands. 63 MergeTimestamp *hlc.LegacyTimestamp `protobuf:"bytes,7,opt,name=merge_timestamp,json=mergeTimestamp" json:"merge_timestamp,omitempty"` 64 } 65 66 func (m *MVCCMetadata) Reset() { *m = MVCCMetadata{} } 67 func (*MVCCMetadata) ProtoMessage() {} 68 func (*MVCCMetadata) Descriptor() ([]byte, []int) { 69 return fileDescriptor_mvcc_7eac2e495f55e518, []int{0} 70 } 71 func (m *MVCCMetadata) XXX_Unmarshal(b []byte) error { 72 return m.Unmarshal(b) 73 } 74 func (m *MVCCMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 75 b = b[:cap(b)] 76 n, err := m.MarshalTo(b) 77 if err != nil { 78 return nil, err 79 } 80 return b[:n], nil 81 } 82 func (dst *MVCCMetadata) XXX_Merge(src proto.Message) { 83 xxx_messageInfo_MVCCMetadata.Merge(dst, src) 84 } 85 func (m *MVCCMetadata) XXX_Size() int { 86 return m.Size() 87 } 88 func (m *MVCCMetadata) XXX_DiscardUnknown() { 89 xxx_messageInfo_MVCCMetadata.DiscardUnknown(m) 90 } 91 92 var xxx_messageInfo_MVCCMetadata proto.InternalMessageInfo 93 94 // SequencedIntent stores a value at a given key and the sequence number it was 95 // written at - to be stored in an IntentHistory of a key during a transaction. 96 type MVCCMetadata_SequencedIntent struct { 97 // Sequence is a one-indexed number which is increased on each request 98 // set as part of a transaction. It uniquely identifies a value from 99 // the IntentHistory. 100 Sequence TxnSeq `protobuf:"varint,1,opt,name=sequence,casttype=TxnSeq" json:"sequence"` 101 // Value is the value written to the key as part of the transaction at 102 // the above Sequence. 103 Value []byte `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` 104 } 105 106 func (m *MVCCMetadata_SequencedIntent) Reset() { *m = MVCCMetadata_SequencedIntent{} } 107 func (*MVCCMetadata_SequencedIntent) ProtoMessage() {} 108 func (*MVCCMetadata_SequencedIntent) Descriptor() ([]byte, []int) { 109 return fileDescriptor_mvcc_7eac2e495f55e518, []int{0, 0} 110 } 111 func (m *MVCCMetadata_SequencedIntent) XXX_Unmarshal(b []byte) error { 112 return m.Unmarshal(b) 113 } 114 func (m *MVCCMetadata_SequencedIntent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 115 b = b[:cap(b)] 116 n, err := m.MarshalTo(b) 117 if err != nil { 118 return nil, err 119 } 120 return b[:n], nil 121 } 122 func (dst *MVCCMetadata_SequencedIntent) XXX_Merge(src proto.Message) { 123 xxx_messageInfo_MVCCMetadata_SequencedIntent.Merge(dst, src) 124 } 125 func (m *MVCCMetadata_SequencedIntent) XXX_Size() int { 126 return m.Size() 127 } 128 func (m *MVCCMetadata_SequencedIntent) XXX_DiscardUnknown() { 129 xxx_messageInfo_MVCCMetadata_SequencedIntent.DiscardUnknown(m) 130 } 131 132 var xxx_messageInfo_MVCCMetadata_SequencedIntent proto.InternalMessageInfo 133 134 // A mirror of MVCCMetadata intended for serializing non-MVCC data that is 135 // merged within the RocksDB or Pebble engines. Such data only populates 136 // raw_bytes and optionally merge_timestamp. The C++ serialization of 137 // MVCCMetadata does not serialize any of the missing optional fields, but 138 // the Go serialization treats the optional fields annotated with 139 // [(gogoproto.nullable) = false] in a manner that cannot distinguish 140 // between the default and missing value, and causes them to serialized 141 // (e.g. fields with tag 2, 3, 4, 5). By using the following proto in the 142 // Go merge code, the Go and C++ serialization match. 143 type MVCCMetadataSubsetForMergeSerialization struct { 144 RawBytes []byte `protobuf:"bytes,6,opt,name=raw_bytes,json=rawBytes" json:"raw_bytes,omitempty"` 145 MergeTimestamp *hlc.LegacyTimestamp `protobuf:"bytes,7,opt,name=merge_timestamp,json=mergeTimestamp" json:"merge_timestamp,omitempty"` 146 } 147 148 func (m *MVCCMetadataSubsetForMergeSerialization) Reset() { 149 *m = MVCCMetadataSubsetForMergeSerialization{} 150 } 151 func (*MVCCMetadataSubsetForMergeSerialization) ProtoMessage() {} 152 func (*MVCCMetadataSubsetForMergeSerialization) Descriptor() ([]byte, []int) { 153 return fileDescriptor_mvcc_7eac2e495f55e518, []int{1} 154 } 155 func (m *MVCCMetadataSubsetForMergeSerialization) XXX_Unmarshal(b []byte) error { 156 return m.Unmarshal(b) 157 } 158 func (m *MVCCMetadataSubsetForMergeSerialization) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 159 b = b[:cap(b)] 160 n, err := m.MarshalTo(b) 161 if err != nil { 162 return nil, err 163 } 164 return b[:n], nil 165 } 166 func (dst *MVCCMetadataSubsetForMergeSerialization) XXX_Merge(src proto.Message) { 167 xxx_messageInfo_MVCCMetadataSubsetForMergeSerialization.Merge(dst, src) 168 } 169 func (m *MVCCMetadataSubsetForMergeSerialization) XXX_Size() int { 170 return m.Size() 171 } 172 func (m *MVCCMetadataSubsetForMergeSerialization) XXX_DiscardUnknown() { 173 xxx_messageInfo_MVCCMetadataSubsetForMergeSerialization.DiscardUnknown(m) 174 } 175 176 var xxx_messageInfo_MVCCMetadataSubsetForMergeSerialization proto.InternalMessageInfo 177 178 // MVCCStats tracks byte and instance counts for various groups of keys, 179 // values, or key-value pairs; see the field comments for details. 180 // 181 // It also tracks two cumulative ages, namely that of intents and non-live 182 // (i.e. GC-able) bytes. This computation is intrinsically linked to 183 // last_update_nanos and is easy to get wrong. Updates happen only once every 184 // full second, as measured by last_update_nanos/1e9. That is, forward updates 185 // don't change last_update_nanos until an update at a timestamp which, 186 // truncated to the second, is ahead of last_update_nanos/1e9. Then, that 187 // difference in seconds times the base quantity (excluding the currently 188 // running update) is added to the age. 189 // 190 // To give an example, if an intent is around from `t=2.5s` to `t=4.1s` (the 191 // current time), then it contributes an intent age of two seconds (one second 192 // picked up when crossing `t=3s`, another one at `t=4s`). Similarly, if a 193 // GC'able kv pair is around for this amount of time, it contributes two seconds 194 // times its size in bytes. 195 // 196 // It gets more complicated when data is 197 // accounted for with a timestamp behind last_update_nanos. In this case, if 198 // more than a second has passed (computed via truncation above), the ages have 199 // to be adjusted to account for this late addition. This isn't hard: add the 200 // new data's base quantity times the (truncated) number of seconds behind. 201 // Important to keep in mind with those computations is that (x/1e9 - y/1e9) 202 // does not equal (x-y)/1e9 in most cases. 203 // 204 // Note that this struct must be kept at a fixed size by using fixed-size 205 // encodings for all fields and by making all fields non-nullable. This is 206 // so that it can predict its own impact on the size of the system-local 207 // kv-pairs. 208 type MVCCStats struct { 209 // contains_estimates indicates that the MVCCStats object contains values 210 // which have been estimated. This means that the stats should not be used 211 // where complete accuracy is required, and instead should be recomputed 212 // when necessary. See clusterversion.VersionContainsEstimatesCounter for 213 // details about the migration from bool to int64. 214 ContainsEstimates int64 `protobuf:"varint,14,opt,name=contains_estimates,json=containsEstimates" json:"contains_estimates"` 215 // last_update_nanos is a timestamp at which the ages were last 216 // updated. See the comment on MVCCStats. 217 LastUpdateNanos int64 `protobuf:"fixed64,1,opt,name=last_update_nanos,json=lastUpdateNanos" json:"last_update_nanos"` 218 // intent_age is the cumulative age of the tracked intents. 219 // See the comment on MVCCStats. 220 IntentAge int64 `protobuf:"fixed64,2,opt,name=intent_age,json=intentAge" json:"intent_age"` 221 // gc_bytes_age is the cumulative age of the non-live data (i.e. 222 // data included in key_bytes and val_bytes, but not live_bytes). 223 // See the comment on MVCCStats. 224 GCBytesAge int64 `protobuf:"fixed64,3,opt,name=gc_bytes_age,json=gcBytesAge" json:"gc_bytes_age"` 225 // live_bytes is the number of bytes stored in keys and values which can in 226 // principle be read by means of a Scan or Get in the far future, including 227 // intents but not deletion tombstones (or their intents). Note that the 228 // size of the meta kv pair (which could be explicit or implicit) is 229 // included in this. Only the meta kv pair counts for the actual length of 230 // the encoded key (regular pairs only count the timestamp suffix). 231 LiveBytes int64 `protobuf:"fixed64,4,opt,name=live_bytes,json=liveBytes" json:"live_bytes"` 232 // live_count is the number of meta keys tracked under live_bytes. 233 LiveCount int64 `protobuf:"fixed64,5,opt,name=live_count,json=liveCount" json:"live_count"` 234 // key_bytes is the number of bytes stored in all non-system 235 // keys, including live, meta, old, and deleted keys. 236 // Only meta keys really account for the "full" key; value 237 // keys only for the timestamp suffix. 238 KeyBytes int64 `protobuf:"fixed64,6,opt,name=key_bytes,json=keyBytes" json:"key_bytes"` 239 // key_count is the number of meta keys tracked under key_bytes. 240 KeyCount int64 `protobuf:"fixed64,7,opt,name=key_count,json=keyCount" json:"key_count"` 241 // value_bytes is the number of bytes in all non-system version 242 // values, including meta values. 243 ValBytes int64 `protobuf:"fixed64,8,opt,name=val_bytes,json=valBytes" json:"val_bytes"` 244 // val_count is the number of meta values tracked under val_bytes. 245 ValCount int64 `protobuf:"fixed64,9,opt,name=val_count,json=valCount" json:"val_count"` 246 // intent_bytes is the number of bytes in intent key-value 247 // pairs (without their meta keys). 248 IntentBytes int64 `protobuf:"fixed64,10,opt,name=intent_bytes,json=intentBytes" json:"intent_bytes"` 249 // intent_count is the number of keys tracked under intent_bytes. 250 // It is equal to the number of meta keys in the system with 251 // a non-empty Transaction proto. 252 IntentCount int64 `protobuf:"fixed64,11,opt,name=intent_count,json=intentCount" json:"intent_count"` 253 // sys_bytes is the number of bytes stored in system-local kv-pairs. 254 // This tracks the same quantity as (key_bytes + val_bytes), but 255 // for system-local metadata keys (which aren't counted in either 256 // key_bytes or val_bytes). Each of the keys falling into this group 257 // is documented in keys/constants.go under the localPrefix constant 258 // and is prefixed by either LocalRangeIDPrefix or LocalRangePrefix. 259 SysBytes int64 `protobuf:"fixed64,12,opt,name=sys_bytes,json=sysBytes" json:"sys_bytes"` 260 // sys_count is the number of meta keys tracked under sys_bytes. 261 SysCount int64 `protobuf:"fixed64,13,opt,name=sys_count,json=sysCount" json:"sys_count"` 262 } 263 264 func (m *MVCCStats) Reset() { *m = MVCCStats{} } 265 func (m *MVCCStats) String() string { return proto.CompactTextString(m) } 266 func (*MVCCStats) ProtoMessage() {} 267 func (*MVCCStats) Descriptor() ([]byte, []int) { 268 return fileDescriptor_mvcc_7eac2e495f55e518, []int{2} 269 } 270 func (m *MVCCStats) XXX_Unmarshal(b []byte) error { 271 return m.Unmarshal(b) 272 } 273 func (m *MVCCStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 274 b = b[:cap(b)] 275 n, err := m.MarshalTo(b) 276 if err != nil { 277 return nil, err 278 } 279 return b[:n], nil 280 } 281 func (dst *MVCCStats) XXX_Merge(src proto.Message) { 282 xxx_messageInfo_MVCCStats.Merge(dst, src) 283 } 284 func (m *MVCCStats) XXX_Size() int { 285 return m.Size() 286 } 287 func (m *MVCCStats) XXX_DiscardUnknown() { 288 xxx_messageInfo_MVCCStats.DiscardUnknown(m) 289 } 290 291 var xxx_messageInfo_MVCCStats proto.InternalMessageInfo 292 293 func init() { 294 proto.RegisterType((*MVCCMetadata)(nil), "cockroach.storage.enginepb.MVCCMetadata") 295 proto.RegisterType((*MVCCMetadata_SequencedIntent)(nil), "cockroach.storage.enginepb.MVCCMetadata.SequencedIntent") 296 proto.RegisterType((*MVCCMetadataSubsetForMergeSerialization)(nil), "cockroach.storage.enginepb.MVCCMetadataSubsetForMergeSerialization") 297 proto.RegisterType((*MVCCStats)(nil), "cockroach.storage.enginepb.MVCCStats") 298 } 299 func (this *MVCCMetadata) Equal(that interface{}) bool { 300 if that == nil { 301 return this == nil 302 } 303 304 that1, ok := that.(*MVCCMetadata) 305 if !ok { 306 that2, ok := that.(MVCCMetadata) 307 if ok { 308 that1 = &that2 309 } else { 310 return false 311 } 312 } 313 if that1 == nil { 314 return this == nil 315 } else if this == nil { 316 return false 317 } 318 if !this.Txn.Equal(that1.Txn) { 319 return false 320 } 321 if !this.Timestamp.Equal(&that1.Timestamp) { 322 return false 323 } 324 if this.Deleted != that1.Deleted { 325 return false 326 } 327 if this.KeyBytes != that1.KeyBytes { 328 return false 329 } 330 if this.ValBytes != that1.ValBytes { 331 return false 332 } 333 if !bytes.Equal(this.RawBytes, that1.RawBytes) { 334 return false 335 } 336 if len(this.IntentHistory) != len(that1.IntentHistory) { 337 return false 338 } 339 for i := range this.IntentHistory { 340 if !this.IntentHistory[i].Equal(&that1.IntentHistory[i]) { 341 return false 342 } 343 } 344 if !this.MergeTimestamp.Equal(that1.MergeTimestamp) { 345 return false 346 } 347 return true 348 } 349 func (this *MVCCMetadata_SequencedIntent) Equal(that interface{}) bool { 350 if that == nil { 351 return this == nil 352 } 353 354 that1, ok := that.(*MVCCMetadata_SequencedIntent) 355 if !ok { 356 that2, ok := that.(MVCCMetadata_SequencedIntent) 357 if ok { 358 that1 = &that2 359 } else { 360 return false 361 } 362 } 363 if that1 == nil { 364 return this == nil 365 } else if this == nil { 366 return false 367 } 368 if this.Sequence != that1.Sequence { 369 return false 370 } 371 if !bytes.Equal(this.Value, that1.Value) { 372 return false 373 } 374 return true 375 } 376 func (this *MVCCMetadataSubsetForMergeSerialization) Equal(that interface{}) bool { 377 if that == nil { 378 return this == nil 379 } 380 381 that1, ok := that.(*MVCCMetadataSubsetForMergeSerialization) 382 if !ok { 383 that2, ok := that.(MVCCMetadataSubsetForMergeSerialization) 384 if ok { 385 that1 = &that2 386 } else { 387 return false 388 } 389 } 390 if that1 == nil { 391 return this == nil 392 } else if this == nil { 393 return false 394 } 395 if !bytes.Equal(this.RawBytes, that1.RawBytes) { 396 return false 397 } 398 if !this.MergeTimestamp.Equal(that1.MergeTimestamp) { 399 return false 400 } 401 return true 402 } 403 func (this *MVCCStats) Equal(that interface{}) bool { 404 if that == nil { 405 return this == nil 406 } 407 408 that1, ok := that.(*MVCCStats) 409 if !ok { 410 that2, ok := that.(MVCCStats) 411 if ok { 412 that1 = &that2 413 } else { 414 return false 415 } 416 } 417 if that1 == nil { 418 return this == nil 419 } else if this == nil { 420 return false 421 } 422 if this.ContainsEstimates != that1.ContainsEstimates { 423 return false 424 } 425 if this.LastUpdateNanos != that1.LastUpdateNanos { 426 return false 427 } 428 if this.IntentAge != that1.IntentAge { 429 return false 430 } 431 if this.GCBytesAge != that1.GCBytesAge { 432 return false 433 } 434 if this.LiveBytes != that1.LiveBytes { 435 return false 436 } 437 if this.LiveCount != that1.LiveCount { 438 return false 439 } 440 if this.KeyBytes != that1.KeyBytes { 441 return false 442 } 443 if this.KeyCount != that1.KeyCount { 444 return false 445 } 446 if this.ValBytes != that1.ValBytes { 447 return false 448 } 449 if this.ValCount != that1.ValCount { 450 return false 451 } 452 if this.IntentBytes != that1.IntentBytes { 453 return false 454 } 455 if this.IntentCount != that1.IntentCount { 456 return false 457 } 458 if this.SysBytes != that1.SysBytes { 459 return false 460 } 461 if this.SysCount != that1.SysCount { 462 return false 463 } 464 return true 465 } 466 func (m *MVCCMetadata) Marshal() (dAtA []byte, err error) { 467 size := m.Size() 468 dAtA = make([]byte, size) 469 n, err := m.MarshalTo(dAtA) 470 if err != nil { 471 return nil, err 472 } 473 return dAtA[:n], nil 474 } 475 476 func (m *MVCCMetadata) MarshalTo(dAtA []byte) (int, error) { 477 var i int 478 _ = i 479 var l int 480 _ = l 481 if m.Txn != nil { 482 dAtA[i] = 0xa 483 i++ 484 i = encodeVarintMvcc(dAtA, i, uint64(m.Txn.Size())) 485 n1, err := m.Txn.MarshalTo(dAtA[i:]) 486 if err != nil { 487 return 0, err 488 } 489 i += n1 490 } 491 dAtA[i] = 0x12 492 i++ 493 i = encodeVarintMvcc(dAtA, i, uint64(m.Timestamp.Size())) 494 n2, err := m.Timestamp.MarshalTo(dAtA[i:]) 495 if err != nil { 496 return 0, err 497 } 498 i += n2 499 dAtA[i] = 0x18 500 i++ 501 if m.Deleted { 502 dAtA[i] = 1 503 } else { 504 dAtA[i] = 0 505 } 506 i++ 507 dAtA[i] = 0x20 508 i++ 509 i = encodeVarintMvcc(dAtA, i, uint64(m.KeyBytes)) 510 dAtA[i] = 0x28 511 i++ 512 i = encodeVarintMvcc(dAtA, i, uint64(m.ValBytes)) 513 if m.RawBytes != nil { 514 dAtA[i] = 0x32 515 i++ 516 i = encodeVarintMvcc(dAtA, i, uint64(len(m.RawBytes))) 517 i += copy(dAtA[i:], m.RawBytes) 518 } 519 if m.MergeTimestamp != nil { 520 dAtA[i] = 0x3a 521 i++ 522 i = encodeVarintMvcc(dAtA, i, uint64(m.MergeTimestamp.Size())) 523 n3, err := m.MergeTimestamp.MarshalTo(dAtA[i:]) 524 if err != nil { 525 return 0, err 526 } 527 i += n3 528 } 529 if len(m.IntentHistory) > 0 { 530 for _, msg := range m.IntentHistory { 531 dAtA[i] = 0x42 532 i++ 533 i = encodeVarintMvcc(dAtA, i, uint64(msg.Size())) 534 n, err := msg.MarshalTo(dAtA[i:]) 535 if err != nil { 536 return 0, err 537 } 538 i += n 539 } 540 } 541 return i, nil 542 } 543 544 func (m *MVCCMetadata_SequencedIntent) Marshal() (dAtA []byte, err error) { 545 size := m.Size() 546 dAtA = make([]byte, size) 547 n, err := m.MarshalTo(dAtA) 548 if err != nil { 549 return nil, err 550 } 551 return dAtA[:n], nil 552 } 553 554 func (m *MVCCMetadata_SequencedIntent) MarshalTo(dAtA []byte) (int, error) { 555 var i int 556 _ = i 557 var l int 558 _ = l 559 dAtA[i] = 0x8 560 i++ 561 i = encodeVarintMvcc(dAtA, i, uint64(m.Sequence)) 562 if m.Value != nil { 563 dAtA[i] = 0x12 564 i++ 565 i = encodeVarintMvcc(dAtA, i, uint64(len(m.Value))) 566 i += copy(dAtA[i:], m.Value) 567 } 568 return i, nil 569 } 570 571 func (m *MVCCMetadataSubsetForMergeSerialization) Marshal() (dAtA []byte, err error) { 572 size := m.Size() 573 dAtA = make([]byte, size) 574 n, err := m.MarshalTo(dAtA) 575 if err != nil { 576 return nil, err 577 } 578 return dAtA[:n], nil 579 } 580 581 func (m *MVCCMetadataSubsetForMergeSerialization) MarshalTo(dAtA []byte) (int, error) { 582 var i int 583 _ = i 584 var l int 585 _ = l 586 if m.RawBytes != nil { 587 dAtA[i] = 0x32 588 i++ 589 i = encodeVarintMvcc(dAtA, i, uint64(len(m.RawBytes))) 590 i += copy(dAtA[i:], m.RawBytes) 591 } 592 if m.MergeTimestamp != nil { 593 dAtA[i] = 0x3a 594 i++ 595 i = encodeVarintMvcc(dAtA, i, uint64(m.MergeTimestamp.Size())) 596 n4, err := m.MergeTimestamp.MarshalTo(dAtA[i:]) 597 if err != nil { 598 return 0, err 599 } 600 i += n4 601 } 602 return i, nil 603 } 604 605 func (m *MVCCStats) Marshal() (dAtA []byte, err error) { 606 size := m.Size() 607 dAtA = make([]byte, size) 608 n, err := m.MarshalTo(dAtA) 609 if err != nil { 610 return nil, err 611 } 612 return dAtA[:n], nil 613 } 614 615 func (m *MVCCStats) MarshalTo(dAtA []byte) (int, error) { 616 var i int 617 _ = i 618 var l int 619 _ = l 620 dAtA[i] = 0x9 621 i++ 622 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.LastUpdateNanos)) 623 i += 8 624 dAtA[i] = 0x11 625 i++ 626 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.IntentAge)) 627 i += 8 628 dAtA[i] = 0x19 629 i++ 630 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.GCBytesAge)) 631 i += 8 632 dAtA[i] = 0x21 633 i++ 634 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.LiveBytes)) 635 i += 8 636 dAtA[i] = 0x29 637 i++ 638 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.LiveCount)) 639 i += 8 640 dAtA[i] = 0x31 641 i++ 642 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.KeyBytes)) 643 i += 8 644 dAtA[i] = 0x39 645 i++ 646 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.KeyCount)) 647 i += 8 648 dAtA[i] = 0x41 649 i++ 650 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.ValBytes)) 651 i += 8 652 dAtA[i] = 0x49 653 i++ 654 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.ValCount)) 655 i += 8 656 dAtA[i] = 0x51 657 i++ 658 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.IntentBytes)) 659 i += 8 660 dAtA[i] = 0x59 661 i++ 662 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.IntentCount)) 663 i += 8 664 dAtA[i] = 0x61 665 i++ 666 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.SysBytes)) 667 i += 8 668 dAtA[i] = 0x69 669 i++ 670 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.SysCount)) 671 i += 8 672 dAtA[i] = 0x70 673 i++ 674 i = encodeVarintMvcc(dAtA, i, uint64(m.ContainsEstimates)) 675 return i, nil 676 } 677 678 func encodeVarintMvcc(dAtA []byte, offset int, v uint64) int { 679 for v >= 1<<7 { 680 dAtA[offset] = uint8(v&0x7f | 0x80) 681 v >>= 7 682 offset++ 683 } 684 dAtA[offset] = uint8(v) 685 return offset + 1 686 } 687 func NewPopulatedMVCCMetadata(r randyMvcc, easy bool) *MVCCMetadata { 688 this := &MVCCMetadata{} 689 if r.Intn(10) != 0 { 690 this.Txn = NewPopulatedTxnMeta(r, easy) 691 } 692 v1 := hlc.NewPopulatedLegacyTimestamp(r, easy) 693 this.Timestamp = *v1 694 this.Deleted = bool(bool(r.Intn(2) == 0)) 695 this.KeyBytes = int64(r.Int63()) 696 if r.Intn(2) == 0 { 697 this.KeyBytes *= -1 698 } 699 this.ValBytes = int64(r.Int63()) 700 if r.Intn(2) == 0 { 701 this.ValBytes *= -1 702 } 703 if r.Intn(10) != 0 { 704 v2 := r.Intn(100) 705 this.RawBytes = make([]byte, v2) 706 for i := 0; i < v2; i++ { 707 this.RawBytes[i] = byte(r.Intn(256)) 708 } 709 } 710 if r.Intn(10) != 0 { 711 this.MergeTimestamp = hlc.NewPopulatedLegacyTimestamp(r, easy) 712 } 713 if r.Intn(10) != 0 { 714 v3 := r.Intn(5) 715 this.IntentHistory = make([]MVCCMetadata_SequencedIntent, v3) 716 for i := 0; i < v3; i++ { 717 v4 := NewPopulatedMVCCMetadata_SequencedIntent(r, easy) 718 this.IntentHistory[i] = *v4 719 } 720 } 721 if !easy && r.Intn(10) != 0 { 722 } 723 return this 724 } 725 726 func NewPopulatedMVCCMetadata_SequencedIntent(r randyMvcc, easy bool) *MVCCMetadata_SequencedIntent { 727 this := &MVCCMetadata_SequencedIntent{} 728 this.Sequence = TxnSeq(r.Int31()) 729 if r.Intn(2) == 0 { 730 this.Sequence *= -1 731 } 732 if r.Intn(10) != 0 { 733 v5 := r.Intn(100) 734 this.Value = make([]byte, v5) 735 for i := 0; i < v5; i++ { 736 this.Value[i] = byte(r.Intn(256)) 737 } 738 } 739 if !easy && r.Intn(10) != 0 { 740 } 741 return this 742 } 743 744 func NewPopulatedMVCCMetadataSubsetForMergeSerialization(r randyMvcc, easy bool) *MVCCMetadataSubsetForMergeSerialization { 745 this := &MVCCMetadataSubsetForMergeSerialization{} 746 if r.Intn(10) != 0 { 747 v6 := r.Intn(100) 748 this.RawBytes = make([]byte, v6) 749 for i := 0; i < v6; i++ { 750 this.RawBytes[i] = byte(r.Intn(256)) 751 } 752 } 753 if r.Intn(10) != 0 { 754 this.MergeTimestamp = hlc.NewPopulatedLegacyTimestamp(r, easy) 755 } 756 if !easy && r.Intn(10) != 0 { 757 } 758 return this 759 } 760 761 func NewPopulatedMVCCStats(r randyMvcc, easy bool) *MVCCStats { 762 this := &MVCCStats{} 763 this.LastUpdateNanos = int64(r.Int63()) 764 if r.Intn(2) == 0 { 765 this.LastUpdateNanos *= -1 766 } 767 this.IntentAge = int64(r.Int63()) 768 if r.Intn(2) == 0 { 769 this.IntentAge *= -1 770 } 771 this.GCBytesAge = int64(r.Int63()) 772 if r.Intn(2) == 0 { 773 this.GCBytesAge *= -1 774 } 775 this.LiveBytes = int64(r.Int63()) 776 if r.Intn(2) == 0 { 777 this.LiveBytes *= -1 778 } 779 this.LiveCount = int64(r.Int63()) 780 if r.Intn(2) == 0 { 781 this.LiveCount *= -1 782 } 783 this.KeyBytes = int64(r.Int63()) 784 if r.Intn(2) == 0 { 785 this.KeyBytes *= -1 786 } 787 this.KeyCount = int64(r.Int63()) 788 if r.Intn(2) == 0 { 789 this.KeyCount *= -1 790 } 791 this.ValBytes = int64(r.Int63()) 792 if r.Intn(2) == 0 { 793 this.ValBytes *= -1 794 } 795 this.ValCount = int64(r.Int63()) 796 if r.Intn(2) == 0 { 797 this.ValCount *= -1 798 } 799 this.IntentBytes = int64(r.Int63()) 800 if r.Intn(2) == 0 { 801 this.IntentBytes *= -1 802 } 803 this.IntentCount = int64(r.Int63()) 804 if r.Intn(2) == 0 { 805 this.IntentCount *= -1 806 } 807 this.SysBytes = int64(r.Int63()) 808 if r.Intn(2) == 0 { 809 this.SysBytes *= -1 810 } 811 this.SysCount = int64(r.Int63()) 812 if r.Intn(2) == 0 { 813 this.SysCount *= -1 814 } 815 this.ContainsEstimates = int64(r.Int63()) 816 if r.Intn(2) == 0 { 817 this.ContainsEstimates *= -1 818 } 819 if !easy && r.Intn(10) != 0 { 820 } 821 return this 822 } 823 824 type randyMvcc interface { 825 Float32() float32 826 Float64() float64 827 Int63() int64 828 Int31() int32 829 Uint32() uint32 830 Intn(n int) int 831 } 832 833 func randUTF8RuneMvcc(r randyMvcc) rune { 834 ru := r.Intn(62) 835 if ru < 10 { 836 return rune(ru + 48) 837 } else if ru < 36 { 838 return rune(ru + 55) 839 } 840 return rune(ru + 61) 841 } 842 func randStringMvcc(r randyMvcc) string { 843 v7 := r.Intn(100) 844 tmps := make([]rune, v7) 845 for i := 0; i < v7; i++ { 846 tmps[i] = randUTF8RuneMvcc(r) 847 } 848 return string(tmps) 849 } 850 func randUnrecognizedMvcc(r randyMvcc, maxFieldNumber int) (dAtA []byte) { 851 l := r.Intn(5) 852 for i := 0; i < l; i++ { 853 wire := r.Intn(4) 854 if wire == 3 { 855 wire = 5 856 } 857 fieldNumber := maxFieldNumber + r.Intn(100) 858 dAtA = randFieldMvcc(dAtA, r, fieldNumber, wire) 859 } 860 return dAtA 861 } 862 func randFieldMvcc(dAtA []byte, r randyMvcc, fieldNumber int, wire int) []byte { 863 key := uint32(fieldNumber)<<3 | uint32(wire) 864 switch wire { 865 case 0: 866 dAtA = encodeVarintPopulateMvcc(dAtA, uint64(key)) 867 v8 := r.Int63() 868 if r.Intn(2) == 0 { 869 v8 *= -1 870 } 871 dAtA = encodeVarintPopulateMvcc(dAtA, uint64(v8)) 872 case 1: 873 dAtA = encodeVarintPopulateMvcc(dAtA, uint64(key)) 874 dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256))) 875 case 2: 876 dAtA = encodeVarintPopulateMvcc(dAtA, uint64(key)) 877 ll := r.Intn(100) 878 dAtA = encodeVarintPopulateMvcc(dAtA, uint64(ll)) 879 for j := 0; j < ll; j++ { 880 dAtA = append(dAtA, byte(r.Intn(256))) 881 } 882 default: 883 dAtA = encodeVarintPopulateMvcc(dAtA, uint64(key)) 884 dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256))) 885 } 886 return dAtA 887 } 888 func encodeVarintPopulateMvcc(dAtA []byte, v uint64) []byte { 889 for v >= 1<<7 { 890 dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80)) 891 v >>= 7 892 } 893 dAtA = append(dAtA, uint8(v)) 894 return dAtA 895 } 896 func (m *MVCCMetadata) Size() (n int) { 897 if m == nil { 898 return 0 899 } 900 var l int 901 _ = l 902 if m.Txn != nil { 903 l = m.Txn.Size() 904 n += 1 + l + sovMvcc(uint64(l)) 905 } 906 l = m.Timestamp.Size() 907 n += 1 + l + sovMvcc(uint64(l)) 908 n += 2 909 n += 1 + sovMvcc(uint64(m.KeyBytes)) 910 n += 1 + sovMvcc(uint64(m.ValBytes)) 911 if m.RawBytes != nil { 912 l = len(m.RawBytes) 913 n += 1 + l + sovMvcc(uint64(l)) 914 } 915 if m.MergeTimestamp != nil { 916 l = m.MergeTimestamp.Size() 917 n += 1 + l + sovMvcc(uint64(l)) 918 } 919 if len(m.IntentHistory) > 0 { 920 for _, e := range m.IntentHistory { 921 l = e.Size() 922 n += 1 + l + sovMvcc(uint64(l)) 923 } 924 } 925 return n 926 } 927 928 func (m *MVCCMetadata_SequencedIntent) Size() (n int) { 929 if m == nil { 930 return 0 931 } 932 var l int 933 _ = l 934 n += 1 + sovMvcc(uint64(m.Sequence)) 935 if m.Value != nil { 936 l = len(m.Value) 937 n += 1 + l + sovMvcc(uint64(l)) 938 } 939 return n 940 } 941 942 func (m *MVCCMetadataSubsetForMergeSerialization) Size() (n int) { 943 if m == nil { 944 return 0 945 } 946 var l int 947 _ = l 948 if m.RawBytes != nil { 949 l = len(m.RawBytes) 950 n += 1 + l + sovMvcc(uint64(l)) 951 } 952 if m.MergeTimestamp != nil { 953 l = m.MergeTimestamp.Size() 954 n += 1 + l + sovMvcc(uint64(l)) 955 } 956 return n 957 } 958 959 func (m *MVCCStats) Size() (n int) { 960 if m == nil { 961 return 0 962 } 963 var l int 964 _ = l 965 n += 9 966 n += 9 967 n += 9 968 n += 9 969 n += 9 970 n += 9 971 n += 9 972 n += 9 973 n += 9 974 n += 9 975 n += 9 976 n += 9 977 n += 9 978 n += 1 + sovMvcc(uint64(m.ContainsEstimates)) 979 return n 980 } 981 982 func sovMvcc(x uint64) (n int) { 983 for { 984 n++ 985 x >>= 7 986 if x == 0 { 987 break 988 } 989 } 990 return n 991 } 992 func sozMvcc(x uint64) (n int) { 993 return sovMvcc(uint64((x << 1) ^ uint64((int64(x) >> 63)))) 994 } 995 func (m *MVCCMetadata) Unmarshal(dAtA []byte) error { 996 l := len(dAtA) 997 iNdEx := 0 998 for iNdEx < l { 999 preIndex := iNdEx 1000 var wire uint64 1001 for shift := uint(0); ; shift += 7 { 1002 if shift >= 64 { 1003 return ErrIntOverflowMvcc 1004 } 1005 if iNdEx >= l { 1006 return io.ErrUnexpectedEOF 1007 } 1008 b := dAtA[iNdEx] 1009 iNdEx++ 1010 wire |= (uint64(b) & 0x7F) << shift 1011 if b < 0x80 { 1012 break 1013 } 1014 } 1015 fieldNum := int32(wire >> 3) 1016 wireType := int(wire & 0x7) 1017 if wireType == 4 { 1018 return fmt.Errorf("proto: MVCCMetadata: wiretype end group for non-group") 1019 } 1020 if fieldNum <= 0 { 1021 return fmt.Errorf("proto: MVCCMetadata: illegal tag %d (wire type %d)", fieldNum, wire) 1022 } 1023 switch fieldNum { 1024 case 1: 1025 if wireType != 2 { 1026 return fmt.Errorf("proto: wrong wireType = %d for field Txn", wireType) 1027 } 1028 var msglen int 1029 for shift := uint(0); ; shift += 7 { 1030 if shift >= 64 { 1031 return ErrIntOverflowMvcc 1032 } 1033 if iNdEx >= l { 1034 return io.ErrUnexpectedEOF 1035 } 1036 b := dAtA[iNdEx] 1037 iNdEx++ 1038 msglen |= (int(b) & 0x7F) << shift 1039 if b < 0x80 { 1040 break 1041 } 1042 } 1043 if msglen < 0 { 1044 return ErrInvalidLengthMvcc 1045 } 1046 postIndex := iNdEx + msglen 1047 if postIndex > l { 1048 return io.ErrUnexpectedEOF 1049 } 1050 if m.Txn == nil { 1051 m.Txn = &TxnMeta{} 1052 } 1053 if err := m.Txn.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 1054 return err 1055 } 1056 iNdEx = postIndex 1057 case 2: 1058 if wireType != 2 { 1059 return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) 1060 } 1061 var msglen int 1062 for shift := uint(0); ; shift += 7 { 1063 if shift >= 64 { 1064 return ErrIntOverflowMvcc 1065 } 1066 if iNdEx >= l { 1067 return io.ErrUnexpectedEOF 1068 } 1069 b := dAtA[iNdEx] 1070 iNdEx++ 1071 msglen |= (int(b) & 0x7F) << shift 1072 if b < 0x80 { 1073 break 1074 } 1075 } 1076 if msglen < 0 { 1077 return ErrInvalidLengthMvcc 1078 } 1079 postIndex := iNdEx + msglen 1080 if postIndex > l { 1081 return io.ErrUnexpectedEOF 1082 } 1083 if err := m.Timestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 1084 return err 1085 } 1086 iNdEx = postIndex 1087 case 3: 1088 if wireType != 0 { 1089 return fmt.Errorf("proto: wrong wireType = %d for field Deleted", wireType) 1090 } 1091 var v int 1092 for shift := uint(0); ; shift += 7 { 1093 if shift >= 64 { 1094 return ErrIntOverflowMvcc 1095 } 1096 if iNdEx >= l { 1097 return io.ErrUnexpectedEOF 1098 } 1099 b := dAtA[iNdEx] 1100 iNdEx++ 1101 v |= (int(b) & 0x7F) << shift 1102 if b < 0x80 { 1103 break 1104 } 1105 } 1106 m.Deleted = bool(v != 0) 1107 case 4: 1108 if wireType != 0 { 1109 return fmt.Errorf("proto: wrong wireType = %d for field KeyBytes", wireType) 1110 } 1111 m.KeyBytes = 0 1112 for shift := uint(0); ; shift += 7 { 1113 if shift >= 64 { 1114 return ErrIntOverflowMvcc 1115 } 1116 if iNdEx >= l { 1117 return io.ErrUnexpectedEOF 1118 } 1119 b := dAtA[iNdEx] 1120 iNdEx++ 1121 m.KeyBytes |= (int64(b) & 0x7F) << shift 1122 if b < 0x80 { 1123 break 1124 } 1125 } 1126 case 5: 1127 if wireType != 0 { 1128 return fmt.Errorf("proto: wrong wireType = %d for field ValBytes", wireType) 1129 } 1130 m.ValBytes = 0 1131 for shift := uint(0); ; shift += 7 { 1132 if shift >= 64 { 1133 return ErrIntOverflowMvcc 1134 } 1135 if iNdEx >= l { 1136 return io.ErrUnexpectedEOF 1137 } 1138 b := dAtA[iNdEx] 1139 iNdEx++ 1140 m.ValBytes |= (int64(b) & 0x7F) << shift 1141 if b < 0x80 { 1142 break 1143 } 1144 } 1145 case 6: 1146 if wireType != 2 { 1147 return fmt.Errorf("proto: wrong wireType = %d for field RawBytes", wireType) 1148 } 1149 var byteLen int 1150 for shift := uint(0); ; shift += 7 { 1151 if shift >= 64 { 1152 return ErrIntOverflowMvcc 1153 } 1154 if iNdEx >= l { 1155 return io.ErrUnexpectedEOF 1156 } 1157 b := dAtA[iNdEx] 1158 iNdEx++ 1159 byteLen |= (int(b) & 0x7F) << shift 1160 if b < 0x80 { 1161 break 1162 } 1163 } 1164 if byteLen < 0 { 1165 return ErrInvalidLengthMvcc 1166 } 1167 postIndex := iNdEx + byteLen 1168 if postIndex > l { 1169 return io.ErrUnexpectedEOF 1170 } 1171 m.RawBytes = append(m.RawBytes[:0], dAtA[iNdEx:postIndex]...) 1172 if m.RawBytes == nil { 1173 m.RawBytes = []byte{} 1174 } 1175 iNdEx = postIndex 1176 case 7: 1177 if wireType != 2 { 1178 return fmt.Errorf("proto: wrong wireType = %d for field MergeTimestamp", wireType) 1179 } 1180 var msglen int 1181 for shift := uint(0); ; shift += 7 { 1182 if shift >= 64 { 1183 return ErrIntOverflowMvcc 1184 } 1185 if iNdEx >= l { 1186 return io.ErrUnexpectedEOF 1187 } 1188 b := dAtA[iNdEx] 1189 iNdEx++ 1190 msglen |= (int(b) & 0x7F) << shift 1191 if b < 0x80 { 1192 break 1193 } 1194 } 1195 if msglen < 0 { 1196 return ErrInvalidLengthMvcc 1197 } 1198 postIndex := iNdEx + msglen 1199 if postIndex > l { 1200 return io.ErrUnexpectedEOF 1201 } 1202 if m.MergeTimestamp == nil { 1203 m.MergeTimestamp = &hlc.LegacyTimestamp{} 1204 } 1205 if err := m.MergeTimestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 1206 return err 1207 } 1208 iNdEx = postIndex 1209 case 8: 1210 if wireType != 2 { 1211 return fmt.Errorf("proto: wrong wireType = %d for field IntentHistory", wireType) 1212 } 1213 var msglen int 1214 for shift := uint(0); ; shift += 7 { 1215 if shift >= 64 { 1216 return ErrIntOverflowMvcc 1217 } 1218 if iNdEx >= l { 1219 return io.ErrUnexpectedEOF 1220 } 1221 b := dAtA[iNdEx] 1222 iNdEx++ 1223 msglen |= (int(b) & 0x7F) << shift 1224 if b < 0x80 { 1225 break 1226 } 1227 } 1228 if msglen < 0 { 1229 return ErrInvalidLengthMvcc 1230 } 1231 postIndex := iNdEx + msglen 1232 if postIndex > l { 1233 return io.ErrUnexpectedEOF 1234 } 1235 m.IntentHistory = append(m.IntentHistory, MVCCMetadata_SequencedIntent{}) 1236 if err := m.IntentHistory[len(m.IntentHistory)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 1237 return err 1238 } 1239 iNdEx = postIndex 1240 default: 1241 iNdEx = preIndex 1242 skippy, err := skipMvcc(dAtA[iNdEx:]) 1243 if err != nil { 1244 return err 1245 } 1246 if skippy < 0 { 1247 return ErrInvalidLengthMvcc 1248 } 1249 if (iNdEx + skippy) > l { 1250 return io.ErrUnexpectedEOF 1251 } 1252 iNdEx += skippy 1253 } 1254 } 1255 1256 if iNdEx > l { 1257 return io.ErrUnexpectedEOF 1258 } 1259 return nil 1260 } 1261 func (m *MVCCMetadata_SequencedIntent) Unmarshal(dAtA []byte) error { 1262 l := len(dAtA) 1263 iNdEx := 0 1264 for iNdEx < l { 1265 preIndex := iNdEx 1266 var wire uint64 1267 for shift := uint(0); ; shift += 7 { 1268 if shift >= 64 { 1269 return ErrIntOverflowMvcc 1270 } 1271 if iNdEx >= l { 1272 return io.ErrUnexpectedEOF 1273 } 1274 b := dAtA[iNdEx] 1275 iNdEx++ 1276 wire |= (uint64(b) & 0x7F) << shift 1277 if b < 0x80 { 1278 break 1279 } 1280 } 1281 fieldNum := int32(wire >> 3) 1282 wireType := int(wire & 0x7) 1283 if wireType == 4 { 1284 return fmt.Errorf("proto: SequencedIntent: wiretype end group for non-group") 1285 } 1286 if fieldNum <= 0 { 1287 return fmt.Errorf("proto: SequencedIntent: illegal tag %d (wire type %d)", fieldNum, wire) 1288 } 1289 switch fieldNum { 1290 case 1: 1291 if wireType != 0 { 1292 return fmt.Errorf("proto: wrong wireType = %d for field Sequence", wireType) 1293 } 1294 m.Sequence = 0 1295 for shift := uint(0); ; shift += 7 { 1296 if shift >= 64 { 1297 return ErrIntOverflowMvcc 1298 } 1299 if iNdEx >= l { 1300 return io.ErrUnexpectedEOF 1301 } 1302 b := dAtA[iNdEx] 1303 iNdEx++ 1304 m.Sequence |= (TxnSeq(b) & 0x7F) << shift 1305 if b < 0x80 { 1306 break 1307 } 1308 } 1309 case 2: 1310 if wireType != 2 { 1311 return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) 1312 } 1313 var byteLen int 1314 for shift := uint(0); ; shift += 7 { 1315 if shift >= 64 { 1316 return ErrIntOverflowMvcc 1317 } 1318 if iNdEx >= l { 1319 return io.ErrUnexpectedEOF 1320 } 1321 b := dAtA[iNdEx] 1322 iNdEx++ 1323 byteLen |= (int(b) & 0x7F) << shift 1324 if b < 0x80 { 1325 break 1326 } 1327 } 1328 if byteLen < 0 { 1329 return ErrInvalidLengthMvcc 1330 } 1331 postIndex := iNdEx + byteLen 1332 if postIndex > l { 1333 return io.ErrUnexpectedEOF 1334 } 1335 m.Value = append(m.Value[:0], dAtA[iNdEx:postIndex]...) 1336 if m.Value == nil { 1337 m.Value = []byte{} 1338 } 1339 iNdEx = postIndex 1340 default: 1341 iNdEx = preIndex 1342 skippy, err := skipMvcc(dAtA[iNdEx:]) 1343 if err != nil { 1344 return err 1345 } 1346 if skippy < 0 { 1347 return ErrInvalidLengthMvcc 1348 } 1349 if (iNdEx + skippy) > l { 1350 return io.ErrUnexpectedEOF 1351 } 1352 iNdEx += skippy 1353 } 1354 } 1355 1356 if iNdEx > l { 1357 return io.ErrUnexpectedEOF 1358 } 1359 return nil 1360 } 1361 func (m *MVCCMetadataSubsetForMergeSerialization) Unmarshal(dAtA []byte) error { 1362 l := len(dAtA) 1363 iNdEx := 0 1364 for iNdEx < l { 1365 preIndex := iNdEx 1366 var wire uint64 1367 for shift := uint(0); ; shift += 7 { 1368 if shift >= 64 { 1369 return ErrIntOverflowMvcc 1370 } 1371 if iNdEx >= l { 1372 return io.ErrUnexpectedEOF 1373 } 1374 b := dAtA[iNdEx] 1375 iNdEx++ 1376 wire |= (uint64(b) & 0x7F) << shift 1377 if b < 0x80 { 1378 break 1379 } 1380 } 1381 fieldNum := int32(wire >> 3) 1382 wireType := int(wire & 0x7) 1383 if wireType == 4 { 1384 return fmt.Errorf("proto: MVCCMetadataSubsetForMergeSerialization: wiretype end group for non-group") 1385 } 1386 if fieldNum <= 0 { 1387 return fmt.Errorf("proto: MVCCMetadataSubsetForMergeSerialization: illegal tag %d (wire type %d)", fieldNum, wire) 1388 } 1389 switch fieldNum { 1390 case 6: 1391 if wireType != 2 { 1392 return fmt.Errorf("proto: wrong wireType = %d for field RawBytes", wireType) 1393 } 1394 var byteLen int 1395 for shift := uint(0); ; shift += 7 { 1396 if shift >= 64 { 1397 return ErrIntOverflowMvcc 1398 } 1399 if iNdEx >= l { 1400 return io.ErrUnexpectedEOF 1401 } 1402 b := dAtA[iNdEx] 1403 iNdEx++ 1404 byteLen |= (int(b) & 0x7F) << shift 1405 if b < 0x80 { 1406 break 1407 } 1408 } 1409 if byteLen < 0 { 1410 return ErrInvalidLengthMvcc 1411 } 1412 postIndex := iNdEx + byteLen 1413 if postIndex > l { 1414 return io.ErrUnexpectedEOF 1415 } 1416 m.RawBytes = append(m.RawBytes[:0], dAtA[iNdEx:postIndex]...) 1417 if m.RawBytes == nil { 1418 m.RawBytes = []byte{} 1419 } 1420 iNdEx = postIndex 1421 case 7: 1422 if wireType != 2 { 1423 return fmt.Errorf("proto: wrong wireType = %d for field MergeTimestamp", wireType) 1424 } 1425 var msglen int 1426 for shift := uint(0); ; shift += 7 { 1427 if shift >= 64 { 1428 return ErrIntOverflowMvcc 1429 } 1430 if iNdEx >= l { 1431 return io.ErrUnexpectedEOF 1432 } 1433 b := dAtA[iNdEx] 1434 iNdEx++ 1435 msglen |= (int(b) & 0x7F) << shift 1436 if b < 0x80 { 1437 break 1438 } 1439 } 1440 if msglen < 0 { 1441 return ErrInvalidLengthMvcc 1442 } 1443 postIndex := iNdEx + msglen 1444 if postIndex > l { 1445 return io.ErrUnexpectedEOF 1446 } 1447 if m.MergeTimestamp == nil { 1448 m.MergeTimestamp = &hlc.LegacyTimestamp{} 1449 } 1450 if err := m.MergeTimestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 1451 return err 1452 } 1453 iNdEx = postIndex 1454 default: 1455 iNdEx = preIndex 1456 skippy, err := skipMvcc(dAtA[iNdEx:]) 1457 if err != nil { 1458 return err 1459 } 1460 if skippy < 0 { 1461 return ErrInvalidLengthMvcc 1462 } 1463 if (iNdEx + skippy) > l { 1464 return io.ErrUnexpectedEOF 1465 } 1466 iNdEx += skippy 1467 } 1468 } 1469 1470 if iNdEx > l { 1471 return io.ErrUnexpectedEOF 1472 } 1473 return nil 1474 } 1475 func (m *MVCCStats) Unmarshal(dAtA []byte) error { 1476 l := len(dAtA) 1477 iNdEx := 0 1478 for iNdEx < l { 1479 preIndex := iNdEx 1480 var wire uint64 1481 for shift := uint(0); ; shift += 7 { 1482 if shift >= 64 { 1483 return ErrIntOverflowMvcc 1484 } 1485 if iNdEx >= l { 1486 return io.ErrUnexpectedEOF 1487 } 1488 b := dAtA[iNdEx] 1489 iNdEx++ 1490 wire |= (uint64(b) & 0x7F) << shift 1491 if b < 0x80 { 1492 break 1493 } 1494 } 1495 fieldNum := int32(wire >> 3) 1496 wireType := int(wire & 0x7) 1497 if wireType == 4 { 1498 return fmt.Errorf("proto: MVCCStats: wiretype end group for non-group") 1499 } 1500 if fieldNum <= 0 { 1501 return fmt.Errorf("proto: MVCCStats: illegal tag %d (wire type %d)", fieldNum, wire) 1502 } 1503 switch fieldNum { 1504 case 1: 1505 if wireType != 1 { 1506 return fmt.Errorf("proto: wrong wireType = %d for field LastUpdateNanos", wireType) 1507 } 1508 m.LastUpdateNanos = 0 1509 if (iNdEx + 8) > l { 1510 return io.ErrUnexpectedEOF 1511 } 1512 m.LastUpdateNanos = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 1513 iNdEx += 8 1514 case 2: 1515 if wireType != 1 { 1516 return fmt.Errorf("proto: wrong wireType = %d for field IntentAge", wireType) 1517 } 1518 m.IntentAge = 0 1519 if (iNdEx + 8) > l { 1520 return io.ErrUnexpectedEOF 1521 } 1522 m.IntentAge = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 1523 iNdEx += 8 1524 case 3: 1525 if wireType != 1 { 1526 return fmt.Errorf("proto: wrong wireType = %d for field GCBytesAge", wireType) 1527 } 1528 m.GCBytesAge = 0 1529 if (iNdEx + 8) > l { 1530 return io.ErrUnexpectedEOF 1531 } 1532 m.GCBytesAge = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 1533 iNdEx += 8 1534 case 4: 1535 if wireType != 1 { 1536 return fmt.Errorf("proto: wrong wireType = %d for field LiveBytes", wireType) 1537 } 1538 m.LiveBytes = 0 1539 if (iNdEx + 8) > l { 1540 return io.ErrUnexpectedEOF 1541 } 1542 m.LiveBytes = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 1543 iNdEx += 8 1544 case 5: 1545 if wireType != 1 { 1546 return fmt.Errorf("proto: wrong wireType = %d for field LiveCount", wireType) 1547 } 1548 m.LiveCount = 0 1549 if (iNdEx + 8) > l { 1550 return io.ErrUnexpectedEOF 1551 } 1552 m.LiveCount = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 1553 iNdEx += 8 1554 case 6: 1555 if wireType != 1 { 1556 return fmt.Errorf("proto: wrong wireType = %d for field KeyBytes", wireType) 1557 } 1558 m.KeyBytes = 0 1559 if (iNdEx + 8) > l { 1560 return io.ErrUnexpectedEOF 1561 } 1562 m.KeyBytes = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 1563 iNdEx += 8 1564 case 7: 1565 if wireType != 1 { 1566 return fmt.Errorf("proto: wrong wireType = %d for field KeyCount", wireType) 1567 } 1568 m.KeyCount = 0 1569 if (iNdEx + 8) > l { 1570 return io.ErrUnexpectedEOF 1571 } 1572 m.KeyCount = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 1573 iNdEx += 8 1574 case 8: 1575 if wireType != 1 { 1576 return fmt.Errorf("proto: wrong wireType = %d for field ValBytes", wireType) 1577 } 1578 m.ValBytes = 0 1579 if (iNdEx + 8) > l { 1580 return io.ErrUnexpectedEOF 1581 } 1582 m.ValBytes = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 1583 iNdEx += 8 1584 case 9: 1585 if wireType != 1 { 1586 return fmt.Errorf("proto: wrong wireType = %d for field ValCount", wireType) 1587 } 1588 m.ValCount = 0 1589 if (iNdEx + 8) > l { 1590 return io.ErrUnexpectedEOF 1591 } 1592 m.ValCount = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 1593 iNdEx += 8 1594 case 10: 1595 if wireType != 1 { 1596 return fmt.Errorf("proto: wrong wireType = %d for field IntentBytes", wireType) 1597 } 1598 m.IntentBytes = 0 1599 if (iNdEx + 8) > l { 1600 return io.ErrUnexpectedEOF 1601 } 1602 m.IntentBytes = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 1603 iNdEx += 8 1604 case 11: 1605 if wireType != 1 { 1606 return fmt.Errorf("proto: wrong wireType = %d for field IntentCount", wireType) 1607 } 1608 m.IntentCount = 0 1609 if (iNdEx + 8) > l { 1610 return io.ErrUnexpectedEOF 1611 } 1612 m.IntentCount = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 1613 iNdEx += 8 1614 case 12: 1615 if wireType != 1 { 1616 return fmt.Errorf("proto: wrong wireType = %d for field SysBytes", wireType) 1617 } 1618 m.SysBytes = 0 1619 if (iNdEx + 8) > l { 1620 return io.ErrUnexpectedEOF 1621 } 1622 m.SysBytes = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 1623 iNdEx += 8 1624 case 13: 1625 if wireType != 1 { 1626 return fmt.Errorf("proto: wrong wireType = %d for field SysCount", wireType) 1627 } 1628 m.SysCount = 0 1629 if (iNdEx + 8) > l { 1630 return io.ErrUnexpectedEOF 1631 } 1632 m.SysCount = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 1633 iNdEx += 8 1634 case 14: 1635 if wireType != 0 { 1636 return fmt.Errorf("proto: wrong wireType = %d for field ContainsEstimates", wireType) 1637 } 1638 m.ContainsEstimates = 0 1639 for shift := uint(0); ; shift += 7 { 1640 if shift >= 64 { 1641 return ErrIntOverflowMvcc 1642 } 1643 if iNdEx >= l { 1644 return io.ErrUnexpectedEOF 1645 } 1646 b := dAtA[iNdEx] 1647 iNdEx++ 1648 m.ContainsEstimates |= (int64(b) & 0x7F) << shift 1649 if b < 0x80 { 1650 break 1651 } 1652 } 1653 default: 1654 iNdEx = preIndex 1655 skippy, err := skipMvcc(dAtA[iNdEx:]) 1656 if err != nil { 1657 return err 1658 } 1659 if skippy < 0 { 1660 return ErrInvalidLengthMvcc 1661 } 1662 if (iNdEx + skippy) > l { 1663 return io.ErrUnexpectedEOF 1664 } 1665 iNdEx += skippy 1666 } 1667 } 1668 1669 if iNdEx > l { 1670 return io.ErrUnexpectedEOF 1671 } 1672 return nil 1673 } 1674 func skipMvcc(dAtA []byte) (n int, err error) { 1675 l := len(dAtA) 1676 iNdEx := 0 1677 for iNdEx < l { 1678 var wire uint64 1679 for shift := uint(0); ; shift += 7 { 1680 if shift >= 64 { 1681 return 0, ErrIntOverflowMvcc 1682 } 1683 if iNdEx >= l { 1684 return 0, io.ErrUnexpectedEOF 1685 } 1686 b := dAtA[iNdEx] 1687 iNdEx++ 1688 wire |= (uint64(b) & 0x7F) << shift 1689 if b < 0x80 { 1690 break 1691 } 1692 } 1693 wireType := int(wire & 0x7) 1694 switch wireType { 1695 case 0: 1696 for shift := uint(0); ; shift += 7 { 1697 if shift >= 64 { 1698 return 0, ErrIntOverflowMvcc 1699 } 1700 if iNdEx >= l { 1701 return 0, io.ErrUnexpectedEOF 1702 } 1703 iNdEx++ 1704 if dAtA[iNdEx-1] < 0x80 { 1705 break 1706 } 1707 } 1708 return iNdEx, nil 1709 case 1: 1710 iNdEx += 8 1711 return iNdEx, nil 1712 case 2: 1713 var length int 1714 for shift := uint(0); ; shift += 7 { 1715 if shift >= 64 { 1716 return 0, ErrIntOverflowMvcc 1717 } 1718 if iNdEx >= l { 1719 return 0, io.ErrUnexpectedEOF 1720 } 1721 b := dAtA[iNdEx] 1722 iNdEx++ 1723 length |= (int(b) & 0x7F) << shift 1724 if b < 0x80 { 1725 break 1726 } 1727 } 1728 iNdEx += length 1729 if length < 0 { 1730 return 0, ErrInvalidLengthMvcc 1731 } 1732 return iNdEx, nil 1733 case 3: 1734 for { 1735 var innerWire uint64 1736 var start int = iNdEx 1737 for shift := uint(0); ; shift += 7 { 1738 if shift >= 64 { 1739 return 0, ErrIntOverflowMvcc 1740 } 1741 if iNdEx >= l { 1742 return 0, io.ErrUnexpectedEOF 1743 } 1744 b := dAtA[iNdEx] 1745 iNdEx++ 1746 innerWire |= (uint64(b) & 0x7F) << shift 1747 if b < 0x80 { 1748 break 1749 } 1750 } 1751 innerWireType := int(innerWire & 0x7) 1752 if innerWireType == 4 { 1753 break 1754 } 1755 next, err := skipMvcc(dAtA[start:]) 1756 if err != nil { 1757 return 0, err 1758 } 1759 iNdEx = start + next 1760 } 1761 return iNdEx, nil 1762 case 4: 1763 return iNdEx, nil 1764 case 5: 1765 iNdEx += 4 1766 return iNdEx, nil 1767 default: 1768 return 0, fmt.Errorf("proto: illegal wireType %d", wireType) 1769 } 1770 } 1771 panic("unreachable") 1772 } 1773 1774 var ( 1775 ErrInvalidLengthMvcc = fmt.Errorf("proto: negative length found during unmarshaling") 1776 ErrIntOverflowMvcc = fmt.Errorf("proto: integer overflow") 1777 ) 1778 1779 func init() { proto.RegisterFile("storage/enginepb/mvcc.proto", fileDescriptor_mvcc_7eac2e495f55e518) } 1780 1781 var fileDescriptor_mvcc_7eac2e495f55e518 = []byte{ 1782 // 689 bytes of a gzipped FileDescriptorProto 1783 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x94, 0xb1, 0x4f, 0xdb, 0x4e, 1784 0x14, 0xc7, 0xe3, 0x5f, 0x02, 0x38, 0x97, 0x10, 0x7e, 0x58, 0x0c, 0x51, 0xa8, 0xec, 0x14, 0x06, 1785 0x22, 0x06, 0xa7, 0x82, 0x56, 0xaa, 0xd8, 0x48, 0xd4, 0xd2, 0x4a, 0xd0, 0xc1, 0xa1, 0x1d, 0xba, 1786 0x44, 0xc7, 0xe5, 0xc9, 0xb1, 0x70, 0xce, 0xc1, 0x77, 0x09, 0xb8, 0x7f, 0x45, 0xc7, 0x8e, 0xa8, 1787 0xff, 0x44, 0xfb, 0x0f, 0x54, 0x62, 0x64, 0x64, 0x42, 0x6d, 0x58, 0xfa, 0x37, 0x74, 0xaa, 0xce, 1788 0x77, 0x76, 0x9c, 0xd0, 0x56, 0x9d, 0xba, 0xdd, 0xbd, 0xf7, 0x79, 0x5f, 0xbf, 0xfb, 0xde, 0x3d, 1789 0xa3, 0x75, 0xc6, 0x83, 0x10, 0xbb, 0xd0, 0x04, 0xea, 0x7a, 0x14, 0x86, 0x27, 0xcd, 0xc1, 0x98, 1790 0x10, 0x7b, 0x18, 0x06, 0x3c, 0x30, 0x6a, 0x24, 0x20, 0xa7, 0x61, 0x80, 0x49, 0xdf, 0x56, 0x98, 1791 0x9d, 0x60, 0xb5, 0x07, 0xbf, 0x2c, 0xdc, 0x95, 0x95, 0x35, 0x6b, 0xc4, 0x3d, 0xbf, 0xd9, 0xf7, 1792 0x49, 0xd3, 0x07, 0x17, 0x93, 0xa8, 0xcb, 0xbd, 0x01, 0x30, 0x8e, 0x07, 0x43, 0x05, 0xac, 0xb9, 1793 0x81, 0x1b, 0xc4, 0xcb, 0xa6, 0x58, 0xc9, 0xe8, 0xc6, 0xa7, 0x02, 0x2a, 0x1f, 0xbd, 0x69, 0xb7, 1794 0x8f, 0x80, 0xe3, 0x1e, 0xe6, 0xd8, 0x78, 0x82, 0xf2, 0xfc, 0x82, 0x56, 0xb5, 0xba, 0xd6, 0x28, 1795 0xed, 0x6c, 0xda, 0xbf, 0xef, 0xc7, 0x3e, 0xbe, 0xa0, 0xa2, 0xca, 0x11, 0xbc, 0x71, 0x80, 0x8a, 1796 0xe9, 0x07, 0xab, 0xff, 0xdd, 0x2b, 0x16, 0xcd, 0xd9, 0x7d, 0x9f, 0xd8, 0x87, 0x71, 0x73, 0xc7, 1797 0x09, 0xda, 0x2a, 0x5c, 0xdd, 0x5a, 0x39, 0x67, 0x5a, 0x6b, 0x98, 0x68, 0xa9, 0x07, 0x3e, 0x70, 1798 0xe8, 0x55, 0xf3, 0x75, 0xad, 0xa1, 0x2b, 0x22, 0x09, 0x1a, 0x0f, 0x51, 0xf1, 0x14, 0xa2, 0xee, 1799 0x49, 0xc4, 0x81, 0x55, 0x0b, 0x75, 0xad, 0x91, 0x57, 0x84, 0x7e, 0x0a, 0x51, 0x4b, 0x44, 0x05, 1800 0x32, 0xc6, 0xbe, 0x42, 0x16, 0xb2, 0xc8, 0x18, 0xfb, 0x12, 0x59, 0x47, 0xc5, 0x10, 0x9f, 0x2b, 1801 0x64, 0xb1, 0xae, 0x35, 0xca, 0x8e, 0x1e, 0xe2, 0x73, 0x99, 0x3c, 0x44, 0x2b, 0x03, 0x08, 0x5d, 1802 0x98, 0x5a, 0x58, 0x5d, 0xfa, 0xeb, 0x13, 0x39, 0x95, 0xb8, 0x36, 0xdd, 0x1b, 0x80, 0x2a, 0x1e, 1803 0xe5, 0x40, 0x79, 0xb7, 0xef, 0x09, 0x0f, 0xa3, 0xaa, 0x5e, 0xcf, 0x37, 0x4a, 0x3b, 0x4f, 0xff, 1804 0xe4, 0x6d, 0xf6, 0x4a, 0xec, 0x0e, 0x9c, 0x8d, 0x80, 0x12, 0xe8, 0xbd, 0x8c, 0x75, 0xd4, 0x61, 1805 0x96, 0xa5, 0xea, 0x0b, 0x29, 0x5a, 0xc3, 0x68, 0x65, 0x8e, 0x33, 0xb6, 0x91, 0xce, 0x54, 0x28, 1806 0xbe, 0xcf, 0x85, 0x56, 0x45, 0x54, 0xfe, 0xb8, 0xb5, 0x16, 0x8f, 0x2f, 0x68, 0x07, 0xce, 0x9c, 1807 0x34, 0x6f, 0xac, 0xa1, 0x85, 0x31, 0xf6, 0x47, 0x10, 0xdf, 0x5d, 0xd9, 0x91, 0x9b, 0xbd, 0xf2, 1808 0x87, 0x4b, 0x2b, 0xf7, 0xf9, 0xd2, 0xd2, 0xbe, 0x5f, 0x5a, 0xda, 0xec, 0x6e, 0xe3, 0xa3, 0x86, 1809 0xb6, 0xb2, 0x6d, 0x76, 0x46, 0x27, 0x0c, 0xf8, 0xf3, 0x20, 0x3c, 0x12, 0xe7, 0xef, 0x40, 0xe8, 1810 0x61, 0xdf, 0x7b, 0x87, 0xb9, 0x17, 0xd0, 0x7f, 0x68, 0xf7, 0x5c, 0x93, 0x5f, 0x0a, 0xa8, 0x28, 1811 0x9a, 0xec, 0x70, 0xcc, 0x99, 0xf1, 0x08, 0xad, 0xfa, 0x98, 0xf1, 0xee, 0x68, 0xd8, 0xc3, 0x1c, 1812 0xba, 0x14, 0xd3, 0x80, 0xc5, 0xce, 0xfc, 0xaf, 0x3c, 0x5d, 0x11, 0xe9, 0xd7, 0x71, 0xf6, 0x95, 1813 0x48, 0x1a, 0x9b, 0x08, 0xa9, 0xcb, 0xc3, 0xae, 0xf4, 0x26, 0x41, 0x8b, 0x32, 0xbe, 0xef, 0x82, 1814 0xf1, 0x18, 0x95, 0x5d, 0x22, 0x0f, 0x17, 0x63, 0xf9, 0x18, 0x33, 0x04, 0x36, 0xb9, 0xb5, 0xd0, 1815 0x41, 0x3b, 0x3e, 0xe7, 0xbe, 0x0b, 0x0e, 0x72, 0x49, 0xb2, 0x16, 0xd2, 0xbe, 0x37, 0x86, 0xcc, 1816 0x4b, 0x4e, 0xa5, 0x45, 0x5c, 0x7a, 0x93, 0x40, 0x24, 0x18, 0x51, 0x1e, 0xbf, 0xe5, 0x19, 0xa8, 1817 0x2d, 0xc2, 0xb3, 0x23, 0xb1, 0x98, 0x61, 0x66, 0x46, 0x42, 0x20, 0x52, 0x66, 0x69, 0x0e, 0x49, 1818 0x55, 0xa6, 0x53, 0xa3, 0x67, 0x91, 0x74, 0x6a, 0x14, 0x22, 0x55, 0x8a, 0x73, 0x88, 0x54, 0xd9, 1819 0x42, 0x65, 0x65, 0x98, 0x14, 0x42, 0x19, 0xaa, 0x24, 0x33, 0x52, 0x6b, 0x0a, 0x4a, 0xb9, 0xd2, 1820 0x7d, 0x30, 0xed, 0x8b, 0x45, 0x4c, 0xc9, 0x95, 0xb3, 0x1f, 0x65, 0x11, 0x4b, 0xfb, 0x12, 0x88, 1821 0x14, 0x5a, 0x9e, 0x43, 0xa4, 0xca, 0x2e, 0x32, 0x48, 0x40, 0x39, 0xf6, 0x28, 0xeb, 0x02, 0xe3, 1822 0xde, 0x00, 0x0b, 0xb9, 0x4a, 0xe6, 0xe7, 0xb0, 0x9a, 0xe4, 0x9f, 0x25, 0xe9, 0x3d, 0x3d, 0x79, 1823 0x47, 0xad, 0xed, 0xab, 0x6f, 0x66, 0xee, 0x6a, 0x62, 0x6a, 0xd7, 0x13, 0x53, 0xbb, 0x99, 0x98, 1824 0xda, 0xd7, 0x89, 0xa9, 0xbd, 0xbf, 0x33, 0x73, 0xd7, 0x77, 0x66, 0xee, 0xe6, 0xce, 0xcc, 0xbd, 1825 0xd5, 0x93, 0xd9, 0xfd, 0x19, 0x00, 0x00, 0xff, 0xff, 0x23, 0x20, 0xcf, 0xa8, 0xe1, 0x05, 0x00, 1826 0x00, 1827 }