OSDN Git Service

new repo
[bytom/vapor.git] / vendor / google.golang.org / genproto / googleapis / bigtable / v2 / bigtable.pb.go
1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/bigtable/v2/bigtable.proto
3
4 /*
5 Package bigtable is a generated protocol buffer package.
6
7 It is generated from these files:
8         google/bigtable/v2/bigtable.proto
9         google/bigtable/v2/data.proto
10
11 It has these top-level messages:
12         ReadRowsRequest
13         ReadRowsResponse
14         SampleRowKeysRequest
15         SampleRowKeysResponse
16         MutateRowRequest
17         MutateRowResponse
18         MutateRowsRequest
19         MutateRowsResponse
20         CheckAndMutateRowRequest
21         CheckAndMutateRowResponse
22         ReadModifyWriteRowRequest
23         ReadModifyWriteRowResponse
24         Row
25         Family
26         Column
27         Cell
28         RowRange
29         RowSet
30         ColumnRange
31         TimestampRange
32         ValueRange
33         RowFilter
34         Mutation
35         ReadModifyWriteRule
36 */
37 package bigtable
38
39 import proto "github.com/golang/protobuf/proto"
40 import fmt "fmt"
41 import math "math"
42 import _ "google.golang.org/genproto/googleapis/api/annotations"
43 import google_protobuf1 "github.com/golang/protobuf/ptypes/wrappers"
44 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
45
46 import (
47         context "golang.org/x/net/context"
48         grpc "google.golang.org/grpc"
49 )
50
51 // Reference imports to suppress errors if they are not otherwise used.
52 var _ = proto.Marshal
53 var _ = fmt.Errorf
54 var _ = math.Inf
55
56 // This is a compile-time assertion to ensure that this generated file
57 // is compatible with the proto package it is being compiled against.
58 // A compilation error at this line likely means your copy of the
59 // proto package needs to be updated.
60 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
61
62 // Request message for Bigtable.ReadRows.
63 type ReadRowsRequest struct {
64         // The unique name of the table from which to read.
65         // Values are of the form
66         // `projects/<project>/instances/<instance>/tables/<table>`.
67         TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName" json:"table_name,omitempty"`
68         // The row keys and/or ranges to read. If not specified, reads from all rows.
69         Rows *RowSet `protobuf:"bytes,2,opt,name=rows" json:"rows,omitempty"`
70         // The filter to apply to the contents of the specified row(s). If unset,
71         // reads the entirety of each row.
72         Filter *RowFilter `protobuf:"bytes,3,opt,name=filter" json:"filter,omitempty"`
73         // The read will terminate after committing to N rows' worth of results. The
74         // default (zero) is to return all results.
75         RowsLimit int64 `protobuf:"varint,4,opt,name=rows_limit,json=rowsLimit" json:"rows_limit,omitempty"`
76 }
77
78 func (m *ReadRowsRequest) Reset()                    { *m = ReadRowsRequest{} }
79 func (m *ReadRowsRequest) String() string            { return proto.CompactTextString(m) }
80 func (*ReadRowsRequest) ProtoMessage()               {}
81 func (*ReadRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
82
83 func (m *ReadRowsRequest) GetTableName() string {
84         if m != nil {
85                 return m.TableName
86         }
87         return ""
88 }
89
90 func (m *ReadRowsRequest) GetRows() *RowSet {
91         if m != nil {
92                 return m.Rows
93         }
94         return nil
95 }
96
97 func (m *ReadRowsRequest) GetFilter() *RowFilter {
98         if m != nil {
99                 return m.Filter
100         }
101         return nil
102 }
103
104 func (m *ReadRowsRequest) GetRowsLimit() int64 {
105         if m != nil {
106                 return m.RowsLimit
107         }
108         return 0
109 }
110
111 // Response message for Bigtable.ReadRows.
112 type ReadRowsResponse struct {
113         Chunks []*ReadRowsResponse_CellChunk `protobuf:"bytes,1,rep,name=chunks" json:"chunks,omitempty"`
114         // Optionally the server might return the row key of the last row it
115         // has scanned.  The client can use this to construct a more
116         // efficient retry request if needed: any row keys or portions of
117         // ranges less than this row key can be dropped from the request.
118         // This is primarily useful for cases where the server has read a
119         // lot of data that was filtered out since the last committed row
120         // key, allowing the client to skip that work on a retry.
121         LastScannedRowKey []byte `protobuf:"bytes,2,opt,name=last_scanned_row_key,json=lastScannedRowKey,proto3" json:"last_scanned_row_key,omitempty"`
122 }
123
124 func (m *ReadRowsResponse) Reset()                    { *m = ReadRowsResponse{} }
125 func (m *ReadRowsResponse) String() string            { return proto.CompactTextString(m) }
126 func (*ReadRowsResponse) ProtoMessage()               {}
127 func (*ReadRowsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
128
129 func (m *ReadRowsResponse) GetChunks() []*ReadRowsResponse_CellChunk {
130         if m != nil {
131                 return m.Chunks
132         }
133         return nil
134 }
135
136 func (m *ReadRowsResponse) GetLastScannedRowKey() []byte {
137         if m != nil {
138                 return m.LastScannedRowKey
139         }
140         return nil
141 }
142
143 // Specifies a piece of a row's contents returned as part of the read
144 // response stream.
145 type ReadRowsResponse_CellChunk struct {
146         // The row key for this chunk of data.  If the row key is empty,
147         // this CellChunk is a continuation of the same row as the previous
148         // CellChunk in the response stream, even if that CellChunk was in a
149         // previous ReadRowsResponse message.
150         RowKey []byte `protobuf:"bytes,1,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
151         // The column family name for this chunk of data.  If this message
152         // is not present this CellChunk is a continuation of the same column
153         // family as the previous CellChunk.  The empty string can occur as a
154         // column family name in a response so clients must check
155         // explicitly for the presence of this message, not just for
156         // `family_name.value` being non-empty.
157         FamilyName *google_protobuf1.StringValue `protobuf:"bytes,2,opt,name=family_name,json=familyName" json:"family_name,omitempty"`
158         // The column qualifier for this chunk of data.  If this message
159         // is not present, this CellChunk is a continuation of the same column
160         // as the previous CellChunk.  Column qualifiers may be empty so
161         // clients must check for the presence of this message, not just
162         // for `qualifier.value` being non-empty.
163         Qualifier *google_protobuf1.BytesValue `protobuf:"bytes,3,opt,name=qualifier" json:"qualifier,omitempty"`
164         // The cell's stored timestamp, which also uniquely identifies it
165         // within its column.  Values are always expressed in
166         // microseconds, but individual tables may set a coarser
167         // granularity to further restrict the allowed values. For
168         // example, a table which specifies millisecond granularity will
169         // only allow values of `timestamp_micros` which are multiples of
170         // 1000.  Timestamps are only set in the first CellChunk per cell
171         // (for cells split into multiple chunks).
172         TimestampMicros int64 `protobuf:"varint,4,opt,name=timestamp_micros,json=timestampMicros" json:"timestamp_micros,omitempty"`
173         // Labels applied to the cell by a
174         // [RowFilter][google.bigtable.v2.RowFilter].  Labels are only set
175         // on the first CellChunk per cell.
176         Labels []string `protobuf:"bytes,5,rep,name=labels" json:"labels,omitempty"`
177         // The value stored in the cell.  Cell values can be split across
178         // multiple CellChunks.  In that case only the value field will be
179         // set in CellChunks after the first: the timestamp and labels
180         // will only be present in the first CellChunk, even if the first
181         // CellChunk came in a previous ReadRowsResponse.
182         Value []byte `protobuf:"bytes,6,opt,name=value,proto3" json:"value,omitempty"`
183         // If this CellChunk is part of a chunked cell value and this is
184         // not the final chunk of that cell, value_size will be set to the
185         // total length of the cell value.  The client can use this size
186         // to pre-allocate memory to hold the full cell value.
187         ValueSize int32 `protobuf:"varint,7,opt,name=value_size,json=valueSize" json:"value_size,omitempty"`
188         // Types that are valid to be assigned to RowStatus:
189         //      *ReadRowsResponse_CellChunk_ResetRow
190         //      *ReadRowsResponse_CellChunk_CommitRow
191         RowStatus isReadRowsResponse_CellChunk_RowStatus `protobuf_oneof:"row_status"`
192 }
193
194 func (m *ReadRowsResponse_CellChunk) Reset()                    { *m = ReadRowsResponse_CellChunk{} }
195 func (m *ReadRowsResponse_CellChunk) String() string            { return proto.CompactTextString(m) }
196 func (*ReadRowsResponse_CellChunk) ProtoMessage()               {}
197 func (*ReadRowsResponse_CellChunk) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 0} }
198
199 type isReadRowsResponse_CellChunk_RowStatus interface {
200         isReadRowsResponse_CellChunk_RowStatus()
201 }
202
203 type ReadRowsResponse_CellChunk_ResetRow struct {
204         ResetRow bool `protobuf:"varint,8,opt,name=reset_row,json=resetRow,oneof"`
205 }
206 type ReadRowsResponse_CellChunk_CommitRow struct {
207         CommitRow bool `protobuf:"varint,9,opt,name=commit_row,json=commitRow,oneof"`
208 }
209
210 func (*ReadRowsResponse_CellChunk_ResetRow) isReadRowsResponse_CellChunk_RowStatus()  {}
211 func (*ReadRowsResponse_CellChunk_CommitRow) isReadRowsResponse_CellChunk_RowStatus() {}
212
213 func (m *ReadRowsResponse_CellChunk) GetRowStatus() isReadRowsResponse_CellChunk_RowStatus {
214         if m != nil {
215                 return m.RowStatus
216         }
217         return nil
218 }
219
220 func (m *ReadRowsResponse_CellChunk) GetRowKey() []byte {
221         if m != nil {
222                 return m.RowKey
223         }
224         return nil
225 }
226
227 func (m *ReadRowsResponse_CellChunk) GetFamilyName() *google_protobuf1.StringValue {
228         if m != nil {
229                 return m.FamilyName
230         }
231         return nil
232 }
233
234 func (m *ReadRowsResponse_CellChunk) GetQualifier() *google_protobuf1.BytesValue {
235         if m != nil {
236                 return m.Qualifier
237         }
238         return nil
239 }
240
241 func (m *ReadRowsResponse_CellChunk) GetTimestampMicros() int64 {
242         if m != nil {
243                 return m.TimestampMicros
244         }
245         return 0
246 }
247
248 func (m *ReadRowsResponse_CellChunk) GetLabels() []string {
249         if m != nil {
250                 return m.Labels
251         }
252         return nil
253 }
254
255 func (m *ReadRowsResponse_CellChunk) GetValue() []byte {
256         if m != nil {
257                 return m.Value
258         }
259         return nil
260 }
261
262 func (m *ReadRowsResponse_CellChunk) GetValueSize() int32 {
263         if m != nil {
264                 return m.ValueSize
265         }
266         return 0
267 }
268
269 func (m *ReadRowsResponse_CellChunk) GetResetRow() bool {
270         if x, ok := m.GetRowStatus().(*ReadRowsResponse_CellChunk_ResetRow); ok {
271                 return x.ResetRow
272         }
273         return false
274 }
275
276 func (m *ReadRowsResponse_CellChunk) GetCommitRow() bool {
277         if x, ok := m.GetRowStatus().(*ReadRowsResponse_CellChunk_CommitRow); ok {
278                 return x.CommitRow
279         }
280         return false
281 }
282
283 // XXX_OneofFuncs is for the internal use of the proto package.
284 func (*ReadRowsResponse_CellChunk) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
285         return _ReadRowsResponse_CellChunk_OneofMarshaler, _ReadRowsResponse_CellChunk_OneofUnmarshaler, _ReadRowsResponse_CellChunk_OneofSizer, []interface{}{
286                 (*ReadRowsResponse_CellChunk_ResetRow)(nil),
287                 (*ReadRowsResponse_CellChunk_CommitRow)(nil),
288         }
289 }
290
291 func _ReadRowsResponse_CellChunk_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
292         m := msg.(*ReadRowsResponse_CellChunk)
293         // row_status
294         switch x := m.RowStatus.(type) {
295         case *ReadRowsResponse_CellChunk_ResetRow:
296                 t := uint64(0)
297                 if x.ResetRow {
298                         t = 1
299                 }
300                 b.EncodeVarint(8<<3 | proto.WireVarint)
301                 b.EncodeVarint(t)
302         case *ReadRowsResponse_CellChunk_CommitRow:
303                 t := uint64(0)
304                 if x.CommitRow {
305                         t = 1
306                 }
307                 b.EncodeVarint(9<<3 | proto.WireVarint)
308                 b.EncodeVarint(t)
309         case nil:
310         default:
311                 return fmt.Errorf("ReadRowsResponse_CellChunk.RowStatus has unexpected type %T", x)
312         }
313         return nil
314 }
315
316 func _ReadRowsResponse_CellChunk_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
317         m := msg.(*ReadRowsResponse_CellChunk)
318         switch tag {
319         case 8: // row_status.reset_row
320                 if wire != proto.WireVarint {
321                         return true, proto.ErrInternalBadWireType
322                 }
323                 x, err := b.DecodeVarint()
324                 m.RowStatus = &ReadRowsResponse_CellChunk_ResetRow{x != 0}
325                 return true, err
326         case 9: // row_status.commit_row
327                 if wire != proto.WireVarint {
328                         return true, proto.ErrInternalBadWireType
329                 }
330                 x, err := b.DecodeVarint()
331                 m.RowStatus = &ReadRowsResponse_CellChunk_CommitRow{x != 0}
332                 return true, err
333         default:
334                 return false, nil
335         }
336 }
337
338 func _ReadRowsResponse_CellChunk_OneofSizer(msg proto.Message) (n int) {
339         m := msg.(*ReadRowsResponse_CellChunk)
340         // row_status
341         switch x := m.RowStatus.(type) {
342         case *ReadRowsResponse_CellChunk_ResetRow:
343                 n += proto.SizeVarint(8<<3 | proto.WireVarint)
344                 n += 1
345         case *ReadRowsResponse_CellChunk_CommitRow:
346                 n += proto.SizeVarint(9<<3 | proto.WireVarint)
347                 n += 1
348         case nil:
349         default:
350                 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
351         }
352         return n
353 }
354
355 // Request message for Bigtable.SampleRowKeys.
356 type SampleRowKeysRequest struct {
357         // The unique name of the table from which to sample row keys.
358         // Values are of the form
359         // `projects/<project>/instances/<instance>/tables/<table>`.
360         TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName" json:"table_name,omitempty"`
361 }
362
363 func (m *SampleRowKeysRequest) Reset()                    { *m = SampleRowKeysRequest{} }
364 func (m *SampleRowKeysRequest) String() string            { return proto.CompactTextString(m) }
365 func (*SampleRowKeysRequest) ProtoMessage()               {}
366 func (*SampleRowKeysRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
367
368 func (m *SampleRowKeysRequest) GetTableName() string {
369         if m != nil {
370                 return m.TableName
371         }
372         return ""
373 }
374
375 // Response message for Bigtable.SampleRowKeys.
376 type SampleRowKeysResponse struct {
377         // Sorted streamed sequence of sample row keys in the table. The table might
378         // have contents before the first row key in the list and after the last one,
379         // but a key containing the empty string indicates "end of table" and will be
380         // the last response given, if present.
381         // Note that row keys in this list may not have ever been written to or read
382         // from, and users should therefore not make any assumptions about the row key
383         // structure that are specific to their use case.
384         RowKey []byte `protobuf:"bytes,1,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
385         // Approximate total storage space used by all rows in the table which precede
386         // `row_key`. Buffering the contents of all rows between two subsequent
387         // samples would require space roughly equal to the difference in their
388         // `offset_bytes` fields.
389         OffsetBytes int64 `protobuf:"varint,2,opt,name=offset_bytes,json=offsetBytes" json:"offset_bytes,omitempty"`
390 }
391
392 func (m *SampleRowKeysResponse) Reset()                    { *m = SampleRowKeysResponse{} }
393 func (m *SampleRowKeysResponse) String() string            { return proto.CompactTextString(m) }
394 func (*SampleRowKeysResponse) ProtoMessage()               {}
395 func (*SampleRowKeysResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
396
397 func (m *SampleRowKeysResponse) GetRowKey() []byte {
398         if m != nil {
399                 return m.RowKey
400         }
401         return nil
402 }
403
404 func (m *SampleRowKeysResponse) GetOffsetBytes() int64 {
405         if m != nil {
406                 return m.OffsetBytes
407         }
408         return 0
409 }
410
411 // Request message for Bigtable.MutateRow.
412 type MutateRowRequest struct {
413         // The unique name of the table to which the mutation should be applied.
414         // Values are of the form
415         // `projects/<project>/instances/<instance>/tables/<table>`.
416         TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName" json:"table_name,omitempty"`
417         // The key of the row to which the mutation should be applied.
418         RowKey []byte `protobuf:"bytes,2,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
419         // Changes to be atomically applied to the specified row. Entries are applied
420         // in order, meaning that earlier mutations can be masked by later ones.
421         // Must contain at least one entry and at most 100000.
422         Mutations []*Mutation `protobuf:"bytes,3,rep,name=mutations" json:"mutations,omitempty"`
423 }
424
425 func (m *MutateRowRequest) Reset()                    { *m = MutateRowRequest{} }
426 func (m *MutateRowRequest) String() string            { return proto.CompactTextString(m) }
427 func (*MutateRowRequest) ProtoMessage()               {}
428 func (*MutateRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
429
430 func (m *MutateRowRequest) GetTableName() string {
431         if m != nil {
432                 return m.TableName
433         }
434         return ""
435 }
436
437 func (m *MutateRowRequest) GetRowKey() []byte {
438         if m != nil {
439                 return m.RowKey
440         }
441         return nil
442 }
443
444 func (m *MutateRowRequest) GetMutations() []*Mutation {
445         if m != nil {
446                 return m.Mutations
447         }
448         return nil
449 }
450
451 // Response message for Bigtable.MutateRow.
452 type MutateRowResponse struct {
453 }
454
455 func (m *MutateRowResponse) Reset()                    { *m = MutateRowResponse{} }
456 func (m *MutateRowResponse) String() string            { return proto.CompactTextString(m) }
457 func (*MutateRowResponse) ProtoMessage()               {}
458 func (*MutateRowResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
459
460 // Request message for BigtableService.MutateRows.
461 type MutateRowsRequest struct {
462         // The unique name of the table to which the mutations should be applied.
463         TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName" json:"table_name,omitempty"`
464         // The row keys and corresponding mutations to be applied in bulk.
465         // Each entry is applied as an atomic mutation, but the entries may be
466         // applied in arbitrary order (even between entries for the same row).
467         // At least one entry must be specified, and in total the entries can
468         // contain at most 100000 mutations.
469         Entries []*MutateRowsRequest_Entry `protobuf:"bytes,2,rep,name=entries" json:"entries,omitempty"`
470 }
471
472 func (m *MutateRowsRequest) Reset()                    { *m = MutateRowsRequest{} }
473 func (m *MutateRowsRequest) String() string            { return proto.CompactTextString(m) }
474 func (*MutateRowsRequest) ProtoMessage()               {}
475 func (*MutateRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
476
477 func (m *MutateRowsRequest) GetTableName() string {
478         if m != nil {
479                 return m.TableName
480         }
481         return ""
482 }
483
484 func (m *MutateRowsRequest) GetEntries() []*MutateRowsRequest_Entry {
485         if m != nil {
486                 return m.Entries
487         }
488         return nil
489 }
490
491 type MutateRowsRequest_Entry struct {
492         // The key of the row to which the `mutations` should be applied.
493         RowKey []byte `protobuf:"bytes,1,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
494         // Changes to be atomically applied to the specified row. Mutations are
495         // applied in order, meaning that earlier mutations can be masked by
496         // later ones.
497         // You must specify at least one mutation.
498         Mutations []*Mutation `protobuf:"bytes,2,rep,name=mutations" json:"mutations,omitempty"`
499 }
500
501 func (m *MutateRowsRequest_Entry) Reset()                    { *m = MutateRowsRequest_Entry{} }
502 func (m *MutateRowsRequest_Entry) String() string            { return proto.CompactTextString(m) }
503 func (*MutateRowsRequest_Entry) ProtoMessage()               {}
504 func (*MutateRowsRequest_Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6, 0} }
505
506 func (m *MutateRowsRequest_Entry) GetRowKey() []byte {
507         if m != nil {
508                 return m.RowKey
509         }
510         return nil
511 }
512
513 func (m *MutateRowsRequest_Entry) GetMutations() []*Mutation {
514         if m != nil {
515                 return m.Mutations
516         }
517         return nil
518 }
519
520 // Response message for BigtableService.MutateRows.
521 type MutateRowsResponse struct {
522         // One or more results for Entries from the batch request.
523         Entries []*MutateRowsResponse_Entry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
524 }
525
526 func (m *MutateRowsResponse) Reset()                    { *m = MutateRowsResponse{} }
527 func (m *MutateRowsResponse) String() string            { return proto.CompactTextString(m) }
528 func (*MutateRowsResponse) ProtoMessage()               {}
529 func (*MutateRowsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
530
531 func (m *MutateRowsResponse) GetEntries() []*MutateRowsResponse_Entry {
532         if m != nil {
533                 return m.Entries
534         }
535         return nil
536 }
537
538 type MutateRowsResponse_Entry struct {
539         // The index into the original request's `entries` list of the Entry
540         // for which a result is being reported.
541         Index int64 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"`
542         // The result of the request Entry identified by `index`.
543         // Depending on how requests are batched during execution, it is possible
544         // for one Entry to fail due to an error with another Entry. In the event
545         // that this occurs, the same error will be reported for both entries.
546         Status *google_rpc.Status `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"`
547 }
548
549 func (m *MutateRowsResponse_Entry) Reset()                    { *m = MutateRowsResponse_Entry{} }
550 func (m *MutateRowsResponse_Entry) String() string            { return proto.CompactTextString(m) }
551 func (*MutateRowsResponse_Entry) ProtoMessage()               {}
552 func (*MutateRowsResponse_Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7, 0} }
553
554 func (m *MutateRowsResponse_Entry) GetIndex() int64 {
555         if m != nil {
556                 return m.Index
557         }
558         return 0
559 }
560
561 func (m *MutateRowsResponse_Entry) GetStatus() *google_rpc.Status {
562         if m != nil {
563                 return m.Status
564         }
565         return nil
566 }
567
568 // Request message for Bigtable.CheckAndMutateRow.
569 type CheckAndMutateRowRequest struct {
570         // The unique name of the table to which the conditional mutation should be
571         // applied.
572         // Values are of the form
573         // `projects/<project>/instances/<instance>/tables/<table>`.
574         TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName" json:"table_name,omitempty"`
575         // The key of the row to which the conditional mutation should be applied.
576         RowKey []byte `protobuf:"bytes,2,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
577         // The filter to be applied to the contents of the specified row. Depending
578         // on whether or not any results are yielded, either `true_mutations` or
579         // `false_mutations` will be executed. If unset, checks that the row contains
580         // any values at all.
581         PredicateFilter *RowFilter `protobuf:"bytes,6,opt,name=predicate_filter,json=predicateFilter" json:"predicate_filter,omitempty"`
582         // Changes to be atomically applied to the specified row if `predicate_filter`
583         // yields at least one cell when applied to `row_key`. Entries are applied in
584         // order, meaning that earlier mutations can be masked by later ones.
585         // Must contain at least one entry if `false_mutations` is empty, and at most
586         // 100000.
587         TrueMutations []*Mutation `protobuf:"bytes,4,rep,name=true_mutations,json=trueMutations" json:"true_mutations,omitempty"`
588         // Changes to be atomically applied to the specified row if `predicate_filter`
589         // does not yield any cells when applied to `row_key`. Entries are applied in
590         // order, meaning that earlier mutations can be masked by later ones.
591         // Must contain at least one entry if `true_mutations` is empty, and at most
592         // 100000.
593         FalseMutations []*Mutation `protobuf:"bytes,5,rep,name=false_mutations,json=falseMutations" json:"false_mutations,omitempty"`
594 }
595
596 func (m *CheckAndMutateRowRequest) Reset()                    { *m = CheckAndMutateRowRequest{} }
597 func (m *CheckAndMutateRowRequest) String() string            { return proto.CompactTextString(m) }
598 func (*CheckAndMutateRowRequest) ProtoMessage()               {}
599 func (*CheckAndMutateRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
600
601 func (m *CheckAndMutateRowRequest) GetTableName() string {
602         if m != nil {
603                 return m.TableName
604         }
605         return ""
606 }
607
608 func (m *CheckAndMutateRowRequest) GetRowKey() []byte {
609         if m != nil {
610                 return m.RowKey
611         }
612         return nil
613 }
614
615 func (m *CheckAndMutateRowRequest) GetPredicateFilter() *RowFilter {
616         if m != nil {
617                 return m.PredicateFilter
618         }
619         return nil
620 }
621
622 func (m *CheckAndMutateRowRequest) GetTrueMutations() []*Mutation {
623         if m != nil {
624                 return m.TrueMutations
625         }
626         return nil
627 }
628
629 func (m *CheckAndMutateRowRequest) GetFalseMutations() []*Mutation {
630         if m != nil {
631                 return m.FalseMutations
632         }
633         return nil
634 }
635
636 // Response message for Bigtable.CheckAndMutateRow.
637 type CheckAndMutateRowResponse struct {
638         // Whether or not the request's `predicate_filter` yielded any results for
639         // the specified row.
640         PredicateMatched bool `protobuf:"varint,1,opt,name=predicate_matched,json=predicateMatched" json:"predicate_matched,omitempty"`
641 }
642
643 func (m *CheckAndMutateRowResponse) Reset()                    { *m = CheckAndMutateRowResponse{} }
644 func (m *CheckAndMutateRowResponse) String() string            { return proto.CompactTextString(m) }
645 func (*CheckAndMutateRowResponse) ProtoMessage()               {}
646 func (*CheckAndMutateRowResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
647
648 func (m *CheckAndMutateRowResponse) GetPredicateMatched() bool {
649         if m != nil {
650                 return m.PredicateMatched
651         }
652         return false
653 }
654
655 // Request message for Bigtable.ReadModifyWriteRow.
656 type ReadModifyWriteRowRequest struct {
657         // The unique name of the table to which the read/modify/write rules should be
658         // applied.
659         // Values are of the form
660         // `projects/<project>/instances/<instance>/tables/<table>`.
661         TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName" json:"table_name,omitempty"`
662         // The key of the row to which the read/modify/write rules should be applied.
663         RowKey []byte `protobuf:"bytes,2,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
664         // Rules specifying how the specified row's contents are to be transformed
665         // into writes. Entries are applied in order, meaning that earlier rules will
666         // affect the results of later ones.
667         Rules []*ReadModifyWriteRule `protobuf:"bytes,3,rep,name=rules" json:"rules,omitempty"`
668 }
669
670 func (m *ReadModifyWriteRowRequest) Reset()                    { *m = ReadModifyWriteRowRequest{} }
671 func (m *ReadModifyWriteRowRequest) String() string            { return proto.CompactTextString(m) }
672 func (*ReadModifyWriteRowRequest) ProtoMessage()               {}
673 func (*ReadModifyWriteRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
674
675 func (m *ReadModifyWriteRowRequest) GetTableName() string {
676         if m != nil {
677                 return m.TableName
678         }
679         return ""
680 }
681
682 func (m *ReadModifyWriteRowRequest) GetRowKey() []byte {
683         if m != nil {
684                 return m.RowKey
685         }
686         return nil
687 }
688
689 func (m *ReadModifyWriteRowRequest) GetRules() []*ReadModifyWriteRule {
690         if m != nil {
691                 return m.Rules
692         }
693         return nil
694 }
695
696 // Response message for Bigtable.ReadModifyWriteRow.
697 type ReadModifyWriteRowResponse struct {
698         // A Row containing the new contents of all cells modified by the request.
699         Row *Row `protobuf:"bytes,1,opt,name=row" json:"row,omitempty"`
700 }
701
702 func (m *ReadModifyWriteRowResponse) Reset()                    { *m = ReadModifyWriteRowResponse{} }
703 func (m *ReadModifyWriteRowResponse) String() string            { return proto.CompactTextString(m) }
704 func (*ReadModifyWriteRowResponse) ProtoMessage()               {}
705 func (*ReadModifyWriteRowResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
706
707 func (m *ReadModifyWriteRowResponse) GetRow() *Row {
708         if m != nil {
709                 return m.Row
710         }
711         return nil
712 }
713
714 func init() {
715         proto.RegisterType((*ReadRowsRequest)(nil), "google.bigtable.v2.ReadRowsRequest")
716         proto.RegisterType((*ReadRowsResponse)(nil), "google.bigtable.v2.ReadRowsResponse")
717         proto.RegisterType((*ReadRowsResponse_CellChunk)(nil), "google.bigtable.v2.ReadRowsResponse.CellChunk")
718         proto.RegisterType((*SampleRowKeysRequest)(nil), "google.bigtable.v2.SampleRowKeysRequest")
719         proto.RegisterType((*SampleRowKeysResponse)(nil), "google.bigtable.v2.SampleRowKeysResponse")
720         proto.RegisterType((*MutateRowRequest)(nil), "google.bigtable.v2.MutateRowRequest")
721         proto.RegisterType((*MutateRowResponse)(nil), "google.bigtable.v2.MutateRowResponse")
722         proto.RegisterType((*MutateRowsRequest)(nil), "google.bigtable.v2.MutateRowsRequest")
723         proto.RegisterType((*MutateRowsRequest_Entry)(nil), "google.bigtable.v2.MutateRowsRequest.Entry")
724         proto.RegisterType((*MutateRowsResponse)(nil), "google.bigtable.v2.MutateRowsResponse")
725         proto.RegisterType((*MutateRowsResponse_Entry)(nil), "google.bigtable.v2.MutateRowsResponse.Entry")
726         proto.RegisterType((*CheckAndMutateRowRequest)(nil), "google.bigtable.v2.CheckAndMutateRowRequest")
727         proto.RegisterType((*CheckAndMutateRowResponse)(nil), "google.bigtable.v2.CheckAndMutateRowResponse")
728         proto.RegisterType((*ReadModifyWriteRowRequest)(nil), "google.bigtable.v2.ReadModifyWriteRowRequest")
729         proto.RegisterType((*ReadModifyWriteRowResponse)(nil), "google.bigtable.v2.ReadModifyWriteRowResponse")
730 }
731
732 // Reference imports to suppress errors if they are not otherwise used.
733 var _ context.Context
734 var _ grpc.ClientConn
735
736 // This is a compile-time assertion to ensure that this generated file
737 // is compatible with the grpc package it is being compiled against.
738 const _ = grpc.SupportPackageIsVersion4
739
740 // Client API for Bigtable service
741
742 type BigtableClient interface {
743         // Streams back the contents of all requested rows in key order, optionally
744         // applying the same Reader filter to each. Depending on their size,
745         // rows and cells may be broken up across multiple responses, but
746         // atomicity of each row will still be preserved. See the
747         // ReadRowsResponse documentation for details.
748         ReadRows(ctx context.Context, in *ReadRowsRequest, opts ...grpc.CallOption) (Bigtable_ReadRowsClient, error)
749         // Returns a sample of row keys in the table. The returned row keys will
750         // delimit contiguous sections of the table of approximately equal size,
751         // which can be used to break up the data for distributed tasks like
752         // mapreduces.
753         SampleRowKeys(ctx context.Context, in *SampleRowKeysRequest, opts ...grpc.CallOption) (Bigtable_SampleRowKeysClient, error)
754         // Mutates a row atomically. Cells already present in the row are left
755         // unchanged unless explicitly changed by `mutation`.
756         MutateRow(ctx context.Context, in *MutateRowRequest, opts ...grpc.CallOption) (*MutateRowResponse, error)
757         // Mutates multiple rows in a batch. Each individual row is mutated
758         // atomically as in MutateRow, but the entire batch is not executed
759         // atomically.
760         MutateRows(ctx context.Context, in *MutateRowsRequest, opts ...grpc.CallOption) (Bigtable_MutateRowsClient, error)
761         // Mutates a row atomically based on the output of a predicate Reader filter.
762         CheckAndMutateRow(ctx context.Context, in *CheckAndMutateRowRequest, opts ...grpc.CallOption) (*CheckAndMutateRowResponse, error)
763         // Modifies a row atomically. The method reads the latest existing timestamp
764         // and value from the specified columns and writes a new entry based on
765         // pre-defined read/modify/write rules. The new value for the timestamp is the
766         // greater of the existing timestamp or the current server time. The method
767         // returns the new contents of all modified cells.
768         ReadModifyWriteRow(ctx context.Context, in *ReadModifyWriteRowRequest, opts ...grpc.CallOption) (*ReadModifyWriteRowResponse, error)
769 }
770
771 type bigtableClient struct {
772         cc *grpc.ClientConn
773 }
774
775 func NewBigtableClient(cc *grpc.ClientConn) BigtableClient {
776         return &bigtableClient{cc}
777 }
778
779 func (c *bigtableClient) ReadRows(ctx context.Context, in *ReadRowsRequest, opts ...grpc.CallOption) (Bigtable_ReadRowsClient, error) {
780         stream, err := grpc.NewClientStream(ctx, &_Bigtable_serviceDesc.Streams[0], c.cc, "/google.bigtable.v2.Bigtable/ReadRows", opts...)
781         if err != nil {
782                 return nil, err
783         }
784         x := &bigtableReadRowsClient{stream}
785         if err := x.ClientStream.SendMsg(in); err != nil {
786                 return nil, err
787         }
788         if err := x.ClientStream.CloseSend(); err != nil {
789                 return nil, err
790         }
791         return x, nil
792 }
793
794 type Bigtable_ReadRowsClient interface {
795         Recv() (*ReadRowsResponse, error)
796         grpc.ClientStream
797 }
798
799 type bigtableReadRowsClient struct {
800         grpc.ClientStream
801 }
802
803 func (x *bigtableReadRowsClient) Recv() (*ReadRowsResponse, error) {
804         m := new(ReadRowsResponse)
805         if err := x.ClientStream.RecvMsg(m); err != nil {
806                 return nil, err
807         }
808         return m, nil
809 }
810
811 func (c *bigtableClient) SampleRowKeys(ctx context.Context, in *SampleRowKeysRequest, opts ...grpc.CallOption) (Bigtable_SampleRowKeysClient, error) {
812         stream, err := grpc.NewClientStream(ctx, &_Bigtable_serviceDesc.Streams[1], c.cc, "/google.bigtable.v2.Bigtable/SampleRowKeys", opts...)
813         if err != nil {
814                 return nil, err
815         }
816         x := &bigtableSampleRowKeysClient{stream}
817         if err := x.ClientStream.SendMsg(in); err != nil {
818                 return nil, err
819         }
820         if err := x.ClientStream.CloseSend(); err != nil {
821                 return nil, err
822         }
823         return x, nil
824 }
825
826 type Bigtable_SampleRowKeysClient interface {
827         Recv() (*SampleRowKeysResponse, error)
828         grpc.ClientStream
829 }
830
831 type bigtableSampleRowKeysClient struct {
832         grpc.ClientStream
833 }
834
835 func (x *bigtableSampleRowKeysClient) Recv() (*SampleRowKeysResponse, error) {
836         m := new(SampleRowKeysResponse)
837         if err := x.ClientStream.RecvMsg(m); err != nil {
838                 return nil, err
839         }
840         return m, nil
841 }
842
843 func (c *bigtableClient) MutateRow(ctx context.Context, in *MutateRowRequest, opts ...grpc.CallOption) (*MutateRowResponse, error) {
844         out := new(MutateRowResponse)
845         err := grpc.Invoke(ctx, "/google.bigtable.v2.Bigtable/MutateRow", in, out, c.cc, opts...)
846         if err != nil {
847                 return nil, err
848         }
849         return out, nil
850 }
851
852 func (c *bigtableClient) MutateRows(ctx context.Context, in *MutateRowsRequest, opts ...grpc.CallOption) (Bigtable_MutateRowsClient, error) {
853         stream, err := grpc.NewClientStream(ctx, &_Bigtable_serviceDesc.Streams[2], c.cc, "/google.bigtable.v2.Bigtable/MutateRows", opts...)
854         if err != nil {
855                 return nil, err
856         }
857         x := &bigtableMutateRowsClient{stream}
858         if err := x.ClientStream.SendMsg(in); err != nil {
859                 return nil, err
860         }
861         if err := x.ClientStream.CloseSend(); err != nil {
862                 return nil, err
863         }
864         return x, nil
865 }
866
867 type Bigtable_MutateRowsClient interface {
868         Recv() (*MutateRowsResponse, error)
869         grpc.ClientStream
870 }
871
872 type bigtableMutateRowsClient struct {
873         grpc.ClientStream
874 }
875
876 func (x *bigtableMutateRowsClient) Recv() (*MutateRowsResponse, error) {
877         m := new(MutateRowsResponse)
878         if err := x.ClientStream.RecvMsg(m); err != nil {
879                 return nil, err
880         }
881         return m, nil
882 }
883
884 func (c *bigtableClient) CheckAndMutateRow(ctx context.Context, in *CheckAndMutateRowRequest, opts ...grpc.CallOption) (*CheckAndMutateRowResponse, error) {
885         out := new(CheckAndMutateRowResponse)
886         err := grpc.Invoke(ctx, "/google.bigtable.v2.Bigtable/CheckAndMutateRow", in, out, c.cc, opts...)
887         if err != nil {
888                 return nil, err
889         }
890         return out, nil
891 }
892
893 func (c *bigtableClient) ReadModifyWriteRow(ctx context.Context, in *ReadModifyWriteRowRequest, opts ...grpc.CallOption) (*ReadModifyWriteRowResponse, error) {
894         out := new(ReadModifyWriteRowResponse)
895         err := grpc.Invoke(ctx, "/google.bigtable.v2.Bigtable/ReadModifyWriteRow", in, out, c.cc, opts...)
896         if err != nil {
897                 return nil, err
898         }
899         return out, nil
900 }
901
902 // Server API for Bigtable service
903
904 type BigtableServer interface {
905         // Streams back the contents of all requested rows in key order, optionally
906         // applying the same Reader filter to each. Depending on their size,
907         // rows and cells may be broken up across multiple responses, but
908         // atomicity of each row will still be preserved. See the
909         // ReadRowsResponse documentation for details.
910         ReadRows(*ReadRowsRequest, Bigtable_ReadRowsServer) error
911         // Returns a sample of row keys in the table. The returned row keys will
912         // delimit contiguous sections of the table of approximately equal size,
913         // which can be used to break up the data for distributed tasks like
914         // mapreduces.
915         SampleRowKeys(*SampleRowKeysRequest, Bigtable_SampleRowKeysServer) error
916         // Mutates a row atomically. Cells already present in the row are left
917         // unchanged unless explicitly changed by `mutation`.
918         MutateRow(context.Context, *MutateRowRequest) (*MutateRowResponse, error)
919         // Mutates multiple rows in a batch. Each individual row is mutated
920         // atomically as in MutateRow, but the entire batch is not executed
921         // atomically.
922         MutateRows(*MutateRowsRequest, Bigtable_MutateRowsServer) error
923         // Mutates a row atomically based on the output of a predicate Reader filter.
924         CheckAndMutateRow(context.Context, *CheckAndMutateRowRequest) (*CheckAndMutateRowResponse, error)
925         // Modifies a row atomically. The method reads the latest existing timestamp
926         // and value from the specified columns and writes a new entry based on
927         // pre-defined read/modify/write rules. The new value for the timestamp is the
928         // greater of the existing timestamp or the current server time. The method
929         // returns the new contents of all modified cells.
930         ReadModifyWriteRow(context.Context, *ReadModifyWriteRowRequest) (*ReadModifyWriteRowResponse, error)
931 }
932
933 func RegisterBigtableServer(s *grpc.Server, srv BigtableServer) {
934         s.RegisterService(&_Bigtable_serviceDesc, srv)
935 }
936
937 func _Bigtable_ReadRows_Handler(srv interface{}, stream grpc.ServerStream) error {
938         m := new(ReadRowsRequest)
939         if err := stream.RecvMsg(m); err != nil {
940                 return err
941         }
942         return srv.(BigtableServer).ReadRows(m, &bigtableReadRowsServer{stream})
943 }
944
945 type Bigtable_ReadRowsServer interface {
946         Send(*ReadRowsResponse) error
947         grpc.ServerStream
948 }
949
950 type bigtableReadRowsServer struct {
951         grpc.ServerStream
952 }
953
954 func (x *bigtableReadRowsServer) Send(m *ReadRowsResponse) error {
955         return x.ServerStream.SendMsg(m)
956 }
957
958 func _Bigtable_SampleRowKeys_Handler(srv interface{}, stream grpc.ServerStream) error {
959         m := new(SampleRowKeysRequest)
960         if err := stream.RecvMsg(m); err != nil {
961                 return err
962         }
963         return srv.(BigtableServer).SampleRowKeys(m, &bigtableSampleRowKeysServer{stream})
964 }
965
966 type Bigtable_SampleRowKeysServer interface {
967         Send(*SampleRowKeysResponse) error
968         grpc.ServerStream
969 }
970
971 type bigtableSampleRowKeysServer struct {
972         grpc.ServerStream
973 }
974
975 func (x *bigtableSampleRowKeysServer) Send(m *SampleRowKeysResponse) error {
976         return x.ServerStream.SendMsg(m)
977 }
978
979 func _Bigtable_MutateRow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
980         in := new(MutateRowRequest)
981         if err := dec(in); err != nil {
982                 return nil, err
983         }
984         if interceptor == nil {
985                 return srv.(BigtableServer).MutateRow(ctx, in)
986         }
987         info := &grpc.UnaryServerInfo{
988                 Server:     srv,
989                 FullMethod: "/google.bigtable.v2.Bigtable/MutateRow",
990         }
991         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
992                 return srv.(BigtableServer).MutateRow(ctx, req.(*MutateRowRequest))
993         }
994         return interceptor(ctx, in, info, handler)
995 }
996
997 func _Bigtable_MutateRows_Handler(srv interface{}, stream grpc.ServerStream) error {
998         m := new(MutateRowsRequest)
999         if err := stream.RecvMsg(m); err != nil {
1000                 return err
1001         }
1002         return srv.(BigtableServer).MutateRows(m, &bigtableMutateRowsServer{stream})
1003 }
1004
1005 type Bigtable_MutateRowsServer interface {
1006         Send(*MutateRowsResponse) error
1007         grpc.ServerStream
1008 }
1009
1010 type bigtableMutateRowsServer struct {
1011         grpc.ServerStream
1012 }
1013
1014 func (x *bigtableMutateRowsServer) Send(m *MutateRowsResponse) error {
1015         return x.ServerStream.SendMsg(m)
1016 }
1017
1018 func _Bigtable_CheckAndMutateRow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1019         in := new(CheckAndMutateRowRequest)
1020         if err := dec(in); err != nil {
1021                 return nil, err
1022         }
1023         if interceptor == nil {
1024                 return srv.(BigtableServer).CheckAndMutateRow(ctx, in)
1025         }
1026         info := &grpc.UnaryServerInfo{
1027                 Server:     srv,
1028                 FullMethod: "/google.bigtable.v2.Bigtable/CheckAndMutateRow",
1029         }
1030         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1031                 return srv.(BigtableServer).CheckAndMutateRow(ctx, req.(*CheckAndMutateRowRequest))
1032         }
1033         return interceptor(ctx, in, info, handler)
1034 }
1035
1036 func _Bigtable_ReadModifyWriteRow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1037         in := new(ReadModifyWriteRowRequest)
1038         if err := dec(in); err != nil {
1039                 return nil, err
1040         }
1041         if interceptor == nil {
1042                 return srv.(BigtableServer).ReadModifyWriteRow(ctx, in)
1043         }
1044         info := &grpc.UnaryServerInfo{
1045                 Server:     srv,
1046                 FullMethod: "/google.bigtable.v2.Bigtable/ReadModifyWriteRow",
1047         }
1048         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1049                 return srv.(BigtableServer).ReadModifyWriteRow(ctx, req.(*ReadModifyWriteRowRequest))
1050         }
1051         return interceptor(ctx, in, info, handler)
1052 }
1053
1054 var _Bigtable_serviceDesc = grpc.ServiceDesc{
1055         ServiceName: "google.bigtable.v2.Bigtable",
1056         HandlerType: (*BigtableServer)(nil),
1057         Methods: []grpc.MethodDesc{
1058                 {
1059                         MethodName: "MutateRow",
1060                         Handler:    _Bigtable_MutateRow_Handler,
1061                 },
1062                 {
1063                         MethodName: "CheckAndMutateRow",
1064                         Handler:    _Bigtable_CheckAndMutateRow_Handler,
1065                 },
1066                 {
1067                         MethodName: "ReadModifyWriteRow",
1068                         Handler:    _Bigtable_ReadModifyWriteRow_Handler,
1069                 },
1070         },
1071         Streams: []grpc.StreamDesc{
1072                 {
1073                         StreamName:    "ReadRows",
1074                         Handler:       _Bigtable_ReadRows_Handler,
1075                         ServerStreams: true,
1076                 },
1077                 {
1078                         StreamName:    "SampleRowKeys",
1079                         Handler:       _Bigtable_SampleRowKeys_Handler,
1080                         ServerStreams: true,
1081                 },
1082                 {
1083                         StreamName:    "MutateRows",
1084                         Handler:       _Bigtable_MutateRows_Handler,
1085                         ServerStreams: true,
1086                 },
1087         },
1088         Metadata: "google/bigtable/v2/bigtable.proto",
1089 }
1090
1091 func init() { proto.RegisterFile("google/bigtable/v2/bigtable.proto", fileDescriptor0) }
1092
1093 var fileDescriptor0 = []byte{
1094         // 1154 bytes of a gzipped FileDescriptorProto
1095         0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xdd, 0x6e, 0x1b, 0x45,
1096         0x14, 0x66, 0xec, 0xd8, 0xf1, 0x9e, 0x24, 0x4d, 0x32, 0x84, 0x66, 0x6b, 0x12, 0x70, 0x97, 0x16,
1097         0x1c, 0x97, 0xae, 0x2b, 0xa3, 0x5e, 0xd4, 0x55, 0x0a, 0xd8, 0xe4, 0x07, 0x81, 0xab, 0x6a, 0x2c,
1098         0x15, 0x09, 0x21, 0x59, 0xe3, 0xf5, 0xd8, 0x59, 0xb2, 0x7f, 0xdd, 0x9d, 0x8d, 0x71, 0x11, 0x12,
1099         0xe2, 0x82, 0x07, 0x80, 0x6b, 0xc4, 0x15, 0x02, 0x21, 0xc1, 0x25, 0xb7, 0x5c, 0xf0, 0x08, 0x5c,
1100         0xf0, 0x02, 0x7d, 0x02, 0x9e, 0xa0, 0xda, 0xd9, 0x59, 0xdb, 0x49, 0xec, 0x76, 0x53, 0xf5, 0x6e,
1101         0xe7, 0x9c, 0xf3, 0x9d, 0xf9, 0xce, 0xef, 0xd8, 0x70, 0x75, 0xe0, 0xba, 0x03, 0x8b, 0x55, 0xbb,
1102         0xe6, 0x80, 0xd3, 0xae, 0xc5, 0xaa, 0x27, 0xb5, 0xf1, 0xb7, 0xee, 0xf9, 0x2e, 0x77, 0x31, 0x8e,
1103         0x4d, 0xf4, 0xb1, 0xf8, 0xa4, 0x56, 0xdc, 0x92, 0x30, 0xea, 0x99, 0x55, 0xea, 0x38, 0x2e, 0xa7,
1104         0xdc, 0x74, 0x9d, 0x20, 0x46, 0x14, 0xb7, 0x67, 0x38, 0xed, 0x51, 0x4e, 0xa5, 0xfa, 0x0d, 0xa9,
1105         0x16, 0xa7, 0x6e, 0xd8, 0xaf, 0x0e, 0x7d, 0xea, 0x79, 0xcc, 0x4f, 0xe0, 0x9b, 0x52, 0xef, 0x7b,
1106         0x46, 0x35, 0xe0, 0x94, 0x87, 0x52, 0xa1, 0xfd, 0x85, 0x60, 0x95, 0x30, 0xda, 0x23, 0xee, 0x30,
1107         0x20, 0xec, 0x51, 0xc8, 0x02, 0x8e, 0xb7, 0x01, 0xc4, 0x1d, 0x1d, 0x87, 0xda, 0x4c, 0x45, 0x25,
1108         0x54, 0x56, 0x88, 0x22, 0x24, 0xf7, 0xa9, 0xcd, 0xb0, 0x0e, 0x0b, 0xbe, 0x3b, 0x0c, 0xd4, 0x4c,
1109         0x09, 0x95, 0x97, 0x6a, 0x45, 0xfd, 0x7c, 0x2c, 0x3a, 0x71, 0x87, 0x6d, 0xc6, 0x89, 0xb0, 0xc3,
1110         0xb7, 0x21, 0xdf, 0x37, 0x2d, 0xce, 0x7c, 0x35, 0x2b, 0x10, 0xdb, 0x73, 0x10, 0xfb, 0xc2, 0x88,
1111         0x48, 0xe3, 0x88, 0x45, 0x04, 0xef, 0x58, 0xa6, 0x6d, 0x72, 0x75, 0xa1, 0x84, 0xca, 0x59, 0xa2,
1112         0x44, 0x92, 0x4f, 0x23, 0x81, 0xf6, 0x7f, 0x16, 0xd6, 0x26, 0xc4, 0x03, 0xcf, 0x75, 0x02, 0x86,
1113         0xf7, 0x21, 0x6f, 0x1c, 0x85, 0xce, 0x71, 0xa0, 0xa2, 0x52, 0xb6, 0xbc, 0x54, 0xd3, 0x67, 0x5e,
1114         0x75, 0x06, 0xa5, 0x37, 0x99, 0x65, 0x35, 0x23, 0x18, 0x91, 0x68, 0x5c, 0x85, 0x0d, 0x8b, 0x06,
1115         0xbc, 0x13, 0x18, 0xd4, 0x71, 0x58, 0xaf, 0xe3, 0xbb, 0xc3, 0xce, 0x31, 0x1b, 0x89, 0x90, 0x97,
1116         0xc9, 0x7a, 0xa4, 0x6b, 0xc7, 0x2a, 0xe2, 0x0e, 0x3f, 0x61, 0xa3, 0xe2, 0x93, 0x0c, 0x28, 0x63,
1117         0x37, 0x78, 0x13, 0x16, 0x13, 0x04, 0x12, 0x88, 0xbc, 0x2f, 0xcc, 0xf0, 0x2e, 0x2c, 0xf5, 0xa9,
1118         0x6d, 0x5a, 0xa3, 0x38, 0xb5, 0x71, 0x06, 0xb7, 0x12, 0x92, 0x49, 0xf1, 0xf4, 0x36, 0xf7, 0x4d,
1119         0x67, 0xf0, 0x90, 0x5a, 0x21, 0x23, 0x10, 0x03, 0x44, 0xe6, 0xef, 0x80, 0xf2, 0x28, 0xa4, 0x96,
1120         0xd9, 0x37, 0xc7, 0xc9, 0x7c, 0xfd, 0x1c, 0xb8, 0x31, 0xe2, 0x2c, 0x88, 0xb1, 0x13, 0x6b, 0xbc,
1121         0x03, 0x6b, 0xdc, 0xb4, 0x59, 0xc0, 0xa9, 0xed, 0x75, 0x6c, 0xd3, 0xf0, 0xdd, 0x40, 0xe6, 0x74,
1122         0x75, 0x2c, 0x6f, 0x09, 0x31, 0xbe, 0x0c, 0x79, 0x8b, 0x76, 0x99, 0x15, 0xa8, 0xb9, 0x52, 0xb6,
1123         0xac, 0x10, 0x79, 0xc2, 0x1b, 0x90, 0x3b, 0x89, 0xdc, 0xaa, 0x79, 0x11, 0x53, 0x7c, 0x88, 0xca,
1124         0x24, 0x3e, 0x3a, 0x81, 0xf9, 0x98, 0xa9, 0x8b, 0x25, 0x54, 0xce, 0x11, 0x45, 0x48, 0xda, 0xe6,
1125         0xe3, 0x48, 0xad, 0xf8, 0x2c, 0x60, 0x3c, 0x4a, 0xa1, 0x5a, 0x28, 0xa1, 0x72, 0xe1, 0xf0, 0x15,
1126         0x52, 0x10, 0x22, 0xe2, 0x0e, 0xf1, 0x9b, 0x00, 0x86, 0x6b, 0xdb, 0x66, 0xac, 0x57, 0xa4, 0x5e,
1127         0x89, 0x65, 0xc4, 0x1d, 0x36, 0x96, 0x45, 0x17, 0x74, 0xe2, 0x9e, 0xd5, 0x6e, 0xc3, 0x46, 0x9b,
1128         0xda, 0x9e, 0xc5, 0xe2, 0xb4, 0xa7, 0xec, 0x58, 0xad, 0x0d, 0xaf, 0x9d, 0x81, 0xc9, 0x7e, 0x99,
1129         0x5b, 0xa8, 0xab, 0xb0, 0xec, 0xf6, 0xfb, 0x11, 0xef, 0x6e, 0x94, 0x4e, 0x51, 0xa9, 0x2c, 0x59,
1130         0x8a, 0x65, 0x22, 0xc3, 0xda, 0xf7, 0x08, 0xd6, 0x5a, 0x21, 0xa7, 0x3c, 0xf2, 0x9a, 0x72, 0x74,
1131         0xa6, 0xee, 0xcb, 0x9c, 0xba, 0xaf, 0x0e, 0x8a, 0x1d, 0xca, 0x89, 0x57, 0xb3, 0xa2, 0x77, 0xb7,
1132         0x66, 0xf5, 0x6e, 0x4b, 0x1a, 0x91, 0x89, 0xb9, 0xf6, 0x2a, 0xac, 0x4f, 0xf1, 0x88, 0x23, 0xd3,
1133         0xfe, 0x43, 0x53, 0xd2, 0xb4, 0x93, 0xbd, 0x07, 0x8b, 0xcc, 0xe1, 0xbe, 0x29, 0x02, 0x8e, 0x38,
1134         0xdc, 0x98, 0xcb, 0x61, 0xda, 0xad, 0xbe, 0xe7, 0x70, 0x7f, 0x44, 0x12, 0x6c, 0xf1, 0x0b, 0xc8,
1135         0x09, 0xc9, 0xfc, 0xf4, 0x9e, 0x0a, 0x37, 0x73, 0xb1, 0x70, 0x7f, 0x45, 0x80, 0xa7, 0x29, 0x8c,
1136         0x47, 0x7f, 0xcc, 0x3d, 0x9e, 0xfd, 0x77, 0x9f, 0xc7, 0x5d, 0x4e, 0xff, 0x19, 0xf2, 0x1f, 0x27,
1137         0xe4, 0x37, 0x20, 0x67, 0x3a, 0x3d, 0xf6, 0x95, 0xa0, 0x9e, 0x25, 0xf1, 0x01, 0x57, 0x20, 0x1f,
1138         0xf7, 0xa2, 0x1c, 0x5e, 0x9c, 0xdc, 0xe2, 0x7b, 0x86, 0xde, 0x16, 0x1a, 0x22, 0x2d, 0xb4, 0xdf,
1139         0x32, 0xa0, 0x36, 0x8f, 0x98, 0x71, 0xfc, 0xa1, 0xd3, 0x7b, 0x69, 0x9d, 0x72, 0x08, 0x6b, 0x9e,
1140         0xcf, 0x7a, 0xa6, 0x41, 0x39, 0xeb, 0xc8, 0xbd, 0x9a, 0x4f, 0xb3, 0x57, 0x57, 0xc7, 0xb0, 0x58,
1141         0x80, 0x9b, 0x70, 0x89, 0xfb, 0x21, 0xeb, 0x4c, 0x2a, 0xb1, 0x90, 0xa2, 0x12, 0x2b, 0x11, 0x26,
1142         0x39, 0x05, 0x78, 0x0f, 0x56, 0xfb, 0xd4, 0x0a, 0xa6, 0xbd, 0xe4, 0x52, 0x78, 0xb9, 0x24, 0x40,
1143         0x63, 0x37, 0xda, 0x21, 0x5c, 0x99, 0x91, 0x29, 0x59, 0xda, 0x1b, 0xb0, 0x3e, 0x09, 0xd9, 0xa6,
1144         0xdc, 0x38, 0x62, 0x3d, 0x91, 0xb1, 0x02, 0x99, 0xe4, 0xa2, 0x15, 0xcb, 0xb5, 0x1f, 0x10, 0x5c,
1145         0x89, 0x36, 0x7c, 0xcb, 0xed, 0x99, 0xfd, 0xd1, 0x67, 0xbe, 0xf9, 0x52, 0xb2, 0xbe, 0x0b, 0x39,
1146         0x3f, 0xb4, 0x58, 0x32, 0x9b, 0xef, 0xcc, 0x7b, 0x57, 0xa6, 0x6f, 0x0d, 0x2d, 0x46, 0x62, 0x94,
1147         0x76, 0x00, 0xc5, 0x59, 0x9c, 0x64, 0x7c, 0x3b, 0x90, 0x8d, 0xb6, 0x1f, 0x12, 0x55, 0xdc, 0x9c,
1148         0x53, 0x45, 0x12, 0xd9, 0xd4, 0xfe, 0x28, 0x40, 0xa1, 0x21, 0x15, 0xf8, 0x27, 0x04, 0x85, 0xe4,
1149         0x31, 0xc3, 0x6f, 0x3d, 0xfb, 0xa9, 0x13, 0xe1, 0x17, 0xaf, 0xa5, 0x79, 0x0f, 0xb5, 0x8f, 0xbe,
1150         0xfb, 0xf7, 0xc9, 0x8f, 0x99, 0x7b, 0xda, 0x9d, 0xe8, 0x47, 0xc6, 0xd7, 0x93, 0x7c, 0xed, 0x7a,
1151         0xbe, 0xfb, 0x25, 0x33, 0x78, 0x50, 0xad, 0x54, 0x4d, 0x27, 0xe0, 0xd4, 0x31, 0x58, 0xf4, 0x2d,
1152         0x2c, 0x82, 0x6a, 0xe5, 0x9b, 0xba, 0x2f, 0x5d, 0xd5, 0x51, 0xe5, 0x16, 0xc2, 0x7f, 0x22, 0x58,
1153         0x39, 0xb5, 0x77, 0x71, 0x79, 0xd6, 0xfd, 0xb3, 0x36, 0x7a, 0x71, 0x27, 0x85, 0xa5, 0xa4, 0xbb,
1154         0x2f, 0xe8, 0x7e, 0x80, 0xef, 0x5d, 0x98, 0x6e, 0x30, 0xed, 0xef, 0x16, 0xc2, 0x3f, 0x23, 0x50,
1155         0xc6, 0xed, 0x87, 0xaf, 0x3d, 0x73, 0x81, 0x24, 0x44, 0xaf, 0x3f, 0xc7, 0x4a, 0x92, 0xdc, 0x13,
1156         0x24, 0xdf, 0xd7, 0xea, 0x17, 0x26, 0x69, 0x27, 0xbe, 0xea, 0xa8, 0x82, 0x7f, 0x41, 0x00, 0x93,
1157         0x1d, 0x86, 0xaf, 0xa7, 0xda, 0xcf, 0xc5, 0xb7, 0xd3, 0xad, 0xc2, 0x24, 0x93, 0xda, 0xdd, 0x17,
1158         0x27, 0x29, 0x4b, 0xff, 0x37, 0x82, 0xf5, 0x73, 0x03, 0x8d, 0x67, 0xae, 0xe4, 0x79, 0x1b, 0xb2,
1159         0x78, 0x33, 0xa5, 0xb5, 0x24, 0xdf, 0x12, 0xe4, 0x0f, 0xb4, 0xc6, 0x85, 0xc9, 0x1b, 0x67, 0x7d,
1160         0x46, 0x99, 0xfe, 0x07, 0x01, 0x3e, 0x3f, 0xb3, 0xf8, 0x66, 0x9a, 0xc9, 0x9f, 0xc4, 0xa0, 0xa7,
1161         0x35, 0x97, 0x41, 0xdc, 0x17, 0x41, 0x1c, 0x6a, 0xcd, 0x17, 0x1a, 0xbd, 0xd3, 0x4e, 0xeb, 0xa8,
1162         0xd2, 0xf8, 0x16, 0xc1, 0x65, 0xc3, 0xb5, 0x67, 0xb0, 0x68, 0xac, 0x24, 0x7b, 0xe4, 0x41, 0xf4,
1163         0xcb, 0xf1, 0x01, 0xfa, 0xbc, 0x2e, 0x8d, 0x06, 0xae, 0x45, 0x9d, 0x81, 0xee, 0xfa, 0x83, 0xea,
1164         0x80, 0x39, 0xe2, 0x77, 0x65, 0x35, 0x56, 0x51, 0xcf, 0x0c, 0xa6, 0xff, 0x81, 0xdc, 0x4d, 0xbe,
1165         0x7f, 0xcf, 0xa8, 0x07, 0x31, 0xb8, 0x69, 0xb9, 0x61, 0x4f, 0x4f, 0x5c, 0xeb, 0x0f, 0x6b, 0xdd,
1166         0xbc, 0xf0, 0xf0, 0xde, 0xd3, 0x00, 0x00, 0x00, 0xff, 0xff, 0x74, 0x6b, 0x7a, 0xa3, 0x17, 0x0d,
1167         0x00, 0x00,
1168 }