1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/spanner/v1/result_set.proto 3 4package spanner 5 6import ( 7 fmt "fmt" 8 math "math" 9 10 proto "github.com/golang/protobuf/proto" 11 _struct "github.com/golang/protobuf/ptypes/struct" 12 _ "google.golang.org/genproto/googleapis/api/annotations" 13) 14 15// Reference imports to suppress errors if they are not otherwise used. 16var _ = proto.Marshal 17var _ = fmt.Errorf 18var _ = math.Inf 19 20// This is a compile-time assertion to ensure that this generated file 21// is compatible with the proto package it is being compiled against. 22// A compilation error at this line likely means your copy of the 23// proto package needs to be updated. 24const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 25 26// Results from [Read][google.spanner.v1.Spanner.Read] or 27// [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql]. 28type ResultSet struct { 29 // Metadata about the result set, such as row type information. 30 Metadata *ResultSetMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` 31 // Each element in `rows` is a row whose format is defined by 32 // [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith 33 // element in each row matches the ith field in 34 // [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements 35 // are encoded based on type as described [here][google.spanner.v1.TypeCode]. 36 Rows []*_struct.ListValue `protobuf:"bytes,2,rep,name=rows,proto3" json:"rows,omitempty"` 37 // Query plan and execution statistics for the SQL statement that 38 // produced this result set. These can be requested by setting 39 // [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]. 40 // DML statements always produce stats containing the number of rows 41 // modified, unless executed using the 42 // [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] 43 // [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]. 44 // Other fields may or may not be populated, based on the 45 // [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]. 46 Stats *ResultSetStats `protobuf:"bytes,3,opt,name=stats,proto3" json:"stats,omitempty"` 47 XXX_NoUnkeyedLiteral struct{} `json:"-"` 48 XXX_unrecognized []byte `json:"-"` 49 XXX_sizecache int32 `json:"-"` 50} 51 52func (m *ResultSet) Reset() { *m = ResultSet{} } 53func (m *ResultSet) String() string { return proto.CompactTextString(m) } 54func (*ResultSet) ProtoMessage() {} 55func (*ResultSet) Descriptor() ([]byte, []int) { 56 return fileDescriptor_e8c1400ddbf24213, []int{0} 57} 58 59func (m *ResultSet) XXX_Unmarshal(b []byte) error { 60 return xxx_messageInfo_ResultSet.Unmarshal(m, b) 61} 62func (m *ResultSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 63 return xxx_messageInfo_ResultSet.Marshal(b, m, deterministic) 64} 65func (m *ResultSet) XXX_Merge(src proto.Message) { 66 xxx_messageInfo_ResultSet.Merge(m, src) 67} 68func (m *ResultSet) XXX_Size() int { 69 return xxx_messageInfo_ResultSet.Size(m) 70} 71func (m *ResultSet) XXX_DiscardUnknown() { 72 xxx_messageInfo_ResultSet.DiscardUnknown(m) 73} 74 75var xxx_messageInfo_ResultSet proto.InternalMessageInfo 76 77func (m *ResultSet) GetMetadata() *ResultSetMetadata { 78 if m != nil { 79 return m.Metadata 80 } 81 return nil 82} 83 84func (m *ResultSet) GetRows() []*_struct.ListValue { 85 if m != nil { 86 return m.Rows 87 } 88 return nil 89} 90 91func (m *ResultSet) GetStats() *ResultSetStats { 92 if m != nil { 93 return m.Stats 94 } 95 return nil 96} 97 98// Partial results from a streaming read or SQL query. Streaming reads and 99// SQL queries better tolerate large result sets, large rows, and large 100// values, but are a little trickier to consume. 101type PartialResultSet struct { 102 // Metadata about the result set, such as row type information. 103 // Only present in the first response. 104 Metadata *ResultSetMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` 105 // A streamed result set consists of a stream of values, which might 106 // be split into many `PartialResultSet` messages to accommodate 107 // large rows and/or large values. Every N complete values defines a 108 // row, where N is equal to the number of entries in 109 // [metadata.row_type.fields][google.spanner.v1.StructType.fields]. 110 // 111 // Most values are encoded based on type as described 112 // [here][google.spanner.v1.TypeCode]. 113 // 114 // It is possible that the last value in values is "chunked", 115 // meaning that the rest of the value is sent in subsequent 116 // `PartialResultSet`(s). This is denoted by the 117 // [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field. 118 // Two or more chunked values can be merged to form a complete value as 119 // follows: 120 // 121 // * `bool/number/null`: cannot be chunked 122 // * `string`: concatenate the strings 123 // * `list`: concatenate the lists. If the last element in a list is a 124 // `string`, `list`, or `object`, merge it with the first element in 125 // the next list by applying these rules recursively. 126 // * `object`: concatenate the (field name, field value) pairs. If a 127 // field name is duplicated, then apply these rules recursively 128 // to merge the field values. 129 // 130 // Some examples of merging: 131 // 132 // # Strings are concatenated. 133 // "foo", "bar" => "foobar" 134 // 135 // # Lists of non-strings are concatenated. 136 // [2, 3], [4] => [2, 3, 4] 137 // 138 // # Lists are concatenated, but the last and first elements are merged 139 // # because they are strings. 140 // ["a", "b"], ["c", "d"] => ["a", "bc", "d"] 141 // 142 // # Lists are concatenated, but the last and first elements are merged 143 // # because they are lists. Recursively, the last and first elements 144 // # of the inner lists are merged because they are strings. 145 // ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"] 146 // 147 // # Non-overlapping object fields are combined. 148 // {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"} 149 // 150 // # Overlapping object fields are merged. 151 // {"a": "1"}, {"a": "2"} => {"a": "12"} 152 // 153 // # Examples of merging objects containing lists of strings. 154 // {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]} 155 // 156 // For a more complete example, suppose a streaming SQL query is 157 // yielding a result set whose rows contain a single string 158 // field. The following `PartialResultSet`s might be yielded: 159 // 160 // { 161 // "metadata": { ... } 162 // "values": ["Hello", "W"] 163 // "chunked_value": true 164 // "resume_token": "Af65..." 165 // } 166 // { 167 // "values": ["orl"] 168 // "chunked_value": true 169 // "resume_token": "Bqp2..." 170 // } 171 // { 172 // "values": ["d"] 173 // "resume_token": "Zx1B..." 174 // } 175 // 176 // This sequence of `PartialResultSet`s encodes two rows, one 177 // containing the field value `"Hello"`, and a second containing the 178 // field value `"World" = "W" + "orl" + "d"`. 179 Values []*_struct.Value `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` 180 // If true, then the final value in 181 // [values][google.spanner.v1.PartialResultSet.values] is chunked, and must be 182 // combined with more values from subsequent `PartialResultSet`s to obtain a 183 // complete field value. 184 ChunkedValue bool `protobuf:"varint,3,opt,name=chunked_value,json=chunkedValue,proto3" json:"chunked_value,omitempty"` 185 // Streaming calls might be interrupted for a variety of reasons, such 186 // as TCP connection loss. If this occurs, the stream of results can 187 // be resumed by re-sending the original request and including 188 // `resume_token`. Note that executing any other transaction in the 189 // same session invalidates the token. 190 ResumeToken []byte `protobuf:"bytes,4,opt,name=resume_token,json=resumeToken,proto3" json:"resume_token,omitempty"` 191 // Query plan and execution statistics for the statement that produced this 192 // streaming result set. These can be requested by setting 193 // [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] 194 // and are sent only once with the last response in the stream. This field 195 // will also be present in the last response for DML statements. 196 Stats *ResultSetStats `protobuf:"bytes,5,opt,name=stats,proto3" json:"stats,omitempty"` 197 XXX_NoUnkeyedLiteral struct{} `json:"-"` 198 XXX_unrecognized []byte `json:"-"` 199 XXX_sizecache int32 `json:"-"` 200} 201 202func (m *PartialResultSet) Reset() { *m = PartialResultSet{} } 203func (m *PartialResultSet) String() string { return proto.CompactTextString(m) } 204func (*PartialResultSet) ProtoMessage() {} 205func (*PartialResultSet) Descriptor() ([]byte, []int) { 206 return fileDescriptor_e8c1400ddbf24213, []int{1} 207} 208 209func (m *PartialResultSet) XXX_Unmarshal(b []byte) error { 210 return xxx_messageInfo_PartialResultSet.Unmarshal(m, b) 211} 212func (m *PartialResultSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 213 return xxx_messageInfo_PartialResultSet.Marshal(b, m, deterministic) 214} 215func (m *PartialResultSet) XXX_Merge(src proto.Message) { 216 xxx_messageInfo_PartialResultSet.Merge(m, src) 217} 218func (m *PartialResultSet) XXX_Size() int { 219 return xxx_messageInfo_PartialResultSet.Size(m) 220} 221func (m *PartialResultSet) XXX_DiscardUnknown() { 222 xxx_messageInfo_PartialResultSet.DiscardUnknown(m) 223} 224 225var xxx_messageInfo_PartialResultSet proto.InternalMessageInfo 226 227func (m *PartialResultSet) GetMetadata() *ResultSetMetadata { 228 if m != nil { 229 return m.Metadata 230 } 231 return nil 232} 233 234func (m *PartialResultSet) GetValues() []*_struct.Value { 235 if m != nil { 236 return m.Values 237 } 238 return nil 239} 240 241func (m *PartialResultSet) GetChunkedValue() bool { 242 if m != nil { 243 return m.ChunkedValue 244 } 245 return false 246} 247 248func (m *PartialResultSet) GetResumeToken() []byte { 249 if m != nil { 250 return m.ResumeToken 251 } 252 return nil 253} 254 255func (m *PartialResultSet) GetStats() *ResultSetStats { 256 if m != nil { 257 return m.Stats 258 } 259 return nil 260} 261 262// Metadata about a [ResultSet][google.spanner.v1.ResultSet] or 263// [PartialResultSet][google.spanner.v1.PartialResultSet]. 264type ResultSetMetadata struct { 265 // Indicates the field names and types for the rows in the result 266 // set. For example, a SQL query like `"SELECT UserId, UserName FROM 267 // Users"` could return a `row_type` value like: 268 // 269 // "fields": [ 270 // { "name": "UserId", "type": { "code": "INT64" } }, 271 // { "name": "UserName", "type": { "code": "STRING" } }, 272 // ] 273 RowType *StructType `protobuf:"bytes,1,opt,name=row_type,json=rowType,proto3" json:"row_type,omitempty"` 274 // If the read or SQL query began a transaction as a side-effect, the 275 // information about the new transaction is yielded here. 276 Transaction *Transaction `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"` 277 XXX_NoUnkeyedLiteral struct{} `json:"-"` 278 XXX_unrecognized []byte `json:"-"` 279 XXX_sizecache int32 `json:"-"` 280} 281 282func (m *ResultSetMetadata) Reset() { *m = ResultSetMetadata{} } 283func (m *ResultSetMetadata) String() string { return proto.CompactTextString(m) } 284func (*ResultSetMetadata) ProtoMessage() {} 285func (*ResultSetMetadata) Descriptor() ([]byte, []int) { 286 return fileDescriptor_e8c1400ddbf24213, []int{2} 287} 288 289func (m *ResultSetMetadata) XXX_Unmarshal(b []byte) error { 290 return xxx_messageInfo_ResultSetMetadata.Unmarshal(m, b) 291} 292func (m *ResultSetMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 293 return xxx_messageInfo_ResultSetMetadata.Marshal(b, m, deterministic) 294} 295func (m *ResultSetMetadata) XXX_Merge(src proto.Message) { 296 xxx_messageInfo_ResultSetMetadata.Merge(m, src) 297} 298func (m *ResultSetMetadata) XXX_Size() int { 299 return xxx_messageInfo_ResultSetMetadata.Size(m) 300} 301func (m *ResultSetMetadata) XXX_DiscardUnknown() { 302 xxx_messageInfo_ResultSetMetadata.DiscardUnknown(m) 303} 304 305var xxx_messageInfo_ResultSetMetadata proto.InternalMessageInfo 306 307func (m *ResultSetMetadata) GetRowType() *StructType { 308 if m != nil { 309 return m.RowType 310 } 311 return nil 312} 313 314func (m *ResultSetMetadata) GetTransaction() *Transaction { 315 if m != nil { 316 return m.Transaction 317 } 318 return nil 319} 320 321// Additional statistics about a [ResultSet][google.spanner.v1.ResultSet] or 322// [PartialResultSet][google.spanner.v1.PartialResultSet]. 323type ResultSetStats struct { 324 // [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this 325 // result. 326 QueryPlan *QueryPlan `protobuf:"bytes,1,opt,name=query_plan,json=queryPlan,proto3" json:"query_plan,omitempty"` 327 // Aggregated statistics from the execution of the query. Only present when 328 // the query is profiled. For example, a query could return the statistics as 329 // follows: 330 // 331 // { 332 // "rows_returned": "3", 333 // "elapsed_time": "1.22 secs", 334 // "cpu_time": "1.19 secs" 335 // } 336 QueryStats *_struct.Struct `protobuf:"bytes,2,opt,name=query_stats,json=queryStats,proto3" json:"query_stats,omitempty"` 337 // The number of rows modified by the DML statement. 338 // 339 // Types that are valid to be assigned to RowCount: 340 // *ResultSetStats_RowCountExact 341 // *ResultSetStats_RowCountLowerBound 342 RowCount isResultSetStats_RowCount `protobuf_oneof:"row_count"` 343 XXX_NoUnkeyedLiteral struct{} `json:"-"` 344 XXX_unrecognized []byte `json:"-"` 345 XXX_sizecache int32 `json:"-"` 346} 347 348func (m *ResultSetStats) Reset() { *m = ResultSetStats{} } 349func (m *ResultSetStats) String() string { return proto.CompactTextString(m) } 350func (*ResultSetStats) ProtoMessage() {} 351func (*ResultSetStats) Descriptor() ([]byte, []int) { 352 return fileDescriptor_e8c1400ddbf24213, []int{3} 353} 354 355func (m *ResultSetStats) XXX_Unmarshal(b []byte) error { 356 return xxx_messageInfo_ResultSetStats.Unmarshal(m, b) 357} 358func (m *ResultSetStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 359 return xxx_messageInfo_ResultSetStats.Marshal(b, m, deterministic) 360} 361func (m *ResultSetStats) XXX_Merge(src proto.Message) { 362 xxx_messageInfo_ResultSetStats.Merge(m, src) 363} 364func (m *ResultSetStats) XXX_Size() int { 365 return xxx_messageInfo_ResultSetStats.Size(m) 366} 367func (m *ResultSetStats) XXX_DiscardUnknown() { 368 xxx_messageInfo_ResultSetStats.DiscardUnknown(m) 369} 370 371var xxx_messageInfo_ResultSetStats proto.InternalMessageInfo 372 373func (m *ResultSetStats) GetQueryPlan() *QueryPlan { 374 if m != nil { 375 return m.QueryPlan 376 } 377 return nil 378} 379 380func (m *ResultSetStats) GetQueryStats() *_struct.Struct { 381 if m != nil { 382 return m.QueryStats 383 } 384 return nil 385} 386 387type isResultSetStats_RowCount interface { 388 isResultSetStats_RowCount() 389} 390 391type ResultSetStats_RowCountExact struct { 392 RowCountExact int64 `protobuf:"varint,3,opt,name=row_count_exact,json=rowCountExact,proto3,oneof"` 393} 394 395type ResultSetStats_RowCountLowerBound struct { 396 RowCountLowerBound int64 `protobuf:"varint,4,opt,name=row_count_lower_bound,json=rowCountLowerBound,proto3,oneof"` 397} 398 399func (*ResultSetStats_RowCountExact) isResultSetStats_RowCount() {} 400 401func (*ResultSetStats_RowCountLowerBound) isResultSetStats_RowCount() {} 402 403func (m *ResultSetStats) GetRowCount() isResultSetStats_RowCount { 404 if m != nil { 405 return m.RowCount 406 } 407 return nil 408} 409 410func (m *ResultSetStats) GetRowCountExact() int64 { 411 if x, ok := m.GetRowCount().(*ResultSetStats_RowCountExact); ok { 412 return x.RowCountExact 413 } 414 return 0 415} 416 417func (m *ResultSetStats) GetRowCountLowerBound() int64 { 418 if x, ok := m.GetRowCount().(*ResultSetStats_RowCountLowerBound); ok { 419 return x.RowCountLowerBound 420 } 421 return 0 422} 423 424// XXX_OneofWrappers is for the internal use of the proto package. 425func (*ResultSetStats) XXX_OneofWrappers() []interface{} { 426 return []interface{}{ 427 (*ResultSetStats_RowCountExact)(nil), 428 (*ResultSetStats_RowCountLowerBound)(nil), 429 } 430} 431 432func init() { 433 proto.RegisterType((*ResultSet)(nil), "google.spanner.v1.ResultSet") 434 proto.RegisterType((*PartialResultSet)(nil), "google.spanner.v1.PartialResultSet") 435 proto.RegisterType((*ResultSetMetadata)(nil), "google.spanner.v1.ResultSetMetadata") 436 proto.RegisterType((*ResultSetStats)(nil), "google.spanner.v1.ResultSetStats") 437} 438 439func init() { proto.RegisterFile("google/spanner/v1/result_set.proto", fileDescriptor_e8c1400ddbf24213) } 440 441var fileDescriptor_e8c1400ddbf24213 = []byte{ 442 // 560 bytes of a gzipped FileDescriptorProto 443 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x93, 0xcf, 0x6e, 0x13, 0x3f, 444 0x10, 0xc7, 0x7f, 0x4e, 0xda, 0xfe, 0x12, 0x6f, 0x0a, 0xd4, 0x52, 0x69, 0x14, 0x15, 0x94, 0xa6, 445 0x1c, 0x72, 0xda, 0x55, 0xda, 0x03, 0x91, 0x7a, 0xa9, 0x52, 0x21, 0x38, 0x14, 0x29, 0x38, 0x51, 446 0x0e, 0x28, 0xd2, 0xca, 0xd9, 0x98, 0x25, 0xea, 0xc6, 0xde, 0xda, 0xde, 0x84, 0x3c, 0x00, 0x67, 447 0xee, 0x3c, 0x02, 0x0f, 0xc0, 0x43, 0xf0, 0x3a, 0x5c, 0x38, 0x22, 0xff, 0xd9, 0x24, 0xb0, 0x11, 448 0x12, 0x12, 0x37, 0xef, 0xcc, 0xe7, 0xeb, 0x99, 0xef, 0x78, 0x16, 0xb6, 0x62, 0xce, 0xe3, 0x84, 449 0x06, 0x32, 0x25, 0x8c, 0x51, 0x11, 0x2c, 0x3a, 0x81, 0xa0, 0x32, 0x4b, 0x54, 0x28, 0xa9, 0xf2, 450 0x53, 0xc1, 0x15, 0x47, 0x47, 0x96, 0xf1, 0x1d, 0xe3, 0x2f, 0x3a, 0x8d, 0x53, 0x27, 0x23, 0xe9, 451 0x2c, 0x20, 0x8c, 0x71, 0x45, 0xd4, 0x8c, 0x33, 0x69, 0x05, 0xeb, 0xac, 0xf9, 0x9a, 0x64, 0xef, 452 0x02, 0xa9, 0x44, 0x16, 0xb9, 0xeb, 0x1a, 0x3b, 0x4a, 0xde, 0x67, 0x54, 0xac, 0xc2, 0x34, 0x21, 453 0xcc, 0x31, 0xe7, 0x45, 0x46, 0x09, 0xc2, 0x24, 0x89, 0x74, 0x9d, 0xdf, 0xca, 0x6c, 0x43, 0xab, 454 0x94, 0xda, 0x6c, 0xeb, 0x2b, 0x80, 0x55, 0x6c, 0xac, 0x0c, 0xa8, 0x42, 0xd7, 0xb0, 0x32, 0xa7, 455 0x8a, 0x4c, 0x89, 0x22, 0x75, 0xd0, 0x04, 0x6d, 0xef, 0xe2, 0x99, 0x5f, 0xb0, 0xe5, 0xaf, 0xf9, 456 0xd7, 0x8e, 0xc5, 0x6b, 0x15, 0xf2, 0xe1, 0x9e, 0xe0, 0x4b, 0x59, 0x2f, 0x35, 0xcb, 0x6d, 0xef, 457 0xa2, 0x91, 0xab, 0x73, 0x8f, 0xfe, 0xed, 0x4c, 0xaa, 0x11, 0x49, 0x32, 0x8a, 0x0d, 0x87, 0x9e, 458 0xc3, 0x7d, 0xa9, 0x88, 0x92, 0xf5, 0xb2, 0x29, 0x77, 0xf6, 0xa7, 0x72, 0x03, 0x0d, 0x62, 0xcb, 459 0xb7, 0x3e, 0x96, 0xe0, 0xa3, 0x3e, 0x11, 0x6a, 0x46, 0x92, 0x7f, 0xdb, 0xff, 0xc1, 0x42, 0xb7, 460 0x97, 0x3b, 0x78, 0x5c, 0x70, 0x60, 0xbb, 0x77, 0x14, 0x3a, 0x87, 0x87, 0xd1, 0xfb, 0x8c, 0xdd, 461 0xd1, 0x69, 0x68, 0x22, 0xc6, 0x47, 0x05, 0xd7, 0x5c, 0xd0, 0xc0, 0xe8, 0x0c, 0xd6, 0xf4, 0xba, 462 0xcc, 0x69, 0xa8, 0xf8, 0x1d, 0x65, 0xf5, 0xbd, 0x26, 0x68, 0xd7, 0xb0, 0x67, 0x63, 0x43, 0x1d, 463 0xda, 0xcc, 0x61, 0xff, 0x2f, 0xe7, 0xf0, 0x09, 0xc0, 0xa3, 0x82, 0x21, 0xd4, 0x85, 0x15, 0xc1, 464 0x97, 0xa1, 0x7e, 0x68, 0x37, 0x88, 0x27, 0x3b, 0x6e, 0x1c, 0x98, 0x85, 0x1b, 0xae, 0x52, 0x8a, 465 0xff, 0x17, 0x7c, 0xa9, 0x0f, 0xe8, 0x1a, 0x7a, 0x5b, 0x3b, 0x54, 0x2f, 0x19, 0xf1, 0xd3, 0x1d, 466 0xe2, 0xe1, 0x86, 0xc2, 0xdb, 0x92, 0xd6, 0x77, 0x00, 0x1f, 0xfc, 0xda, 0x2b, 0xba, 0x82, 0x70, 467 0xb3, 0xbc, 0xae, 0xa1, 0xd3, 0x1d, 0x77, 0xbe, 0xd1, 0x50, 0x3f, 0x21, 0x0c, 0x57, 0xef, 0xf3, 468 0x23, 0xea, 0x42, 0xcf, 0x8a, 0xed, 0x80, 0x6c, 0x47, 0x27, 0x85, 0x77, 0xb1, 0x66, 0xb0, 0x2d, 469 0x64, 0xcb, 0xb6, 0xe1, 0x43, 0x3d, 0x85, 0x88, 0x67, 0x4c, 0x85, 0xf4, 0x03, 0x89, 0x94, 0x79, 470 0x9e, 0xf2, 0xab, 0xff, 0xf0, 0xa1, 0xe0, 0xcb, 0x1b, 0x1d, 0x7f, 0xa1, 0xc3, 0xe8, 0x12, 0x1e, 471 0x6f, 0xc8, 0x84, 0x2f, 0xa9, 0x08, 0x27, 0x3c, 0x63, 0x53, 0xf3, 0x54, 0x9a, 0x47, 0x39, 0x7f, 472 0xab, 0x93, 0x3d, 0x9d, 0xeb, 0x79, 0xb0, 0xba, 0x16, 0xf5, 0x3e, 0x03, 0x78, 0x1c, 0xf1, 0x79, 473 0xd1, 0x54, 0x6f, 0x33, 0x8c, 0xbe, 0xee, 0xb5, 0x0f, 0xde, 0x76, 0x1d, 0x14, 0xf3, 0x84, 0xb0, 474 0xd8, 0xe7, 0x22, 0x0e, 0x62, 0xca, 0x8c, 0x93, 0xc0, 0xa6, 0x48, 0x3a, 0x93, 0x5b, 0x7f, 0xec, 475 0x95, 0x3b, 0xfe, 0x00, 0xe0, 0x4b, 0xe9, 0xe4, 0xa5, 0x55, 0xdf, 0x24, 0x3c, 0x9b, 0xfa, 0x03, 476 0x57, 0x68, 0xd4, 0xf9, 0x96, 0x67, 0xc6, 0x26, 0x33, 0x76, 0x99, 0xf1, 0xa8, 0x33, 0x39, 0x30, 477 0x77, 0x5f, 0xfe, 0x0c, 0x00, 0x00, 0xff, 0xff, 0x73, 0xdc, 0x50, 0xf9, 0xc8, 0x04, 0x00, 0x00, 478} 479