github.com/0xPolygon/supernets2-node@v0.0.0-20230711153321-2fe574524eaa/state/runtime/executor/pb/executor.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // source: executor.proto 3 4 package pb 5 6 import ( 7 fmt "fmt" 8 proto "github.com/golang/protobuf/proto" 9 math "math" 10 ) 11 12 // Reference imports to suppress errors if they are not otherwise used. 13 var _ = proto.Marshal 14 var _ = fmt.Errorf 15 var _ = math.Inf 16 17 // This is a compile-time assertion to ensure that this generated file 18 // is compatible with the proto package it is being compiled against. 19 // A compilation error at this line likely means your copy of the 20 // proto package needs to be updated. 21 const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 22 23 type RomError int32 24 25 const ( 26 RomError_ROM_ERROR_UNSPECIFIED RomError = 0 27 // ROM_ERROR_NO_ERROR indicates the execution ended successfully 28 RomError_ROM_ERROR_NO_ERROR RomError = 1 29 // ROM_ERROR_OUT_OF_GAS indicates there is not enough balance to continue the execution 30 RomError_ROM_ERROR_OUT_OF_GAS RomError = 2 31 // ROM_ERROR_STACK_OVERFLOW indicates a stack overflow has happened 32 RomError_ROM_ERROR_STACK_OVERFLOW RomError = 3 33 // ROM_ERROR_STACK_UNDERFLOW indicates a stack overflow has happened 34 RomError_ROM_ERROR_STACK_UNDERFLOW RomError = 4 35 // ROM_ERROR_MAX_CODE_SIZE_EXCEEDED indicates the code size is beyond the maximum 36 RomError_ROM_ERROR_MAX_CODE_SIZE_EXCEEDED RomError = 5 37 // ROM_ERROR_CONTRACT_ADDRESS_COLLISION there is a collision regarding contract addresses 38 RomError_ROM_ERROR_CONTRACT_ADDRESS_COLLISION RomError = 6 39 // ROM_ERROR_EXECUTION_REVERTED indicates the execution has been reverted 40 RomError_ROM_ERROR_EXECUTION_REVERTED RomError = 7 41 // ROM_ERROR_OUT_OF_COUNTERS_STEP indicates there is not enough step counters to continue the execution 42 RomError_ROM_ERROR_OUT_OF_COUNTERS_STEP RomError = 8 43 // ROM_ERROR_OUT_OF_COUNTERS_KECCAK indicates there is not enough keccak counters to continue the execution 44 RomError_ROM_ERROR_OUT_OF_COUNTERS_KECCAK RomError = 9 45 // ROM_ERROR_OUT_OF_COUNTERS_BINARY indicates there is not enough binary counters to continue the execution 46 RomError_ROM_ERROR_OUT_OF_COUNTERS_BINARY RomError = 10 47 // ROM_ERROR_OUT_OF_COUNTERS_MEM indicates there is not enough memory aligncounters to continue the execution 48 RomError_ROM_ERROR_OUT_OF_COUNTERS_MEM RomError = 11 49 // ROM_ERROR_OUT_OF_COUNTERS_ARITH indicates there is not enough arith counters to continue the execution 50 RomError_ROM_ERROR_OUT_OF_COUNTERS_ARITH RomError = 12 51 // ROM_ERROR_OUT_OF_COUNTERS_PADDING indicates there is not enough padding counters to continue the execution 52 RomError_ROM_ERROR_OUT_OF_COUNTERS_PADDING RomError = 13 53 // ROM_ERROR_OUT_OF_COUNTERS_POSEIDON indicates there is not enough poseidon counters to continue the execution 54 RomError_ROM_ERROR_OUT_OF_COUNTERS_POSEIDON RomError = 14 55 // ROM_ERROR_INVALID_JUMP indicates there is an invalid jump opcode 56 RomError_ROM_ERROR_INVALID_JUMP RomError = 15 57 // ROM_ERROR_INVALID_OPCODE indicates there is an invalid opcode 58 RomError_ROM_ERROR_INVALID_OPCODE RomError = 16 59 // ROM_ERROR_INVALID_STATIC indicates there is an invalid static call 60 RomError_ROM_ERROR_INVALID_STATIC RomError = 17 61 // ROM_ERROR_INVALID_BYTECODE_STARTS_EF indicates there is a bytecode starting with 0xEF 62 RomError_ROM_ERROR_INVALID_BYTECODE_STARTS_EF RomError = 18 63 // ROM_ERROR_INTRINSIC_INVALID_SIGNATURE indicates the transaction is failing at the signature intrinsic check 64 RomError_ROM_ERROR_INTRINSIC_INVALID_SIGNATURE RomError = 19 65 // ROM_ERROR_INTRINSIC_INVALID_CHAIN_ID indicates the transaction is failing at the chain id intrinsic check 66 RomError_ROM_ERROR_INTRINSIC_INVALID_CHAIN_ID RomError = 20 67 // ROM_ERROR_INTRINSIC_INVALID_NONCE indicates the transaction is failing at the nonce intrinsic check 68 RomError_ROM_ERROR_INTRINSIC_INVALID_NONCE RomError = 21 69 // ROM_ERROR_INTRINSIC_INVALID_GAS indicates the transaction is failing at the gas limit intrinsic check 70 RomError_ROM_ERROR_INTRINSIC_INVALID_GAS_LIMIT RomError = 22 71 // ROM_ERROR_INTRINSIC_INVALID_BALANCE indicates the transaction is failing at balance intrinsic check 72 RomError_ROM_ERROR_INTRINSIC_INVALID_BALANCE RomError = 23 73 // ROM_ERROR_INTRINSIC_INVALID_BATCH_GAS_LIMIT indicates the batch is exceeding the batch gas limit 74 RomError_ROM_ERROR_INTRINSIC_INVALID_BATCH_GAS_LIMIT RomError = 24 75 // ROM_ERROR_INTRINSIC_INVALID_SENDER_CODE indicates the transaction sender is invalid 76 RomError_ROM_ERROR_INTRINSIC_INVALID_SENDER_CODE RomError = 25 77 // ROM_ERROR_INTRINSIC_TX_GAS_OVERFLOW indicates the transaction gasLimit*gasPrice > MAX_UINT_256 - 1 78 RomError_ROM_ERROR_INTRINSIC_TX_GAS_OVERFLOW RomError = 26 79 // ROM_ERROR_BATCH_DATA_TOO_BIG indicates the batch_l2_data is too big to be processed 80 RomError_ROM_ERROR_BATCH_DATA_TOO_BIG RomError = 27 81 // ROM_ERROR_UNSUPPORTED_FORK_ID indicates that the fork id is not supported 82 RomError_ROM_ERROR_UNSUPPORTED_FORK_ID RomError = 28 83 ) 84 85 var RomError_name = map[int32]string{ 86 0: "ROM_ERROR_UNSPECIFIED", 87 1: "ROM_ERROR_NO_ERROR", 88 2: "ROM_ERROR_OUT_OF_GAS", 89 3: "ROM_ERROR_STACK_OVERFLOW", 90 4: "ROM_ERROR_STACK_UNDERFLOW", 91 5: "ROM_ERROR_MAX_CODE_SIZE_EXCEEDED", 92 6: "ROM_ERROR_CONTRACT_ADDRESS_COLLISION", 93 7: "ROM_ERROR_EXECUTION_REVERTED", 94 8: "ROM_ERROR_OUT_OF_COUNTERS_STEP", 95 9: "ROM_ERROR_OUT_OF_COUNTERS_KECCAK", 96 10: "ROM_ERROR_OUT_OF_COUNTERS_BINARY", 97 11: "ROM_ERROR_OUT_OF_COUNTERS_MEM", 98 12: "ROM_ERROR_OUT_OF_COUNTERS_ARITH", 99 13: "ROM_ERROR_OUT_OF_COUNTERS_PADDING", 100 14: "ROM_ERROR_OUT_OF_COUNTERS_POSEIDON", 101 15: "ROM_ERROR_INVALID_JUMP", 102 16: "ROM_ERROR_INVALID_OPCODE", 103 17: "ROM_ERROR_INVALID_STATIC", 104 18: "ROM_ERROR_INVALID_BYTECODE_STARTS_EF", 105 19: "ROM_ERROR_INTRINSIC_INVALID_SIGNATURE", 106 20: "ROM_ERROR_INTRINSIC_INVALID_CHAIN_ID", 107 21: "ROM_ERROR_INTRINSIC_INVALID_NONCE", 108 22: "ROM_ERROR_INTRINSIC_INVALID_GAS_LIMIT", 109 23: "ROM_ERROR_INTRINSIC_INVALID_BALANCE", 110 24: "ROM_ERROR_INTRINSIC_INVALID_BATCH_GAS_LIMIT", 111 25: "ROM_ERROR_INTRINSIC_INVALID_SENDER_CODE", 112 26: "ROM_ERROR_INTRINSIC_TX_GAS_OVERFLOW", 113 27: "ROM_ERROR_BATCH_DATA_TOO_BIG", 114 28: "ROM_ERROR_UNSUPPORTED_FORK_ID", 115 } 116 117 var RomError_value = map[string]int32{ 118 "ROM_ERROR_UNSPECIFIED": 0, 119 "ROM_ERROR_NO_ERROR": 1, 120 "ROM_ERROR_OUT_OF_GAS": 2, 121 "ROM_ERROR_STACK_OVERFLOW": 3, 122 "ROM_ERROR_STACK_UNDERFLOW": 4, 123 "ROM_ERROR_MAX_CODE_SIZE_EXCEEDED": 5, 124 "ROM_ERROR_CONTRACT_ADDRESS_COLLISION": 6, 125 "ROM_ERROR_EXECUTION_REVERTED": 7, 126 "ROM_ERROR_OUT_OF_COUNTERS_STEP": 8, 127 "ROM_ERROR_OUT_OF_COUNTERS_KECCAK": 9, 128 "ROM_ERROR_OUT_OF_COUNTERS_BINARY": 10, 129 "ROM_ERROR_OUT_OF_COUNTERS_MEM": 11, 130 "ROM_ERROR_OUT_OF_COUNTERS_ARITH": 12, 131 "ROM_ERROR_OUT_OF_COUNTERS_PADDING": 13, 132 "ROM_ERROR_OUT_OF_COUNTERS_POSEIDON": 14, 133 "ROM_ERROR_INVALID_JUMP": 15, 134 "ROM_ERROR_INVALID_OPCODE": 16, 135 "ROM_ERROR_INVALID_STATIC": 17, 136 "ROM_ERROR_INVALID_BYTECODE_STARTS_EF": 18, 137 "ROM_ERROR_INTRINSIC_INVALID_SIGNATURE": 19, 138 "ROM_ERROR_INTRINSIC_INVALID_CHAIN_ID": 20, 139 "ROM_ERROR_INTRINSIC_INVALID_NONCE": 21, 140 "ROM_ERROR_INTRINSIC_INVALID_GAS_LIMIT": 22, 141 "ROM_ERROR_INTRINSIC_INVALID_BALANCE": 23, 142 "ROM_ERROR_INTRINSIC_INVALID_BATCH_GAS_LIMIT": 24, 143 "ROM_ERROR_INTRINSIC_INVALID_SENDER_CODE": 25, 144 "ROM_ERROR_INTRINSIC_TX_GAS_OVERFLOW": 26, 145 "ROM_ERROR_BATCH_DATA_TOO_BIG": 27, 146 "ROM_ERROR_UNSUPPORTED_FORK_ID": 28, 147 } 148 149 func (x RomError) String() string { 150 return proto.EnumName(RomError_name, int32(x)) 151 } 152 153 func (RomError) EnumDescriptor() ([]byte, []int) { 154 return fileDescriptor_12d1cdcda51e000f, []int{0} 155 } 156 157 type ExecutorError int32 158 159 const ( 160 ExecutorError_EXECUTOR_ERROR_UNSPECIFIED ExecutorError = 0 161 // EXECUTOR_ERROR_NO_ERROR indicates there was no error 162 ExecutorError_EXECUTOR_ERROR_NO_ERROR ExecutorError = 1 163 // EXECUTOR_ERROR_COUNTERS_OVERFLOW_KECCAK indicates that the keccak counter exceeded the maximum 164 ExecutorError_EXECUTOR_ERROR_COUNTERS_OVERFLOW_KECCAK ExecutorError = 2 165 // EXECUTOR_ERROR_COUNTERS_OVERFLOW_BINARY indicates that the binary counter exceeded the maximum 166 ExecutorError_EXECUTOR_ERROR_COUNTERS_OVERFLOW_BINARY ExecutorError = 3 167 // EXECUTOR_ERROR_COUNTERS_OVERFLOW_MEM indicates that the memory align counter exceeded the maximum 168 ExecutorError_EXECUTOR_ERROR_COUNTERS_OVERFLOW_MEM ExecutorError = 4 169 // EXECUTOR_ERROR_COUNTERS_OVERFLOW_ARITH indicates that the arith counter exceeded the maximum 170 ExecutorError_EXECUTOR_ERROR_COUNTERS_OVERFLOW_ARITH ExecutorError = 5 171 // EXECUTOR_ERROR_COUNTERS_OVERFLOW_PADDING indicates that the padding counter exceeded the maximum 172 ExecutorError_EXECUTOR_ERROR_COUNTERS_OVERFLOW_PADDING ExecutorError = 6 173 // EXECUTOR_ERROR_COUNTERS_OVERFLOW_POSEIDON indicates that the poseidon counter exceeded the maximum 174 ExecutorError_EXECUTOR_ERROR_COUNTERS_OVERFLOW_POSEIDON ExecutorError = 7 175 // EXECUTOR_ERROR_UNSUPPORTED_FORK_ID indicates that the fork id is not supported 176 ExecutorError_EXECUTOR_ERROR_UNSUPPORTED_FORK_ID ExecutorError = 8 177 // EXECUTOR_ERROR_BALANCE_MISMATCH indicates that there is a balance mismatch error in the ROM 178 ExecutorError_EXECUTOR_ERROR_BALANCE_MISMATCH ExecutorError = 9 179 // EXECUTOR_ERROR_FEA2SCALAR indicates that there is a fea2scalar error in the execution 180 ExecutorError_EXECUTOR_ERROR_FEA2SCALAR ExecutorError = 10 181 // EXECUTOR_ERROR_TOS32 indicates that there is a TOS32 error in the execution 182 ExecutorError_EXECUTOR_ERROR_TOS32 ExecutorError = 11 183 ) 184 185 var ExecutorError_name = map[int32]string{ 186 0: "EXECUTOR_ERROR_UNSPECIFIED", 187 1: "EXECUTOR_ERROR_NO_ERROR", 188 2: "EXECUTOR_ERROR_COUNTERS_OVERFLOW_KECCAK", 189 3: "EXECUTOR_ERROR_COUNTERS_OVERFLOW_BINARY", 190 4: "EXECUTOR_ERROR_COUNTERS_OVERFLOW_MEM", 191 5: "EXECUTOR_ERROR_COUNTERS_OVERFLOW_ARITH", 192 6: "EXECUTOR_ERROR_COUNTERS_OVERFLOW_PADDING", 193 7: "EXECUTOR_ERROR_COUNTERS_OVERFLOW_POSEIDON", 194 8: "EXECUTOR_ERROR_UNSUPPORTED_FORK_ID", 195 9: "EXECUTOR_ERROR_BALANCE_MISMATCH", 196 10: "EXECUTOR_ERROR_FEA2SCALAR", 197 11: "EXECUTOR_ERROR_TOS32", 198 } 199 200 var ExecutorError_value = map[string]int32{ 201 "EXECUTOR_ERROR_UNSPECIFIED": 0, 202 "EXECUTOR_ERROR_NO_ERROR": 1, 203 "EXECUTOR_ERROR_COUNTERS_OVERFLOW_KECCAK": 2, 204 "EXECUTOR_ERROR_COUNTERS_OVERFLOW_BINARY": 3, 205 "EXECUTOR_ERROR_COUNTERS_OVERFLOW_MEM": 4, 206 "EXECUTOR_ERROR_COUNTERS_OVERFLOW_ARITH": 5, 207 "EXECUTOR_ERROR_COUNTERS_OVERFLOW_PADDING": 6, 208 "EXECUTOR_ERROR_COUNTERS_OVERFLOW_POSEIDON": 7, 209 "EXECUTOR_ERROR_UNSUPPORTED_FORK_ID": 8, 210 "EXECUTOR_ERROR_BALANCE_MISMATCH": 9, 211 "EXECUTOR_ERROR_FEA2SCALAR": 10, 212 "EXECUTOR_ERROR_TOS32": 11, 213 } 214 215 func (x ExecutorError) String() string { 216 return proto.EnumName(ExecutorError_name, int32(x)) 217 } 218 219 func (ExecutorError) EnumDescriptor() ([]byte, []int) { 220 return fileDescriptor_12d1cdcda51e000f, []int{1} 221 } 222 223 type ProcessBatchRequest struct { 224 OldStateRoot []byte `protobuf:"bytes,1,opt,name=old_state_root,json=oldStateRoot,proto3" json:"old_state_root,omitempty"` 225 OldAccInputHash []byte `protobuf:"bytes,2,opt,name=old_acc_input_hash,json=oldAccInputHash,proto3" json:"old_acc_input_hash,omitempty"` 226 OldBatchNum uint64 `protobuf:"varint,3,opt,name=old_batch_num,json=oldBatchNum,proto3" json:"old_batch_num,omitempty"` 227 ChainId uint64 `protobuf:"varint,4,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 228 ForkId uint64 `protobuf:"varint,5,opt,name=fork_id,json=forkId,proto3" json:"fork_id,omitempty"` 229 BatchL2Data []byte `protobuf:"bytes,6,opt,name=batch_l2_data,json=batchL2Data,proto3" json:"batch_l2_data,omitempty"` 230 GlobalExitRoot []byte `protobuf:"bytes,7,opt,name=global_exit_root,json=globalExitRoot,proto3" json:"global_exit_root,omitempty"` 231 EthTimestamp uint64 `protobuf:"varint,8,opt,name=eth_timestamp,json=ethTimestamp,proto3" json:"eth_timestamp,omitempty"` 232 Coinbase string `protobuf:"bytes,9,opt,name=coinbase,proto3" json:"coinbase,omitempty"` 233 UpdateMerkleTree uint32 `protobuf:"varint,10,opt,name=update_merkle_tree,json=updateMerkleTree,proto3" json:"update_merkle_tree,omitempty"` 234 // flag to indicate that counters should not be taken into account 235 NoCounters uint64 `protobuf:"varint,11,opt,name=no_counters,json=noCounters,proto3" json:"no_counters,omitempty"` 236 // from is used for unsigned transactions with sender 237 From string `protobuf:"bytes,12,opt,name=from,proto3" json:"from,omitempty"` 238 // For testing purposes only 239 Db map[string]string `protobuf:"bytes,13,rep,name=db,proto3" json:"db,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 240 ContractsBytecode map[string]string `protobuf:"bytes,14,rep,name=contracts_bytecode,json=contractsBytecode,proto3" json:"contracts_bytecode,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 241 TraceConfig *TraceConfig `protobuf:"bytes,15,opt,name=trace_config,json=traceConfig,proto3" json:"trace_config,omitempty"` 242 XXX_NoUnkeyedLiteral struct{} `json:"-"` 243 XXX_unrecognized []byte `json:"-"` 244 XXX_sizecache int32 `json:"-"` 245 } 246 247 func (m *ProcessBatchRequest) Reset() { *m = ProcessBatchRequest{} } 248 func (m *ProcessBatchRequest) String() string { return proto.CompactTextString(m) } 249 func (*ProcessBatchRequest) ProtoMessage() {} 250 func (*ProcessBatchRequest) Descriptor() ([]byte, []int) { 251 return fileDescriptor_12d1cdcda51e000f, []int{0} 252 } 253 254 func (m *ProcessBatchRequest) XXX_Unmarshal(b []byte) error { 255 return xxx_messageInfo_ProcessBatchRequest.Unmarshal(m, b) 256 } 257 func (m *ProcessBatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 258 return xxx_messageInfo_ProcessBatchRequest.Marshal(b, m, deterministic) 259 } 260 func (m *ProcessBatchRequest) XXX_Merge(src proto.Message) { 261 xxx_messageInfo_ProcessBatchRequest.Merge(m, src) 262 } 263 func (m *ProcessBatchRequest) XXX_Size() int { 264 return xxx_messageInfo_ProcessBatchRequest.Size(m) 265 } 266 func (m *ProcessBatchRequest) XXX_DiscardUnknown() { 267 xxx_messageInfo_ProcessBatchRequest.DiscardUnknown(m) 268 } 269 270 var xxx_messageInfo_ProcessBatchRequest proto.InternalMessageInfo 271 272 func (m *ProcessBatchRequest) GetOldStateRoot() []byte { 273 if m != nil { 274 return m.OldStateRoot 275 } 276 return nil 277 } 278 279 func (m *ProcessBatchRequest) GetOldAccInputHash() []byte { 280 if m != nil { 281 return m.OldAccInputHash 282 } 283 return nil 284 } 285 286 func (m *ProcessBatchRequest) GetOldBatchNum() uint64 { 287 if m != nil { 288 return m.OldBatchNum 289 } 290 return 0 291 } 292 293 func (m *ProcessBatchRequest) GetChainId() uint64 { 294 if m != nil { 295 return m.ChainId 296 } 297 return 0 298 } 299 300 func (m *ProcessBatchRequest) GetForkId() uint64 { 301 if m != nil { 302 return m.ForkId 303 } 304 return 0 305 } 306 307 func (m *ProcessBatchRequest) GetBatchL2Data() []byte { 308 if m != nil { 309 return m.BatchL2Data 310 } 311 return nil 312 } 313 314 func (m *ProcessBatchRequest) GetGlobalExitRoot() []byte { 315 if m != nil { 316 return m.GlobalExitRoot 317 } 318 return nil 319 } 320 321 func (m *ProcessBatchRequest) GetEthTimestamp() uint64 { 322 if m != nil { 323 return m.EthTimestamp 324 } 325 return 0 326 } 327 328 func (m *ProcessBatchRequest) GetCoinbase() string { 329 if m != nil { 330 return m.Coinbase 331 } 332 return "" 333 } 334 335 func (m *ProcessBatchRequest) GetUpdateMerkleTree() uint32 { 336 if m != nil { 337 return m.UpdateMerkleTree 338 } 339 return 0 340 } 341 342 func (m *ProcessBatchRequest) GetNoCounters() uint64 { 343 if m != nil { 344 return m.NoCounters 345 } 346 return 0 347 } 348 349 func (m *ProcessBatchRequest) GetFrom() string { 350 if m != nil { 351 return m.From 352 } 353 return "" 354 } 355 356 func (m *ProcessBatchRequest) GetDb() map[string]string { 357 if m != nil { 358 return m.Db 359 } 360 return nil 361 } 362 363 func (m *ProcessBatchRequest) GetContractsBytecode() map[string]string { 364 if m != nil { 365 return m.ContractsBytecode 366 } 367 return nil 368 } 369 370 func (m *ProcessBatchRequest) GetTraceConfig() *TraceConfig { 371 if m != nil { 372 return m.TraceConfig 373 } 374 return nil 375 } 376 377 type ProcessBatchResponse struct { 378 NewStateRoot []byte `protobuf:"bytes,1,opt,name=new_state_root,json=newStateRoot,proto3" json:"new_state_root,omitempty"` 379 NewAccInputHash []byte `protobuf:"bytes,2,opt,name=new_acc_input_hash,json=newAccInputHash,proto3" json:"new_acc_input_hash,omitempty"` 380 NewLocalExitRoot []byte `protobuf:"bytes,3,opt,name=new_local_exit_root,json=newLocalExitRoot,proto3" json:"new_local_exit_root,omitempty"` 381 NewBatchNum uint64 `protobuf:"varint,4,opt,name=new_batch_num,json=newBatchNum,proto3" json:"new_batch_num,omitempty"` 382 CntKeccakHashes uint32 `protobuf:"varint,5,opt,name=cnt_keccak_hashes,json=cntKeccakHashes,proto3" json:"cnt_keccak_hashes,omitempty"` 383 CntPoseidonHashes uint32 `protobuf:"varint,6,opt,name=cnt_poseidon_hashes,json=cntPoseidonHashes,proto3" json:"cnt_poseidon_hashes,omitempty"` 384 CntPoseidonPaddings uint32 `protobuf:"varint,7,opt,name=cnt_poseidon_paddings,json=cntPoseidonPaddings,proto3" json:"cnt_poseidon_paddings,omitempty"` 385 CntMemAligns uint32 `protobuf:"varint,8,opt,name=cnt_mem_aligns,json=cntMemAligns,proto3" json:"cnt_mem_aligns,omitempty"` 386 CntArithmetics uint32 `protobuf:"varint,9,opt,name=cnt_arithmetics,json=cntArithmetics,proto3" json:"cnt_arithmetics,omitempty"` 387 CntBinaries uint32 `protobuf:"varint,10,opt,name=cnt_binaries,json=cntBinaries,proto3" json:"cnt_binaries,omitempty"` 388 CntSteps uint32 `protobuf:"varint,11,opt,name=cnt_steps,json=cntSteps,proto3" json:"cnt_steps,omitempty"` 389 CumulativeGasUsed uint64 `protobuf:"varint,12,opt,name=cumulative_gas_used,json=cumulativeGasUsed,proto3" json:"cumulative_gas_used,omitempty"` 390 Responses []*ProcessTransactionResponse `protobuf:"bytes,13,rep,name=responses,proto3" json:"responses,omitempty"` 391 Error ExecutorError `protobuf:"varint,14,opt,name=error,proto3,enum=executor.v1.ExecutorError" json:"error,omitempty"` 392 ReadWriteAddresses map[string]*InfoReadWrite `protobuf:"bytes,15,rep,name=read_write_addresses,json=readWriteAddresses,proto3" json:"read_write_addresses,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 393 XXX_NoUnkeyedLiteral struct{} `json:"-"` 394 XXX_unrecognized []byte `json:"-"` 395 XXX_sizecache int32 `json:"-"` 396 } 397 398 func (m *ProcessBatchResponse) Reset() { *m = ProcessBatchResponse{} } 399 func (m *ProcessBatchResponse) String() string { return proto.CompactTextString(m) } 400 func (*ProcessBatchResponse) ProtoMessage() {} 401 func (*ProcessBatchResponse) Descriptor() ([]byte, []int) { 402 return fileDescriptor_12d1cdcda51e000f, []int{1} 403 } 404 405 func (m *ProcessBatchResponse) XXX_Unmarshal(b []byte) error { 406 return xxx_messageInfo_ProcessBatchResponse.Unmarshal(m, b) 407 } 408 func (m *ProcessBatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 409 return xxx_messageInfo_ProcessBatchResponse.Marshal(b, m, deterministic) 410 } 411 func (m *ProcessBatchResponse) XXX_Merge(src proto.Message) { 412 xxx_messageInfo_ProcessBatchResponse.Merge(m, src) 413 } 414 func (m *ProcessBatchResponse) XXX_Size() int { 415 return xxx_messageInfo_ProcessBatchResponse.Size(m) 416 } 417 func (m *ProcessBatchResponse) XXX_DiscardUnknown() { 418 xxx_messageInfo_ProcessBatchResponse.DiscardUnknown(m) 419 } 420 421 var xxx_messageInfo_ProcessBatchResponse proto.InternalMessageInfo 422 423 func (m *ProcessBatchResponse) GetNewStateRoot() []byte { 424 if m != nil { 425 return m.NewStateRoot 426 } 427 return nil 428 } 429 430 func (m *ProcessBatchResponse) GetNewAccInputHash() []byte { 431 if m != nil { 432 return m.NewAccInputHash 433 } 434 return nil 435 } 436 437 func (m *ProcessBatchResponse) GetNewLocalExitRoot() []byte { 438 if m != nil { 439 return m.NewLocalExitRoot 440 } 441 return nil 442 } 443 444 func (m *ProcessBatchResponse) GetNewBatchNum() uint64 { 445 if m != nil { 446 return m.NewBatchNum 447 } 448 return 0 449 } 450 451 func (m *ProcessBatchResponse) GetCntKeccakHashes() uint32 { 452 if m != nil { 453 return m.CntKeccakHashes 454 } 455 return 0 456 } 457 458 func (m *ProcessBatchResponse) GetCntPoseidonHashes() uint32 { 459 if m != nil { 460 return m.CntPoseidonHashes 461 } 462 return 0 463 } 464 465 func (m *ProcessBatchResponse) GetCntPoseidonPaddings() uint32 { 466 if m != nil { 467 return m.CntPoseidonPaddings 468 } 469 return 0 470 } 471 472 func (m *ProcessBatchResponse) GetCntMemAligns() uint32 { 473 if m != nil { 474 return m.CntMemAligns 475 } 476 return 0 477 } 478 479 func (m *ProcessBatchResponse) GetCntArithmetics() uint32 { 480 if m != nil { 481 return m.CntArithmetics 482 } 483 return 0 484 } 485 486 func (m *ProcessBatchResponse) GetCntBinaries() uint32 { 487 if m != nil { 488 return m.CntBinaries 489 } 490 return 0 491 } 492 493 func (m *ProcessBatchResponse) GetCntSteps() uint32 { 494 if m != nil { 495 return m.CntSteps 496 } 497 return 0 498 } 499 500 func (m *ProcessBatchResponse) GetCumulativeGasUsed() uint64 { 501 if m != nil { 502 return m.CumulativeGasUsed 503 } 504 return 0 505 } 506 507 func (m *ProcessBatchResponse) GetResponses() []*ProcessTransactionResponse { 508 if m != nil { 509 return m.Responses 510 } 511 return nil 512 } 513 514 func (m *ProcessBatchResponse) GetError() ExecutorError { 515 if m != nil { 516 return m.Error 517 } 518 return ExecutorError_EXECUTOR_ERROR_UNSPECIFIED 519 } 520 521 func (m *ProcessBatchResponse) GetReadWriteAddresses() map[string]*InfoReadWrite { 522 if m != nil { 523 return m.ReadWriteAddresses 524 } 525 return nil 526 } 527 528 // Trace configuration request params 529 type TraceConfig struct { 530 // Disables storage (default=false) 531 DisableStorage uint32 `protobuf:"varint,1,opt,name=disable_storage,json=disableStorage,proto3" json:"disable_storage,omitempty"` 532 // Disables stack (default=false) 533 DisableStack uint32 `protobuf:"varint,2,opt,name=disable_stack,json=disableStack,proto3" json:"disable_stack,omitempty"` 534 // Enables memory (default=false) 535 EnableMemory uint32 `protobuf:"varint,3,opt,name=enable_memory,json=enableMemory,proto3" json:"enable_memory,omitempty"` 536 // Enables return data (default=false) 537 EnableReturnData uint32 `protobuf:"varint,4,opt,name=enable_return_data,json=enableReturnData,proto3" json:"enable_return_data,omitempty"` 538 // Hash of tx in batch to retrieve the execution trace 539 TxHashToGenerateExecuteTrace []byte `protobuf:"bytes,5,opt,name=tx_hash_to_generate_execute_trace,json=txHashToGenerateExecuteTrace,proto3" json:"tx_hash_to_generate_execute_trace,omitempty"` 540 // Hash of tx in batch to retrieve the call trace 541 TxHashToGenerateCallTrace []byte `protobuf:"bytes,6,opt,name=tx_hash_to_generate_call_trace,json=txHashToGenerateCallTrace,proto3" json:"tx_hash_to_generate_call_trace,omitempty"` 542 XXX_NoUnkeyedLiteral struct{} `json:"-"` 543 XXX_unrecognized []byte `json:"-"` 544 XXX_sizecache int32 `json:"-"` 545 } 546 547 func (m *TraceConfig) Reset() { *m = TraceConfig{} } 548 func (m *TraceConfig) String() string { return proto.CompactTextString(m) } 549 func (*TraceConfig) ProtoMessage() {} 550 func (*TraceConfig) Descriptor() ([]byte, []int) { 551 return fileDescriptor_12d1cdcda51e000f, []int{2} 552 } 553 554 func (m *TraceConfig) XXX_Unmarshal(b []byte) error { 555 return xxx_messageInfo_TraceConfig.Unmarshal(m, b) 556 } 557 func (m *TraceConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 558 return xxx_messageInfo_TraceConfig.Marshal(b, m, deterministic) 559 } 560 func (m *TraceConfig) XXX_Merge(src proto.Message) { 561 xxx_messageInfo_TraceConfig.Merge(m, src) 562 } 563 func (m *TraceConfig) XXX_Size() int { 564 return xxx_messageInfo_TraceConfig.Size(m) 565 } 566 func (m *TraceConfig) XXX_DiscardUnknown() { 567 xxx_messageInfo_TraceConfig.DiscardUnknown(m) 568 } 569 570 var xxx_messageInfo_TraceConfig proto.InternalMessageInfo 571 572 func (m *TraceConfig) GetDisableStorage() uint32 { 573 if m != nil { 574 return m.DisableStorage 575 } 576 return 0 577 } 578 579 func (m *TraceConfig) GetDisableStack() uint32 { 580 if m != nil { 581 return m.DisableStack 582 } 583 return 0 584 } 585 586 func (m *TraceConfig) GetEnableMemory() uint32 { 587 if m != nil { 588 return m.EnableMemory 589 } 590 return 0 591 } 592 593 func (m *TraceConfig) GetEnableReturnData() uint32 { 594 if m != nil { 595 return m.EnableReturnData 596 } 597 return 0 598 } 599 600 func (m *TraceConfig) GetTxHashToGenerateExecuteTrace() []byte { 601 if m != nil { 602 return m.TxHashToGenerateExecuteTrace 603 } 604 return nil 605 } 606 607 func (m *TraceConfig) GetTxHashToGenerateCallTrace() []byte { 608 if m != nil { 609 return m.TxHashToGenerateCallTrace 610 } 611 return nil 612 } 613 614 type InfoReadWrite struct { 615 // If nonce="" then it has not been set; if set, string is in decimal (base 10) 616 Nonce string `protobuf:"bytes,1,opt,name=nonce,proto3" json:"nonce,omitempty"` 617 // If balance="" then it has not been set; if set, string is in decimal (base 10) 618 Balance string `protobuf:"bytes,2,opt,name=balance,proto3" json:"balance,omitempty"` 619 XXX_NoUnkeyedLiteral struct{} `json:"-"` 620 XXX_unrecognized []byte `json:"-"` 621 XXX_sizecache int32 `json:"-"` 622 } 623 624 func (m *InfoReadWrite) Reset() { *m = InfoReadWrite{} } 625 func (m *InfoReadWrite) String() string { return proto.CompactTextString(m) } 626 func (*InfoReadWrite) ProtoMessage() {} 627 func (*InfoReadWrite) Descriptor() ([]byte, []int) { 628 return fileDescriptor_12d1cdcda51e000f, []int{3} 629 } 630 631 func (m *InfoReadWrite) XXX_Unmarshal(b []byte) error { 632 return xxx_messageInfo_InfoReadWrite.Unmarshal(m, b) 633 } 634 func (m *InfoReadWrite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 635 return xxx_messageInfo_InfoReadWrite.Marshal(b, m, deterministic) 636 } 637 func (m *InfoReadWrite) XXX_Merge(src proto.Message) { 638 xxx_messageInfo_InfoReadWrite.Merge(m, src) 639 } 640 func (m *InfoReadWrite) XXX_Size() int { 641 return xxx_messageInfo_InfoReadWrite.Size(m) 642 } 643 func (m *InfoReadWrite) XXX_DiscardUnknown() { 644 xxx_messageInfo_InfoReadWrite.DiscardUnknown(m) 645 } 646 647 var xxx_messageInfo_InfoReadWrite proto.InternalMessageInfo 648 649 func (m *InfoReadWrite) GetNonce() string { 650 if m != nil { 651 return m.Nonce 652 } 653 return "" 654 } 655 656 func (m *InfoReadWrite) GetBalance() string { 657 if m != nil { 658 return m.Balance 659 } 660 return "" 661 } 662 663 type CallTrace struct { 664 Context *TransactionContext `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` 665 Steps []*TransactionStep `protobuf:"bytes,2,rep,name=steps,proto3" json:"steps,omitempty"` 666 XXX_NoUnkeyedLiteral struct{} `json:"-"` 667 XXX_unrecognized []byte `json:"-"` 668 XXX_sizecache int32 `json:"-"` 669 } 670 671 func (m *CallTrace) Reset() { *m = CallTrace{} } 672 func (m *CallTrace) String() string { return proto.CompactTextString(m) } 673 func (*CallTrace) ProtoMessage() {} 674 func (*CallTrace) Descriptor() ([]byte, []int) { 675 return fileDescriptor_12d1cdcda51e000f, []int{4} 676 } 677 678 func (m *CallTrace) XXX_Unmarshal(b []byte) error { 679 return xxx_messageInfo_CallTrace.Unmarshal(m, b) 680 } 681 func (m *CallTrace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 682 return xxx_messageInfo_CallTrace.Marshal(b, m, deterministic) 683 } 684 func (m *CallTrace) XXX_Merge(src proto.Message) { 685 xxx_messageInfo_CallTrace.Merge(m, src) 686 } 687 func (m *CallTrace) XXX_Size() int { 688 return xxx_messageInfo_CallTrace.Size(m) 689 } 690 func (m *CallTrace) XXX_DiscardUnknown() { 691 xxx_messageInfo_CallTrace.DiscardUnknown(m) 692 } 693 694 var xxx_messageInfo_CallTrace proto.InternalMessageInfo 695 696 func (m *CallTrace) GetContext() *TransactionContext { 697 if m != nil { 698 return m.Context 699 } 700 return nil 701 } 702 703 func (m *CallTrace) GetSteps() []*TransactionStep { 704 if m != nil { 705 return m.Steps 706 } 707 return nil 708 } 709 710 type TransactionContext struct { 711 // CALL or CREATE 712 Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` 713 // Sender of the transaction 714 From string `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` 715 // Target of the transaction 716 To string `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"` 717 // Input data of the transaction 718 Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` 719 // Gas of the transaction 720 Gas uint64 `protobuf:"varint,5,opt,name=gas,proto3" json:"gas,omitempty"` 721 // Value of the transaction 722 Value string `protobuf:"bytes,6,opt,name=value,proto3" json:"value,omitempty"` 723 // Hash of the batch in which the transaction was included 724 Batch []byte `protobuf:"bytes,7,opt,name=batch,proto3" json:"batch,omitempty"` 725 // Returned data from the runtime (function result or data supplied with revert opcode) 726 Output []byte `protobuf:"bytes,8,opt,name=output,proto3" json:"output,omitempty"` 727 // Total gas used as result of execution 728 GasUsed uint64 `protobuf:"varint,9,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"` 729 // Gas Price 730 GasPrice string `protobuf:"bytes,10,opt,name=gas_price,json=gasPrice,proto3" json:"gas_price,omitempty"` 731 // Execution Time 732 ExecutionTime uint32 `protobuf:"varint,11,opt,name=execution_time,json=executionTime,proto3" json:"execution_time,omitempty"` 733 // Starting state root 734 OldStateRoot []byte `protobuf:"bytes,12,opt,name=old_state_root,json=oldStateRoot,proto3" json:"old_state_root,omitempty"` 735 XXX_NoUnkeyedLiteral struct{} `json:"-"` 736 XXX_unrecognized []byte `json:"-"` 737 XXX_sizecache int32 `json:"-"` 738 } 739 740 func (m *TransactionContext) Reset() { *m = TransactionContext{} } 741 func (m *TransactionContext) String() string { return proto.CompactTextString(m) } 742 func (*TransactionContext) ProtoMessage() {} 743 func (*TransactionContext) Descriptor() ([]byte, []int) { 744 return fileDescriptor_12d1cdcda51e000f, []int{5} 745 } 746 747 func (m *TransactionContext) XXX_Unmarshal(b []byte) error { 748 return xxx_messageInfo_TransactionContext.Unmarshal(m, b) 749 } 750 func (m *TransactionContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 751 return xxx_messageInfo_TransactionContext.Marshal(b, m, deterministic) 752 } 753 func (m *TransactionContext) XXX_Merge(src proto.Message) { 754 xxx_messageInfo_TransactionContext.Merge(m, src) 755 } 756 func (m *TransactionContext) XXX_Size() int { 757 return xxx_messageInfo_TransactionContext.Size(m) 758 } 759 func (m *TransactionContext) XXX_DiscardUnknown() { 760 xxx_messageInfo_TransactionContext.DiscardUnknown(m) 761 } 762 763 var xxx_messageInfo_TransactionContext proto.InternalMessageInfo 764 765 func (m *TransactionContext) GetType() string { 766 if m != nil { 767 return m.Type 768 } 769 return "" 770 } 771 772 func (m *TransactionContext) GetFrom() string { 773 if m != nil { 774 return m.From 775 } 776 return "" 777 } 778 779 func (m *TransactionContext) GetTo() string { 780 if m != nil { 781 return m.To 782 } 783 return "" 784 } 785 786 func (m *TransactionContext) GetData() []byte { 787 if m != nil { 788 return m.Data 789 } 790 return nil 791 } 792 793 func (m *TransactionContext) GetGas() uint64 { 794 if m != nil { 795 return m.Gas 796 } 797 return 0 798 } 799 800 func (m *TransactionContext) GetValue() string { 801 if m != nil { 802 return m.Value 803 } 804 return "" 805 } 806 807 func (m *TransactionContext) GetBatch() []byte { 808 if m != nil { 809 return m.Batch 810 } 811 return nil 812 } 813 814 func (m *TransactionContext) GetOutput() []byte { 815 if m != nil { 816 return m.Output 817 } 818 return nil 819 } 820 821 func (m *TransactionContext) GetGasUsed() uint64 { 822 if m != nil { 823 return m.GasUsed 824 } 825 return 0 826 } 827 828 func (m *TransactionContext) GetGasPrice() string { 829 if m != nil { 830 return m.GasPrice 831 } 832 return "" 833 } 834 835 func (m *TransactionContext) GetExecutionTime() uint32 { 836 if m != nil { 837 return m.ExecutionTime 838 } 839 return 0 840 } 841 842 func (m *TransactionContext) GetOldStateRoot() []byte { 843 if m != nil { 844 return m.OldStateRoot 845 } 846 return nil 847 } 848 849 type TransactionStep struct { 850 StateRoot []byte `protobuf:"bytes,1,opt,name=state_root,json=stateRoot,proto3" json:"state_root,omitempty"` 851 // Call depth 852 Depth uint32 `protobuf:"varint,2,opt,name=depth,proto3" json:"depth,omitempty"` 853 // Program counter 854 Pc uint64 `protobuf:"varint,3,opt,name=pc,proto3" json:"pc,omitempty"` 855 // Remaining gas 856 Gas uint64 `protobuf:"varint,4,opt,name=gas,proto3" json:"gas,omitempty"` 857 // Gas cost of the operation 858 GasCost uint64 `protobuf:"varint,5,opt,name=gas_cost,json=gasCost,proto3" json:"gas_cost,omitempty"` 859 // Gas refunded during the operation 860 GasRefund uint64 `protobuf:"varint,6,opt,name=gas_refund,json=gasRefund,proto3" json:"gas_refund,omitempty"` 861 // Opcode 862 Op uint32 `protobuf:"varint,7,opt,name=op,proto3" json:"op,omitempty"` 863 // Content of the stack 864 Stack []string `protobuf:"bytes,8,rep,name=stack,proto3" json:"stack,omitempty"` 865 // Content of the memory 866 Memory []byte `protobuf:"bytes,9,opt,name=memory,proto3" json:"memory,omitempty"` 867 // Return Data 868 ReturnData []byte `protobuf:"bytes,10,opt,name=return_data,json=returnData,proto3" json:"return_data,omitempty"` 869 // Contract information 870 Contract *Contract `protobuf:"bytes,11,opt,name=contract,proto3" json:"contract,omitempty"` 871 // Error 872 Error RomError `protobuf:"varint,12,opt,name=error,proto3,enum=executor.v1.RomError" json:"error,omitempty"` 873 XXX_NoUnkeyedLiteral struct{} `json:"-"` 874 XXX_unrecognized []byte `json:"-"` 875 XXX_sizecache int32 `json:"-"` 876 } 877 878 func (m *TransactionStep) Reset() { *m = TransactionStep{} } 879 func (m *TransactionStep) String() string { return proto.CompactTextString(m) } 880 func (*TransactionStep) ProtoMessage() {} 881 func (*TransactionStep) Descriptor() ([]byte, []int) { 882 return fileDescriptor_12d1cdcda51e000f, []int{6} 883 } 884 885 func (m *TransactionStep) XXX_Unmarshal(b []byte) error { 886 return xxx_messageInfo_TransactionStep.Unmarshal(m, b) 887 } 888 func (m *TransactionStep) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 889 return xxx_messageInfo_TransactionStep.Marshal(b, m, deterministic) 890 } 891 func (m *TransactionStep) XXX_Merge(src proto.Message) { 892 xxx_messageInfo_TransactionStep.Merge(m, src) 893 } 894 func (m *TransactionStep) XXX_Size() int { 895 return xxx_messageInfo_TransactionStep.Size(m) 896 } 897 func (m *TransactionStep) XXX_DiscardUnknown() { 898 xxx_messageInfo_TransactionStep.DiscardUnknown(m) 899 } 900 901 var xxx_messageInfo_TransactionStep proto.InternalMessageInfo 902 903 func (m *TransactionStep) GetStateRoot() []byte { 904 if m != nil { 905 return m.StateRoot 906 } 907 return nil 908 } 909 910 func (m *TransactionStep) GetDepth() uint32 { 911 if m != nil { 912 return m.Depth 913 } 914 return 0 915 } 916 917 func (m *TransactionStep) GetPc() uint64 { 918 if m != nil { 919 return m.Pc 920 } 921 return 0 922 } 923 924 func (m *TransactionStep) GetGas() uint64 { 925 if m != nil { 926 return m.Gas 927 } 928 return 0 929 } 930 931 func (m *TransactionStep) GetGasCost() uint64 { 932 if m != nil { 933 return m.GasCost 934 } 935 return 0 936 } 937 938 func (m *TransactionStep) GetGasRefund() uint64 { 939 if m != nil { 940 return m.GasRefund 941 } 942 return 0 943 } 944 945 func (m *TransactionStep) GetOp() uint32 { 946 if m != nil { 947 return m.Op 948 } 949 return 0 950 } 951 952 func (m *TransactionStep) GetStack() []string { 953 if m != nil { 954 return m.Stack 955 } 956 return nil 957 } 958 959 func (m *TransactionStep) GetMemory() []byte { 960 if m != nil { 961 return m.Memory 962 } 963 return nil 964 } 965 966 func (m *TransactionStep) GetReturnData() []byte { 967 if m != nil { 968 return m.ReturnData 969 } 970 return nil 971 } 972 973 func (m *TransactionStep) GetContract() *Contract { 974 if m != nil { 975 return m.Contract 976 } 977 return nil 978 } 979 980 func (m *TransactionStep) GetError() RomError { 981 if m != nil { 982 return m.Error 983 } 984 return RomError_ROM_ERROR_UNSPECIFIED 985 } 986 987 type Contract struct { 988 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 989 Caller string `protobuf:"bytes,2,opt,name=caller,proto3" json:"caller,omitempty"` 990 Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` 991 Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` 992 Gas uint64 `protobuf:"varint,5,opt,name=gas,proto3" json:"gas,omitempty"` 993 XXX_NoUnkeyedLiteral struct{} `json:"-"` 994 XXX_unrecognized []byte `json:"-"` 995 XXX_sizecache int32 `json:"-"` 996 } 997 998 func (m *Contract) Reset() { *m = Contract{} } 999 func (m *Contract) String() string { return proto.CompactTextString(m) } 1000 func (*Contract) ProtoMessage() {} 1001 func (*Contract) Descriptor() ([]byte, []int) { 1002 return fileDescriptor_12d1cdcda51e000f, []int{7} 1003 } 1004 1005 func (m *Contract) XXX_Unmarshal(b []byte) error { 1006 return xxx_messageInfo_Contract.Unmarshal(m, b) 1007 } 1008 func (m *Contract) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1009 return xxx_messageInfo_Contract.Marshal(b, m, deterministic) 1010 } 1011 func (m *Contract) XXX_Merge(src proto.Message) { 1012 xxx_messageInfo_Contract.Merge(m, src) 1013 } 1014 func (m *Contract) XXX_Size() int { 1015 return xxx_messageInfo_Contract.Size(m) 1016 } 1017 func (m *Contract) XXX_DiscardUnknown() { 1018 xxx_messageInfo_Contract.DiscardUnknown(m) 1019 } 1020 1021 var xxx_messageInfo_Contract proto.InternalMessageInfo 1022 1023 func (m *Contract) GetAddress() string { 1024 if m != nil { 1025 return m.Address 1026 } 1027 return "" 1028 } 1029 1030 func (m *Contract) GetCaller() string { 1031 if m != nil { 1032 return m.Caller 1033 } 1034 return "" 1035 } 1036 1037 func (m *Contract) GetValue() string { 1038 if m != nil { 1039 return m.Value 1040 } 1041 return "" 1042 } 1043 1044 func (m *Contract) GetData() []byte { 1045 if m != nil { 1046 return m.Data 1047 } 1048 return nil 1049 } 1050 1051 func (m *Contract) GetGas() uint64 { 1052 if m != nil { 1053 return m.Gas 1054 } 1055 return 0 1056 } 1057 1058 type ProcessTransactionResponse struct { 1059 // Hash of the transaction 1060 TxHash []byte `protobuf:"bytes,1,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` 1061 // RLP encoded transaction 1062 // [nonce, gasPrice, gasLimit, to, value, data, v, r, s] 1063 RlpTx []byte `protobuf:"bytes,2,opt,name=rlp_tx,json=rlpTx,proto3" json:"rlp_tx,omitempty"` 1064 // Type indicates legacy transaction 1065 // It will be always 0 (legacy) in the executor 1066 Type uint32 `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"` 1067 // Returned data from the runtime (function result or data supplied with revert opcode) 1068 ReturnValue []byte `protobuf:"bytes,4,opt,name=return_value,json=returnValue,proto3" json:"return_value,omitempty"` 1069 // Total gas left as result of execution 1070 GasLeft uint64 `protobuf:"varint,5,opt,name=gas_left,json=gasLeft,proto3" json:"gas_left,omitempty"` 1071 // Total gas used as result of execution or gas estimation 1072 GasUsed uint64 `protobuf:"varint,6,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"` 1073 // Total gas refunded as result of execution 1074 GasRefunded uint64 `protobuf:"varint,7,opt,name=gas_refunded,json=gasRefunded,proto3" json:"gas_refunded,omitempty"` 1075 // Any error encountered during the execution 1076 Error RomError `protobuf:"varint,8,opt,name=error,proto3,enum=executor.v1.RomError" json:"error,omitempty"` 1077 // New SC Address in case of SC creation 1078 CreateAddress string `protobuf:"bytes,9,opt,name=create_address,json=createAddress,proto3" json:"create_address,omitempty"` 1079 // State Root 1080 StateRoot []byte `protobuf:"bytes,10,opt,name=state_root,json=stateRoot,proto3" json:"state_root,omitempty"` 1081 // Logs emited by LOG opcode 1082 Logs []*Log `protobuf:"bytes,11,rep,name=logs,proto3" json:"logs,omitempty"` 1083 // Trace 1084 ExecutionTrace []*ExecutionTraceStep `protobuf:"bytes,13,rep,name=execution_trace,json=executionTrace,proto3" json:"execution_trace,omitempty"` 1085 CallTrace *CallTrace `protobuf:"bytes,14,opt,name=call_trace,json=callTrace,proto3" json:"call_trace,omitempty"` 1086 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1087 XXX_unrecognized []byte `json:"-"` 1088 XXX_sizecache int32 `json:"-"` 1089 } 1090 1091 func (m *ProcessTransactionResponse) Reset() { *m = ProcessTransactionResponse{} } 1092 func (m *ProcessTransactionResponse) String() string { return proto.CompactTextString(m) } 1093 func (*ProcessTransactionResponse) ProtoMessage() {} 1094 func (*ProcessTransactionResponse) Descriptor() ([]byte, []int) { 1095 return fileDescriptor_12d1cdcda51e000f, []int{8} 1096 } 1097 1098 func (m *ProcessTransactionResponse) XXX_Unmarshal(b []byte) error { 1099 return xxx_messageInfo_ProcessTransactionResponse.Unmarshal(m, b) 1100 } 1101 func (m *ProcessTransactionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1102 return xxx_messageInfo_ProcessTransactionResponse.Marshal(b, m, deterministic) 1103 } 1104 func (m *ProcessTransactionResponse) XXX_Merge(src proto.Message) { 1105 xxx_messageInfo_ProcessTransactionResponse.Merge(m, src) 1106 } 1107 func (m *ProcessTransactionResponse) XXX_Size() int { 1108 return xxx_messageInfo_ProcessTransactionResponse.Size(m) 1109 } 1110 func (m *ProcessTransactionResponse) XXX_DiscardUnknown() { 1111 xxx_messageInfo_ProcessTransactionResponse.DiscardUnknown(m) 1112 } 1113 1114 var xxx_messageInfo_ProcessTransactionResponse proto.InternalMessageInfo 1115 1116 func (m *ProcessTransactionResponse) GetTxHash() []byte { 1117 if m != nil { 1118 return m.TxHash 1119 } 1120 return nil 1121 } 1122 1123 func (m *ProcessTransactionResponse) GetRlpTx() []byte { 1124 if m != nil { 1125 return m.RlpTx 1126 } 1127 return nil 1128 } 1129 1130 func (m *ProcessTransactionResponse) GetType() uint32 { 1131 if m != nil { 1132 return m.Type 1133 } 1134 return 0 1135 } 1136 1137 func (m *ProcessTransactionResponse) GetReturnValue() []byte { 1138 if m != nil { 1139 return m.ReturnValue 1140 } 1141 return nil 1142 } 1143 1144 func (m *ProcessTransactionResponse) GetGasLeft() uint64 { 1145 if m != nil { 1146 return m.GasLeft 1147 } 1148 return 0 1149 } 1150 1151 func (m *ProcessTransactionResponse) GetGasUsed() uint64 { 1152 if m != nil { 1153 return m.GasUsed 1154 } 1155 return 0 1156 } 1157 1158 func (m *ProcessTransactionResponse) GetGasRefunded() uint64 { 1159 if m != nil { 1160 return m.GasRefunded 1161 } 1162 return 0 1163 } 1164 1165 func (m *ProcessTransactionResponse) GetError() RomError { 1166 if m != nil { 1167 return m.Error 1168 } 1169 return RomError_ROM_ERROR_UNSPECIFIED 1170 } 1171 1172 func (m *ProcessTransactionResponse) GetCreateAddress() string { 1173 if m != nil { 1174 return m.CreateAddress 1175 } 1176 return "" 1177 } 1178 1179 func (m *ProcessTransactionResponse) GetStateRoot() []byte { 1180 if m != nil { 1181 return m.StateRoot 1182 } 1183 return nil 1184 } 1185 1186 func (m *ProcessTransactionResponse) GetLogs() []*Log { 1187 if m != nil { 1188 return m.Logs 1189 } 1190 return nil 1191 } 1192 1193 func (m *ProcessTransactionResponse) GetExecutionTrace() []*ExecutionTraceStep { 1194 if m != nil { 1195 return m.ExecutionTrace 1196 } 1197 return nil 1198 } 1199 1200 func (m *ProcessTransactionResponse) GetCallTrace() *CallTrace { 1201 if m != nil { 1202 return m.CallTrace 1203 } 1204 return nil 1205 } 1206 1207 type Log struct { 1208 // Address of the contract that generated the event 1209 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 1210 // List of topics provided by the contract 1211 Topics [][]byte `protobuf:"bytes,2,rep,name=topics,proto3" json:"topics,omitempty"` 1212 // Supplied by the contract, usually ABI-encoded 1213 Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` 1214 // Batch in which the transaction was included 1215 BatchNumber uint64 `protobuf:"varint,4,opt,name=batch_number,json=batchNumber,proto3" json:"batch_number,omitempty"` 1216 // Hash of the transaction 1217 TxHash []byte `protobuf:"bytes,5,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` 1218 // Index of the transaction in the block 1219 TxIndex uint32 `protobuf:"varint,6,opt,name=tx_index,json=txIndex,proto3" json:"tx_index,omitempty"` 1220 // Hash of the batch in which the transaction was included 1221 BatchHash []byte `protobuf:"bytes,7,opt,name=batch_hash,json=batchHash,proto3" json:"batch_hash,omitempty"` 1222 // Index of the log in the block 1223 Index uint32 `protobuf:"varint,8,opt,name=index,proto3" json:"index,omitempty"` 1224 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1225 XXX_unrecognized []byte `json:"-"` 1226 XXX_sizecache int32 `json:"-"` 1227 } 1228 1229 func (m *Log) Reset() { *m = Log{} } 1230 func (m *Log) String() string { return proto.CompactTextString(m) } 1231 func (*Log) ProtoMessage() {} 1232 func (*Log) Descriptor() ([]byte, []int) { 1233 return fileDescriptor_12d1cdcda51e000f, []int{9} 1234 } 1235 1236 func (m *Log) XXX_Unmarshal(b []byte) error { 1237 return xxx_messageInfo_Log.Unmarshal(m, b) 1238 } 1239 func (m *Log) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1240 return xxx_messageInfo_Log.Marshal(b, m, deterministic) 1241 } 1242 func (m *Log) XXX_Merge(src proto.Message) { 1243 xxx_messageInfo_Log.Merge(m, src) 1244 } 1245 func (m *Log) XXX_Size() int { 1246 return xxx_messageInfo_Log.Size(m) 1247 } 1248 func (m *Log) XXX_DiscardUnknown() { 1249 xxx_messageInfo_Log.DiscardUnknown(m) 1250 } 1251 1252 var xxx_messageInfo_Log proto.InternalMessageInfo 1253 1254 func (m *Log) GetAddress() string { 1255 if m != nil { 1256 return m.Address 1257 } 1258 return "" 1259 } 1260 1261 func (m *Log) GetTopics() [][]byte { 1262 if m != nil { 1263 return m.Topics 1264 } 1265 return nil 1266 } 1267 1268 func (m *Log) GetData() []byte { 1269 if m != nil { 1270 return m.Data 1271 } 1272 return nil 1273 } 1274 1275 func (m *Log) GetBatchNumber() uint64 { 1276 if m != nil { 1277 return m.BatchNumber 1278 } 1279 return 0 1280 } 1281 1282 func (m *Log) GetTxHash() []byte { 1283 if m != nil { 1284 return m.TxHash 1285 } 1286 return nil 1287 } 1288 1289 func (m *Log) GetTxIndex() uint32 { 1290 if m != nil { 1291 return m.TxIndex 1292 } 1293 return 0 1294 } 1295 1296 func (m *Log) GetBatchHash() []byte { 1297 if m != nil { 1298 return m.BatchHash 1299 } 1300 return nil 1301 } 1302 1303 func (m *Log) GetIndex() uint32 { 1304 if m != nil { 1305 return m.Index 1306 } 1307 return 0 1308 } 1309 1310 type ExecutionTraceStep struct { 1311 // Program Counter 1312 Pc uint64 `protobuf:"varint,1,opt,name=pc,proto3" json:"pc,omitempty"` 1313 // OpCode 1314 Op string `protobuf:"bytes,2,opt,name=op,proto3" json:"op,omitempty"` 1315 // Remaining gas 1316 RemainingGas uint64 `protobuf:"varint,3,opt,name=remaining_gas,json=remainingGas,proto3" json:"remaining_gas,omitempty"` 1317 // Gas cost of the operation 1318 GasCost uint64 `protobuf:"varint,4,opt,name=gas_cost,json=gasCost,proto3" json:"gas_cost,omitempty"` 1319 // Content of memory 1320 Memory []byte `protobuf:"bytes,5,opt,name=memory,proto3" json:"memory,omitempty"` 1321 // Size of memory 1322 MemorySize uint32 `protobuf:"varint,6,opt,name=memory_size,json=memorySize,proto3" json:"memory_size,omitempty"` 1323 // Content of the stack 1324 Stack []string `protobuf:"bytes,7,rep,name=stack,proto3" json:"stack,omitempty"` 1325 // Returned data 1326 ReturnData []byte `protobuf:"bytes,8,opt,name=return_data,json=returnData,proto3" json:"return_data,omitempty"` 1327 // Content of the storage 1328 Storage map[string]string `protobuf:"bytes,9,rep,name=storage,proto3" json:"storage,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1329 // Call depth 1330 Depth uint32 `protobuf:"varint,10,opt,name=depth,proto3" json:"depth,omitempty"` 1331 // Gas refund 1332 GasRefund uint64 `protobuf:"varint,11,opt,name=gas_refund,json=gasRefund,proto3" json:"gas_refund,omitempty"` 1333 // Error 1334 Error RomError `protobuf:"varint,12,opt,name=error,proto3,enum=executor.v1.RomError" json:"error,omitempty"` 1335 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1336 XXX_unrecognized []byte `json:"-"` 1337 XXX_sizecache int32 `json:"-"` 1338 } 1339 1340 func (m *ExecutionTraceStep) Reset() { *m = ExecutionTraceStep{} } 1341 func (m *ExecutionTraceStep) String() string { return proto.CompactTextString(m) } 1342 func (*ExecutionTraceStep) ProtoMessage() {} 1343 func (*ExecutionTraceStep) Descriptor() ([]byte, []int) { 1344 return fileDescriptor_12d1cdcda51e000f, []int{10} 1345 } 1346 1347 func (m *ExecutionTraceStep) XXX_Unmarshal(b []byte) error { 1348 return xxx_messageInfo_ExecutionTraceStep.Unmarshal(m, b) 1349 } 1350 func (m *ExecutionTraceStep) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1351 return xxx_messageInfo_ExecutionTraceStep.Marshal(b, m, deterministic) 1352 } 1353 func (m *ExecutionTraceStep) XXX_Merge(src proto.Message) { 1354 xxx_messageInfo_ExecutionTraceStep.Merge(m, src) 1355 } 1356 func (m *ExecutionTraceStep) XXX_Size() int { 1357 return xxx_messageInfo_ExecutionTraceStep.Size(m) 1358 } 1359 func (m *ExecutionTraceStep) XXX_DiscardUnknown() { 1360 xxx_messageInfo_ExecutionTraceStep.DiscardUnknown(m) 1361 } 1362 1363 var xxx_messageInfo_ExecutionTraceStep proto.InternalMessageInfo 1364 1365 func (m *ExecutionTraceStep) GetPc() uint64 { 1366 if m != nil { 1367 return m.Pc 1368 } 1369 return 0 1370 } 1371 1372 func (m *ExecutionTraceStep) GetOp() string { 1373 if m != nil { 1374 return m.Op 1375 } 1376 return "" 1377 } 1378 1379 func (m *ExecutionTraceStep) GetRemainingGas() uint64 { 1380 if m != nil { 1381 return m.RemainingGas 1382 } 1383 return 0 1384 } 1385 1386 func (m *ExecutionTraceStep) GetGasCost() uint64 { 1387 if m != nil { 1388 return m.GasCost 1389 } 1390 return 0 1391 } 1392 1393 func (m *ExecutionTraceStep) GetMemory() []byte { 1394 if m != nil { 1395 return m.Memory 1396 } 1397 return nil 1398 } 1399 1400 func (m *ExecutionTraceStep) GetMemorySize() uint32 { 1401 if m != nil { 1402 return m.MemorySize 1403 } 1404 return 0 1405 } 1406 1407 func (m *ExecutionTraceStep) GetStack() []string { 1408 if m != nil { 1409 return m.Stack 1410 } 1411 return nil 1412 } 1413 1414 func (m *ExecutionTraceStep) GetReturnData() []byte { 1415 if m != nil { 1416 return m.ReturnData 1417 } 1418 return nil 1419 } 1420 1421 func (m *ExecutionTraceStep) GetStorage() map[string]string { 1422 if m != nil { 1423 return m.Storage 1424 } 1425 return nil 1426 } 1427 1428 func (m *ExecutionTraceStep) GetDepth() uint32 { 1429 if m != nil { 1430 return m.Depth 1431 } 1432 return 0 1433 } 1434 1435 func (m *ExecutionTraceStep) GetGasRefund() uint64 { 1436 if m != nil { 1437 return m.GasRefund 1438 } 1439 return 0 1440 } 1441 1442 func (m *ExecutionTraceStep) GetError() RomError { 1443 if m != nil { 1444 return m.Error 1445 } 1446 return RomError_ROM_ERROR_UNSPECIFIED 1447 } 1448 1449 func init() { 1450 proto.RegisterEnum("executor.v1.RomError", RomError_name, RomError_value) 1451 proto.RegisterEnum("executor.v1.ExecutorError", ExecutorError_name, ExecutorError_value) 1452 proto.RegisterType((*ProcessBatchRequest)(nil), "executor.v1.ProcessBatchRequest") 1453 proto.RegisterMapType((map[string]string)(nil), "executor.v1.ProcessBatchRequest.ContractsBytecodeEntry") 1454 proto.RegisterMapType((map[string]string)(nil), "executor.v1.ProcessBatchRequest.DbEntry") 1455 proto.RegisterType((*ProcessBatchResponse)(nil), "executor.v1.ProcessBatchResponse") 1456 proto.RegisterMapType((map[string]*InfoReadWrite)(nil), "executor.v1.ProcessBatchResponse.ReadWriteAddressesEntry") 1457 proto.RegisterType((*TraceConfig)(nil), "executor.v1.TraceConfig") 1458 proto.RegisterType((*InfoReadWrite)(nil), "executor.v1.InfoReadWrite") 1459 proto.RegisterType((*CallTrace)(nil), "executor.v1.CallTrace") 1460 proto.RegisterType((*TransactionContext)(nil), "executor.v1.TransactionContext") 1461 proto.RegisterType((*TransactionStep)(nil), "executor.v1.TransactionStep") 1462 proto.RegisterType((*Contract)(nil), "executor.v1.Contract") 1463 proto.RegisterType((*ProcessTransactionResponse)(nil), "executor.v1.ProcessTransactionResponse") 1464 proto.RegisterType((*Log)(nil), "executor.v1.Log") 1465 proto.RegisterType((*ExecutionTraceStep)(nil), "executor.v1.ExecutionTraceStep") 1466 proto.RegisterMapType((map[string]string)(nil), "executor.v1.ExecutionTraceStep.StorageEntry") 1467 } 1468 1469 func init() { 1470 proto.RegisterFile("executor.proto", fileDescriptor_12d1cdcda51e000f) 1471 } 1472 1473 var fileDescriptor_12d1cdcda51e000f = []byte{ 1474 // 2379 bytes of a gzipped FileDescriptorProto 1475 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x58, 0xdd, 0x72, 0xdb, 0xc6, 1476 0x15, 0x8e, 0x48, 0x8a, 0x22, 0x0f, 0x49, 0x09, 0x5e, 0xcb, 0x32, 0x25, 0x3b, 0xb1, 0x44, 0x3b, 1477 0xb1, 0x62, 0x27, 0x52, 0xc2, 0x4c, 0xa6, 0x49, 0x3a, 0xd3, 0x16, 0x22, 0x21, 0x09, 0x35, 0x45, 1478 0x72, 0x96, 0x90, 0xe3, 0xe4, 0x06, 0x03, 0x02, 0x2b, 0x0a, 0x23, 0x12, 0xcb, 0x02, 0x4b, 0x8b, 1479 0xf2, 0x43, 0xf4, 0x45, 0xfa, 0x06, 0xed, 0x1b, 0xf4, 0xba, 0x33, 0xbd, 0xec, 0xf4, 0x25, 0x7a, 1480 0xdd, 0xd9, 0x1f, 0x10, 0x04, 0xf5, 0x17, 0xdf, 0x61, 0xcf, 0xf9, 0xf6, 0xec, 0xee, 0xd9, 0xf3, 1481 0x7d, 0x7b, 0x48, 0x58, 0x25, 0x53, 0xe2, 0x4e, 0x18, 0x0d, 0xf7, 0xc6, 0x21, 0x65, 0x14, 0x95, 1482 0x66, 0xe3, 0xf7, 0xdf, 0xd6, 0xfe, 0x9a, 0x87, 0x87, 0xdd, 0x90, 0xba, 0x24, 0x8a, 0x0e, 0x1c, 1483 0xe6, 0x9e, 0x63, 0xf2, 0x97, 0x09, 0x89, 0x18, 0x7a, 0x01, 0xab, 0x74, 0xe8, 0xd9, 0x11, 0x73, 1484 0x18, 0xb1, 0x43, 0x4a, 0x59, 0x75, 0x69, 0x7b, 0x69, 0xb7, 0x8c, 0xcb, 0x74, 0xe8, 0xf5, 0xb8, 1485 0x11, 0x53, 0xca, 0xd0, 0x6b, 0x40, 0x1c, 0xe5, 0xb8, 0xae, 0xed, 0x07, 0xe3, 0x09, 0xb3, 0xcf, 1486 0x9d, 0xe8, 0xbc, 0x9a, 0x11, 0xc8, 0x35, 0x3a, 0xf4, 0x74, 0xd7, 0x35, 0xb9, 0xfd, 0xd8, 0x89, 1487 0xce, 0x51, 0x0d, 0x2a, 0x1c, 0xdc, 0xe7, 0xcb, 0xd8, 0xc1, 0x64, 0x54, 0xcd, 0x6e, 0x2f, 0xed, 1488 0xe6, 0x70, 0x89, 0x0e, 0x3d, 0xb1, 0x74, 0x7b, 0x32, 0x42, 0x9b, 0x50, 0x70, 0xcf, 0x1d, 0x3f, 1489 0xb0, 0x7d, 0xaf, 0x9a, 0x13, 0xee, 0x15, 0x31, 0x36, 0x3d, 0xf4, 0x18, 0x56, 0xce, 0x68, 0x78, 1490 0xc1, 0x3d, 0xcb, 0xc2, 0x93, 0xe7, 0x43, 0xd3, 0xe3, 0x71, 0x65, 0xcc, 0x61, 0xdd, 0xf6, 0x1c, 1491 0xe6, 0x54, 0xf3, 0x62, 0xfd, 0x92, 0x30, 0xb6, 0xea, 0x4d, 0x87, 0x39, 0x68, 0x17, 0xb4, 0xc1, 1492 0x90, 0xf6, 0x9d, 0xa1, 0x4d, 0xa6, 0x3e, 0x93, 0x07, 0x5a, 0x11, 0xb0, 0x55, 0x69, 0x37, 0xa6, 1493 0x3e, 0x13, 0x47, 0x7a, 0x0e, 0x15, 0xc2, 0xce, 0x6d, 0xe6, 0x8f, 0x48, 0xc4, 0x9c, 0xd1, 0xb8, 1494 0x5a, 0x10, 0x8b, 0x95, 0x09, 0x3b, 0xb7, 0x62, 0x1b, 0xda, 0x82, 0x82, 0x4b, 0xfd, 0xa0, 0xef, 1495 0x44, 0xa4, 0x5a, 0xdc, 0x5e, 0xda, 0x2d, 0xe2, 0xd9, 0x18, 0x7d, 0x05, 0x68, 0x32, 0xf6, 0x78, 1496 0xda, 0x46, 0x24, 0xbc, 0x18, 0x12, 0x9b, 0x85, 0x84, 0x54, 0x61, 0x7b, 0x69, 0xb7, 0x82, 0x35, 1497 0xe9, 0x39, 0x11, 0x0e, 0x2b, 0x24, 0x04, 0x3d, 0x83, 0x52, 0x40, 0x6d, 0x97, 0x4e, 0x02, 0x46, 1498 0xc2, 0xa8, 0x5a, 0x12, 0x8b, 0x41, 0x40, 0x1b, 0xca, 0x82, 0x10, 0xe4, 0xce, 0x42, 0x3a, 0xaa, 1499 0x96, 0xc5, 0x32, 0xe2, 0x1b, 0xfd, 0x00, 0x19, 0xaf, 0x5f, 0xad, 0x6c, 0x67, 0x77, 0x4b, 0xf5, 1500 0xdd, 0xbd, 0xb9, 0xeb, 0xdc, 0xbb, 0xe1, 0x2a, 0xf7, 0x9a, 0x7d, 0x23, 0x60, 0xe1, 0x15, 0xce, 1501 0x78, 0x7d, 0x74, 0x06, 0xc8, 0xa5, 0x01, 0x0b, 0x1d, 0x97, 0x45, 0x76, 0xff, 0x8a, 0x11, 0x97, 1502 0x7a, 0xa4, 0xba, 0x2a, 0x22, 0xfd, 0xee, 0xde, 0x48, 0x8d, 0x78, 0xea, 0x81, 0x9a, 0x29, 0x03, 1503 0x3f, 0x70, 0x17, 0xed, 0xe8, 0xf7, 0x50, 0xe6, 0x16, 0x62, 0xbb, 0x34, 0x38, 0xf3, 0x07, 0xd5, 1504 0xb5, 0xed, 0xa5, 0xdd, 0x52, 0xbd, 0x9a, 0x5a, 0xc1, 0xe2, 0x80, 0x86, 0xf0, 0xe3, 0x12, 0x4b, 1505 0x06, 0x5b, 0xdf, 0xc3, 0x8a, 0xda, 0x33, 0xd2, 0x20, 0x7b, 0x41, 0xae, 0x44, 0xed, 0x15, 0x31, 1506 0xff, 0x44, 0xeb, 0xb0, 0xfc, 0xde, 0x19, 0x4e, 0x88, 0xa8, 0xb2, 0x22, 0x96, 0x83, 0x9f, 0x32, 1507 0x3f, 0x2c, 0x6d, 0x35, 0x61, 0xe3, 0xe6, 0x0d, 0x7e, 0x4c, 0x94, 0xda, 0xbf, 0xf2, 0xb0, 0x9e, 1508 0x3e, 0x7b, 0x34, 0xa6, 0x41, 0x44, 0x38, 0x23, 0x02, 0x72, 0x79, 0x03, 0x23, 0x02, 0x72, 0x99, 1509 0x62, 0x04, 0x47, 0xdd, 0xcc, 0x88, 0x80, 0x5c, 0xa6, 0x18, 0xf1, 0x35, 0x3c, 0xe4, 0xe0, 0x21, 1510 0x75, 0x53, 0x85, 0x99, 0x15, 0x68, 0x2d, 0x20, 0x97, 0x2d, 0xee, 0x99, 0x95, 0x66, 0x0d, 0x2a, 1511 0x1c, 0x9e, 0x10, 0x48, 0x32, 0xa4, 0x14, 0x90, 0xcb, 0x19, 0x81, 0x5e, 0xc1, 0x03, 0x37, 0x60, 1512 0xf6, 0x05, 0x71, 0x5d, 0xe7, 0x42, 0x2c, 0x4e, 0x22, 0xc1, 0x97, 0x0a, 0x5e, 0x73, 0x03, 0xf6, 1513 0x46, 0xd8, 0x8f, 0x85, 0x19, 0xed, 0xc1, 0x43, 0x8e, 0x1d, 0xd3, 0x88, 0xf8, 0x1e, 0x0d, 0x62, 1514 0x74, 0x5e, 0xa0, 0x79, 0x98, 0xae, 0xf2, 0x28, 0x7c, 0x1d, 0x1e, 0xa5, 0xf0, 0x63, 0xc7, 0xf3, 1515 0xfc, 0x60, 0x10, 0x09, 0x26, 0x55, 0xf0, 0xc3, 0xb9, 0x19, 0x5d, 0xe5, 0xe2, 0x59, 0xe3, 0x73, 1516 0x46, 0x64, 0x64, 0x3b, 0x43, 0x7f, 0x10, 0x44, 0x82, 0x4f, 0x15, 0x5c, 0x76, 0x03, 0x76, 0x42, 1517 0x46, 0xba, 0xb0, 0xa1, 0x97, 0xc0, 0x37, 0x67, 0x3b, 0xa1, 0xcf, 0xce, 0x47, 0x84, 0xf9, 0x6e, 1518 0x24, 0x68, 0x55, 0xc1, 0x7c, 0xb2, 0x9e, 0x58, 0xd1, 0x0e, 0xf0, 0x89, 0x76, 0xdf, 0x0f, 0x9c, 1519 0xd0, 0x27, 0x91, 0xa2, 0x55, 0xc9, 0x0d, 0xd8, 0x81, 0x32, 0xa1, 0x27, 0x50, 0xe4, 0x90, 0x88, 1520 0x91, 0xb1, 0xe4, 0x53, 0x05, 0x17, 0xdc, 0x80, 0xf5, 0xf8, 0x58, 0x1c, 0x79, 0x32, 0x9a, 0x0c, 1521 0x1d, 0xe6, 0xbf, 0x27, 0xf6, 0xc0, 0x89, 0xec, 0x49, 0x44, 0x3c, 0x41, 0xae, 0x1c, 0x7e, 0x90, 1522 0xb8, 0x8e, 0x9c, 0xe8, 0x34, 0x22, 0x1e, 0x32, 0xa0, 0x18, 0xaa, 0x02, 0x88, 0x14, 0xe1, 0x5e, 1523 0xde, 0x44, 0x13, 0x2b, 0x74, 0x82, 0xc8, 0x71, 0x99, 0x4f, 0x83, 0xb8, 0x60, 0x70, 0x32, 0x13, 1524 0x7d, 0x03, 0xcb, 0x24, 0x0c, 0x69, 0x58, 0x5d, 0xdd, 0x5e, 0xda, 0x5d, 0xad, 0x6f, 0xa5, 0x42, 1525 0x18, 0xea, 0xdb, 0xe0, 0x08, 0x2c, 0x81, 0xe8, 0x02, 0xd6, 0x43, 0xe2, 0x78, 0xf6, 0x65, 0xe8, 1526 0x33, 0x62, 0x3b, 0x9e, 0x17, 0x92, 0x88, 0xef, 0x61, 0x4d, 0xec, 0xe1, 0xc7, 0x3b, 0xa8, 0x2a, 1527 0xd7, 0xdc, 0xc3, 0xc4, 0xf1, 0x7e, 0xe6, 0x93, 0xf5, 0x78, 0xae, 0x24, 0x2b, 0x0a, 0xaf, 0x39, 1528 0xb6, 0x1c, 0x78, 0x7c, 0x0b, 0xfc, 0x06, 0xea, 0x7c, 0x33, 0x4f, 0x9d, 0xd2, 0xc2, 0x59, 0xcc, 1529 0xe0, 0x8c, 0xce, 0x42, 0xcd, 0xd3, 0xea, 0xef, 0x19, 0x28, 0xcd, 0x11, 0x9e, 0xdf, 0xb8, 0xe7, 1530 0x47, 0x4e, 0x7f, 0x48, 0xec, 0x88, 0xd1, 0xd0, 0x19, 0x10, 0xb1, 0x46, 0x05, 0xaf, 0x2a, 0x73, 1531 0x4f, 0x5a, 0xb9, 0x1e, 0x27, 0x40, 0xc7, 0xbd, 0x10, 0xcb, 0x56, 0x70, 0x79, 0x06, 0x73, 0xdc, 1532 0x0b, 0x21, 0xda, 0x81, 0xc0, 0x8c, 0xc8, 0x88, 0x86, 0x57, 0x82, 0x42, 0x15, 0x5c, 0x96, 0xc6, 1533 0x13, 0x61, 0xe3, 0xc2, 0xac, 0x40, 0x21, 0x61, 0x93, 0x30, 0x90, 0x8f, 0x45, 0x4e, 0x0a, 0xb3, 1534 0xf4, 0x60, 0xe1, 0x10, 0x2f, 0xc6, 0x11, 0xec, 0xb0, 0xa9, 0xa0, 0x84, 0xcd, 0xa8, 0x3d, 0x20, 1535 0x01, 0x09, 0x39, 0xf1, 0xe5, 0x61, 0xb9, 0xa8, 0x3b, 0x2e, 0x11, 0xc4, 0x2a, 0xe3, 0xa7, 0x6c, 1536 0xca, 0x19, 0x62, 0xd1, 0x23, 0x85, 0x92, 0x37, 0x4a, 0xc4, 0x79, 0x91, 0x0e, 0x9f, 0xdd, 0x14, 1537 0xc8, 0x75, 0x86, 0x43, 0x15, 0x45, 0xbe, 0x57, 0x9b, 0x8b, 0x51, 0x1a, 0xce, 0x70, 0x28, 0x42, 1538 0xd4, 0xfe, 0x08, 0x95, 0x54, 0x62, 0xb9, 0x7c, 0x05, 0x34, 0x70, 0x89, 0xba, 0x17, 0x39, 0x40, 1539 0x55, 0x58, 0xe9, 0x3b, 0x43, 0x87, 0xdb, 0xa5, 0xac, 0xc5, 0xc3, 0xda, 0x07, 0x28, 0xce, 0xa2, 1540 0xa1, 0x1f, 0x61, 0x85, 0x0b, 0x36, 0x99, 0x4a, 0x05, 0x2b, 0xd5, 0x9f, 0x2d, 0xca, 0x72, 0x5c, 1541 0xca, 0x0d, 0x09, 0xc3, 0x31, 0x1e, 0xd5, 0x61, 0x59, 0xf2, 0x2a, 0x23, 0xca, 0xf0, 0xe9, 0x6d, 1542 0x13, 0x39, 0xd9, 0xb0, 0x84, 0xd6, 0xfe, 0x91, 0x01, 0x74, 0x3d, 0x26, 0x7f, 0xd7, 0xd8, 0xd5, 1543 0x38, 0x3e, 0x81, 0xf8, 0x9e, 0xbd, 0x75, 0x99, 0xb9, 0xb7, 0x6e, 0x15, 0x32, 0x8c, 0x8a, 0xfb, 1544 0x2c, 0xe2, 0x0c, 0xa3, 0x1c, 0x33, 0xbb, 0xb7, 0x32, 0x16, 0xdf, 0xbc, 0x48, 0x07, 0x4e, 0xa4, 1545 0xda, 0x02, 0xfe, 0x99, 0xe8, 0x7b, 0x7e, 0x4e, 0xdf, 0xb9, 0x55, 0x88, 0xa7, 0x7a, 0xfa, 0xe5, 1546 0x00, 0x6d, 0x40, 0x9e, 0x4e, 0xd8, 0x78, 0xc2, 0x84, 0x34, 0x95, 0xb1, 0x1a, 0xf1, 0x5e, 0x64, 1547 0x26, 0x10, 0x45, 0xd9, 0x8b, 0x0c, 0x94, 0x2c, 0x3c, 0x81, 0x22, 0x77, 0x8d, 0x43, 0xdf, 0x95, 1548 0x4f, 0x7b, 0x11, 0x73, 0x6c, 0x97, 0x8f, 0xd1, 0xe7, 0x71, 0xc7, 0xe5, 0xd3, 0x40, 0xf4, 0x11, 1549 0x4a, 0x85, 0x2a, 0x33, 0x2b, 0x6f, 0x24, 0x6e, 0xe8, 0xb0, 0xca, 0xd7, 0x3b, 0xac, 0xda, 0x7f, 1550 0x33, 0xb0, 0xb6, 0x90, 0x58, 0xf4, 0x29, 0xc0, 0xb5, 0x57, 0xa8, 0x18, 0xcd, 0x9e, 0xa0, 0x75, 1551 0x58, 0xf6, 0xc8, 0x98, 0x9d, 0x2b, 0xa6, 0xc8, 0x01, 0xcf, 0xe3, 0xd8, 0x55, 0x2d, 0x57, 0x66, 1552 0xec, 0xc6, 0x39, 0xcb, 0x25, 0x39, 0x53, 0xe7, 0x75, 0x69, 0xc4, 0x54, 0x2a, 0xf9, 0x79, 0x1b, 1553 0x34, 0x62, 0x7c, 0x45, 0xee, 0x0a, 0xc9, 0xd9, 0x24, 0xf0, 0x44, 0x4e, 0x73, 0x98, 0x67, 0x00, 1554 0x0b, 0x03, 0x8f, 0x4d, 0xc7, 0xea, 0x15, 0xc8, 0xd0, 0x31, 0xdf, 0x81, 0xe4, 0x6a, 0x61, 0x3b, 1555 0xcb, 0xb3, 0x2f, 0x06, 0x3c, 0xcf, 0x8a, 0x9d, 0x45, 0x99, 0x67, 0x39, 0xe2, 0x2d, 0xd0, 0x3c, 1556 0x21, 0x41, 0x38, 0x21, 0x4c, 0xa8, 0xf8, 0x2d, 0xef, 0xb6, 0xe4, 0xc3, 0x2e, 0x52, 0x59, 0xaa, 1557 0x3f, 0x4a, 0x15, 0x5e, 0xfc, 0xea, 0xe3, 0x19, 0x0c, 0xbd, 0x8e, 0x05, 0xb7, 0x2c, 0x04, 0x37, 1558 0x8d, 0xc7, 0x74, 0x34, 0xaf, 0xb5, 0xb5, 0x29, 0x14, 0xe2, 0x10, 0x9c, 0x43, 0x4a, 0x6c, 0x55, 1559 0x65, 0xc6, 0x43, 0xbe, 0x7d, 0xce, 0x59, 0x12, 0xaa, 0xf2, 0x54, 0xa3, 0xa4, 0xd4, 0xb2, 0xf3, 1560 0xa5, 0xf6, 0x9b, 0xca, 0xb4, 0xf6, 0xbf, 0x2c, 0x6c, 0xdd, 0xfe, 0x82, 0xf0, 0x96, 0x57, 0x49, 1561 0x87, 0xba, 0xe5, 0xbc, 0xd4, 0x08, 0xf4, 0x08, 0xf2, 0xe1, 0x70, 0x6c, 0xb3, 0xa9, 0xea, 0x2c, 1562 0x96, 0xc3, 0xe1, 0xd8, 0x9a, 0xce, 0x38, 0x25, 0xd5, 0x4f, 0x72, 0x6a, 0x07, 0xca, 0x2a, 0xbb, 1563 0x72, 0x97, 0x72, 0x43, 0x2a, 0xe3, 0x6f, 0xc5, 0x5e, 0xd5, 0xc5, 0x0f, 0xc9, 0xd9, 0xfc, 0xc5, 1564 0xb7, 0xc8, 0x59, 0x9a, 0x03, 0xf9, 0x34, 0x07, 0x76, 0xa0, 0x9c, 0xd4, 0x04, 0xf1, 0xc4, 0xf5, 1565 0xe7, 0x70, 0x69, 0x56, 0x15, 0xc4, 0x4b, 0x6e, 0xa1, 0x70, 0xff, 0x2d, 0x70, 0xda, 0xb8, 0x21, 1566 0x71, 0x92, 0xd7, 0x4e, 0x75, 0xd6, 0x15, 0x69, 0x55, 0xef, 0xd2, 0x42, 0xf1, 0xc3, 0x62, 0xf1, 1567 0xbf, 0x80, 0xdc, 0x90, 0x0e, 0xf8, 0xc3, 0xcf, 0x05, 0x4a, 0x4b, 0xad, 0xd8, 0xa2, 0x03, 0x2c, 1568 0xbc, 0xe8, 0x18, 0xd6, 0xe6, 0x28, 0x2a, 0x44, 0x58, 0x3e, 0xee, 0xcf, 0x6e, 0x78, 0x99, 0x39, 1569 0x61, 0x39, 0x44, 0x88, 0x5a, 0x42, 0x6d, 0x29, 0xa6, 0xdf, 0x03, 0xcc, 0x29, 0xf9, 0xaa, 0xa8, 1570 0xce, 0x8d, 0x74, 0x75, 0xc6, 0xc2, 0x8b, 0x8b, 0xee, 0x4c, 0xd1, 0xff, 0xbd, 0x04, 0xd9, 0x16, 1571 0x1d, 0xdc, 0x5d, 0x6e, 0x8c, 0x8e, 0x79, 0x27, 0xc4, 0xb5, 0x96, 0x5f, 0xbd, 0x18, 0xcd, 0x0a, 1572 0x2b, 0x3b, 0x57, 0x58, 0x3b, 0x50, 0x9e, 0x35, 0x85, 0x7d, 0x12, 0xc6, 0x7d, 0x61, 0x5f, 0x35, 1573 0x85, 0x7d, 0x12, 0xce, 0x97, 0xd2, 0x72, 0xaa, 0x94, 0x36, 0xa1, 0xc0, 0xa6, 0xb6, 0x1f, 0x78, 1574 0x64, 0xaa, 0x3a, 0xbf, 0x15, 0x36, 0x35, 0xf9, 0x90, 0xa7, 0x5a, 0x86, 0x15, 0xd3, 0xa4, 0x66, 1575 0x16, 0x85, 0x45, 0xcc, 0x5c, 0x87, 0x65, 0x39, 0x4d, 0x76, 0x74, 0x72, 0x50, 0xfb, 0x67, 0x16, 1576 0xd0, 0xf5, 0xbc, 0x29, 0xf9, 0x59, 0x9a, 0xc9, 0x8f, 0x94, 0x0c, 0xc9, 0x24, 0x2e, 0x19, 0xcf, 1577 0xa1, 0x12, 0x92, 0x91, 0xe3, 0x07, 0x7e, 0x30, 0xe0, 0x7d, 0x99, 0x52, 0xaa, 0xf2, 0xcc, 0x78, 1578 0xb4, 0xa0, 0x50, 0xb9, 0xb4, 0x42, 0x25, 0xe2, 0xb2, 0xbc, 0x28, 0x2e, 0xf2, 0xcb, 0x8e, 0xfc, 1579 0x0f, 0x44, 0x9d, 0x10, 0xa4, 0xa9, 0xe7, 0x7f, 0x20, 0x89, 0x56, 0xad, 0xcc, 0x6b, 0xd5, 0x82, 1580 0x26, 0x15, 0xae, 0x69, 0xd2, 0x21, 0xac, 0xc4, 0x7d, 0x4b, 0x51, 0x54, 0xce, 0x57, 0xf7, 0x54, 1581 0xce, 0x9e, 0x6a, 0x68, 0x64, 0x17, 0x16, 0x4f, 0x4e, 0xc4, 0x1a, 0xe6, 0xc5, 0x3a, 0xad, 0xb7, 1582 0xa5, 0x45, 0xbd, 0xfd, 0x18, 0x75, 0xdb, 0xfa, 0x09, 0xca, 0xf3, 0x4b, 0x7f, 0xcc, 0x8f, 0xa1, 1583 0x57, 0x7f, 0x2b, 0x40, 0x21, 0x8e, 0x87, 0x36, 0xe1, 0x11, 0xee, 0x9c, 0xd8, 0x06, 0xc6, 0x1d, 1584 0x6c, 0x9f, 0xb6, 0x7b, 0x5d, 0xa3, 0x61, 0x1e, 0x9a, 0x46, 0x53, 0xfb, 0x04, 0x6d, 0x00, 0x4a, 1585 0x5c, 0xed, 0x8e, 0xfc, 0xd0, 0x96, 0x50, 0x15, 0xd6, 0x13, 0x7b, 0xe7, 0xd4, 0xb2, 0x3b, 0x87, 1586 0xf6, 0x91, 0xde, 0xd3, 0x32, 0xe8, 0x29, 0x54, 0x13, 0x4f, 0xcf, 0xd2, 0x1b, 0x6f, 0xec, 0xce, 1587 0x5b, 0x03, 0x1f, 0xb6, 0x3a, 0x3f, 0x6b, 0x59, 0xf4, 0x29, 0x6c, 0x2e, 0x7a, 0x4f, 0xdb, 0x4d, 1588 0xe5, 0xce, 0xa1, 0x17, 0xb0, 0x9d, 0xb8, 0x4f, 0xf4, 0x77, 0x76, 0xa3, 0xd3, 0x34, 0xec, 0x9e, 1589 0xf9, 0xab, 0x61, 0x1b, 0xef, 0x1a, 0x86, 0xd1, 0x34, 0x9a, 0xda, 0x32, 0xda, 0x85, 0x17, 0x09, 1590 0xaa, 0xd1, 0x69, 0x5b, 0x58, 0x6f, 0x58, 0xb6, 0xde, 0x6c, 0x62, 0xa3, 0xd7, 0xb3, 0x1b, 0x9d, 1591 0x56, 0xcb, 0xec, 0x99, 0x9d, 0xb6, 0x96, 0x47, 0xdb, 0xf0, 0x34, 0x41, 0x1a, 0xef, 0x8c, 0xc6, 1592 0xa9, 0x65, 0x76, 0xda, 0x36, 0x36, 0xde, 0x1a, 0xd8, 0x32, 0x9a, 0xda, 0x0a, 0xaa, 0xc1, 0x67, 1593 0xd7, 0x0e, 0xd2, 0xe8, 0x9c, 0xb6, 0x2d, 0x03, 0xf7, 0xec, 0x9e, 0x65, 0x74, 0xb5, 0x42, 0x7a, 1594 0x57, 0x8b, 0x98, 0x37, 0x46, 0xa3, 0xa1, 0xbf, 0xd1, 0x8a, 0x77, 0xa3, 0x0e, 0xcc, 0xb6, 0x8e, 1595 0x7f, 0xd1, 0x00, 0xed, 0xc0, 0xa7, 0xb7, 0xa3, 0x4e, 0x8c, 0x13, 0xad, 0x84, 0x9e, 0xc3, 0xb3, 1596 0xdb, 0x21, 0x3a, 0x36, 0xad, 0x63, 0xad, 0x8c, 0x3e, 0x87, 0x9d, 0xdb, 0x41, 0x5d, 0xbd, 0xd9, 1597 0x34, 0xdb, 0x47, 0x5a, 0x05, 0x7d, 0x01, 0xb5, 0x3b, 0x60, 0x9d, 0x9e, 0x61, 0x36, 0x3b, 0x6d, 1598 0x6d, 0x15, 0x6d, 0xc1, 0x46, 0x82, 0x33, 0xdb, 0x6f, 0xf5, 0x96, 0xd9, 0xb4, 0xff, 0x7c, 0x7a, 1599 0xd2, 0xd5, 0xd6, 0xd2, 0x37, 0x1a, 0xfb, 0x3a, 0x5d, 0x7e, 0x35, 0x9a, 0x76, 0xb3, 0xb7, 0x67, 1600 0xe9, 0x96, 0xd9, 0xd0, 0x1e, 0xa4, 0xaf, 0x2a, 0xf6, 0x1e, 0xfc, 0x62, 0x19, 0xf2, 0x62, 0x2d, 1601 0x1d, 0x5b, 0x3d, 0xdb, 0x38, 0xd4, 0x10, 0xfa, 0x12, 0x3e, 0x9f, 0x47, 0x5a, 0xd8, 0x6c, 0xf7, 1602 0xcc, 0x46, 0x12, 0xd1, 0x3c, 0x6a, 0xeb, 0xd6, 0x29, 0x36, 0xb4, 0x87, 0x8b, 0x41, 0x17, 0xa1, 1603 0x8d, 0x63, 0xdd, 0x6c, 0xdb, 0x66, 0x53, 0x5b, 0x4f, 0x67, 0xe9, 0x3a, 0xb2, 0xdd, 0x69, 0x37, 1604 0x0c, 0xed, 0xd1, 0x7d, 0x6b, 0x1f, 0xe9, 0x3d, 0xbb, 0x65, 0x9e, 0x98, 0x96, 0xb6, 0x81, 0x5e, 1605 0xc2, 0xf3, 0xbb, 0xa0, 0x07, 0x7a, 0x4b, 0xe7, 0x31, 0x1f, 0xa3, 0x7d, 0x78, 0x7d, 0x37, 0xd0, 1606 0x6a, 0x1c, 0xcf, 0x45, 0xae, 0xa2, 0xd7, 0xf0, 0xf2, 0xce, 0x04, 0x18, 0x9c, 0x27, 0x82, 0x10, 1607 0xda, 0xe6, 0x6d, 0xdb, 0xb0, 0xde, 0x89, 0x90, 0x33, 0xc2, 0x6d, 0xa5, 0x19, 0x20, 0x17, 0x6d, 1608 0xea, 0x96, 0x6e, 0x5b, 0x9d, 0x8e, 0x7d, 0x60, 0x1e, 0x69, 0x4f, 0xd2, 0x15, 0x79, 0xda, 0xee, 1609 0x9d, 0x76, 0xbb, 0x1d, 0x4e, 0x0e, 0xfb, 0xb0, 0x83, 0xdf, 0xf0, 0x34, 0x3e, 0x7d, 0xf5, 0x9f, 1610 0x2c, 0x54, 0x52, 0x3f, 0x66, 0xd1, 0x67, 0xb0, 0x25, 0xe9, 0xc4, 0x79, 0x75, 0x83, 0x6e, 0x3c, 1611 0x81, 0xc7, 0x0b, 0xfe, 0x39, 0xf1, 0x78, 0x0d, 0x2f, 0x17, 0x9c, 0xb3, 0x92, 0x8c, 0x77, 0x1e, 1612 0xd3, 0x2a, 0xf3, 0x9b, 0xc0, 0x8a, 0x5d, 0x59, 0x5e, 0x19, 0xf7, 0x82, 0x39, 0xc9, 0x72, 0xe8, 1613 0x15, 0x7c, 0x71, 0x2f, 0x52, 0x72, 0x6d, 0x19, 0x7d, 0x05, 0xbb, 0xf7, 0x62, 0x63, 0xca, 0xe5, 1614 0xd1, 0xd7, 0xf0, 0xe5, 0xfd, 0xe8, 0x98, 0x79, 0x2b, 0x9c, 0xa1, 0xd7, 0x33, 0x79, 0xed, 0x0e, 1615 0x0a, 0x5c, 0x15, 0x16, 0x70, 0xaa, 0xd6, 0xec, 0x13, 0xb3, 0x77, 0xc2, 0x2f, 0x56, 0x2b, 0x72, 1616 0x79, 0x5d, 0x00, 0x1d, 0x1a, 0x7a, 0xbd, 0xd7, 0xd0, 0x5b, 0x3a, 0xd6, 0x80, 0xab, 0xf6, 0x82, 1617 0xdb, 0xea, 0xf4, 0xbe, 0xab, 0x6b, 0xa5, 0xfa, 0x39, 0xac, 0xc5, 0x17, 0xdc, 0x23, 0xe1, 0x7b, 1618 0xfe, 0x6b, 0xe7, 0x14, 0xca, 0xf3, 0xff, 0x3f, 0xa0, 0xed, 0xfb, 0xfe, 0x45, 0xdc, 0xda, 0xb9, 1619 0xf7, 0xcf, 0x8b, 0xda, 0x27, 0x07, 0x7f, 0xfa, 0xf5, 0x0f, 0x03, 0x9f, 0x9d, 0x4f, 0xfa, 0x7b, 1620 0x2e, 0x1d, 0xed, 0x7f, 0x33, 0xed, 0xd2, 0xe1, 0xd5, 0x80, 0x06, 0xfb, 0xd1, 0x64, 0x4c, 0xc2, 1621 0x80, 0xb0, 0xa8, 0xfe, 0x75, 0x40, 0x3d, 0xb2, 0x2f, 0x3a, 0xbf, 0xfd, 0x70, 0x12, 0xf0, 0x1f, 1622 0x5a, 0xfb, 0x71, 0xe0, 0xfd, 0x71, 0xbf, 0x9f, 0x17, 0xff, 0x76, 0x7f, 0xf7, 0xff, 0x00, 0x00, 1623 0x00, 0xff, 0xff, 0xe3, 0x70, 0x71, 0xe0, 0xff, 0x16, 0x00, 0x00, 1624 }